Quick and easy guide for adding music to Emulatonstation on RetroPie. Noob friendly!
-
Ok I found a solution, needed to remove the fist line as that is a wait for the video to stop before it starts the next line. (Removed this line)
while pgrep omxplayer >/dev/null; do sleep 1; done
so in your autostart.sh have it look like this
(sleep 10; mpg123 -Z /home/pi/RetroPie/backgroundmusic/*.mp3 >/dev/null 2>&1) & emulationstation #auto
sleep controls the pause before it loads the music, so you can use that to make it so the music does not overlap with your video audio. The items inside the ( ) are done in the background so sleep has no effect on emulationstation starting.
.
Now here is what was odd. if you have --no-splash (See below) that would not work. I removed it so it would show splash and now my video plays over the top of it. I made the video long enough so I dont see the splash form ES and the music starts to play in the background about 3 seconds before my video finishes.(sleep 10; mpg123 -Z /home/pi/RetroPie/backgroundmusic/*.mp3 >/dev/null 2>&1) & emulationstation --no-splash #auto
Hope this helps others!
-
it would be nice if the retropie had the option to put sounds when selecting the system in the menu, as for example when choosing the snes played a super mario bgm, just as the recalbox has that option, I hope that in the future the retropie team think about this!
-
Hello, I try to get it working on my PC (Ubuntu 18.04) without success. Of course, I have replaced every /pi/ with /user/ because Retropie in Ubuntu doesn't have no /pi/ folder.
Another thing which is strange is that I don't have omxplayer because it is not compatible with x86 CPUs. So shall I remove the line related to it ?
I am sure, it is a matter of adjustment but I can't know what. I really would like to implement it, so please, feel free to help me.
Thank you very much !
-
@prog-amateur Try replacing every
/home/user
with$HOME
. This is a more general way -
Thank you very much for your help. It didn't worked. I have applied it to
-
autostart.sh :
(sleep 10; mpg123 -Z $HOME/bgm/*.mp3 >/dev/null 2>&1) &
-
.bashrc :
sudo nano $HOME/.bashrc
-
and the music folder :
mkdir $HOME/bgm
By the way, something that I had to adjust was :
-
to remove the following line in autostart.sh because omxplayer is only compatible with ARM CPUs, not with x86 CPUs (so I was affraid about any error code) :
while pgrep omxplayer >/dev/null; do sleep 1; done
-
in .bashrc, there was nothing called neither
retropie_welcome
nor# RETROPIE PROFILE END
, so I have just pasted[[ $(tty) == "/dev/tty1" ]] && pkill mpg123
at the end of the document.
Maybe I did something wrong ? I am sure it is a matter of small code, please feel free to help me (and other people as I have also seen my request asked by others but never answered). I am sure it can help, thank you so much for your kind help.
-
-
Added fadein/fadeout feature for mpg123. You can read this thread for setup. I've tested the script for a few weeks and it seems to be stable.
So instead of adding the
pkill -CONT or -STOP mpg123
command toruncommand-onend.sh or runcommand-onstart.sh
you addruncommand-onstart.sh
-->$HOME/scripts/BGM_vol_fade.sh -STOP
runcommand-onend.sh
-->(sleep 2 && $HOME/scripts/BGM_vol_fade.sh -CONT) &
If you don't use -STOP and -CONT switches then the script will toggle status itself. This will work in 99.99% of all cases to get 100% hitrate then use the force.
-
Hi, thanks for this! running great as expected. However is there a way I can hide the boot text?
I already did this: https://retropie.org.uk/forum/topic/14299/tutorial-remove-boot-text-on-the-raspberry-pi-for-noobs
But after installing the background music, there is a little boot text reappearing + the emulation station splash (which I also want to hide)
If I can hide that my retropie is perfect!
-
Just curious if anything has changed regarding whether it's possible to have different music per console screen? ie. Song 1 plays in ES, song 2 plays in Mame, song 3 plays in Nes, song 4 plays in Snes and so on and so on.
-
@Emerikant no this is not possible. If you want this feature you can use Recalbox or Batocera - there it is present. It is a part of Emulation Station and has barely nothing to do with the topic here.
-
@cyperghost Thanks, new to all this, just saw it mentioned earlier in this post but was so long ago wasn't sure if anything had changed.
-
Hi everyone, i made a simple installer to implement mpg123, plus options menu on RetroPie settings menu to change volume and turn music on/off.
Feel free to try it.
https://github.com/Naprosnia/RetroPie_BGM_PlayerTomorrow i will record a video to post on youtube, showing the installation steps and usage.
-
@Naprosnia said in Quick and easy guide for adding music to Emulatonstation on RetroPie. Noob friendly!:
Hi everyone, i made a simple installer to implement mpg123, plus options menu on RetroPie settings menu to change volume and turn music on/off.
Feel free to try it.
https://github.com/Naprosnia/RetroPie_BGM_PlayerTomorrow i will record a video to post on youtube, showing the installation steps and usage.
Installation video:
-
@Naprosnia Nice video and really noob friendly
You are using tons ofsudo
commands and I would advise you to avoid the unneeded usage of these whenever possible. The idea with the volume is realy nice - sadly mpg123 does not support inline volume change.You can take a look at my RetroPie Shares scripts here. Everything starting with BGM has something to do with mpg123 and background music. There is a realtime Volumefading and a Music Selection scripts available. The selection topic includes some hints discovered during coding phase.
-
@cyperghost Thanks for your feedback. Im rewriting all the code and applying your fade method (works like a charm, thanks), and add new settings (enable / disable fade; enable / disable "BGM stop" on emulator start [some people want their music playing while they play games] ). Now im using a settings file to save user choices, and reduce the number of files used, for a clear environment.
Im trying to finish this today.If anyone has more ideas of new options that can be added please say.
-
Hi,
I install your script, but I don't have the Background Music Settings option on RetroPie settings menu.
Otherwise, how uninstalling your script.My config:
pi3B
Retropie 4.4.7
Emulationstation 2.8.1rp -
Hello @WarC0zes, when RetroPie and EmulationStation loads, press F4 to access command line, then,
execute this code:sudo ls RetroPie/retropiemenu/
- next, a list of files will appear, check if there is one called "Background Music Settings.sh"
- if yes, execute the following code to open Emulation Station again
emulationstation
press Enter- next, inside Emulation Station press the button ("start") to access Main Menu, go to "OTHER SETTINGS" and check if "PARSE GAMELISTS ONLY" is set to ON, if it is, please put it to OFF and restart your system, and check if the Background Music Settings appear.
- If no, you can execute the following command on command line to disable BGM
touch /home/pi/.bgmstop
- if yes, execute the following code to open Emulation Station again
Please leave some feedback.
- next, a list of files will appear, check if there is one called "Background Music Settings.sh"
-
You have solved my problem, I had the option "PARSE GAMELISTS ONLY" set to ON.
I put it to OFF and restart my system and I have the option now.
Thankssorry for my english.
-
@Naprosnia said in Quick and easy guide for adding music to Emulatonstation on RetroPie. Noob friendly!:
@cyperghost Thanks for your feedback. Im rewriting all the code and applying your fade method (works like a charm, thanks),
You're welcome, please add the link to the original code into your modification if you make heavy use of these scripts.
new settings (enable / disable fade; enable / disable "BGM stop" on emulator start [some people want their music playing while they play games] )
I would avoid such settings. Therefore we have the User Menu from runcommand. There you can select to enable BGM again and with
exit 2
you finsh runcommand and load your ROM. I think this makes more sense.Read here about the Runcommand menu
sudo ls RetroPie/retropiemenu/
There is really no need to execute scripts with root level. Your scripts need heavy code review to avoid right privilege errors.
Then make the code more lightweight. If there is a action you are doing again and again then use functions and loops.
A good example the the dowload of the config files -- Use an array with a loop
Or the download of the example music use the expression{1..7}
to count from 1 till 7 -
Hello @cyperghost , has I said, I'm rewriting everything from scratch. I'm trying to follow some of your tip, such as reduce sudo a lot.
I will certainly put your name and git link in the description of the scripts. -
@Naprosnia You are welcome
I will comment on your github account.EDIT: Added my first comment as "issue"
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.