Announcement

Collapse
No announcement yet.

[Beta Announce] Revised Inguz DSP plugin

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

    [Beta Announce] Revised Inguz DSP plugin

    I have rebuilt the old Inguz executables using Visual Studio 22 and .Net6 - these are now built as standalone packages which run on Windows; Linux, and Apple OS's. This includes repackaging the plugin so that it is installable via the plugins page. I re-wrote the Web UI a couple of years ago so no more Silverlight.

    When installed this allows you to use equalization, balance, delay and process room/speaker/headphone correction filters.

    There is now no need to install mono or .net on your machine as the build contains all the necessary libraries (making it a bit chunky in size), although for most platforms you will need to install the binaries (executable/dsp-engine) separately.

    I have been running this on a Pi 3B with picoreplayer installed and it does work!

    Limitations on the Pi
    Only tested at 44.1 K
    Considerable lag between startup and sound (15-20s) this is the overhead of running the processing.
    Tracks are not-gapless, because of the lag.
    CPU load spikes at 30% for a track change and then settles to about 10% - but no glitches when playing including when running the convolver.
    I have tested with local flac files; Qobuz (flac) and Spotify. I needed to muck about with filter settings on Spotify because of the helper.

    On my test PC Intel i5 6600K - it runs flawlessly, no gaps.
    I have also been running an older build on my mini pc server which is a weedy celeron and this is also flawless.

    Installation Notes

    pre-conditions

    If you are using picoreplayer for LMS server:
    I recommend running your Cache on an external drive.
    On the main Page - scroll down and press the extensions button
    When this has connected select the available tab and then under heading
    Available extensions in the piCorePlayer mirror repository. Select and load
    pcp-sox.tcz (required for dynamic conversion of impulses)
    krb5.tcz (required for code security certificate checks)

    Installation of Plugin Menu
    Navigate to Settings => Plugins TAB

    Scroll down to additional repositories and ...
    Add Repository https://raw.githubusercontent.com/Fo...ain/plugin.xml

    press apply

    restart server when prompted

    Navigate to Settings => Plugins TAB

    Scroll down to additional repositories and ...
    Enable SqueezeboxEQ by ticking the checkbox

    You will be prompted to only install 3rd party components that you trust - click OK
    and apply - this.

    LMS should be-restarted. At this point you should be able to see the EQ menu under Extras for a specific player.
    However it won't do anything as there is no engine to do the DSP work


    Installation of DSP executable

    On picore

    Choose the tweaks tab add this a user command at the bottom of the page.
    This will load in the core DSP engine and map in links to the server so that it persists.

    sh /usr/local/slimserver/Cache/InstalledPlugins/Plugins/InguzEQ/picore-setup.sh

    save this and then reboot.

    The script downloads the executables and creates folder links. The first time it runs it will take a while, so you are best advised to stop LMS and restart
    after a couple of minutes. On subsequent reboots, there are no downloads.

    On Windows I suggest that you create an empty folder - e.g. c:\backup
    and download the executables like this

    powershell curl "https://github.com/Foxenfurter/inguz-InguzDSP/raw/Upgrade2Net6/publishWin32/InguzDSP.exe" -Outfile InguzDSP.exe
    powershell curl "https://github.com/Foxenfurter/inguz-InguzDSP/raw/Upgrade2Net6/publishWin32/InguzDSP.dll.config" -Outfile InguzDSP.dll.config



    Then move these 2 files to your slimserver bin folder. On my machine this is

    C:\Program Files (x86)\Squeezebox\server\Bin\MSWin32-x86-multi-thread

    I have built executables for other Linux and Apple OS's. But I am assuming anyone using these has more knowledge than me on how to install stuff.


    Finally - how do you check it is running?

    Menu is in Extras under EQ.
    I suggest setting Balance to one extreme and restarting a track.
    For more detailed info - try installing the C3P0 plugin. Set it to disabled, and then for a given player check the C3P0 transcoding help vs Last Executed Command - you should see InguzDSP somewhere in the string.

    Enjoy!

    #2
    Nice! If one has the "original" InguzEQ running on Windows, what is the process to update to your new version? Can your version be installed over the old one?

    Comment


      #3
      It can be installed over the old one although you should note the following.

      Installation location
      The "correct" place for 3rd party plugins installed via the settings page is in C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins whereas the manual install puts the files here C:\Program Files (x86)\Squeezebox\server\plugins

      I found this very confusing as I had installed over the top of a manual install and then removed the files in C:\Program Files (x86)\Squeezebox\server\plugins, not realising that the plugin had installed to a different location. So I didn't see how it would still be working.

      Updating Binaries
      This is optional - if you have a working installation you won't gain much if anything here. The primary reason was to simplify the install, so no need for a new install of .NET runtimes or Mono on Linux

      Features
      There are no new features over the existing code. In fact I have ripped out some of the code associated with making room measurements and various noise generators there as better solutions out there now.


      Roadmap
      The main rationale here was to upgrade to a simplified install that would work on most platforms and give me something solid to put future upgrades in place. Like you I have found that DSP and in particular room correction is the biggest single audio improvement that you can make to your system, so enabling more people to do it easily is the first step.

      I am planning to do a post on the easiest way to take room measurements that work, but want to test it out on my newest and cheapest measurement mic first. I will probably post that on ASR.

      I will then be doing some experiments with CamillaDSP to see if that will work as a replacement of InguzDSP as the DSP engine. In theory Camilla is much faster and allows full Parametric EQ - if I can figure this out then the UI will need to change but I think the foundation is there.

      From this point onwards any changes will be around the usability of the UI.

      Comment


        #4
        Kudos!

        This is an exciting development. I hope you make progress and update this thread about your findings.

        Comment


          #5
          Hello, even though I enter the code you wrote in powershell, no files are downloading? what should i do ? lms is installed on windows , Can you share the files ?
          Last edited by veracocha; 2022-09-18, 21:57.

          Comment


            #6
            Originally posted by veracocha View Post
            Can you share the files ?
            Inguz_DSP_Engine.zip

            Unzip and copy the two files to your C:\Program Files (x86)\Squeezebox\server\Bin\MSWin32-x86-multi-thread folder, then restart your server.

            Comment


              #7
              Originally posted by Apesbrain View Post
              [ATTACH]38747[/ATTACH]

              Unzip and copy the two files to your C:\Program Files (x86)\Squeezebox\server\Bin\MSWin32-x86-multi-thread folder, then restart your server.

              I put the files this folder but eq does not affect ?

              Comment


                #8
                Originally posted by veracocha View Post
                I put the files this folder but eq does not affect ?
                Changes you make in EQ are not instantaneous. As a test, try something extreme: set the EQ to 5-band and pull the sliders all the way left except the "960 Hz" push all the way right. Now, restart the track. It will be obvious if EQ is working.

                Comment


                  #9
                  Originally posted by Apesbrain View Post
                  Changes you make in EQ are not instantaneous. As a test, try something extreme: set the EQ to 5-band and pull the sliders all the way left except the "960 Hz" push all the way right. Now, restart the track. It will be obvious if EQ is working.

                  I already did that to make sure it works, but there was no change in the sound?

                  Comment


                    #10
                    Originally posted by veracocha View Post
                    I already did that to make sure it works, but there was no change in the sound?
                    Ok, I'll need to think about it. What versions of Windows and LMS are you running? Is your Windows 32- or 64-bit?

                    What type(s) of files are you playing?

                    When you look in LMS at Settings > Advanced > File Types, does FLAC look something like this:

                    Comment


                      #11
                      Originally posted by Apesbrain View Post
                      Ok, I'll need to think about it. What versions of Windows and LMS are you running? Is your Windows 32- or 64-bit?

                      What type(s) of files are you playing?

                      When you look in LMS at Settings > Advanced > File Types, does FLAC look something like this:


                      already set that way , I put the files you mentioned in the directory you specified, but there is no .dll file in the file you gave?

                      and i think i couldn't install eq plugin fully

                      Comment


                        #12
                        Originally posted by veracocha View Post
                        there is no .dll file in the file you gave?
                        That's correct; just an EXE and a CONFIG file.

                        In the same folder where you copied these two files, do you have a FLAC.EXE and a SOX.EXE?

                        Comment


                          #13
                          OK, so I ran sh picore-etc.sh in its directory and a dnload started.
                          The directory structure is not the same so I need to find which files to copy to my structure...
                          The file types are not configured as the pic above, but greyed out. The balance test doen't change anyting.

                          Welcome to Smart Terminal.
                          [email protected]:/$
                          [email protected]:/share$
                          [email protected]:/share/Logitech Media Server$
                          [email protected]:/share/Logitech Media Server/SlimServ
                          er$
                          [email protected]:/share/Logitech Media Server/SlimServ
                          er/Cache$
                          [email protected]:/share/Logitech Media Server/SlimServ
                          er/Cache/InstalledPlugins$
                          [email protected]:/share/Logitech Media Server/SlimServ
                          er/Cache/InstalledPlugins/Plugins$
                          [email protected]:/share/Logitech Media Server/SlimServ
                          er/Cache/InstalledPlugins/Plugins/InguzEQ$ sh picore-setup
                          .sh
                          mkdir: can't create directory '/usr/local/slimserver/prefs/InguzEQ': No such file or directory
                          mkdir: can't create directory '/usr/local/slimserver/prefs/InguzEQ/bin': No such file or directory
                          picore-setup.sh: line 22: cd: /usr/local/slimserver/prefs/InguzEQ/bin: No such file or directory
                          --2022-09-24 19:38:06-- https://github.com/Foxenfurter/inguz...x-arm/InguzDSP
                          Resolving github.com... 140.82.121.4
                          Connecting to github.com|140.82.121.4|:443... connected.
                          HTTP request sent, awaiting response... 302 Found
                          Location: https://raw.githubusercontent.com/Fo...x-arm/InguzDSP [following]
                          --2022-09-24 19:38:06-- https://raw.githubusercontent.com/Fo...x-arm/InguzDSP
                          Resolving raw.githubusercontent.com... 185.199.111.133, 185.199.110.133, 185.199.109.133, ...
                          Connecting to raw.githubusercontent.com|185.199.111.133|:443... connected.
                          HTTP request sent, awaiting response... 200 OK
                          Length: 29637095 (28M) [application/octet-stream]
                          Saving to: 'InguzDSP.2'

                          InguzDSP.2 100% 28.26M 11.1MB/s in 2.5s

                          2022-09-24 19:38:09 (11.1 MB/s) - 'InguzDSP.2' saved [29637095/29637095]

                          --2022-09-24 19:38:09-- https://raw.githubusercontent.com/Fo...DSP.dll.config
                          Resolving raw.githubusercontent.com... 185.199.108.133, 185.199.111.133, 185.199.110.133, ...
                          Connecting to raw.githubusercontent.com|185.199.108.133|:443... connected.
                          HTTP request sent, awaiting response... 200 OK
                          Length: 214 [text/plain]
                          Saving to: 'InguzDSP.dll.config.2'

                          InguzDSP.dll.c 100% 214 --.-KB/s in 0s

                          2022-09-24 19:38:09 (4.61 MB/s) - 'InguzDSP.dll.config.2' saved [214/214]

                          ln: /usr/share/InguzEQ: File exists
                          ln: /usr/local/slimserver/Bin/armhf-linux/InguzDSP: No such file or directory
                          ln: /usr/local/slimserver/Bin/armhf-linux/InguzDSP.dll.config: No such file or directory
                          [email protected]:/share/Logitech Media Server/SlimServ
                          er/Cache/InstalledPlugins/Plugins/InguzEQ$ sh /usr/local/s
                          limserver/Cache/InstalledPlugins/Plugins/InguzEQ/picore-se
                          tup.sh

                          Comment


                            #14
                            I figured out that the directories weren't correct and found the corresponding directories in my NAS and pasted the config and dll file into all three suspects, armf, i386 and x86.
                            The file types showed InguzDSP, but didn't play. Removed the dll and the config from all folders and added them to one at a time. Can play but InguzDSP not shown in File Types.
                            Added dll and config to i386 and x86 separately but it didn't work.
                            I give up.
                            "I have built executables for other Linux and Apple OS's. But I am assuming anyone using these has more knowledge than me on how to install stuff."
                            Would be nice to have them for QNAP NAS.

                            (It also shows Tidal 31/63 albums beside the volume control in the LMS interface when I use random play. Maybe Inguz doesn't like Tidal.)
                            Last edited by Zombie; 2022-09-25, 07:36.

                            Comment


                              #15
                              Ping!
                              Anyone know where I can find files for other OSs than Win and Debian to get Inguz working?
                              I think I need for Linux x86 (QNAP)
                              Last edited by Zombie; 2022-10-07, 17:56.

                              Comment

                              Working...
                              X