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
