Could someone ELI5 if these ADAU1401 learning boards would be easy to pair with a USB->I2S board like this or an ADC board such as this? I guess the internal DAC is decent enough with -90dB THD but surely implementation also matters - would also adding a separate DAC board make things difficult? Seems like a bargain if I only have to connect some pins 🙂
Please read posts #9, #11 and #13 for potential problems using I2S devices with the 1701. The USB to I2S board you referenced has basically no detailed information, but I’d guess it needs to be the master. If that’s true you would need to remove 1701 crystal and route the USB board’s MCLK to the 1701. AFAIK any USB to I2S board used with the 1701 (unmodified) needs to meet two requirements:
The ADC board you referenced should be able to work with the 1701. You still need configure the ADC board and 1701 to use the same I2S parameters and follow post #9 information for the 1701.
Adding a DAC is much simpler as most of them can run asynchronously (they use their own crystal and don’t need MCLK).
- It can operate as a slave device.
- It will always output at the same sample rate as the 1701 (typically 48 KHz) as the 1701, independent of the incoming USB sample rate. According to your board’s documentation it will only work with USB streams up to 16 bit and 48 KHz which certainly limits what you can feed it.
The ADC board you referenced should be able to work with the 1701. You still need configure the ADC board and 1701 to use the same I2S parameters and follow post #9 information for the 1701.
Adding a DAC is much simpler as most of them can run asynchronously (they use their own crystal and don’t need MCLK).
Thank you! I didn't skip any of the 20 messages, just find it difficult to wrap around this stuff. Your summary helps a lot 🙂
There was a time in audio device history when the difference between "master" vs "slave" was a lot simpler. "Master" simply refers to which device provides the clock. For A/D converters, the source data is analog, and something needs to provide a clock to determine the sampling rate. Most simple A/D converter boards require an external clock, so they are slaves. There are more complicated boards with on-board clocks where you can select from different sample rates, which would make them masters. However, if the board is just a chip with some analog filtering, it will be a slave. The same goes for a D/A board. Usually, the D/A board expects an external clock to output data at a specific rate. That makes the D/A board a slave and the device supplying that external clock is a master. You can connect these devices directly to the ADAU1701, as that chip can be the master and provide the I2S bit clock and frame sync.
Devices that have SPDIF output are always masters. SPDIF uses Manchester encoding, which is a way of embedding the clock into the data stream. The receiving device will extract this clock for the DSP and convert it to I2S. Since the ADAU1701 has its own clock, you would need an ASRC device to resample the data at the ADAU1701 clock rate, or else remove the ADAU1701 clock and to use that recovered SPDIF clock as the ADAU1701's clock. As others have pointed out, the ASRC solution has a number of advantages.
Things got a lot more complicated with the introduction of buffered digital audio. With buffered audio, the host computer needs to "negotiate" a suitable clock with the output device, and the output device can either be a slave or a master. For example, the early Linkplay WiFi streamers (A28 and A31) had the ability to request audio at different rates across the network. However, these early devices were configured as slaves, with the clocks typically coming from the A/D converters on their motherboard, and the software fixed the data rate at a "nominal" 44.1KHz rate. As long as the ADAU1701 is running at 44.1KHz rather than the usual 48KHz, you could connect these early devices as slaves, using the ADAU1701 clocks. However, if the ADAU1701 is running at 48KHz, the audio will get played back at about 9% faster than normal. I tried that experiment--it is weird!
The newer streamers that use the A98 module appear to be configured as master devices. You will need an ASRC to resample their output for an ADAU1701, or else use a DSP like the ADAU1452/ADAU1466 that has integrated ASRC's.
USB devices come in two "flavors": synchronous or asynchronous, and both types are masters. The synchronous devices use the USB frame rate as the clock, so the clock is generated in the host computer. The asynchronous devices have an internal reference clock and provide a timing signal to the host computer that controls the flow of packets on the USB bus. In both cases, the clock is external to the ADAU1701, so you will have to use a resampling device (ASRC).
BTW, those ASRC devices are very low distortion. They simply resample the incoming data at a very high rate, apply some filtering, and then resample the signal at the outgoing rate. You don't lose any fidelity in this resampling process, as the distortion is typically below -120dB.
Devices that have SPDIF output are always masters. SPDIF uses Manchester encoding, which is a way of embedding the clock into the data stream. The receiving device will extract this clock for the DSP and convert it to I2S. Since the ADAU1701 has its own clock, you would need an ASRC device to resample the data at the ADAU1701 clock rate, or else remove the ADAU1701 clock and to use that recovered SPDIF clock as the ADAU1701's clock. As others have pointed out, the ASRC solution has a number of advantages.
Things got a lot more complicated with the introduction of buffered digital audio. With buffered audio, the host computer needs to "negotiate" a suitable clock with the output device, and the output device can either be a slave or a master. For example, the early Linkplay WiFi streamers (A28 and A31) had the ability to request audio at different rates across the network. However, these early devices were configured as slaves, with the clocks typically coming from the A/D converters on their motherboard, and the software fixed the data rate at a "nominal" 44.1KHz rate. As long as the ADAU1701 is running at 44.1KHz rather than the usual 48KHz, you could connect these early devices as slaves, using the ADAU1701 clocks. However, if the ADAU1701 is running at 48KHz, the audio will get played back at about 9% faster than normal. I tried that experiment--it is weird!
The newer streamers that use the A98 module appear to be configured as master devices. You will need an ASRC to resample their output for an ADAU1701, or else use a DSP like the ADAU1452/ADAU1466 that has integrated ASRC's.
USB devices come in two "flavors": synchronous or asynchronous, and both types are masters. The synchronous devices use the USB frame rate as the clock, so the clock is generated in the host computer. The asynchronous devices have an internal reference clock and provide a timing signal to the host computer that controls the flow of packets on the USB bus. In both cases, the clock is external to the ADAU1701, so you will have to use a resampling device (ASRC).
BTW, those ASRC devices are very low distortion. They simply resample the incoming data at a very high rate, apply some filtering, and then resample the signal at the outgoing rate. You don't lose any fidelity in this resampling process, as the distortion is typically below -120dB.
I just got this device, and I want to set up 2.1 sound and use it as a preamp and crossover to send sound to my main amp and speakers, and lows to my subs.
They give this example:
But it has a few problems. The high-pass varies from 3000 to 20,000hz for some reason, when it really should be in the 80-200 range. It uses a 6dB slope filter, which is no better than a $1 capacitor. Sigma Studio has a Crossover Filter with a Linkwitz-Riley-24 and they should use that.
I simplified the program and used a better crossover filter. Next I think I will program in my high-frequency hearing loss, and also put in a curve for my room using my measurement microphone. I am not using any of the pots at this point. So far, it has been good but I am interested in seeing what other code examples people have.
They give this example:
I simplified the program and used a better crossover filter. Next I think I will program in my high-frequency hearing loss, and also put in a curve for my room using my measurement microphone. I am not using any of the pots at this point. So far, it has been good but I am interested in seeing what other code examples people have.
You can use any file for the ADAU1701 on the board. Do not expect any help from WONDOM. They are a hardware distribution and have no software engineers. They promised years ago some GUI for the 1701 which didn't materialize. You got to work with SigmaStudio and the examples you find online.
SigmaStudio is a very mighty tool, not made for end user, but developers that need to implement a DSP in their hardware and projects. The end user should only use the mentioned pots.
If you know exactly what you need you should get along with it. Just make sure you use some safety capacitors during testing to protect tweeters.
After all it is dead cheap, starting at less than 20$ for a basic DSP module.
SigmaStudio is a very mighty tool, not made for end user, but developers that need to implement a DSP in their hardware and projects. The end user should only use the mentioned pots.
If you know exactly what you need you should get along with it. Just make sure you use some safety capacitors during testing to protect tweeters.
After all it is dead cheap, starting at less than 20$ for a basic DSP module.
As far as protecting tweeters, I measured my hearing loss, and above 4000hz it really drops off to about 60dB below normal at 4000hz and higher. I find that hard to believe as music sounds normal to me, and I don't have trouble hearing people. But I used a few different hearing test programs and those are the graphs I get.
The DSP will allow up to 30dB of boost, and there must a reason why treble controls typically provide no more than 15dB of boost. Should I do a high-shelf filter and set it to +15? Or is it safe to go to +20dB? I want to sometime be able to play the system loud (though I never turn my amp past the 12 o'clock position because I know about distortion).
The DSP will allow up to 30dB of boost, and there must a reason why treble controls typically provide no more than 15dB of boost. Should I do a high-shelf filter and set it to +15? Or is it safe to go to +20dB? I want to sometime be able to play the system loud (though I never turn my amp past the 12 o'clock position because I know about distortion).
Even with hearing loss at high frequency you can listen to any natural sound quite as usual. What you will realize, the ability to locate sound sources is reduced. You may not be able to pin point high speakers in a Dolby Atmos installation for example. Same if something drops on a hard floor and rolls away. You know it fell down but can't exactly tell the direction any more. I had a temporary hearing loss after an accident and found this very anoying.
Tweeter protection is only if you do a two way active speaker, not critical with a 2.1 sub installation. I just wanted to warn about the possibility that unexpected sounds can come out of the DSP while tuning with SigmaStudio if you enter some wrong value. What happens quite easy, as SS is so mighty. No safety features included...
Tweeter protection is only if you do a two way active speaker, not critical with a 2.1 sub installation. I just wanted to warn about the possibility that unexpected sounds can come out of the DSP while tuning with SigmaStudio if you enter some wrong value. What happens quite easy, as SS is so mighty. No safety features included...
I am having issues with downloading to the 1701 works sometimes but often hangs. I have tried restarting SigmaStudio, which seemed to work once. Unplugging power and cables and plugging them back in. I have tried two PCs. I have not found a way to have it work most of the time.
I just added 20dB shelf above 4000 and wow - I can hear stuff I forgot existed. As mentioned, my hearing in everyday life appears normal to me. I dialed it back to 15dB and will see how that goes.
SigmaStudio needs some 64 bit Windows. Next the installation of the driver for the programing interface is very critical. If this is OK and the right jumper set, anything worked very stable with mine. I use some cheap no name cypress CY7C68013A logic analyser like this one https://www.ebay.de/itm/116377118153
- Home
- Source & Line
- Digital Line Level
- WONDOM ADAU1701 Without Extension Board