Music Player Daemon Community Wiki


525pages on
this wiki
Add New Page
Talk9 Share

This is a collection of various Hacks & Scripts that have been collected over time. Feel free to improve on them, add new ones, but don't be surprised if they're broken or otherwise not working.

WARNING: Do not assume these have not been modified. They are usually very short so take the time to review it before running it.

Chat / IRC / Jabber Edit

IRC Edit

  • impc - Irssi client.
  • iMPD - Irssi client which effectively uses mpc to communicated with MPD.
  • irssi-np - script that posts the song playing in mpd to an irc channel
  • - A client to control MPD through weechat
  • - This plugin lets you inform all users in the current channel about the song which music-player-daemon (MPD) is currently playing for weechat.
  • - A client to announce the song of weechat
  • xchat_mpd - MPD control script for Xchat. As of version 0.1 (current version), only supports track announce.
    • xchat_mpd_2 - MPD track announce for Xchat. Wrote because I was dissatisfied with other hacks and to try the MPD API.

Jabber Edit

  • MPDGajim - Very simple Python pseudo-daemon which updates Gajim's status to the current track. (Requires mpdclient2)
  • MPT - MPT (Music Player Tune) is a simple Python implementation of User Tune. It publishes the current song information through XMPP.
  • jmpc - jabber bot for controlling MPD.

Display Edit

  • MPD OSD - Uses python-osd to display an OSD of the current playing song + artist in the top-left corner of the screen.
  • mpd_osd - Dirty hack to display the title of the played song by OSD.
  • and - Two Shell scripts, the first draw the current track with xosd, and the second works with the latter to show an OSD when a new track is being played.
  • smpc - Micro script that works with dzen to show On-Screen info of mpc output.
  • mpdnotify - A simple bash script that uses Galago's libnotify to put up a notification with album art every song change.
  • - Simple python script that displays mpd status and song information (with album art) using libnotify.
  • - BASH script providing a kind of hack-y way to show terminal covers in the terminal. Uses either AA-lib or libcaca. AA-lib looks MUCH better, but doesn't automatically exit. Edit

  • bashfm - play streams with basic controls from command line
  • Python LastFMProxy - Python proxy to deliver to your MPD
  • mcf - A shell script that gives you easy MPD access to playing radio stations using mpc.
  • lastfmpdqc - lastfm/mpd queuing client. gets recommended tracks from and adds them from your library to mpd's current playlist.
  • MPD_sima - MPD_sima is a python script who's automagically adding title to your playlist following suggestions.
  • lfm - A bash script that abstracts the usage of URLs and autoplays the radio station of choice in mpd.
  • mpd-add-similar - A cli app that can add similar tracks to your MPD playlist.

Metadata Fetching Edit

  • lyrc - Fetches lyrics from (alternative: lyriki) Bash script, but there's also a zsh version.
  • mlyric - Fetches lyrics of the currently playing song, adds it to id3tag and displays it on stdout. If id3tag already has a lyric, this one will be displayed instead.
  • - A shell script for displaying lyrics with interactive programs, ie less
  • mpdlyrics - Shows lyrics of current song on w3m browser [you may change it] (fetchs it or read previously stored). Uses "feeling lucky" feature. Dirty bash script.
  • mpdlyricsonbrowser - Show lyrics of current song on a mozilla like browser.
  • mpdlyricsscript - A very working python mpd lyrics script. No extra dependencies!
  • Conkylyrics - show lyrics in a conky window on your desktop
  • lyrics-cli lyrics-cli fetches lyrics for the currently playing track in several players (including MPD) and prints it to stdout.
  • xlyrics creates window which contains lyrics (from LyricWiki) of currently playing track.
  • Conky-lyrics - Display song lyrics in conky (very light code)
  • - Uses glyr and eye3D to fetch and put cover.jpg files in your directory tree.

Searching Edit

  • mpdgrep - A simple bash script that plays the next song in your library matching that phrase.
  • zenfind - A simple expansion of mpdgrep that uses Zenity.

