• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

$100 Roon Bridge Endpoint: Raspbery Pi & HiFiBerry Digi+ Pro

amirm

Founder/Admin
Staff Member
CFO (Chief Fun Officer)
Joined
Feb 13, 2016
Messages
44,368
Likes
234,394
Location
Seattle Area
HDMI audio is slave to video which means that even if you play pure audio, black video is generated to go with it. This causes lots of stuff to light up in the equipment and in the AVRs I measured, substantially degrade performance.
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
HDMI audio is slave to video which means that even if you play pure audio, black video is generated to go with it. This causes lots of stuff to light up in the equipment and in the AVRs I measured, substantially degrade performance.

Because it's going through the Apple TV, the video is on, too, although just showing the AppleTV home menu and icons and the album cover of the current track. I don't know if that's good or bad.

Also, the TV is not even close to being high end; I'm not a videophile at all, so bought a TCL (who?) 55US5800 Ultra 4K TV with built-in Roku. They seem to have dumped all the money into the screen and the Roku functions. Good audio was not a design priority if the built-in speakers are any indication (awful). After all, most customers are just going to attach a soundbar.

If nothing else, Chain 2 is closer to KISS principles.
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
screen-capture-1.png


Here is a screenshot of top while playing music as Roon Bridge. You can see that the overall system resource usage is very low. Also interesting that both hi and si are listed at 0.0%, so no significant interrupts going on.



 

SoundAndMotion

Active Member
Joined
Mar 23, 2016
Messages
144
Likes
111
Location
Germany
Thank you for your reply but I do not completely understand what the hardware underlies each graph in this image:
[pretty, colorful pic removed]

RPi I2S + ES9023 DAC
BBB I2S + ESS9023
USB-I2S-2+ ESS9023
USB-I2S-1+ESS9023

and what is the difference between USB-I2S-2+ ESS9023 and USB-I2S-1+ESS9023?
As watchnerd mentioned, all DACs are the same ESS 9023.

RPi I2S + ES9023 : Raspberry Pi native I2S interface with a 44.1kHz data rate
BBB I2S + ES9023 : Beagle Bone Black native I2S interface with 48kHz data rate.
USB-I2S-2 + ES9023 : “Mystery” USB to I2S interface number 2
USB-I2S-1 + ES9023 : “Mystery” USB to I2S interface number 1
CD Player : “Mystery” “inexpensive” commercial CD player (unknown DAC)

Brian from Dangerous Prototypes created the plots and for some reason doesn’t mention the details on the “mystery” items.

I2S on the RPi is created using a 19.2MHz crystal oscillator, which cannot create the bit clock for 44.1kHz using an integer number of clock cycles, so jitter is intentionally created by the Broadcom chip by varying the divisor to create the bit clock. This problem does not occur with a 48kHz sample rate.

If you ignore analog noise infiltrating the analog sections of your system (by choosing components, e.g. DACs, etc., that avoid it), but you do worry about jitter (some people don’t so much), then there are 3 options for using a RPi: use 48kHz sample rates (or multiples thereof), or use a different clock (asynchronous USB, or I2S with reclocking, as watchnerd suggests). Don’t use the analog output of the RPi.
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
As watchnerd mentioned, all DACs are the same ESS 9023.

RPi I2S + ES9023 : Raspberry Pi native I2S interface with a 44.1kHz data rate
BBB I2S + ES9023 : Beagle Bone Black native I2S interface with 48kHz data rate.
USB-I2S-2 + ES9023 : “Mystery” USB to I2S interface number 2
USB-I2S-1 + ES9023 : “Mystery” USB to I2S interface number 1
CD Player : “Mystery” “inexpensive” commercial CD player (unknown DAC)

Brian from Dangerous Prototypes created the plots and for some reason doesn’t mention the details on the “mystery” items.

I2S on the RPi is created using a 19.2MHz crystal oscillator, which cannot create the bit clock for 44.1kHz using an integer number of clock cycles, so jitter is intentionally created by the Broadcom chip by varying the divisor to create the bit clock. This problem does not occur with a 48kHz sample rate.

