About MOC

What is MOC?

MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use.

You just need to select a file from some directory using the menu similar to Midnight Commander, and MOC will start playing all files in this directory beginning from the chosen file. There is no need to create playlists as in other players.

However if you want to combine some files from one or more directories on one playlist, you can still do it. The playlist will be remembered between runs or you can save it as an m3u file and load it whenever you want.

Need the console where MOC is running for more important things? Need to close the X terminal emulator? You don't have to stop listening to the music - just press q and the interface will be detached leaving the server running. You can reattach it later, or you can attach one interface in the console, and another in the X terminal emulator, no need to switch just to play another file.

MOC plays smoothly, regardless of system or I/O load because it uses the output buffer in a separate thread. It provides gapelss playback because the next file to be played is precached while the current file is playing.

Internet streams (Icecast, Shoutcast) are supported.

Key mapping can be fully customized.

Supported file formats include: MP3, Ogg Vorbis, FLAC, Musepack, Speex, WAV (and other less popular formats supported by Sndfile), MOD, WavPack, AAC, SID, MIDI. Moreover most audio formats recognized by FFMpeg/LibAV are also supported (e.g. MP4, Opus, WMA, APE, AC3, DTS - even embedded in video files). New formats support is under development.

Other features:

  • Mixer (both software and hardware) and simple equalizer
  • Color themes
  • Searching playlist or a directory
  • Configurable title creation from filenames and file tags
  • Optional character set conversion for file tags using iconv()
  • OSS, ALSA, JACK and SNDIO output
  • User defined keys
  • Cache for files' tags

The binary file is called mocp due to conflict with other program present on many systems.


  • John Fitzgerald (current maintainer): mocmaint _at_ daper _dot_ net
  • Damian Pietras (author of the original code): damianp _at_ daper _dot_ net
  • ... and many other contributors