As it is known the Raspberry Pi can output I2S signals but there are some big disadvantages resulting in poor sound quality.
First of all, Rpi cannot output exact audio frequencies (44.1/48 and multiple) due to main oscillator - this causes lot of jitter in output I2S signals.
Second of all, Rpi cannot output MCLK (master clock) and although this clock is beyond I2S bus specification, is often needed by modern DAC chips.
Basic idea is to run Rpi as SLAVE, exactly as shown here:
Transmitter = Rpi
Receiver = I2S HAT
If we take high quality oscillators, all mentioned problems will disappear.
But this idea requires kernel modification (HAT has to know the value of the actual sampling frequency).
This whole project is divided into four subsections - hardware, VHDL code, OpenOCD program and GNU/Linux kernel modification.
Great project and documentation. I am looking for something like this including 3.5mm jack dynamic microphone input.
ReplyDelete