Entrypoints, the audio entrance to Roon, made the move to HiRes!

I investigated what could be done to support higher sample frequencies and bit depths.

What can be achieved is restricted by the main parts that make up the Entrypoints system, being Icecast and Liquidsoap. Besides that I want it to run on as many Raspberry Pi models as possible, i.e. not causing stuttering audio and high processor loads on the older models.

Liquidsoap is the part of the system that captures the audio and encodes it as a FLAC stream. I experimented with different versions of it and used different methods for capturing and encoding (i.e. both internal and external). Everything in the Liquidsoap internals seems to be limited to 16 bits. The closest I could get to 24 bit support is by using an external capture program (tried arecord and rec) and an external flac encoder, but on my RPi 3B+ setup I could not get a stable stream, it was dropouts all over the place :frowning:

But, what does work is higher sample frequencies, on the same RPi I can stream 192 kHz 16 bit without dropouts :slight_smile:




Now is a 192 kHz 16 bit digital audio signal not something that you will find often in “the wild”, but the good news here is that an incoming 24 bit signal will be truncated to 16 bits and streamed as such (this is already the case for the current 0.1.0 version). This means that information will be lost but still the music can be streamed.

Let’s take the use case of Bradley Rank as an example:

According to their website this digital preamp outputs a 48 kHz 24 bit signal. When this signal is fed into an RPi with digital input HAT then it will be streamed as FLAC 48 kHz 16 bit.

What is next?

The next step is to finish the work on the Audio Entrypoint update. The upcoming version will support sample frequencies up to 192 kHz at 16 bit.

2 Likes