RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More)

    Scheduled Pinned Locked Moved Projects and Themes
    backgroundmusicretropiempg123 bgmimp
    158 Posts 20 Posters 46.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RapidEdwin08R
      RapidEdwin08
      last edited by RapidEdwin08

      Integrated Music Player for RetroPie [IMP].
      https://github.com/RapidEdwin08/imp
      impplaylist.png

      Based on every article you ever read about mpg123 scripts in RetroPie (No OGG Support).
      Integrated Music Player [IMP] allows you to Select and Play [MP3/PLS/M3U] Files like a ROM.
      Automates Playlists, Retains Last Track/Position, Next/Previous Track, Fade, INFINITE and LITE Mode.
      [Recall Last Track/Position] NOT Retained at STARTUP in LITE Mode.
      Retains Last Track/Position in LITE Mode @Poweroff if Properly Shutdown. (v2023.03 and Up)

      Before you get started:
      - Recommend your Music File NAMEs do NOT contain Multiple Consecutive Spaces (Known Issue with mpg123). Issue Fixed

      • Recommend your Music File EXTENSIONS be either ALL lower-case or UPPER-CASE eg. (.mp3 .MP3 .pls .PLS .m3u .M3U)
      • Recommend [ParseGamelistOnly] set to OFF, 0therwise any/all Music files not in your [gamelist.xml] will not show in ES.
        If you want to use [ParseGamelistOnly] ON with IMP, you will have to manually enter your Music Entries in [gamelist.xml].
        0ptional User Gamelist file now included since v2023.03

      IMP Music Folders [>= v2022.10]:
      DEFAULT IMP Music Folder: [..retropiemenu/imp/music]
      A Symbolic Link to [..roms/music] is Created Inside the Default IMP Music Folder [..retropiemenu/imp/music]
      On Install the [..retropiemenu/music] Folder is Moved to [..retropiemenu/imp/music] If it Exists
      On Uninstall the [../retropiemenu/imp/music] Folder is Moved to [..retropiemenu/music]

      INSTALLATION

      cd ~
      git clone --depth 1 https://github.com/RapidEdwin08/imp.git
      sudo chmod 755 ~/imp/imp_setup.sh
      cd ~/imp && ./imp_setup.sh; cd ~
      
      

      INSTALL FLAGS Determines the RetroPieMenu [gamelist.xml] used @Install/Refresh
      [STREAMS] IMP + [mpg123] + [Streams]
      [MINIMAL] IMP + [mpg123]
      [OFFLINE] IMP 0nly

      0PTIONAL USER GAMELIST 0ptional if you want to ADD your own Custom Music Folder/File Entries
      IMP Will Append [imp-user-gamelist.xml] IF Found at Install and [gamelist.xml] Refresh Utility.
      Simply Place [imp-user-gamelist.xml] in the Main IMP Setup Directory [~/imp/].
      Example [imp-user-gamelist.xml.0FF] Included

      UPGRADING:

      UNINSTALL [IMP] FIRST using the SETUP Script CURRENTLY INSTALLED
      Then BACKUP or REMOVE the 0lder IMP Setup Folder/Files

      To BACKUP the 0lder ~/imp Directory {and ~/imp-setup.tar.gz}:

      cd ~ #Change to Home Directory
      mv ~/imp ~/imp-0lder #Rename 0lder [IMP] Directory
      mv ~/imp-setup.tar.gz ~/imp-setup-0lder.tar.gz #Rename 0lder [IMP] tar.gz
      
      

      To REMOVE the 0lder ~/imp Directory {and ~/imp-setup.tar.gz}:

      cd ~ #Change to Home Directory
      rm ~/imp-setup.tar.gz
      rm ~/imp -R -f #ALWAYS PROCEED WITH CAUTION USING rm .. -R -f
      

      0THER BGMs ALREADY INSTALLED:
      [IMP] will attempt to Disable (NOT Remove) the following BGMs Indiscriminately upon Install:
      Livewire, BGM Naprosnia, BGM Rydra, BGM OfficialPhilcomm, Generic mpg123 Scripts
      [IMP] will attempt to Re-Enable them Upon Uninstall
      It is still Recommended you Disable your Current BGM Scripts Before Installing [IMP] If you can

      Video of Install and Features here:

      IMP_Main-Menu.png

      1MP_2022-10_x4Menus.png

      Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

      DTEAMD 1 Reply Last reply Reply Quote 8
      • wmarcioW
        wmarcio
        last edited by wmarcio

        I will monitor this topic, I have already installed some scripts, but not all of them pleased me. Thanks for trying to do your best.

        I love the retropie, but I think with regard to BGM, something like what we have in Recalbox is missing.

        RapidEdwin08R 1 Reply Last reply Reply Quote 0
        • RapidEdwin08R
          RapidEdwin08 @wmarcio
          last edited by

          @wmarcio Agreed, the lack of functionality was the motivation behind IMP. I did my best to add the features I personally wanted, as well as other functions mentioned in many other BGM discussions.
          It sounds like you are a well seasoned user of BGM scripts for RetroPie. I encourage you, and others with BGM Script experience, to try IMP. It will Not disappoint.
          Any issues found or suggestions from the Community are always encouraged and appreciated.

          Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

          1 Reply Last reply Reply Quote 0
          • wmarcioW
            wmarcio
            last edited by

            I'm testing the script, on installation does it need to be run with sudo or pi user?

            RapidEdwin08R 1 Reply Last reply Reply Quote 0
            • RapidEdwin08R
              RapidEdwin08 @wmarcio
              last edited by

              @wmarcio pi user. No need for sudo

              Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

              1 Reply Last reply Reply Quote 0
              • wmarcioW
                wmarcio
                last edited by

                What is the purpose of folders A-SIDE e B-SIDE, only to save MP3 files?

                RapidEdwin08R 1 Reply Last reply Reply Quote 0
                • RapidEdwin08R
                  RapidEdwin08 @wmarcio
                  last edited by RapidEdwin08

                  @wmarcio Those are your dedicated Default playlist folders. If Enabled, they will be played at Startup. Those BGM settings are also respected when selecting Start All Music. So if you have only B-Side 0n, then only B-Side songs will be included in the playlist when Starting All Music, and at Startup.
                  If no BGM is enabled, IMP will continue the song you left off, @position you left off, or if in LITE mode, continue with the last Playlist.
                  They are not needed as you can put MP3s anywhere in the music folder, but they are optional for always starting up with a dedicated soundtrack if you want.

                  Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

                  1 Reply Last reply Reply Quote 1
                  • DTEAMD
                    DTEAM @RapidEdwin08
                    last edited by DTEAM

                    @rapidedwin08

                    Wow!! I tested it and it works very well. Great job. @Folly look at that. It's great.

                    I installed the first option Default RetroPie / ES. Could you clarify the other options for RetroPie. For example, for a Pi4, is it better with option # 5 (Pro (Pi4 20200401) or with option # 1 Default RetroPie / ES.

                    Capture.PNG

                    Also, is there an option to have music when we choose systems, but not when we choose a game. When I choose a game, the video sound is played with the IMP track. It becomes cacophonous.

                    NEW EDIT: Major issue on my Pi4. I couldn't launch games anymore !!! When I uninstalled IMP, games worked again.

                    F RapidEdwin08R 3 Replies Last reply Reply Quote 0
                    • F
                      Folly @DTEAM
                      last edited by

                      @dteam

                      Looks cool indeed.

                      In time, I will try it too ;-)

                      1 Reply Last reply Reply Quote 0
                      • RapidEdwin08R
                        RapidEdwin08 @DTEAM
                        last edited by RapidEdwin08

                        @dteam Those options are referring to the Image you are using, whether it's a Stock RetroPie image, or a custom pre-made image, the installer will try to accommodate based on your Image. I will be updating the OP with a Video soon that should help explain more.

                        Do you mean the Video Snaps? No IMP options there, but you can UI Settings -> Gamelist View Style from Automatic to Detailed instead to Not load Snap Videos?

                        Pi4 not launching games anymore: Can you elaborate? What Image are you using? What System not loading, all?
                        IMP does modify the es_systems.cfg, but if there was an issue there chances are ES would not have loaded at all.

                        The Volume Fade at Game Setting might be your issue.
                        Are you getting just a black screen when attempting to load a ROM?
                        Try Turning OFF Volume Fade at Game Setting.

                        I suspect 1 of 2 things might be happening:

                        • The Volume fade is unable to locate the current Volume, and the script is just hanging.

                        • The script that runs on game end does not wait for the Fade to complete (ends with &) and includes a Delay. The Result is if you try to start a ROM too quick after Ending a ROM and the Volume Fade has not completed yet, the x2 scripts could end up in a Tug of War of trying to Fade the Volume Up vs Down.
                          In short, if you start another ROM before the Music kicks back in, you may encounter this issue.
                          Wait for the music to continue playing before starting another ROM.

                        You should be able to CTRL-C out of it with a Keyboard in either of these cases.
                        I will address this in the next release, possibly even remove the Delay at Game End if not needed. I can't really remember why I added it in the first place, I think I read a post somewhere about it being needed. Feel free to weigh in on whether or not the Delay Playback at Game End Setting is even needed.

                        Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

                        DTEAMD 1 Reply Last reply Reply Quote 0
                        • DTEAMD
                          DTEAM @RapidEdwin08
                          last edited by DTEAM

                          @rapidedwin08 said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):

                          Can you elaborate?

                          When I'm trying to load a game with any emulators, they doesn't load. Black sceen with no possibility to exit. Doesn't work with lr-fbneo and Drastic

                          My image is the official Retropie one. My theme is Cygnus-Blue-flames. It works well with that theme. The problem seems to be when games are loading

                          RapidEdwin08R 1 Reply Last reply Reply Quote 0
                          • DTEAMD
                            DTEAM
                            last edited by

                            @rapidedwin08 said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):

                            Try Turning OFF Volume Fade at Game Setting.

                            I'll try that

                            1 Reply Last reply Reply Quote 0
                            • RapidEdwin08R
                              RapidEdwin08 @DTEAM
                              last edited by

                              @dteam
                              Can you confirm your HW Pi4 2GB/4GB/8GB, and what version of RetroPie? Latest 4.7.1 or older?

                              If Turning OFF Volume Fade at Game resolves, I think I know where the issue is.

                              Can you run these two commands and tell me which one works for you? (replace HDMI with whatever you are using eg. PCM):

                              awk -F"[][]" '/dB/ { print $2 }' <(amixer sget HDMI) | cut -d '%' -f 1
                              
                              awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget HDMI) | cut -d '%' -f 1
                              

                              One of those commands should give you the current volume.
                              I'm guessing the 2nd command (the one with '/Left:/') will work for you.

                              Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

                              DTEAMD 1 Reply Last reply Reply Quote 0
                              • DTEAMD
                                DTEAM @RapidEdwin08
                                last edited by DTEAM

                                @rapidedwin08 said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):

                                @dteam
                                Can you confirm your HW Pi4 2GB/4GB/8GB, and what version of RetroPie? Latest 4.7.1 or older?
                                If Turning OFF Volume Fade at Game resolves, I think I know where the issue is.
                                Can you run these two commands and tell me which one works for you? (replace HDMI with whatever you are using eg. PCM):
                                awk -F"[][]" '/dB/ { print $2 }' <(amixer sget HDMI) | cut -d '%' -f 1

                                awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget HDMI) | cut -d '%' -f 1

                                One of those commands should give you the current volume.
                                I'm guessing the 2nd command (the one with '/Left:/') will work for you.

                                It's a Pi 4GB. If I turn OFF "Volume Fade at Game " it resolve the issue. Thanks!

                                For your two command lines, do you want a test with "Volume Fade at Game " = On or Off?

                                NEW EDIT:
                                with "Volume Fade at Game " = "On" This is what I got.

                                pi@retropie:~ $ awk -F"[][]" '/dB/ { print $2 }' <(amixer sget HDMI) | cut -d '%                                                                                                                                                             ' -f 1
                                amixer: Unable to find simple control 'HDMI',0
                                
                                pi@retropie:~ $ awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget HDMI) | cut -d                                                                                                                                                              '%' -f 1
                                amixer: Unable to find simple control 'HDMI',0
                                
                                pi@retropie:~ $
                                
                                pi@retropie:~ $ awk -F"[][]" '/dB/ { print $2 }' <(amixer sget PCM) | cut -d '%' -f 1
                                amixer: Unable to find simple control 'PCM',0
                                
                                
                                pi@retropie:~ $ awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget PCM) | cut -d '%' -f 1
                                amixer: Unable to find simple control 'PCM',0
                                
                                
                                
                                
                                RapidEdwin08R 1 Reply Last reply Reply Quote 0
                                • RapidEdwin08R
                                  RapidEdwin08 @DTEAM
                                  last edited by RapidEdwin08

                                  @dteam Does not matter. Just try both and let me know which one produces a # that is your System Volume.
                                  If HDMI or PCM not working, check your Audio Settings in ES visually.
                                  Thanks for confirming.

                                  Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

                                  DTEAMD 1 Reply Last reply Reply Quote 0
                                  • DTEAMD
                                    DTEAM @RapidEdwin08
                                    last edited by DTEAM

                                    @rapidedwin08

                                    I'm on the headphone connection. Is it PCM? It's a handheld build, that's why.

                                    RapidEdwin08R 1 Reply Last reply Reply Quote 0
                                    • RapidEdwin08R
                                      RapidEdwin08 @DTEAM
                                      last edited by

                                      @dteam Try replacing HDMI with Headphone:

                                      awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Headphone) | cut -d '%' -f 1
                                      
                                      awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget Headphone) | cut -d '%' -f 1
                                      

                                      Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

                                      DTEAMD 1 Reply Last reply Reply Quote 0
                                      • DTEAMD
                                        DTEAM @RapidEdwin08
                                        last edited by DTEAM

                                        @rapidedwin08

                                        First line = 88
                                        Second line = nothing

                                        pi@retropie:~ $ awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Headphone) | cut -d '%' -f 1
                                        88
                                        pi@retropie:~ $ awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget Headphone) | cut -d '%' -f 1
                                        pi@retropie:~ $ 
                                        
                                        RapidEdwin08R 1 Reply Last reply Reply Quote 0
                                        • RapidEdwin08R
                                          RapidEdwin08 @DTEAM
                                          last edited by RapidEdwin08

                                          @dteam Thanks for confirming.

                                          Does your volume respond to these commands, or error out?
                                          One Lowers Volume, other Increases Volume:

                                          amixer -q -c 0 sset "Headphone" 1db- unmet no cap
                                          
                                          amixer -q -c 0 sset "Headphone" 1db+ unmet no cap
                                          

                                          I have the same issue i think after changing my pi4 to Headphone for audio. Despite the mixer being identified as 'Headphone', those commands give me:
                                          amixer: Unable to find simple control 'Headphone',0

                                          I will work on implementing a different method for Volume Fade.
                                          This alternative method of setting Volume seems to work with Headphone:

                                          amixer --quiet set Headphone 0%
                                          

                                          Thanks for testing, and for the input.

                                          Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

                                          1 Reply Last reply Reply Quote 1
                                          • RapidEdwin08R
                                            RapidEdwin08 @DTEAM
                                            last edited by RapidEdwin08

                                            @dteam Major issue not launching games addressed in v2021.10b.
                                            Other issues previously mentioned regarding not waiting for the Volume Fade to complete also addressed.
                                            Feedback appreciated.

                                            Please Uninstall/Install from scratch as git was just updated.
                                            Remove any 0ld ~/imp-setup.tar.gz Files and ~/imp Directories first.

                                            Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

                                            DTEAMD F 3 Replies Last reply Reply Quote 4
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.