cancel
Showing results for 
Search instead for 
Did you mean: 

Hi everyone, I'm looking to design and develop a USB Audio Interface using STM32F4xx series MCUs that could ideally record up to 16 channels of analog audio signals, convert and send to a PC / MAC via USB.

cackland
Associate

If anyone is familiar with Digital Audio Workstations (DAW's), you can then select the type of audio input device in the application, to then choose which channel to monitor and record.

I'm familiar with the process of how to record the incoming audio signals via the onboard STM ADC's however I'm not sure on how to the pass that converted digital audio using the USB protocol so that the computer can identify the audio interface, and be able to choose each channel.

Any help or recommended readings would be great.

Thanks :)

3 REPLIES 3
VMura.1
Associate

Did you get it working? I am also looking for some directions to use STM32F407G DISC to send MIC recordings to PC. Please share if any. Thanks.

ECLEW.1
Associate III

I've been trying to do something similar with a Nucleo board STM32F446RE

I started with just the idea of a tone generator. I'm able to stream audio data over USB OTG Full Speed.

I started with the template code provided by auto-generated USB audio class code, and also some other ST resource code. I also found a good resource on Hackaday (STM32F4 USB microphone / BleakyTex) where s/he streams audio from a microphone module to his/her computer.

After a lot of mindless tweaking. I finally got my tone generation to stream to Logic Pro / Audacity, albeit with about a 1 second latency (which is unacceptable).

I'm not sure if using high speed USB is required, but I would like to improve the latency.

Piranha
Chief II

Obviously a 1 second delay is not because of USB FS, but because of something in your code.

Anyway, don't waste your time on ST's broken bloatware and use a software developed by competent people:

https://github.com/hathach/tinyusb/tree/master/examples/device/audio_4_channel_mic