mpd.conf.5 15.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
.TH mpd.conf 5
.SH NAME
mpd.conf \- Music Player Daemon configuration file
.SH DESCRIPTION
\fBmpd.conf\fP is the configuration file for mpd(1).  If not specified on the
command line, MPD first searches for it at \fB~/.mpdconf\fP and then in
\fB/etc/mpd.conf\fP.

Lines beginning with a "#" character are comments.  All other non-empty lines
specify parameters and their values.  These lines contain the parameter name
and parameter value (surrounded by double quotes) separated by whitespace
(either tabs or spaces).  For example:

parameter "value"

The exception to this rule is the audio_output parameter, which is of the form:

audio_output {
.br
        parameter1 "value"
        parameter2 "value"
.br
}

Parameters that take a file or directory as an argument should use absolute
paths.

See \fBdocs/mpdconf.example\fP in the source tarball for an example
configuration file.
.SH REQUIRED PARAMETERS
.TP
.B music_directory <directory>
This specifies the directory where music is located.
.TP
.B playlist_directory <directory>
This specifies the directory where saved playlists are stored.
.TP
.B db_file <file>
This specifies where the db file will be stored.
.TP
.B log_file <file>
This specifies where the log file should be located.
.TP
.B error_file <file>
This specifies where the error file should be located.
46
.SH OPTIONAL PARAMETERS
47 48 49 50 51 52 53 54 55 56
.TP
.B pid_file <file>
This specifies the file to save mpd's process ID in.
.TP
.B state_file <file>
This specifies if a state file is used and where it is located.  The state of
mpd will be saved to this file when mpd is terminated by a TERM signal or by
the "kill" command.  When mpd is restarted, it will read the state file and
restore the state of mpd (including the playlist).
.TP
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
.B user <username>
This specifies the user that mpd will run as, if set.
.TP
.B bind_to_address <ip address or hostname or any>
This specifies which address mpd binds to and listens on.  Multiple
bind_to_address parameters may be specified.  The default is "any", which binds
to all available addresses.
.TP
.B port <port>
This specifies the port that mpd listens on.  The default is 6600.
.TP
.B log_level <default, secure, or verbose>
This specifies how verbose logs are.  "default" is minimal logging, "secure"
reports from what address a connection is opened, and when it is closed, and
"verbose" records excessive amounts of information for debugging purposes.  The
default is "default".
.TP
74
.B zeroconf_enabled <yes or no>
75 76
If yes, and MPD has been compiled with support for Avahi or Bonjour, service
information will be published with Zeroconf.  The default is yes.
77
.TP
78
.B zeroconf_name <name>
79 80 81
If Zeroconf is enabled, this is the service name to publish.  This name should
be unique to your local network, but name collisions will be properly dealt
with.  The default is "Music Player".
82
.TP
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
.B password <password@permissions>
This specifies a password for access to mpd.  The format is
"password@permissions" where permissions is a comma delimited list composed
of "read", "add", "control", and/or "admin".  "read" allows for reading of the
database, displaying the current playlist, and current status of mpd.  "add"
allows for adding songs and loading playlists.  "control" allows for all other
player and playlist manipulations.  "admin" allows the db to be updated and for
the client to kill mpd.  An example value is "somePassword@read,add".  Multiple
password parameters may be specified.
.TP
.B default_permissions <permissions>
This specifies the permissions of a client that has not been authenticated
using a password.  The format of permissions is specified in the description of
the "password" config parameter.  If no passwords are specified, the default is
"read,add,control,admin", otherwise it is "" (no permissions).
.TP
99
.B audio_output
100
See \fBDESCRIPTION\fP and the various \fBAUDIO OUTPUT PARAMETERS\fP sections
101 102 103
for the format of this parameter.  Multiple audio_output sections may be
specified.  If no audio_output section is specified, then MPD will scan for a
usable audio output.
104 105 106 107 108 109 110 111
.TP
.B audio_output_format <sample_rate:bits:channels>
This specifies the sample rate, bits per sample, and number of channels of
audio that is sent to each audio output.  Note that audio outputs may specify
their own audio format which will be used for actual output to the audio
device.  An example is "44100:16:2" for 44100Hz, 16 bits, and 2 channels.  The
default is to use the audio format of the input file.
.TP
112
.B samplerate_converter <integer or prefix>
113 114 115 116 117
This specifies the libsamplerate converter to use.  The supplied value should
either be an integer or a prefix of the name of a converter.  The default is
"Fastest Sinc Interpolator".

