Noise with high sample rate since version 1.40.x, roon_mode, and wav
codec support not working?

Hi, I recently updated from 1.25.0 to 1.40.8 of the LMS2UPnP bridge and
found I get noise with any high sample rate tracks.  

This is not the wall of white noise problem, I've had that in an earlier
version where some tracks would just play a wall of white noise and if i
skipped forwared to another spot in the track, or to the next track, it
would correct itself.  That was solved by updating to 1.25.0.  

Instead this current problem is more like garbled digital noise
modulated by the track itself, ie it varies with the pitch and tone and
content of the track.  If I skip to another spot in the track, it
sometimes comes right. If I skip to the next track that will have the
same problem.

The issue appears to be any tracks > 16/44.1 which are FLAC or WAV being
played from Roon (eg 24/44.1, 16/88, 24/88 and so on).  ALAC tracks >
16/44.1 playback fine with no noise.  My renderer doesn't support ALAC
natively, so I think this is because the bridge is transcoding in this
case.

I tried all 4 different setting for L24_format, none of them fixed the
problem.

I've reverted back to 1.25.0, and the problem goes away, ie it is not
reproduceable in that version.  I jump forward to 1.40.8 and the problem
returns.  I've tried all major versions from 1.25.0 to 1.40.0. 
Everything up to 1.31.0 works fine, the problem seems to be introduced
with 1.40.0, and is still present in 1.40.7 and 1.40.8.

I'm running the standalone version of the bridge on Arch Linux with
roon_mode enabled, and controlling playback from Roon.  My config file
is the generated config with roon_mode enabled and the sample rate
changed to 192000.

My UPnP renderer is a Naim NDX which is capable of playback up to 24/192
in WAV and 24/96 in LPCM (as reported in DeviceSpy).  I tried reordering
the raw_audio_format setting to prefer WAV first however the problem is
also present there.

LMS endpoints in Roon (when LMS support is enabled) have an option to
enable or disable FLAC compression.  By default this is enabled, however
I have it disabled.

The noise problem with 1.40.x disappears if FLAC compression is enabled
for the endpoint in Roon, and playback of any file format/codec up to
24/192 registers on the NDX as FLAC in the matching sample rate. 
However the reason I normally have FLAC compression disabled is twofold
- when FLAC compression is enabled in Roon, then all playback is forced
in to FLAC and playback of any DSD files is not longer bitperfect as it
appears to always get resampled to 24/176.4 FLAC (not sure if Roon is
doing this or the bridge).  Secondly I think with the FLAC compression
off in Roon, the WAV/LPCM stream is putting less load on the NDX
processor because it doesn't have to decompress the FLAC stream which
should result in a lower noise floor assuming its processor has to do
less, and thus should in theory lead to better sound quality.  During
critical listening it does sound better for some tracks, more attack in
the bass, highs sort of "sing" more, slightly more energy, more toe
tapping goes on etc (however I also accept the times I think I've
noticed those differences could just be confirmation bias :D ).  When
DSD's are converted in Roon using DoP with FLAC compression disabled,
they get reported as WAV 2.8Mhz for example for a DSD64 file, so whilst
not native DSD playback, it is closer to original quality than FLAC
176.4.

All of this also leads to my second question - what does roon_mode
actually do?  The user guide documentation doesn't provide any detail
other than "Set to ‘1’ to if you intend to use this player from a Roon
server.".  The diagrams in the documentation, for example, don't mention
this mode at all. 

I have normally have FLAC compression disabled in Roon for this
endpoint, and the bridge's mode is set to thru, and yet my NDX reports
the stream is either LPCM or WAV regardless of what format file is being
played on Roon, eg FLAC, WAV, ALAC, DSD, etc.  When FLAC compression is
enabled in Roon the NDX reports everything is FLAC during playback again
regardless of what format file is being played on Roon, eg FLAC, WAV,
ALAC, DSD, etc.  

So it seems that with roon_mode enabled, and if Roon has FLAC
compression disabled on the playback device, then the bridge is not
really in pass thru mode and instead it processes all incoming streams
(FLAC, WAV, ALAC, DSD etc) to the first format listed in the
raw_audio_format, despite mode being set to thru.  If Roon has FLAC
compression enabled, the bridge appears to pass through the FLAC (or
perhaps it is doing some reprocessing the FLAC stream because
flac_header is enabled by default?).

I also noticed when using debug logging on the bridge that it is not
offering wav support to the upstream Roon LMS server when using 1.40.x,
even though my renderer supports wav and I have regenerated the bridge's
config.xml to get the additional wav entry in the codec setting.

In the interim I'm back to running 1.31.0 version of the bridge, but I'd
be grateful for any help with the noise problem, or explanations of what
roon_mode is doing behind the scenes, or why the newer wav codec support
in 1.40.x doesn't appear to work in my setup.


------------------------------------------------------------------------
duncsimpson's Profile: http://forums.slimdevices.com/member.php?userid=70703
View this thread: http://forums.slimdevices.com/showthread.php?t=103728

_______________________________________________
plugins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/plugins

Reply via email to