Skip to main content
Visitor II
October 18, 2020
Question

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.

  • October 18, 2020
  • 3 replies
  • 1903 views

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 :)

    This topic has been closed for replies.

    3 replies

    Visitor II
    December 4, 2020

    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.

    Explorer
    March 11, 2023

    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.

    Graduate II
    March 11, 2023

    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