Other Edit

  • addrandom - Horrible hack to add random song to currently playing. Edit this example and make it better.
  • AMPDlogger - Small bash script to log tracks played with MPD to a plain text file.
  • - A script to convert APEv2 ReplayGain tags to ID3v2 ReplayGain tags which MPD can read.
  • arthist-recent - Dirty hack to let Artist display tracks in reverse chronological order
  • Hack:avahi mpd.service - announce mpd with avahi
  • Hack:avahi phpmp.service announce phpmp with avahi
  • bluempd - Hacks and instructions on using your bluetooth device to control MPD
  • copycurrent - Copies the currently playing song to a USB-Stick
  • dplay - MPD integration with Midnight Commander
  • favo-fiddle - volume fading, random volume manipulation
  • GDM - Enable multimedia keys on a multimedia keyboard to control mpd.
  • GoodSleep - Go to sleep and wake up with fading music, GUI provided
  • Hold Music Fader - Fade out background/hold music for a voiceover announcement and then fade the music back in.
  • ices-client - A Perl script for streaming MP3s to your Icecast server
  • itunes2mpd - A script to load a copied iTunes playlist into mpd.
  • - Bind notebook media keys to MPD using DBUS
  • mms2ogg - Convert mms streams to ogg using vlc. Intended for use with webradio streams in general and streamtuner in specific.
  • mms2mp3 - Convert mms streams to mp3 using vlc. Perfect for low-cost radio project
  • mpc-fade - Volume fading
  • mpckbd - Simple C program to respond to run mpc in response to keyboard events.
  • MPC / MPD Score command - Add support for scoring
  • mpc-pause - Bind this script to a key to toggle pause/play just like XMMS' --pause-play argument. (Deprecated to mpc toggle)
  • mpc-play - Play any file (e.g. outside mpdroot directory)
  • - A perl script that allows you to start mpd playing with a slowly increasing volume at a configurable time.
  • - A bash script that lets you select whether you want to choose a playlist, or by album, artist, or genre. Clears playlist, adds what you chose, starts playing.
  • - Allows you to export your MPD collection to a CSV (comma-separated values) file.
  • mpdfind - xmmsfind clone for mpd
  • - A perl script that will post notifications on song change.
  • mpd-handler - Copy a single musik file to the "mpd-root / single " folder and play it/or not. also handle m3u/pls playlists.
  • mpd-hiss - Another Growl notifier, written in Python.
  • mpd-hits - Collects playback statistics of Music Player Daemon.
  • - Likes current playing song on using notification-daemon. Also, deletes currently playing song from disk & playlist.
  • mpdipod - A script to sync mpd playlists to an ipod.
  • mpdplay - Another MPD integration within Midnight Commander. This one allows you to play every song in your filesystem.
  • mpdrecording-stream - A small shell script to recording/ripping currently playing broadcast internet radio stream to *.mp3
  • mpd-stats - Simple perl scripts to keep track of what mpd is playing and generate stats from it
  • mpdwiki - Shows wikipedia article about current mpd artist using w3m [you may change it].
  • MusicMagicMixer - script to use with mpc and Predixis MusicMagicMixer
  • musicplaynow - A tiny shell script for playing MP3 files from any location, even outside the music_directory (made for integration with desktop shells)
  • - A bash script that plays an alarm at a (nearly) specific time, at maximum volume.
  • - A shell script which will start playing a jingle at a certain moment in time.
  • play - Just type "play mygfavaoritealbum" and your favorite album is loaded. Very typo tolerant.
  • playstream - Smart handler for m3u and pls files.
  • playonremotempd - a bash script that uses netcat to server a local file to a remote mpd, play it and after song change remove it again
  • pyza - A Python script to play music from Songza stations through MPD.
  • ralbum - Simple C program that plays a random album.
  • - A wrapper around mp3gain that adds ReplayGain info to ID3v2 tags instead of APEv2 tags.
  • rubympd2html - a ruby script which creates a HTML file of all your mpd music.
  • state save - Save and restore MPD states on your localhost. (Made obsolete by the state file in config)
  • stop_after_current - A bash script that makes mpd stop after the currently playing song.
  • stream-monitor - Two scripts that monitor mpd while it is playing a stream. If the Time: status stops then it tries to have it play the stream again. Keeps the stream going 24/7.
  • streampush - Give this script a url, it'll add all the streams in that page.
  • streamup - Start and stop a stream seamlessly
  • Synchronator - Synchronator brings bit perfect volume control to Hi-Fi systems with Linux as source. This enables control of your Hi-Fi amplifier volume level from within any MPD client application a.o.
  • SystemV Init - Init Script to start and stop MPD via System V
  • TuneTwit - post to twitter what you're listening to on MPD. A perl script that runs as a daemon, updating Twitter whenever the track changes
  • update and add - first update, then add all music files
  • voyeur - A script to announce your currently playing song to the Mac OS Framework.
  • wecker.c - Small C program to start mpd playback with a slowly increasing volume, like
  • xmradio - A shell script to retrieve and play XM Radio mms streams using mimms and mpc/mpd.
  • playMPCRandomAd - A script that play random MP3 from a list (MP3 must be in the MPD DB)
  • - A script that tweets current playing song info via TTYtter
  • Hack:pause-on-screensaver - A shell script that pauses mpd on GNOME screensaver activation (i. e. when you lock your screen) and resumes it on deactivation
  • MPD Web Remote - A php file that shows your playlist and lets you change song (next and prev) and also volume (up and down), with customizable skins!
  • Youtube Playback: If you want to play the audio track of a youtube video, you have to add the actual stream url of that video. You can get that one for example with youtube-dl. Running youtube-dl -g URL gives you the stream url.
  • configure-mpd : a script to automagically make a mpd configuration file which turns mpd in a high quality bit perfect audiophile digital audio player.
  • mpd-shutdown : a script to shutdown computer when playing shutdown.mp3
  • mpdScheduler - a python script that runs as a daemon. It lets you set sleep timers and alarms via MPDs client channels

