Digital Room Correction with the HiFiBerry DSP card

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • cliveb
    Senior Member
    • Apr 2005
    • 2075

    Digital Room Correction with the HiFiBerry DSP card

    Am 04.08.2021 um 14:13 schrieb ralphy:

    It appears the squeezelite is not in your PATH and that's why the
    command fails.

    You can try running this command to try and locate it.

    find / -name squeezelite

    On my MiniDSP squeezelite is located in /opt. /opt isn't in the path, so
    maybe thats the reason why squezzelite can not be found on your system.

    Cheers,

      Schoepp


    Until recently: Transporter -> ATC SCM100A, now sold :-(
    House move forced change to: piCorePlayer(RPi2/HiFiBerry DIGI2 Pro) -> Meridian 218 -> Meridian M6
  • cliveb
    Senior Member
    • Apr 2005
    • 2075

    #2
    Digital Room Correction with the HiFiBerry DSP card

    I've long been vaguely interested in experimenting with DRC, but whenever I read about Inguz it looked a bit daunting. Added to that, my LMS runs on a Raspberry Pi 3, so there's no chance of doing the necessary processing at the server end.

    I seem to recall some discussions here about whether the HiFiBerry DSP cards could be used for this purpose. (Sorry, but I've done some forum searches and couldn't find the thread, but am pretty sure I'm not imagining it).

    So I've been experimenting with HiFiBerry's Raspberry Pi DIGI2 Pro SPDIF card and DSP add-on board. I can confirm that it's fairly straightforward to load the necessary filters into the DSP card, and when you reboot the Pi using another operating system (eg. piCorePlayer), the filters are still active. I would assume that the same would be true if you use the HiFiBerry DAC+DSP or Beocreate card instead. (I use the SPDIF card because I have Meridian active speakers with digital inputs, so didn't need a DAC).

    What I did find is that some of the facilities provided by the HiFiBerryOS seem a bit unreliable. In particular, they use an old version of Squeezelite that has problems with delays and failure to pause/seek, so my initial plan to run HiFiBerryOS as my Squeezelite player didn't work out. Also, their (experimental) room correction feature didn't work for me. I ended up using Room EQ Wizard to calculate the required filters, then added those filters manually using HiFiBerryOS's parametric EQ page. After adding the filters, you need to go to the DSP Programs page and instruct it to store the settings in the DSP card. Once that is done, you can shut down HiFiBerryOS and reboot into piCorePlayer.

    This is just a heads-up that it does all work rather well, but if anyone wants some more details, let me know.
    Until recently: Transporter -> ATC SCM100A, now sold :-(
    House move forced change to: piCorePlayer(RPi2/HiFiBerry DIGI2 Pro) -> Meridian 218 -> Meridian M6

    Comment

    • Daverz
      Senior Member
      • Aug 2009
      • 447

      #3
      I would suggest CamillaDSP since it supports both IIR and FIR filters and has a pretty straightforward configuration. You can find binaries for use on RPi on the CamillaDSP website



      and detailed setup instructions:



      Note, you don't need the /etc/asound.conf there.

      A further note on subtleties of resampling with CamillaDSP: if you don't care about "hi res", just set the CamillaDSP samplerate as 44100. Any downsampling that needs to be done will be done by LMS (using sox). If you use a higher processing samplerate for CamillaDSP, ALSA will do the upsampling (poorly). So in that case it's better to use squeezelite's -R flag to do the upsampling (which uses sox again). Or... you can use the cdsp plugin, which sets the CamillaDSP samplerate on the fly and let's CamillaDSP handle the resampling with its own algorithms.



      (I use squeezelite's -R flag to upsample everything to 96k. Any files with a sample rate above that are downsampled by the server.)

      Comment

      • schoeppi
        Junior Member
        • Sep 2015
        • 6

        #4
        Digital Room Correction with theHiFiBerry DSP card

        Just for those who are looking for a non DIY solution and want to use LMS
        with players that can do room correction the easy way...

        1. Get a MiniDSP device and activate the squeezelite client plugin. The
        plugin does not work out of the box but with a little linux knowletge it is
        possible to copy a actual squeezelite binary to the MiniDSP. I can write
        a howto or help if someone wants to setup MiniDSP with squeezelite and
        has no idea whow to do this... Room correction is done with DIRAC Lite, the
        licence is included if you buy a MiniDSP. Using DIRAc seems to be easy and
        no deep knowletge of filters e.g. is needed. Because I am blind I was not
        able to do the measurements myself but my girlfriend helped and we went
        through the procedure in just two hours.

        2. Get a device called CleanVolver which is offered by AudioVero:



        the CleanVolver is a Raspberry 4 with a linux running on it. Room correction
        is done by brutefir. The device can be connected e.g. via USB to your DAC.
        The software to produce the filters is called Acourate and can be also buyed
        via AudioVero. It is also possible to book online sessions to do the
        measurements with Mr. Brueggemann, the head of AudioVero and Acourate.

        I am no specialist regarding DSP and I don't know if REV is better then
        Acourate or what are the differences between the filter types or if brutefir
        is still state of the art, but both solutions, the MiniDSP and CleanVolver
        setup, are doing a very good job for me and the service ans support of Mr.
        Brueggemann is great.

        For me, in my special situation as a blind user who can not use measuring
        tools like Acourate, REV or DIRAC, those solutions are also great, because I
        would not have been able to get a DSP setup installed and configured myself.
        So for those who want to have a easy DSP solution both setups might also be
        interesting...

        BTW.: Are there any good sources where to get a better understanding of the
        different filter types? And do you know any tools to build or rebuild such
        filters without a grafical software which is unfortunatly unuseable for me
        in most cases? I would be so happy to experiment with my two DSP setup and
        changing filters, play aournd with different setting, e.g., but I am not
        aware of any program or tool, e.g. for the linux command line, that I could
        use :-(.

        Cheers,

        Schoepp

        Comment

        • adamdea
          Senior Member
          • Apr 2010
          • 793

          #5
          Originally posted by schoeppi
          Just for those who are looking for a non DIY solution and want to use LMS
          with players that can do room correction the easy way...

          1. Get a MiniDSP device and activate the squeezelite client plugin. The
          plugin does not work out of the box but with a little linux knowletge it is
          possible to copy a actual squeezelite binary to the MiniDSP. I can write
          a howto or help if someone wants to setup MiniDSP with squeezelite and
          has no idea whow to do this... Room correction is done with DIRAC Lite, the
          licence is included if you buy a MiniDSP. Using DIRAc seems to be easy and
          no deep knowletge of filters e.g. is needed. Because I am blind I was not
          able to do the measurements myself but my girlfriend helped and we went
          through the procedure in just two hours.

          2. Get a device called CleanVolver which is offered by AudioVero:


          Schoepp
          Thanks Schoepp
          I have recently purchased a mini- dsp SHD snd will have a go at installing squeezelite
          I was proposing to follow these instructions-
          Hi, I just recived my SHD and Im trying to make it act like a Logitech Media Server (LMS), as well as a squeezebox player. My music sits on a hard-drive which...

          Are they correct or is these a better way?

          Comment

          • tw99
            Senior Member
            • Nov 2011
            • 152

            #6
            Originally posted by adamdea
            Thanks Schoepp
            I have recently purchased a mini- dsp SHD snd will have a go at installing squeezelite
            I was proposing to follow these instructions-
            Hi, I just recived my SHD and Im trying to make it act like a Logitech Media Server (LMS), as well as a squeezebox player. My music sits on a hard-drive which...

            Are they correct or is these a better way?
            Those instructions work, first you will need to get the ssh credentials from MiniDSP support.

            Comment

            • schoeppi
              Junior Member
              • Sep 2015
              • 6

              #7
              Digital Room Correction with theHiFiBerry DSP card

              Am 06.07.2021 um 23:52 schrieb tw99:
              >
              > adamdea wrote:
              >> Thanks Schoepp
              >> I have recently purchased a mini- dsp SHD snd will have a go at
              >> installing squeezelite
              >> I was proposing to follow these instructions-
              >> https://www.minidsp.com/forum/shd-se...a-server#47632
              >> Are they correct or is these a better way?

              >
              > Those instructions work, first you will need to get the ssh credentials
              > from MiniDSP support.


              I am not sure if all necessary steps are included in the description but
              in general the most important things are included.

              In my case the newest version of squeezelite is working in the MiniDSP,
              so no older version has to be downloaded.

              I also had to edit the start script but because this only is described
              via picture in the description I can not say if all needed changes are
              included.

              Also I had to make sure that squeezelite is started by systemd when the
              device is powered on.

              Write to MiniDSP to get the ssh credentials and try to get squeezelite
              running following the description you posted and if there are problems
              just let us know. I am sure we can help then.

              Cheers,

              Schöpp

              Comment

              • adamdea
                Senior Member
                • Apr 2010
                • 793

                #8
                Thanks both
                I have asked for credentials, been asked to acknowledge the "health warning" and now waiting for details. Not sure when I will get the chance to set up but will have a go.

                I'm intrigued that you got latest version of squeezelite to work @schoeppi and wonderign whether to try. But nervous about trying anything too adventurous


                The suggested parameters in the picture are

                Output device: [(hw)] sun8i
                Close soundcard after X seconds: 9
                ALSA parameters : 80:4::1:
                extra parameters : -R vE:::24 -r 44100-196000 -s ip_of_your_lms_server

                to be honest I was struggling to read the ALSA settings as the picture was a bit pixelated when I zoomed in.

                Comment

                • adamdea
                  Senior Member
                  • Apr 2010
                  • 793

                  #9
                  Mini-dsp query

                  So I have managed to get squeezelite running on the mini dsp and all seems to be well. Well almost. The audio device settings only allow either shd external outputs like s/pdif or a general alsa.
                  Is there a way of getting squeezelite to control volume via the shd volume control rather than the LMS/squeezelite control? This would really make it worthwhile using the internal squeezelite; otherwise one might as well use an external SBT.

                  Comment

                  • paul-
                    Senior Member
                    • Jan 2013
                    • 5778

                    #10
                    Only if there is a real alsa mixer. The the name of the mixer in the volume control line of the squeezelite settings.
                    piCorePlayer a small player for the Raspberry Pi in RAM.
                    Homepage: https://www.picoreplayer.org

                    Please donate if you like the piCorePlayer

                    Comment

                    • adamdea
                      Senior Member
                      • Apr 2010
                      • 793

                      #11
                      Originally posted by paul-
                      Only if there is a real alsa mixer. The the name of the mixer in the volume control line of the squeezelite settings.
                      How would i find out if there is? Any if there isn't could one be installed by fiddlling with the volumio distro under which squeezelite runs

                      Or to put it another way... I seem to remember that when playing through volumio proper it does control the SHD's volume control. Will check when I get home.

                      EDIT- is it as simple as adding -V digital ? or would that be another software vc rather than the dac itself.
                      Last edited by adamdea; 2021-07-26, 14:50.

                      Comment

                      • adamdea
                        Senior Member
                        • Apr 2010
                        • 793

                        #12
                        Well I had a go last night: volumio does control the shd vc with its vc.
                        Otherwise I drew a complete blank. I tried changing the output device from the drop down and simply inserting -V digital, none of the permutations worked.
                        I tried SSH ing and running squeezelite -l but all I got was command not recognised.

                        I can’t work out the name for the mixer device. If volumio can control thr dac vc then surely squeezelite should be able to, but I can’t seem to get anywhere

                        Comment

                        • ralphy
                          Senior Member
                          • Jan 2006
                          • 3298

                          #13
                          You can list the mixers available for a device with squeezelite.
                          You must specify the -o option with your card, before the -L on the command line, otherwise squeezelite listed the mixer device(s) for the default device.

                          $ squeezelite -o hw:CARD=sndrpihifiberry -L
                          Volume controls for hw:CARD=sndrpihifiberry
                          Analogue
                          Analogue Playback Boost
                          Digital
                          Max Overclock DAC
                          Max Overclock DSP
                          Max Overclock PLL

                          $ squeezelite -L
                          Volume controls for default
                          Headphone
                          Ralphy

                          1-Touch, 5-Classics, 3-Booms, 2-UE Radio
                          Squeezebox client builds donations always appreciated.

                          Comment

                          • adamdea
                            Senior Member
                            • Apr 2010
                            • 793

                            #14
                            Originally posted by ralphy
                            You can list the mixers available for a device with squeezelite.
                            You must specify the -o option with your card, before the -L on the command line, otherwise squeezelite listed the mixer device(s) for the default device.

                            $ squeezelite -o hw:CARD=sndrpihifiberry -L
                            Volume controls for hw:CARD=sndrpihifiberry
                            Analogue
                            Analogue Playback Boost
                            Digital
                            Max Overclock DAC
                            Max Overclock DSP
                            Max Overclock PLL

                            $ squeezelite -L
                            Volume controls for default
                            Headphone
                            Thanks -I will have another go, but last night I just got something along the lines of "BASH squeezelite command not recognised" even though squeezelite seemed to run fine. Do I need to be in a particular place in the directory structure for this to work?

                            Comment

                            • adamdea
                              Senior Member
                              • Apr 2010
                              • 793

                              #15
                              This does not seem normal to me:

                              x@minidsp-shd:/$ squeezelite -L
                              -bash: squeezelite: command not found
                              x@minidsp-shd:/$

                              [username deleted as minidsp made me swear to secrecy].

                              Comment

                              Working...