At the time of this writing, the following converters are available:
118
.RS
119
.TP
120 121 122
Best Sinc Interpolator (0)

Band limited sinc interpolation, best quality, 97dB SNR, 96% BW.
123
.TP
124 125 126
Medium Sinc Interpolator (1)

Band limited sinc interpolation, medium quality, 97dB SNR, 90% BW.
127 128
.TP
Fastest Sinc Interpolator (2)
129 130

Band limited sinc interpolation, fastest, 97dB SNR, 80% BW.
131
.TP
132 133
ZOH Interpolator (3)

134 135 136
Zero order hold interpolator, very fast, very poor quality with audible
distortions.
.TP
137 138 139 140
Linear Interpolator (4)

Linear interpolator, very fast, poor quality.
.RE
141 142 143
.IP
For an up-to-date list of available converters, please see the libsamplerate
documentation (available online at <\fBhttp://www.mega-nerd.com/SRC/\fP>).
144
.TP
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
.B mixer_type <oss, alsa or software>
This specifies which mixer to use.  The default depends on what audio output
support mpd was built with.
.TP
.B mixer_device <mixer dev>
This specifies which mixer to use.  The default for oss is "/dev/mixer"; the
default for alsa is "default".
.TP
.B mixer_control <mixer ctrl>
This specifies which mixer control to use (sometimes referred to as the
"device").  Examples of mixer controls are PCM, Line1, Master, etc.  An example
for OSS is "Pcm", and an example for alsa is "PCM".
.TP
.B replaygain <album or track>
If specified, mpd will adjust the volume of songs played using ReplayGain tags
(see <\fBhttp://www.replaygain.org/\fP>).  Setting this to "album" will adjust
volume using the album's ReplayGain tags, while setting it to "track" will
adjust it using the track ReplayGain tags.  Currently only FLAC, Ogg Vorbis,
Musepack, and MP3 (through ID3v2 ReplayGain tags, not APEv2) are supported.
.TP
.B replaygain_preamp <-15 to 15>
This is the gain (in dB) applied to songs with ReplayGain tags.
.TP
.B volume_normalization <yes or no>
If yes, mpd will normalize the volume of songs as they play.  The default is no.
.TP
171
.B audio_buffer_size <size in KiB>
172 173
This specifies the size of the audio buffer in kibibytes.  The default is 2048,
large enough for nearly 12 seconds of CD-quality audio.
174 175
.TP
.B buffer_before_play <0-100%>
176 177
This specifies how much of the audio buffer should be filled before playing a
song.  Try increasing this if you hear skipping when manually changing songs.
178 179
The default is 10%, a little over 1 second of CD-quality audio with the default
buffer size.
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
.TP
.B http_buffer_size <size in KiB>
This specifies the size of the buffer used for playing HTTP streams.  The
default is 128.
.TP
.B http_prebuffer_size <size in KiB>
This specifies how much of an HTTP stream should be buffered before beginning
playback.  The default is 32.
.TP
.B http_proxy_host <hostname>
Use to specify the proxy host used for HTTP connections.
.TP
.B http_proxy_port <port>
The port that the HTTP proxy host uses.
.TP
.B http_proxy_user <username>
If the HTTP proxy server requires authentication, this specifies the username.
.TP
.B http_proxy_password <password>
If the HTTP proxy server requires authentication, this specifies the password.
.TP
.B connection_timeout <seconds>
If a client does not send any new data in this time period, the connection is
closed.  The default is 60.
.TP
.B max_connections <number>
This specifies the maximum number of clients that can be connected to mpd.  The
default is 5.
.TP
209 210 211 212
.B max_playlist_length <number>
This specifies the maximum number of songs that can be in the playlist.  The
default is 4096.
.TP
213 214 215 216 217 218 219
.B max_command_list_size <size in KiB>
This specifies the maximum size a command list can be.  The default is 2048.
.TP
.B max_output_buffer_size <size in KiB>
This specifies the maximum size of the output buffer to a client.  The default
is 8192.
.TP
220 221 222 223 224 225 226 227 228 229 230
.B filesystem_charset <charset>
This specifies the character set used for the filesystem.  A list of supported
character sets can be obtained by running "iconv -l".  The default is
determined from the locale when the db was originally created.
.TP
.B id3v1_encoding <charset>
This specifies the character set which ID3v1 tags are encoded in.  A list of
supported character sets can be obtained by running "iconv -l".  The default is
to let libid3tag convert them (from ISO-8859-1, as the standard specifies) and
do no additional conversion.
.TP
231 232 233 234 235
.B gapless_mp3_playback <yes or no>
This specifies whether to support gapless playback of MP3s which have the
necessary headers.  Useful if your MP3s have headers with incorrect
information.  If you have such MP3s, it is highly recommended that you fix them
using vbrfix (available from <http://www.willwap.co.uk/Programs/vbrfix.php>)
236 237
instead of disabling gapless MP3 playback.  The default is to support gapless
MP3 playback.
238 239 240 241 242
.TP
.B save_absolute_paths_in_playlists <yes or no>
This specifies whether relative or absolute paths for song filenames are used
when saving playlists.  The default is "no".
.TP
243
.B metadata_to_use <tags>
244
This specifies the tag types that will be scanned for and made available to
245 246 247 248 249 250 251
clients.  Note that you must recreate (not update) your database for changes to
this parameter to take effect.  Possible values are artist, album, title,
track, name, genre, date, composer, performer, comment, and disc.  Multiple
tags may be specified as a comma separated list.  An example value is
"artist,album,title,track".  The special value "none" may be used alone to
disable all metadata.  The default is to use all known tag types except for
comments.
252 253 254
.SH REQUIRED AUDIO OUTPUT PARAMETERS
.TP
.B type <type>
255 256
This specifies the audio output type.  See the list of supported outputs in mpd
--version for possible values.
257 258 259
.TP
.B name <name>
This specifies a unique name for the audio output.
260 261 262 263 264 265 266
.SH OPTIONAL AUDIO OUTPUT PARAMETERS
.TP
.B format <sample_rate:bits:channels>
This specifies the sample rate, bits per sample, and number of channels of
audio that is sent to the audio output device.  See documentation for the
\fBaudio_output_format\fP parameter for more details.  The default is to use
whatever audio format is passed to the audio output.
267 268 269
.SH OPTIONAL ALSA OUTPUT PARAMETERS
.TP
.B device <dev>
270
This specifies the device to use for audio output.  The default is "default".
271 272 273
.TP
.B use_mmap <yes or no>
Setting this allows you to use memory-mapped I/O.  Certain hardware setups may
274 275
benefit from this, but most do not.  Most users do not need to set this.  The
default is to not use memory-mapped I/O.
276 277 278 279 280 281 282 283 284 285 286 287 288 289
.TP
.B buffer_time <time in microseconds>
This sets the length of the hardware sample buffer in microseconds.  Increasing
it may help to reduce or eliminate skipping on certain setups.  Most users do
not need to change this.  The default is 500000 microseconds (0.5 seconds).
.TP
.B period_time <time in microseconds>
This sets the time between hardware sample transfers in microseconds.
Increasing this can reduce CPU usage while lowering it can reduce underrun
errors on bandwidth-limited devices.  Some users have reported good results
with this set to 50000, but not all devices support values this high.  Most
users do not need to change this.  The default is 256000000 / sample_rate(kHz),
or 5804 microseconds for CD-quality audio.
.SH OPTIONAL OSS OUTPUT PARAMETERS
290 291
.TP
.B device <dev>
292 293
This specifies the device to use for audio output.  The default is "/dev/dsp".
.SH OPTIONAL PULSE OUTPUT PARAMETERS
294
.TP
295
.B server <server list>
296 297 298
A space separated list of servers to try to connect to.  See
<\fBhttp://www.pulseaudio.org/wiki/ServerStrings\fP> for more details.  The
default is to let PulseAudio choose a server.
299 300
.TP
.B sink <sink>
301
The sink to output to.  The default is to let PulseAudio choose a sink.
302 303 304 305 306 307 308 309 310 311 312 313 314 315
.SH REQUIRED JACK OUTPUT PARAMETERS
.TP
.B name <name>
The client name to use when connecting to JACK.  The output ports <name>:left
and <name>:right will also be created for the left and right channels,
respectively.
.SH OPTIONAL JACK OUTPUT PARAMETERS
.TP
.B ports <left_port,right_port>
This specifies the left and right ports to connect to for the left and right
channels, respectively.  The default is to let JACK choose a pair of ports.
.TP
.B ringbuffer_size <size in bytes>
This specifies the size of the ringbuffer in bytes.  The default is 32768.
316
.SH OPTIONAL AO OUTPUT PARAMETERS
317
.TP
318
.B driver <driver>
319 320
This specifies the libao driver to use for audio output.  Possible values
depend on what libao drivers are available.  See
321 322 323 324 325
<\fBhttp://www.xiph.org/ao/doc/drivers.html\fP> for information on some
commonly used drivers.  Typical values for Linux include "oss" and "alsa09".
The default is "default", which causes libao to select an appropriate plugin.
.TP
.B options <opts>
326 327 328 329 330 331 332
This specifies the options to use for the selected libao driver.  For oss, the
only option available is "dsp".  For alsa09, the available options are: "dev",
"buf_size", and "periods".  See <\fBhttp://www.xiph.org/ao/doc/drivers.html\fP>
for available options for some commonly used drivers.  Options are assigned
using "=", and ";" is used to separate options.  An example for oss:
"dsp=/dev/dsp".  An example for alsa09: "dev=hw:0,0;buf_size=4096".  The
default is "".
333 334
.TP
.B write_size <size in bytes>
335 336 337
This specifies how many bytes to write to the audio device at once.  This
parameter is to work around a bug in older versions of libao on sound cards
with very small buffers.  The default is 1024.
338 339 340 341 342 343 344 345 346 347 348
.SH REQUIRED FIFO OUTPUT PARAMETERS
.TP
.B path <path>
This specifies the path of the FIFO to output to.  Must be an absolute path.
If the path does not exist it will be created when mpd is started, and removed
when mpd is stopped.  The FIFO will be created with the same user and group as
mpd is running as.  Default permissions can be modified by using the builtin
shell command "umask".  If a FIFO already exists at the specified path it will
be reused, and will \fBnot\fP be removed when mpd is stopped.  You can use the
"mkfifo" command to create this, and then you may modify the permissions to
your liking.
349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388
.SH REQUIRED SHOUT OUTPUT PARAMETERS
.TP
.B name <name>
This specifies not only the unique audio output name, but also the stream
title.
.TP
.B host <hostname>
This specifies the hostname of the icecast server to connect to.
.TP
.B port <port>
This specifies the port of the icecast server to connect to.
.TP
.B mount <mountpoint>
This specifies the icecast mountpoint to use.
.TP
.B password <password>
This specifies the password to use when logging in to the icecast server.
.TP
.B quality <quality>
This specifies the ogg encoding quality to use.  The value must be between 0
and 10.  Fractional values, such as 2.5, are permitted.  Either the quality or
the bitrate parameter must be specified, but not both.
.TP
.B bitrate <kbps>
This specifies the bitrate to use for encoding.  Either the quality or the
bitrate parameter must be specified, but not both.
.TP
.B format <sample_rate:bits:channels>
This specifies the sample rate, bits per sample, and number of channels to use
for encoding.
.SH OPTIONAL SHOUT OUTPUT PARAMETERS
.TP
.B user <username>
This specifies the username to use when logging in to the icecast server.  The
default is "source".
.TP
.B public <yes or no>
This specifies whether to request that the stream be listed in all public
stream directories that the icecast server knows about.  The default is no.
.TP
389 390 391 392
.B timeout <seconds>
This specifies the number of seconds to wait before giving up on trying to
connect to the icecast server.  The default is 2 seconds.
.TP
393 394 395 396 397 398 399 400 401 402 403 404 405 406
.B description <description>
This specifies a description of the stream.
.TP
.B genre <genre>
This specifies the genre(s) of the stream.
.SH FILES
.TP
.BI ~/.mpdconf
User configuration file.
.TP
.BI /etc/mpd.conf
Global configuration file.
.SH SEE ALSO
mpd(1), mpc(1)