Playlist Edit

  • -  A python script designed to add the missing randomness to mpd's albums.
  • album - Lists all albums by given artist and replaces the playlist with them.
  • - Download all playlists from, convert them from .pls to .m3u and place them into the mpd-playlist-directory.
  • mpc-dmenu - Use dmenu to select a song from the current playlist.
  • mpc_playlist - uses mpc to add playlists beginning with special char.
  • mpc-show-playlist - a Perl script to show the current playlist, similar to how it was shown before mpc 0.18.
  • Mpdalbum - a shell script able to automatically fill your playlist with full albums and with some other nice features.
  • - Slightly alter the frequency that certain artists/albums/songs are played within an otherwise completely random playlist.
  • mpdNextAlbum - Jump to next or prev album (nice for remote control).
  • mpdpss (MPD Playlist Saver n' Switcher) - It will remember the last played song for each of your playlists. Can be controled via GUI, TUI, CLI, dmenu and wimenu.
  • mppledit - Playlist editor that uses your $EDITOR to manipulate the playlist.
  • mpdpl2html - a very simple shell script which creates a HTML file of your current playlist.
  • mpd-pruner - A small script to remove duplicate songs from your playlist.
  • mpd_random_playlist - Adds a number of files from the playlist to MPD.
  • rmprev - Removes previously played song from playlist. (obsoleted by consume mode)
  • prev-title - Skips to the previous title if playtime of currently playing title lower than 10 s (time adjustable in script) else it seeks to begin of currently playing title (same behavior like < MPD v0.16).
  • podcast-bounce - Provide a static URL to the top-most entry of podcasts or m3u/pls/asx playlists.
  • ralbumd - Simple C daemon that polls mpd and plays a random album when the current playlist is finished.
  • streammpc - A script that passes a playlist (m3u or pls formats currently supported) to a user selected choice between a local player and a remote MPD server.
  • mpdrandomd - A simple python daemon that lively enqueues single songs or entire albums (marked as "norandom") to the current playlist. Contains a script to complete the playlist with the end of the album after the current song.
  • mpdshuf - This moves songs randomly in your playlist. Might be useful as a "quick Shuffle" button.
  • - This script picks a random album from the current playlist. Can run as a daemon, selecting a random album from the playlist at the end of the current album (similar to amarok's album-shuffle mode) Daemon mode seems NOT to work on some systems anymore!
  • - A script that allows you to creates smart playlists, using various criteria to match track attributes (available matchers are regex, timestamp and time-delta).
  • - Pure-perl script to add random album to playlist. Prior to that it asks user for confirmation and gives opportunity to change either artist or just album.
  • - Perl script that adds a random album to the playlist or clear the playlist and play a random album. Can also monitor the playlist and add a random album when the last song in the playlist is reached.

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki