Under my current setup, I have a pCP server streaming tidal, deezer and radio paradise etc in flac to my separate pCP player.
The transcoding rule is very simple:
flc flc * *
-
and I enjoy my setup immensely.
The other day, out of boredom, I tried roon in my windows machine just to see the much appraised UI improvements. I clicked "Enable Squeezebox support" entered my tidal credentials was ready to listen to tidal stream without mqa. The player was the exact same pCP running the same version of squeezelite.
But there was a HUGE improvement in sound quality in every parameter imaginable from deep base to staging etc. I was very surprised and now try to track the source of this improvement and the following come to my mind:
1. Roon has a secret sauce and converts flac to pcm and automatically applies some DSP, upsampling, bit depth, dithering changes etc. Tonight, I will restrict squeezelite to accept only flac and test again. If roon is transcoding to pcm, the player will not play.
2. Going over the flac documentation (https://xiph.org/flac/documentation_tools_flac.html) there are a plethora of options for flac from compression level to sample rate to what-not. I do not understand what flc flc * * rule does. Is there any compression involved, for instance?
Because the players are identical, roon must be doing something different at the server side. But i cannot switch to roon because it does not support spotify or deezer. but what it does with tidal is totally worthwhile. Pls give it a try through the 14-day trial period and see if you agree. Meanwhile, any ideas or suggestions are welcome.
Results 1 to 8 of 8
Thread: FLAC Options
-
2021-04-02, 01:54 #1
- Join Date
- Mar 2017
- Posts
- 94
FLAC Options
-
2021-04-02, 02:04 #2
- Join Date
- Oct 2005
- Location
- Ireland
- Posts
- 20,291
Enable slimproto logging on both squeezlite players and check the exact same volume levels are sent to the player - 11 on Roon maybe 9 on LMS.
-
2021-04-02, 02:23 #3
- Join Date
- Mar 2017
- Posts
- 94
-
2021-04-02, 02:39 #4
- Join Date
- Oct 2005
- Location
- Ireland
- Posts
- 20,291
I don't know Room but IIRC LMS there is (or maybe was) a nonlinear mapping between volume levels and volume level sent to a player - the curve had more points close together at low volume so that better control at low volume.
The volume level displayed on a UI is mapped into a volume level sent to the player - it does not have to be linear and there is no need for Roon to be the same as LMS.
edit:
Flac is lossless compression - so that no matter what compression level chosen - it will save space in file (and maybe transmission time) - the decompressed PCM is exact the same no matter what compression level is used.
The rule below - means for flac to flac "do nothing" - send the data through unchanged. If the "-" was changed to say a sox command then input flac data stream can be modified by sox but still sent as flac.
Flac Flac * *
-Last edited by bpa; 2021-04-02 at 02:45.
-
2021-04-02, 04:49 #5
- Join Date
- Mar 2017
- Posts
- 94
I know LMS is bit-perfect at 100% fixed volume, but I have the following questions:
1. there is also an adjustment for remote streams and the default value is -5. Is LMS still bit-perfect when I mess around with this setting? Should I keep it at 0? Or is it disabled at 100% volume?
2. How is it normal that roon and LMS are not equally loud at 100% volume? because remember roon is simply emulating LMS
3. when transcoding to flac from other formats, i see the following argument in convert.conf. [flac] -cs --totally-silent --compression-level-0 -. why is compression level a thing if the output is exactly the same?
4. can you or other knowledgeable members give roon a spin and comment on their implementation of LMS?
sorry for the stream of consciousness questions but the issue fascinates me and i know the good people of the forum might shed some light on this
-
2021-04-02, 05:54 #6
- Join Date
- Oct 2005
- Location
- Ireland
- Posts
- 20,291
AFAIK this is like a Gain tag for specified remote streams. I didn't think it was applied by default. LMS does not manipulate any audio data. It just works out from volume control, gain setting and 100% setting - what value to put in volume control message in slimproto. Recently this has been tweaked to support balance as there is L & R volume. I would think the 100% setting means LMS sets L&R vols values to max in message.
2. How is it normal that roon and LMS are not equally loud at 100% volume? because remember roon is simply emulating LMS
3. when transcoding to flac from other formats, i see the following argument in convert.conf. [flac] -cs --totally-silent --compression-level-0 -. why is compression level a thing if the output is exactly the same?
4. can you or other knowledgeable members give roon a spin and comment on their implementation of LMS?
-
2021-04-02, 06:00 #7
- Join Date
- Apr 2005
- Location
- UK/London
- Posts
- 3,905
A bit more on compression level
https://en.wikipedia.org/wiki/FLAC#Compression_levelsPaul Webster
http://dabdig.blogspot.com
Author of "Now Playing" plugins covering Radio France (FIP etc), PlanetRadio (Bauer - Kiss, Absolute, Scala, JazzFM etc), KCRW, Supla Finland, ABC Australia, CBC/Radio-Canada and RTE Ireland
-
2021-04-02, 09:43 #8
- Join Date
- May 2008
- Location
- Canada
- Posts
- 6,921
The only rational explanation is either a difference in volume or roon does some audio processing because other than that, everything is bit perfect.
Rather than making hypothesis, you can do a simple test by having squeezelite spit on stdout (or find a way to send audio to a file) and then play the same track from LMS and Roon, then use your favorite DSP tool (audacity?) to compare resultsLMS 8.1.x on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3