Teensy Audio 24bit 48kHz qustions and more..

Why we need a I2S 32 Bit stream

Hi all,

let me explain why a real I2S (32 Bit per channel slot) is very usefull for us. I´m working at a university of applied sciences and we are teaching audio engineers to get jobs like hardware development for video&audio, electroacoustics and acoustics. We used a lot of signal processing tools so far like DSPs (Sharcs & Sigma DSP), FPGAs and sometimes there is also a teensy. But when we need high quality audio for applications where high SNR is necessary teensy is not the first choice ;-(. But Teensy is very easy to use and sometimes a newby don´t want to handle difficult programming on DSPs when he only wants to implement a single FIR filter. So it would be great to have teensy working with an I2S streams professional ADC/DAC/Codecs use today.

I came to this problem/thread, because a teensy 3.6 lies infront of me and it will not work with my own super audio board called realHDaudio-Board. I was sure a Cortex M4 could handle it....And now i just realized that teensys I2S stream uses 16 Bit per channel slot instead of 32 Bit like professional converters like the AK5397 (for example) do. My mistake. And the converters stream cannot be changed. ;) Only 24 Bit are used for audio in the 32 stream and that is enough at this time. On my board i can reach around 125 dB of SNR on the ADC and 119 dB on the DAC (all dBA weighted) side including analog circuits. I developed the board to get it "open source" on the freedsp.cc platform and it will be available at the beginning of October 2019. Find a short description of this project here: http://realhdaudio.de/2018/04/27/realhdaudio-board-for-freedsp-adau1701/

What applications need high SNR?
In my current project, I want to develop a loudspeaker controller to equalize (FIR linear) my active studio monitors. Think about a RME UCX (113dBA) as an output followed by a loudspeaker controller with high SNR which will become inaudible without adding noise. Nice! Another guy here builds loudspeakers every day and he is always looking for cheap possibiltys for active crossover managment. Ideally with digital inputs. Handling clocks will be another problem in this case. In my project mentioned above a 24 MHz clock is needed to use sample rates up to 768 kHz (harebrained, i know). With a 12 MHz master clock only 44,1kHz is possible. To allow clocks from outside (SPDIF Input) there are chips available (DIR9001 for example) which can switch between a crystal clock or SPDIF clock automatically and they can also generate and forward a high master clock (24Mhz). So for clock handling with digital inputs a jumper pad for internal/external master clock can be useful on a new teensy. And when it will be there i will develop and audio board for you :cool:.

Thanks to all teensy developers! I know 32 Bit per slot is not priority for you at the moment and i cannot estimate how much signal processing would be possible with it on the Cortex M4. But i would be excited to find out:D. If there is time i will have a look into your audio library. Currently I have no idea how big a change would be.

Cheers
Chris
 
The newer versions of the audio library do 32bit/slot which is 64bit/frame, but only in the 2ch version. The 4ch version is still doing 16bit/slot or 32bit/frame and waits for a kind and competent soul (do your ears ring? ;) ) to fork it on GitHub, to upgrade it, ending up with a pull request.
 
I registered just so I could post on this very interesting thread.

I am interested in combining the new Teensy 4.0 along with a CSR8675 Bluetooth transmitter module as an "in guitar" studio/effects unit. From what I can tell the CSR8675 has both a 24 bt ADC and DAC, though the ADC is what I'm interested in. It may be able to take the guitar analog signal (perhaps each pickup in a channel) and feed that to the Teensy for effects/audio processing, saving to uSD card, or mixing with existing uSD audio data (eg. drums, previous tracks to overlay). The resulting audio data from Teensy could in theory be saved but also fed back to the CSR8675 for sending to Bluetooth headphones (using aptX, aptXll low latency, and even aptX HD is supported by that chip).

Hence, a Teensy with a CSR8675 add-on card could make an embedded effects studio with direct headphone monitor/playback (or to bluetooth speakers just as well). I guess ideally it would need a small TFT touch display in the guitar faceplate as control interface.

Anyway, I added this here as a possible use for 24 bit sound since from analog source right to playback (or recorded data) it would remain in digital domain. Has anyone seen such a use being made of a Teensy or similar low-cost board? I'm a bit keen to explorer making something to go inside a guitar but as yet I have not started down that road. More at the stage of thinking about how to do it. Thx.

(note there are some CSR8675 based products around on ebay and I'd likely look at hacking one of those up to wire into Teensy since they are readily available and built, rather than buying a chip and making a board).
 
The input impedance to most audio ICs is in the 10-40 kOhm range, which is too low for the output of guitar pickups. Guitar pickups really expect to be plugged into something with at least 500 kOhm (and it's often 1MOhm).

If you try to connect a guitar directly to a 10k adc, the signal will be even smaller than it normally is (unusably small) and the frequency response will be really strange due to the freq dependant output impedance of the pickups.

The only way to make it be 'normal' is to add an opamp buffer in your circuit just before the adc. It's a routine thing to do. A TL072 is very common for this task.

As an example, see the hackable/programmable guitar pedal, the Hoxton Owl: https://hoxtonowl.com/mediawiki/index.php/Schematics

On this page, scroll down to the schem titled "OWL Pedal rev04 Schematic". That's where you can see how the setup the opamps as buffers.

Chip
 
@chip,

Thanks for your reply and input.

I did know about that and planned to use an op amp before the ADC. I had looked at a few and was going to use a OPA2134 (dual) op amp for it's low noise and low supply voltage specs.

Also, was going to play around with a PCM1808 as ADC direct to Teensy and then use SPDIF to go from that to Bluetooth module. That allows using ready-made CSR8675 rather than having to custom program it - something that probably requires $800 SDK, tools and maybe licensing / nda (ugh).
 
New member here. I'm building a guitar with individual pickups for each string (https://www.cycfi.com/product/nu-multi-6/). Each pickup puts out a signal that's roughly 580-740mV peak-to-peak. I'd like to route the 6 pickups to an onboard digital mixer that outputs a stereo 48kHz@24-bit AES/EBU signal. So for example, I'd like to be able to have the bottom 3 strings sent to the L output and all 6 strings sent to the R output. A well-regulated 7V DC power supply will be available to power all this.

Is this something that I could do as a Teensy- and audio shield-based project? I took some basic coding and EE classes in college ages ago, and I'm decent with a soldering iron, but haven't done a lot of PCB soldering yet.

Thanks in advance for your help!
 
Back
Top