Configuration

Karaoke Mugen uses a configuration file called config.yml located in its folder.

If this file doesn't exist, it will revert to default settings. You can see which are these settings by reading the config.sample.yml file provided.

When you modify a setting via the admin panel a config.yml file is written (or modified if it exists already) with the new settings, but not everything can be configured from the interface.

Database

Connection details to the database server are stored in the database.json file :

{
  "sql-file": true,
  "defaultEnv": "prod",
  "prod": {
    "driver": "pg",
    "user": "karaokemugen_app",
    "password": "musubi",
    "host": "localhost",
    "port": 6559,
    "database": "karaokemugen_app",
    "schema": "public",
    "superuser": "postgres",
    "superuserPassword": null,
    "bundledPostgresBinary": false
  }
}

Everything there is pretty explicit. Edit settings as you see fit.

If you use your own PostgreSQL server, modify bundledPostgresBinary to false. In this case superuser and superuserPassword are not used.

Settings details

App

General settings are stored here

  • FirstRun : Set to false by Karaoke Mugen to remember it's not the first time the application has been run. If set to false, tutorial won't be triggered, and admin password won't be reset.
  • InstanceID : This instance's unique identifier.
  • JwtSecret : Secret identifier used to salt user authentification tokens

Online

Online settings are stored here.

  • URL : Defines if your instance should publish its Internet and local IPs to Karaoke Mugen Server, by default kara.moe. This allows your users to access your instance via http://kara.moe as long as they're at least logged on your Wifi network.
    • false : URL shortener disabled
    • true : Send IP info to Host.
  • Stats : Sends (or not) usage satistics to Karaoke Mugen Server.
    • undefined : User will be asked to make a choice on startup
    • false : No data will be sent.
    • true : Stats will be sent.
  • Host : Karaoke Mugen Server hostname to connect to for online functionality. This will also replace the URL displayed on the player's screen. By default it's kara.moe.
  • Users : Allows user to create and login online accounts.
    • false : Users will only able to use local accounts. if an online account is already created on your instance, its name will become user@something.com. For example axel@kara.moe.
    • true : Users can connect with their online accounts.

Frontend

Web interface settings

  • AuthExpireTime : Time in minutes before a user is marked as not connected to the interface anymore. It won't count as a active user anymore.
  • Mode : Interface mode
    • 0 : Interface is closed to all users except admins
    • 1 : Interface is restricted. Users cannot add songs anymore and can only see the currently playing song and playlist.
    • 2 : Interface fully operational (default)
  • Port : Network port to use for KM's interface.
  • SeriesLanguageMode : Display mode for language of series names
    • 0 : Series will have its original title (in japanese romaji for an anime)
    • 1 : Series will have its name depending on the song's language (fallback to english then original)
    • 2 : Series will have its name depending on system language (fallback to english, etc.)
    • 3 : Series will have its name depending on user's browser language (...)

Permissions

  • AllowNicknameChange :
    • false : Users cannot change nicknames
    • true : Users can change their nicknames (default)
  • AllowViewWhitelist :
    • false : Users can't view the whitelist
    • true : Users can view the whitelist (default)
  • AllowViewBlacklist :
    • false : Users can't view the blacklist
    • true : Users can view the blacklist (default)
  • AllowViewBlacklistCriterias :
    • false : Users can't view the blacklist criterias
    • true : Users can view the blacklist criterias (default)

Karaoke

Karaoke session specific settings

  • AutoPlay : If no song is being played, playback will start as soon as a song is added to the list.
    • false : Starting playback is manual (default)
    • true : Playback automatically starts if a song is added
  • CreatePreviews :
    • false : No preview video will be created
    • true : At startup, Karaoke Mugen will verify if some songs need to have their video preview generated. If some previews are missing, KM will create them with FFMPEG. This can last for a while seeing how many songs with have in the database at the moment. Preview creation cannot be interrupted, but if you close KM and start it again, it will resume where it left off.
  • JinglesInterval : Number of songs between jingles. By edfault 20 (this makes about 30 minutes)
  • Private :
    • false : Public karaoke. User submissions go to the public playlist.
    • true : Private karaoke. User submissions go to the current playlist. (by default)
  • Repeat :
    • false : Playback stops when reaching the end of the current playlist (by default).
    • true : Playback continues by looping through the playlist.
  • SmartInsert :
    • false : Smart Insert is disabled.
    • true : Smart Insert is enabled when in private mode. this will favor people who haven't added many songs, for example.

Display

  • Avatar : Display a user's avatar in the bottom right corner with song information on screen.
    • false : Do not display avatar picture
    • true : Display avatar picture (Nickname needs to be true)
  • Nickname :
    • false : Player won't display nickname and avatar
    • true : Player will display nickname of the person who requested a song.
ConnectionInfo
  • Enabled :
    • false : No QR Code or URL will be displayed during song playback.
    • true : Connection information is displayed (default)
  • QRCode : Display QR Code between pauses
    • false : No
    • true : Yes
  • Message : Message to display next to the interface URL. Examples : - 1 euro per song!
    • Wifi network: Jonetsu
  • Host : If empty, your IP address will be automatically detected, but this detection can sometimes fail : this setting allows you to force a specific IP to use.

