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

    Project: Python background music package for EmulationStation

    Scheduled Pinned Locked Moved General Discussion and Gaming
    emulationstatiomusic
    14 Posts 7 Posters 6.7k 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.
    • QuackwalksQ
      Quackwalks
      last edited by Quackwalks

      Works great for me, but I had to follow the instructions from the Github page and used this to install it.
      sudo sh -c 'echo "deb [trusted=yes] https://repo.fury.io/rydra/ /" > /etc/apt/sources.list.d/es-bgm.list'
      sudo apt update
      sudo apt install python-pygame python-es-bgm

      1 Reply Last reply Reply Quote 1
      • QuackwalksQ
        Quackwalks
        last edited by

        I've noticed the music won't fade out after launching Super Mario War from the ports section. Is there any way to make the music fade for that?

        BobHarrisB 1 Reply Last reply Reply Quote 0
        • BobHarrisB
          BobHarris
          last edited by BobHarris

          It has potential, but there are some bugs which prevend me from using it.

          I have the same issue as Quackwalks: I have Prince of persia 1 in Ports and the music continues when you start the game.
          Also the music continues despite starting the following emulators: ppsspp(Sony PSP), amiberry(Amiga), drastic (Nintendo DS).
          At first I thought the music only stopped when starting a libretro emulator, but that's not true (music did stop after starting my non libretro N64 and dosbox emulators.)

          Also I am trying to set a start song (ps1 bootup sound), but I am unsuccesful so far.
          I opened the bgmconfig.ini file and edited it to:
          startsong = Sony.mp3 (then ctrl x to save)
          I also tried
          startsong = /home/pi/RetroPie/roms/music/Sony.mp3

          But it still starts up with a random song. Has anyone managed to set a startsong?

          Pi 3B , 64 GB Sandisk ultra flashdrive, 19 systems, 872 hand picked classic gaming gems :-) Dual shock 4v2

          1 Reply Last reply Reply Quote 0
          • BobHarrisB
            BobHarris @Quackwalks
            last edited by BobHarris

            @quackwalks

            I didn't get any further with the method in this topic. But I did find one that is a lot more straightforward:
            http://www.pretendo.online/2017/01/25/adding-background-music-to-emulation-station/
            It has all the same functionalities and more.

            Press F4 in emulationstation and type the following:
            sudo apt-get install python-pygame
            (You’ll need to type “y” when prompted)
            mkdir -p ~/PyScripts
            wget -O ~/PyScripts/bgmusic.py http://pastebin.com/raw/KpUaZuSz
            sudo nano /etc/rc.local
            Insert “(sudo python /home/pi/PyScripts/bgmusic.py) &” (without quotes) on any line before the “exit 0” line
            Press Ctrl+o, Enter, then Ctrl+x to save changes and exit the editor
            Connect through Windows to \retropie\roms\ and create a folder called “music”. Place your mp3s in there.
            If you want to edit the script you can use this command to edit:
            nano ~/PyScripts/bgmusic.py
            When finished you can press Ctrl+o, Enter, then Ctrl+x to save and exit.

            After you've followed all the steps you can easily edit the bgmusic.py file. There is a list of all the emulators in the file. Just add the ones missing, so the program mutes the music as well when those emulators start.
            I saw sdlpop (prince of persia from the ports section) in this list, but it still didn't mute. To solve this, first I started Prince of Persia on the Pi, then I opened Winscp on my computer, connected to the Pi, opened a terminal and hit 'ps -A'. With this command you see all the processes running on the Pi. That's where I saw the emulator for Prince of persia is actually called prince. The method might work for you too for Super mario war.

            Pi 3B , 64 GB Sandisk ultra flashdrive, 19 systems, 872 hand picked classic gaming gems :-) Dual shock 4v2

            QuackwalksQ 1 Reply Last reply Reply Quote 0
            • ExarKunIvE
              ExarKunIv
              last edited by

              the post that @BobHarris posted is the one that i use and once you edit the file to have all the emulators that are missing it works great.

              if someone can make it easier for other people to get it going that would be great, i know a few people are scared away from it

              RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
              RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
              Maintainer of RetroPie-Extra .

              BobHarrisB 1 Reply Last reply Reply Quote 0
              • BobHarrisB
                BobHarris @ExarKunIv
                last edited by BobHarris

                @exarkuniv I think they are mostly scared away because there are so many of these methods floating around and many don't work that well. The steps in the link I mentioned are actually pretty simple and it works great. It's a very nice addition to my build, I'm still busy finding great songs to add...the youtube channel of SupraDarky is very helpful..he has a large library of video game music.

                (Though of course it would be easier if it was integrated in the pre-made Retropie image. The script could include every possible emulator. People would only need to put songs in the music folder. Personally though I like having to work and research a bit for these functionalities.)

                Pi 3B , 64 GB Sandisk ultra flashdrive, 19 systems, 872 hand picked classic gaming gems :-) Dual shock 4v2

                1 Reply Last reply Reply Quote 0
                • QuackwalksQ
                  Quackwalks @BobHarris
                  last edited by

                  @bobharris If I go with what you suggested, I'm guessing I don't need to worry about uninstalling anything related to the python-es-bgm package, or do I?

                  BobHarrisB 1 Reply Last reply Reply Quote 0
                  • MapleStoryM
                    MapleStory
                    last edited by MapleStory

                    Just out of curiosity, why are most of you still using the old python script over synack's mpg123 method, which I personally find to be superior?

                    https://retropie.org.uk/forum/topic/9133/quick-and-easy-guide-for-adding-music-to-emulatonstation-on-retropie-noob-friendly

                    BobHarrisB ExarKunIvE 2 Replies Last reply Reply Quote 0
                    • BobHarrisB
                      BobHarris @MapleStory
                      last edited by BobHarris

                      @maplestory I didn't know there was a newer method. But why do you say it's superior? So far I can't find any problems with the 'old' Python script.

                      At first glance the method you use even seems less superior. You don't mention a file you can configure? In the python script I set the Playstation 1 boot up sound as my startsong so I always hear that when I boot up my Pi, love it!

                      Edit: I read through your topic and it seems like you can set a startsong as well. The only thing it maybe is superior in, is you don't have to write down all the emulators in the script (in order for the music to mute for all of them)?

                      Pi 3B , 64 GB Sandisk ultra flashdrive, 19 systems, 872 hand picked classic gaming gems :-) Dual shock 4v2

                      1 Reply Last reply Reply Quote 0
                      • BobHarrisB
                        BobHarris @Quackwalks
                        last edited by BobHarris

                        @quackwalks I don't know about that. I started fresh with a backed up image. (I backed it up right before I installed the python-es-bgm package.)
                        But you're better off using the method Maplestory mentioned, as by default it uses a differently named music folder ('bgm' instead of 'music'). So if you leave the 'music' folder empty, then the python-es-bgm script can't do anyhing.

                        (But it does look like it's working differently from the method I suggested: the newer method seems to mute when it sees the runcommand screen can be activated (right after you start most emulators)). But some emulators bypass this screen, so the music does not automatically mute then.)

                        Pi 3B , 64 GB Sandisk ultra flashdrive, 19 systems, 872 hand picked classic gaming gems :-) Dual shock 4v2

                        1 Reply Last reply Reply Quote 0
                        • ExarKunIvE
                          ExarKunIv @MapleStory
                          last edited by

                          @maplestory

                          i could not stand the way that it just cut off the music with syack way. so that is why i dont use it.
                          as far as which one is superior. as you say it is all personal preference.

                          RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                          RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                          Maintainer of RetroPie-Extra .

                          1 Reply Last reply Reply Quote 0
                          • matchamanM
                            matchaman
                            last edited by matchaman

                            I cannot get this removed. I try sudo apt remove python-es-bgm and I get

                            dpkg: error processing package python-es-bgm (--remove): subprocess installed post-removal script returned error exit status 1 Errors were encountered while processing: python-es-bgm E: Sub-process /usr/bin/dpkg returned an error code (1)

                            Any ideas? I actually cannot install or uninstall anything, this error from the particular package keeps appearing!

                            Edit: nevermind, I removed it from /var/lib/dpkg/status and did a dpkg --configure -a. I hope it's clean now...

                            1 Reply Last reply Reply Quote 1
                            • ExarKunIvE ExarKunIv referenced this topic on
                            • ExarKunIvE ExarKunIv referenced this topic on
                            • ExarKunIvE ExarKunIv referenced this topic on
                            • ExarKunIvE ExarKunIv referenced this topic on
                            • ExarKunIvE ExarKunIv referenced this topic on
                            • ExarKunIvE ExarKunIv referenced this topic on
                            • ExarKunIvE ExarKunIv referenced this topic on
                            • 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.