wareya
New member
I made an equalizer with a Teensy 4.1 and the Audio Shield, but I ran into problems with the Teensy Audio Library because I can't change the buffer size or frequency without things breaking. I want to interface with the ADC/DAC directly instead of going through the audio library, but I can't find any documentation on how to do so, or even how to do low-level I2S at all.
The output_i2s.h etc. headers all depend on the audio library, and expose hardware control as an abstraction on top of AudioStream. Looking at output_i2h.cpp, it seems to be doing a lot of hardware-specific work, rather than just implementing the I2S protocol. Which makes sense, given that it's a very high-level abstraction. But it means that it's difficult for me to use it as guidance on where to start in using I2S at a low level.
After configuring the codecs, I want to manually get a block of sample data from the hardware input, process it arbitrarily, and then manually write it back to the hardware output, in a loop. I don't want to patch streams together etc.
Where do I go for resources on this?
The output_i2s.h etc. headers all depend on the audio library, and expose hardware control as an abstraction on top of AudioStream. Looking at output_i2h.cpp, it seems to be doing a lot of hardware-specific work, rather than just implementing the I2S protocol. Which makes sense, given that it's a very high-level abstraction. But it means that it's difficult for me to use it as guidance on where to start in using I2S at a low level.
After configuring the codecs, I want to manually get a block of sample data from the hardware input, process it arbitrarily, and then manually write it back to the hardware output, in a loop. I don't want to patch streams together etc.
Where do I go for resources on this?