Show more

Well, I completely cracked the composite USB driver deal! I now have a serial USB interface transmitting/receiving while an audio interface works as an audio input to macOS / Logic. Very happy, indeed! There's a little work to be done on the packet code/decode, but not much, really. This opens up the ability to configure/reconfigure DSP modules on the fly which is insanely cool. You might say I on the way to creating a software-defined DSP system.

Well, I have this much figured out, with some still to go. I have managed to place the audio portion of the USB driver, successfully, underneath an overriding composite USB class. Logic Pro appears to even register the audio in as a live signal, which is a great sign! More to come.....combining this with the CDC part.

A little more progress on building the USB stack, after getting a rough composite and then audio stack going. The USB descriptor is the tricky part.

Part of the audio out / serial interface completed today! I had an issue where the firmware would freeze, but I found that it was simply device config pin conflicts. Once I removed the unused devices from the "main" function, all was good. On the to-do list is to set up the Mac oscilloscope....

Starting on the integration of the composite USB project with the microphone USB project. I worked through one problem this morning, and I want to complete the integration today and then move on.

A good night working through parts of the USB audio stack. I am now looking at the audio data transfers to USB, as.well as the ADC sampling (which is the easy part!). Fun stuff!

The “kitted” DSP platform is altogether now, such that it is. It’s not the cleanest-looking mock-up in the world, but it will get the job done. I believe I may hold off on working with it much until I arrive back later this week. It might be a good idea to clean up the lab area since I finally have a sensible hardware platform for prototyping.

Today’s work is all about the power supply (9V battery to 5V regulator - for now). I also need to place the input amplifier and STM32 Micro system in a kit/container for transport.

The “new” amplified I prototyped probably isn’t required, and it is not quite right, in terms of design, due to the reliance on a double-ended power supply and amplifier configuration. The single supply amplifier design from the other week was tweaked to amplify at 10x, rather than only 2x, and the result is a maximum Vpp of 1V, which is the current target.

These oscilloscope pics show the original and then output signals, along with the iPhone playing the constant synth sound!

More work today - getting the input amplifier integrated and looking at the initial DSP chain.

We are now looking into the input amplifier and DSP input stage design. A gain amplifier is needed to give the signal enough amplification to fill out the 1V range used in the DSP engine. At present, the USB audio interface will handle 48 kHZ/16bits. For any higher range, and we are looking at 192kHz at 24bits, but that will require an external CODEC. Planning this prototype to get things going.

In parallel with the audio effects hardware, I am kicking around the synth project again.

Within the "module manager" app, device detection now works on Mac. It may end up being another ordeal with Linux, and Windows should be somewhat simply - although I have yet to compile the Qt application on Windows! Nice progress, overall.

More work tonight, integrating USB serial port connectivity with the "module manager" application, for lack of a better name. This will be a cross platform deal, usable on the Mac, Linux, Windows, or on the specially designed digital audio workstation (an embedded Linux platform).

Updated schedule for the audio DSP project: Making a lot of headway, and I am now working on a companion app for Mac, Linux, and Windows alongside the firmware. May will be busy!

Show more
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml