Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 3 of 3

Thread: Using Teensy Audio Library signals within an Arduino sketch

  1. #1
    Junior Member
    Join Date
    Jun 2021

    Using Teensy Audio Library signals within an Arduino sketch


    I would like to process 16 microphone signals on an external computer.

    My plan is to use ICS-52000 microphones and interface them with a Teensy 4.1 using the TDM input block from the Teensy Audio Library (AudioInputTDM). However, the Teensy Audio Library does not contain an output block which can handle 16 signals, hence my plan is to send the signals over Ethernet.

    The code generated by the Audio System Design Tool seems to handle everything in and before the setup, there is no code in the Arduino loop. However, if I write a function that transmits the signals over Ethernet, it needs to access the TDM audio signals in a way. Where are they stored and how can I access them?

    Thanks in advance!

  2. #2
    Senior Member
    Join Date
    Jul 2020
    By output block you don't mean TDM output? It would be possible to use 16 AudioRecordQueue objects (clearly not
    ideal for this situation, but certainly possible).

    The initializers for audio objects set them up, you don't actually have to instantiate them at top-level, but this is the
    use-case implied by the design tool, and ensures the memory is the tightly coupled memory (using new/delete uses
    the slower memory bank on the T4.x). The whole system is interrupt-driven (so you need at least one input or output
    object using interrupts in order to set the train going).

    Raw data into and out of the library is done using play and record objects, input and output objects are for physical devices.

  3. #3
    Junior Member
    Join Date
    Jun 2021
    Sorry for the confusing choice of words. There is indeed a TDM output block with 16 channels, but Iím looking for a way to interface 16 mic channels to my external computer. As far as I can tell, I can only send 2 channels over USB audio. This is why Iím looking into sending them over Ethernet.

    Thanks for pointing me in the right direction! I played around with the Recorder example code and managed to convert the data from the AudioRecordQueue object into normalized floats. This gives me enough confidence to proceed making a 16 mic PCB, I can do a full test when the PBC arrives (about a week from now).

    What is your concern with using 16 AudioRecordQueue objects? And do you have any alternative ideas?

    Many thanks!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts