Archive:HOW-TO:Play music with background video

From Official Kodi Wiki
Revision as of 05:23, 27 November 2013 by Ned Scott (talk | contribs)
Jump to navigation Jump to search
not to be confused with music videos

Due to the nature of XBMC, there currently isn't an easy way in the interface to play a muted video and have a different music file play at on top of that. However, a clever trick with XBMC's karaoke feature has given one possible way to do this to hold us over, as described on this page.

Why would I want to do this?
  • Choosing a default background video for karaoke, which is what this feature was originally added for.
  • An alternative to music visualizations
  • Waterfalls? Waterfalls.
  • Christmas music while showing a video of a log fireplace

Steps

Enable kareoke

Go to XBMC -> Settings -> Music -> Karaoke -> enable karaoke support.

Prepare a background video

To make it easy to figure out the file path to your video, go ahead and copy the video to your userdata folder. Note the name of the video for the next step, as you will need to note this in the <defaultbackground> section of your advancedsettings.xml file.

Prepare your advancedsettings.xml file

Create a plan text document called advancedsettings.xml and save it to your userdata folder. Copy and paste the following into your advancedsettings.xml file:

Where it says <defaultbackground>, be sure to replace the file name with the name of your actual background video from the previous step.

<advancedsettings>
<karaoke>
  <!-- Music-lyrics delay for CDG format lyrics in SECONDS. Floating number, may be negative. -->
  <syncdelaycdg>0.0</syncdelaycdg>
  <!-- Music-lyrics delay for LRC format lyrics in 1/10 seconds. Floating number, may be negative. -->
  <syncdelaylrc>0.0</syncdelaylrc>
  <!-- If set to true, when the songs are added to the library, XBMC will automatically replace the song genre by "Karaoke"
    if the song has associated lyrics. Default is false. -->
  <alwaysreplacegenre>true</alwaysreplacegenre>
  <!-- If set to true, when the music-lyrics delay was modified while playing using subtitle delay buttons, the delay value
    for this song will be stored, and restored when the song is played next time. Default is true. -->
  <storedelay>true</storedelay>
  <!-- When karaoke songs are added to the library during scans, an autoincrement number is automatically assigned
to each song, starting from the value specified below. Default starts from 1. -->
  <autoassignstartfrom>1</autoassignstartfrom>
  <!-- If set to true (default), the background for CDG songs is always empty (plain color) no matter what setting is set in 
    defaultbackground below. When setting this to false, then one can see through the background and see the video or
    visualization.-->
  <nocdgbackground>true</nocdgbackground>
  <!-- Sets default background mode. Type could be "none", "vis" for visualisation, "image" or "video".
    For image/video types the "path" parameter should specify the image or video file to play. -->
  <defaultbackground type="video" path="special://masterprofile/karaokevideobg.avi"/>
  <!-- If non-zero, specifies the time in seconds left before the end of the current song when a window will pop up informing you
    about the next played song. The window does not pop up if there is no next song, or it is not a karaoke song -->
  <nextsongpopuptime>0.0</nextsongpopuptime>
</karaoke>
</advancedsettings>

Note: Be sure to restart XBMC if it is running, so that it loads the new advancedsettings.xml file.

Create dummy lyrics files

In order to use the karaoke feature in XBMC there must be lyric files along side the music files. Since we don't actually need to see the lyrics, and we're just tricking XBMC into using the karaoke feature, we can just make dummy files instead.

These files can be simple plain text files that are named after the song file, but with the .lrc file extension. For example, whatever.mp3 would have whatever.lrc in the same folder. The file needs to be more than 0bytes, so you might need to put some spaces in there.

Linux users

If you are running linux and don't want to manually create these files, you can use the following command in the terminal to generate dummy lrc files for all songs in your current directory:

for f in *.mp3; do echo "$f.lrc" | echo " " >> "`sed -e 's/.mp3//g'`"; done

Add songs into XBMC's music library

Now you just need to scan the music into XBMC's library. If you haven't done this before, see Adding music to the library. The songs with lyric files will automatically be seen as karaoke songs.

Play songs and enjoy

When you play any of the songs with the dummy lyric file the video will play in the background.

Notes

  • The video will restart each time a new song is played, so it won't be "seamless".