Poll

  • Enabled : Public votes
    • false : No
    • true : Yes
  • Choices : Number of songs to suggest in the poll
  • Timeout : Poll duration. Poll will end at this many seconds, or before the last 10 seconds of a song.

Quota

A freed song doesn't count anymore towards a user's quota.

  • Songs : Number of songs someone can suggest in public or private mode.
  • Time : Time bank in seconds for every user
  • Type : Quota type to use. This is checked when someone tries to add a song.
    • 0 : No quota
    • 1 : Number of songs
    • 2 : Time bank
  • FreeAutoTime : Time in minutes before a song is automatically freed (60 mintues by default)
  • FreeUpVotes :
    • false : Likes won't allow users to get their songs freed.
    • true : Users who have a "liked" song get it freed from their quota.
  • FreeUpVotesRequiredPercent : Percentage (0-100) of likes required to get a song freed. It's the percentage of people marked as connected to the app at a given time.
  • FreeUpVotesRequiredMin : Minimum number of likes required for a song to be freed.

Player

  • mpvVideoOutput : You can specify a video driver for mpv here. If under Windows you see a blue window when launching Karaoke Mugen, put direct3d in this.
  • Background : Name of an image file to use for the player's background.
    • If nothing is specified, Karaoke Mugen will choose a random background in the app/background folder.
    • If no background is found in the folder, the default one will be used.
  • FullScreen : This setting is ignored if PIP.Enabled is set to true.
    • false : Player is in windowed mode (default)
    • true : Player is in fullscreen
  • Monitor :
    • false : Monitor is disabled (default)
    • true : The monitor is displayed. It's a second player window synced with the first one. It allows the karaoke operator to see what's being played on the main screen.
  • NoHud :
    • false : mpv's HUD is enabled
    • true : mpv's HUD is hidden (default)
  • NoBar :
    • false : mpv's progress bar is displayed when you seek inside the video.
    • true : mpv's progress bar is never displayed.
  • Screen : screen number on which mpv should display your karaoke.
    • 0 : first screen (main screen) (default).
    • 1 : second screen.
    • 2 : third screen.
    • ...
    • 9 : Let the player choose
  • StayOnTop :
    • false : mpv won't stay on top of other windows
    • true : mpv will stay on top of other windows (default)
  • VisualizationEffects :
    • false : Visualization effects are disabled.
    • true : Visualization effects are shown during mp3 playback.s.

PIP

  • Enabled :
    • false : Disables Picture in picture mode
    • true : Enables Picture in picture mode (default)
  • Size : if PIP mode is enabled, this is the percentage of the screen in size the player window should cover.
  • PositionX : Defines mpv's horizontal position by default
    • Left
    • Center
    • Right
  • PositionY : Defines mpv's vertical position by default
    • Top
    • Center
    • Bottom

Playlist

  • AllowDuplicates : A song can be added more than once if this setting is set to true (only on non-public playlists)
  • MaxDejaVuTime : A song is marked as "deja vu" if it's been played less than xx minutes ago (60 by default)
  • RemovePublicOnPlay : Remove songs from public playlists as soon as they're played.

System

Binaries

These are the paths to various binaries needed by Karaoke Mugen. Each binary has three settings : Windows, OSX and Linux. Binaries are Player, ffmpeg, and Postgres. For Postgres it's the folder where all binaries should be available. For the others, an executable is expected.

Example :

System:
  Binaries:
    Player:
      Linux: /usr/bin/mpv
      OSX: app/bin/mpv.app/Contents/MacOS/mpv
      Windows: app/bin/mpv.exe

Path

Some paths here can have multiple entries. These are Backgrounds, Jingles, Karas, Lyrics, Medias and Series.

When searching for a file in these, Karaoke Mugen will go through every entry of the list.

  • Avatars : Folder where avatars are stored
  • Backgrounds : Folders where backgrounds are stored.
  • DB : Folder where the database(s) are stored.
  • Import : Folder where karaokes can be imported from
  • Jingles : Folders where to look for jingles.
  • Karas : Folders where to look for .kara files.
  • Lyrics : Folders where to look for .ass files.
  • Medias : Folders where to look for media files.
  • Previews : Folder where previews are stored (about 500Kb per song)
  • Series : Folders where .series.json file sare stored
  • Temp : Temporary folder. It is cleaned on startup.
  • MediasHTTP: URL where songs are stored. If they are not availeble in the Medias folders, Karaoke Mugen will try to stream them from that URL.

Customization

In addition to the various customization settings you'll find in the config file, you can change a few other things in Karaoke Mugen to fit your needs :

Wallpapers

By default, Karaoke Mugen will use its own wallpaper depending on which version you're using. You can still specify yours through the Background setting or simply by dropping wallpapers of your choice in jpg, png or gif formats in the app/backgrounds folder.

Karaoke Mugen will display them randomly at every pause.

Jingles

If you want to put a little spice in your karaoke, you can play jingles every XX songs (via the JinglesInterval setting). These video jingles are by default in the app/jingles folder.

The Karaoke Mugen community has a few jingles they share, but you can use yours.

Jingles can be downloaded in this archive. Place them in the app/jingles directory once unzipped. They are bundled with the binary version of Karaoke Mugen.