Announcement

Collapse
No announcement yet.

Dithered volume control for Squeezebox

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #31
    Pippin,
    Sorry for the twenty questions. Where can I find Playback.lua?

    I can see it's referred to in ./Slim/Utils/OS/SqueezeOS.pm but I can't find Playback.lua in slimserver repo from github - nor even on my file system where LMS is installed. Where should I look?

    Thanks, Darren
    Last edited by darrenyeats; 2015-11-20, 21:35.
    Check it, add to it! http://www.dr.loudness-war.info/

    SB Touch

    Comment


      #32
      Dithered volume control for Squeezebox

      It's not part of the server, it's part of SqueezePlay. You need to download the SqueezePlay source code.
      The server doesn't contain any client-side code, the firmware is just used as complete bundle packages and even these are only downloaded at runtime.

      The code is on github, I think. At least it used to be.
      Last edited by pippin; 2015-11-20, 22:11.
      ---
      learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
      Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
      at penguinlovesmusic.com
      New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

      Comment


        #33
        Originally posted by pippin View Post
        It's not part of the server, it's part of SqueezePlay. You need to download the SqueezePlay source code.
        The server doesn't contain any client-side code, the firmware is just used as complete bundle packages and even these are only downloaded at runtime.

        The code is on github, I think. At least it used to be.
        7.8 is at https://code.google.com/p/squeezeslave/downloads/list. It contains two Playback.lua files:
        Code:
        ./share/jive/jive/audio/Playback.lua
        ./share/jive/applets/ScriptPlay/config/userpath/settings/Playback.lua
        "To try to judge the real from the false will always be hard. In this fast-growing art of 'high fidelity' the quackery will bear a solid gilt edge that will fool many people" - Paul W Klipsch, 1953

        Comment


          #34
          Interesting. What's ScriptPlay? Hadn't seen that one.
          ---
          learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
          Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
          at penguinlovesmusic.com
          New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

          Comment


            #35
            Ok, that ScriptPlay thing is just for desktop SqueezePlay and overrides the model name. Irrelevant here.
            ---
            learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
            Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
            at penguinlovesmusic.com
            New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

            Comment


              #36
              Ok guys, the dithered volume control change is now immediate with FLAC! (There's a small pause whilst stream resumes. This is minimal and unavoidable using SoX server-side.)

              See Dropbox link from post 1 for this update.
              Darren
              Last edited by darrenyeats; 2015-11-24, 19:17.
              Check it, add to it! http://www.dr.loudness-war.info/

              SB Touch

              Comment


                #37
                Pippin, Julf,
                Thanks for the information on Playback.lua.
                Check it, add to it! http://www.dr.loudness-war.info/

                SB Touch

                Comment


                  #38
                  Darren.

                  How does your process work with squeezelite as client?
                  The volume-lock plugin on the server is meant for squeeze HW as far as the description suggests.
                  There's no problem to lock the volume on the squeezelite client though.

                  And.
                  What's "fab4" in you convert.conf?
                  flc flc fab4 *


                  And.
                  Some controllers show "%" as level. How is that matched to your 0.5db steps?

                  Thx.
                  Last edited by soundcheck; 2016-12-23, 10:40.
                  ::: my blog - latest: "The Audio Streaming Series - introducing: tuning kit - pCP (beta)" :::

                  Comment


                    #39
                    Fab4 was the name given to the Touch player during development and beta user testing, prior to it's official release.

                    Comment


                      #40
                      The dithered volume control is server-side (SoX) so I think it could work with other clients.

                      Re: VolumeLock plugin please see post 2.
                      Originally posted by darrenyeats View Post
                      Fixing client volume to 100 disables the attenuation on the client, however, the server-side volume can still be adjusted (it simply will not be pushed to client).

                      But any time you reset the volume from the client end, the client pushes its volume (100) to the server. Same goes for system boot up. This is why client volume controls must be avoided. Also this is why VolumeLock plugin must be used - it near-instantly reduces to the set limit the server volume (but not the client volume which is always 100).
                      So it is the very fact that the player volume is fixed to 100 which necessitates the use of VolumeLock plugin, for protection.

                      What "controller" exactly shows %? I'd assume any percentage is another way of stating 0-100 i.e. 0.5dB increments as stated.

                      Note that after some investigation, the use of TPDF dither has been confirmed as correct. This is the best kind of dither if further processing is going to happen. Since most of us use upsampling DACs (some with ASRC too) this is recommended. People using NOS DACs might want to experiment with shaped dither ("dither" becomes "dither -S" in convert.conf) but TPDF is going to be fine even for them.
                      Last edited by darrenyeats; 2017-01-01, 17:28.
                      Check it, add to it! http://www.dr.loudness-war.info/

                      SB Touch

                      Comment


                        #41
                        Originally posted by soundcheck View Post
                        What's "fab4" in you convert.conf?
                        flc flc fab4 *
                        Hi Soundcheck,
                        Sorry I missed this until recently. And then I wasn't sure of the answer. The other day I found that Qobuz wouldn't work without it.
                        Last edited by darrenyeats; 2017-03-13, 00:51.
                        Check it, add to it! http://www.dr.loudness-war.info/

                        SB Touch

                        Comment


                          #42
                          Would it be possible to add a dithered volume control in the client SW?

                          //

                          Comment


                            #43
                            In theory, yes. But:
                            • I'm not aware of a practical way to do it - this needs an enhancement to the firmware code (or for a software client, the client code).
                            • I'm not sure if the hardware clients would have enough processing power to do this, e.g. in combination with hi-res streams
                            • For me, at the server end I'm combining the processing of dithered volume control with sample rate conversion (PM me for more info) - I wouldn't want to split these anyway.
                            Check it, add to it! http://www.dr.loudness-war.info/

                            SB Touch

                            Comment


                              #44
                              Originally posted by darrenyeats View Post
                              In theory, yes. But:
                              • I'm not aware of a practical way to do it - this needs an enhancement to the firmware code (or for a software client, the client code).
                              • I'm not sure if the hardware clients would have enough processing power to do this, e.g. in combination with hi-res streams
                              • For me, at the server end I'm combining the processing of dithered volume control with sample rate conversion (PM me for more info) - I wouldn't want to split these anyway.
                              Just wanted the Touch to do better volume without the fuzz of volume max settings etc. And working with the standard remote and web interface. That would have been nice. Personally I don't need/want SRC.

                              //

                              Comment


                                #45
                                Originally posted by jonte0 View Post
                                Would it be possible to add a dithered volume control in the client SW?

                                //
                                A possibly relevant question is: "Is adding dither to this volume control something that will actually improve sound quality?"

                                The answer may be: "No".

                                The leading reason is:

                                The volume control is somehow already dithered, you just can't see how.

                                You can try to evaluate this by means of just listening, but doing so reliably takes a trained ear, and not that many people actually have them.

                                The best way to train your ears to hear the bad effects of a volume control that is not properly dithered is with a known example of that failure.

                                The worst way to train your ears is to read articles on the web by other audiophiles, which is very often a classic case of the blind leading the blind.

                                Another way to detect an improperly dithered volume control is by means of technical tests. But doing them and properly interpreting the results is non trivial.

                                The most common way that a volume control is dithered implicitly is by means of the low level noise that is present in just about all analog sources. Since any live recording starts out in the analog domain, this includes everything but carefully and purely digitally synthesized music. IOW not does all music that is recorded with microphones have enough low level noise to self-dither if played at regular volumes, so does even some synthesized music because most musicians are not all that careful about keeping their digitally synthesized music 100% in the digital domain.

                                If a volume control is not properly dithered, it may actually fade the music into audible distortion on a slow manual fade out by means of that particular volume control. However, while that is an audible imperfection and would be nice to eliminate, it actually bears very little on normal listening. Note: other fade outs that are parts of recordings may still be clean.

                                Hope this helps.

                                Comment

                                Working...
                                X