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

    Arcade Ambience MP3

    Scheduled Pinned Locked Moved Ideas and Development
    mp3ambientbackgroundmusic
    23 Posts 14 Posters 13.4k 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.
    • S
      Sinistar83 @synack
      last edited by

      @synack Couple this be setup to play certain sounds on certain sub menus? like the Arcade Ambience for MAME/FBA, and a Nintendo one for NES/SNES, or is this only play in the main ES menus?

      synackS 1 Reply Last reply Reply Quote 0
      • synackS
        synack @Sinistar83
        last edited by

        @Sinistar83 As far as I'm aware, ES doesn't provide an external indicator to tell you what menu set it's currently on, so proactively changing the mp3 is probably not possible. However, using the runcommand-onend script that @meleu mentions, you can read the the parameters passed to it and determine if you're existing MAME or something else. From there, you can set the desired tune accordingly -- but of course, only retroactively on exit of a particular emulator. If you're not hopping from system to system constantly, this could be a worthwhile solution.

        I've got my current system boxed up already for a secret santa gift, but plan on building another in a few days. I'll try to revisit this thread and provide some updated instructions.

        D W 2 Replies Last reply Reply Quote 1
        • D
          detron @Brigane
          last edited by

          @Brigane I am with you, would like to see this, and agree that the best execution of this would be by the build team, however, I do understand that there are probably higher priorities than this.

          1 Reply Last reply Reply Quote 1
          • MapleStoryM
            MapleStory @synack
            last edited by

            @synack Just tried your script and I still can't get music to play. I copied all the code line for line and pasted it via Putty. Is there a step missing or a mistake anywhere in the code itself?

            B 1 Reply Last reply Reply Quote 0
            • B
              backstander @MapleStory
              last edited by

              @MapleStory
              You also need to make the script executable:

              chmod +x /home/pi/bgm.sh
              
              MapleStoryM 1 Reply Last reply Reply Quote 2
              • MapleStoryM
                MapleStory @backstander
                last edited by

                @backstander said in Arcade Ambience MP3:

                chmod +x /home/pi/bgm.sh

                That did the trick, huge thanks for that! Just one last thing. Is there some way to lower music volume to say, 70%? The music comes out blasting sometimes after playing a game. haha

                B 1 Reply Last reply Reply Quote 1
                • B
                  backstander @MapleStory
                  last edited by

                  @MapleStory

                  There's an alternate RetroPie BGM python script by @Livewire that has an option to set a volume and fade out & in:
                  https://retropie.org.uk/forum/topic/347/background-music-continued-from-help-support

                  I believe all he is doing is added mixer.music.set_volume(70); to set the volume to 70%

                  I'm not much of a python programmer so I'm not sure if you'd need to run sudo apt-get install python-pygame first for this to work or not.

                  synackS 1 Reply Last reply Reply Quote 0
                  • synackS
                    synack @backstander
                    last edited by synack

                    It looks like @Livewire put some thought into his setup, definitely worth checking out.

                    However, I'm probably going to stick with what I know. Using the runcommand-onend.sh script mentioned earlier in the thread, another quick and easy method for BGM would be the following (and doesn't require checking for various processes every couple of seconds)

                    1. edit /etc/rc.local and insert the following before the "exit 0" line
                    (sleep 10; sudo -u pi mpg123 -Z /home/pi/bgm/*.mp3 >/dev/null 2>&1) &
                    

                    change the sleep time as needed before music starts playing
                    2) edit/create /opt/retropie/configs/all/runcommand-onstart.sh and add the following

                    pkill -STOP mpg123
                    
                    1. edit/create /opt/retropie/configs/all/runcommand-onend.sh and add the following
                    pkill -CONT mpg123
                    
                    1. make sure both scripts are executable
                    chmod a+x /opt/retropie/configs/all/runcommand-onstart.sh
                    chmod a+x /opt/retropie/configs/all/runcommand-onend.sh
                    

                    If you wanted to play music based on the system you're exiting, instead of adding the command above to runcommand-onend.sh, you can add a check like the following and then play mp3s from the desired directory

                    if [[ $1 == *mame* ]]; then
                      pkill mpg123
                      mpg123 -Z /path/to/mame/mp3s/*.mp3 >/dev/null 2>&1 &
                    else
                      pkill -CONT mpg123
                    fi
                    
                    1 Reply Last reply Reply Quote 2
                    • D
                      df13 @synack
                      last edited by

                      @synack I like your script a lot since it's just an mp3 player in the background. However, I had an idea.
                      Although ES doesn't detect what menu you're on, the theme should detect it right? If so, would it be possible to alter the .xml of the theme and tell it to play a certain folder of bg music?

                      I know very little about programming so I could be way off, but it's just an idea.
                      Thanks for the script by the way!

                      synackS 1 Reply Last reply Reply Quote 1
                      • synackS
                        synack @df13
                        last edited by

                        @df13 Unfortunately no, it doesn't work like that since the music playing is completely external. If ES accessed the individual XML files every time a new system was selected it would be possible using the 'last accessed time' of the files, but ES loads all of the files upon startup.

                        D 1 Reply Last reply Reply Quote 0
                        • K
                          kcsims
                          last edited by

                          when running arcade games using pifba emulator, the music doesn't stop playing...any fix?

                          1 Reply Last reply Reply Quote 0
                          • D
                            deadeye @synack
                            last edited by

                            @synack This is actually a really great and simple solution... But I'm not sure if I'm going crazy or not, but it doesn't seem to kill mpg123 if I boot up Kodi. Not sure why that would be.

                            synackS 1 Reply Last reply Reply Quote 0
                            • synackS
                              synack @deadeye
                              last edited by

                              @deadeye I don't know either. Is it only with Kodi? I also use it and have confirmed it works on my side.

                              Make sure you're using the latest version of the runcommand script and ensure /opt/retropie/configs/all/runcommand-onstart.sh contains pkill -STOP mpg123

                              D 2 Replies Last reply Reply Quote 1
                              • D
                                deadeye @synack
                                last edited by

                                @synack thanks - yeah, it works for everything else. I tried both iterations you posted. The first didn't kill when loading up n64/kodi, the latter just kodi. I'll try updating and see if that changes anything. I'll post back to confirm. Cheers.

                                K 1 Reply Last reply Reply Quote 0
                                • D
                                  deadeye @synack
                                  last edited by

                                  @synack Ah, figured it out. It's only an issue if KODI is launched as an emulator. If I launch it through the Ports, it kills the music.

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    kcsims @deadeye
                                    last edited by

                                    @deadeye mine does not stop the music with certain arcade emulators. Is there a setting I'm missing?

                                    1 Reply Last reply Reply Quote 0
                                    • fnkngrvF
                                      fnkngrv
                                      last edited by

                                      @synack I see there is a command on that other gent's thread for setting the volume level:

                                      mixer.music.set_volume(70)

                                      It is in the post that @backstander made about the .py script.

                                      Would you happen to know how to integrate that command or one like it into your setup? The fact that the music is so loud is kind of a bummer and of course it does play over the game snap music which kind of sucks too.

                                      Thanks in advance if you have any ideas!

                                      1 Reply Last reply Reply Quote 0
                                      • W
                                        westleigh77 @synack
                                        last edited by

                                        @synack If you have a solution that would be amazing!

                                        1 Reply Last reply Reply Quote 0
                                        • 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.