If you ignore analog noise infiltrating the analog sections of your system (by choosing components, e.g. DACs, etc., that avoid it), but you do worry about jitter (some people don’t so much), then there are 3 options for using a RPi: use 48kHz sample rates (or multiples thereof), or use a different clock (asynchronous USB, or I2S with reclocking, as watchnerd suggests). Don’t use the analog output of the RPi.

Thanks for those additional details.
 

skypickle

Member
Joined
Dec 29, 2016
Messages
55
Likes
4
@SoundAndMotion
Thank you. In regards to option #2
"or use a different clock (asynchronous USB, or I2S with reclocking, as watchnerd suggests)."
Would this be an example:
RPi -> usb-> Singxer XU-1 -> i2S ->DAC
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
@SoundAndMotion
Thank you. In regards to option #2
"or use a different clock (asynchronous USB, or I2S with reclocking, as watchnerd suggests)."
Would this be an example:
RPi -> usb-> Singxer XU-1 -> i2S ->DAC

I haven't seen any measurements for the XU-1, so I don't know how effective it is at lowering jitter.

But unless you need the multiple outputs, the $399 XU-1 is a lot more costly than the Digi+ Pro.
 
Last edited:

skypickle

Member
Joined
Dec 29, 2016
Messages
55
Likes
4
I haven't seen any measurements for the XU-1, so I don't know how effective it is at lowering jitter.

But unless you need the multiple outputs, the $399 XU-1 is a lot more costly than the Digi+ Pro.
but isn't the digi+pro 'limited' to 96khz output? and pcm only?
 

skypickle

Member
Joined
Dec 29, 2016
Messages
55
Likes
4
sorry i should have checked. I thought something was missing from a 'full featured' DAc. It's DSD that it does not do. but i2s does. i have a very limited dsd collection from when i was trying to hear a difference (did not)
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
sorry i should have checked. I thought something was missing from a 'full featured' DAc. It's DSD that it does not do. but i2s does. i have a very limited dsd collection from when i was trying to hear a difference (did not)

The Digi+ Pro does have I2S-out capabilities via the GPIO, but that's an advanced capability not covered in this build.

Edit: It looks like you can also solder on a dedicated I2S connector.
 
Last edited:

skypickle

Member
Joined
Dec 29, 2016
Messages
55
Likes
4
I guess at the time the DAC+ drivers were not available for i2s
see here

"Scott KramerSeptember 25, 2015 19:20
New Dac+ pro is awesome, wish I could try the clocks! :D

No i2s out until thats done? (P4)

https://app.box.com/s/qn6172d78i18csz7hyk063aajb8htio5"

later on there's this:

"-Felix-November 29, 2015 05:29
Gregory, as far I understand the discussion the DAC+ Pro can operate in two modes. The old driver did not activate the clocks on the DAC+ Pro, but used a master clock signal generated by the RPi which is directly used for the DAC. In this case the the DAC+ Pro operates in I2S slave mode. Reclocking would require something like a PLL fed by the the RPI's I2S bit clock signal and the on-DAC+ oscillators. I do not think the DAC+ can do this, but I am not sure. (To be confirmed by the HiFiBerry-Team)

The better approach is what HiFiBerry is doing with the new/current drivers. The DAC+ Pro learns the required sampling frequencies via I2C and operates in I2S master mode providing its own low-jitter bit clock signal clock to the I2S bus. Correspondingly, the RPi now operates in slave mode. The RPi stays transmitter and the DAC+ Pro stays receiver, but now the receiver provides the bit clock signal and actively "pulls" the audio data from the sender (RPi).

As far as I understand, in the latter configuration, the DAC+ Pro also provides a MLCK signal which is technically no part of the I2S specification, but required by some DACs. I do not see in how far the MCLK signal could be useful to the RPi. However, if you attach an additional DAC (receiver) to the I2S bus operating in slave mode the MCLK signal could be useful."

Finally there's talk of removing resistors somewhere (last post) but I dont know which ones they refer to.
 
OP
watchnerd

watchnerd

Grand Contributor
Joined
Dec 8, 2016
Messages
12,449
Likes
10,408
Location
Seattle Area, USA
Finally there's talk of removing resistors somewhere (last post) but I dont know which ones they refer to.

If you're serious about I2S, I would contact HiFiBerry for latest status of GPIO vs solder connection and drivers.. Half of the time I get a response directly from Daniel, the main designer.
 
Top Bottom