# Quod Libet (software)

Quod Libet is a cross-platform free and open-source audio player, tag editor and library organizer. The main design philosophy is that the user knows how they want to organize their music best; the software is therefore built to be fully customizable and extensible using regular expressions and boolean logic. Quod Libet is based on GTK and written in Python, and uses the Mutagen tagging library.
Quod Libet is very scalable, able to handle libraries with tens of thousands of songs. It provides a full feature set including support for Unicode, regular expression searching, key bindings to multimedia keys, fast but powerful tag editing, and a variety of plugins.
Quod Libet is available on most Linux distributions, macOS and Windows, requiring only PyGObject, Python, and an Open Sound System (OSS), ALSA or JACK compatible audio device. The XFCE desktop ISO image provided by the Debian project installs Quod Libet as the default audio player.
Quod Libet's tag-editing and library organization features are also available through a standalone program, Ex Falso, which is based on the same code and libraries as Quod Libet.

## Features
### Audio playback

* Can deal with various audio back-ends via the plug-in architecture of GStreamer
* Supports ReplayGain with smart selection based on either a single track or full album, based on the current view and play order
* 'Real' shuffle mode- entire playlist played before repeating
* Ratings weighted random playback setting
* Configurable play queue

### Tag editing

* Complete Unicode support
* Changes to multiple files at once, even if files are in different formats
* Ability to tag files based on filenames with fully configurable formats
* Customizable renaming of files based on their tags and a user-supplied format
* Human readable tag references, e.g. <artist> or <title> rather than %a or %t, with support for "if not-null x else y" logic (e.g. <albumartist|albumartist|artist>)
* Fast track renumbering
* Add / edit bookmarks within files

### Audio library

* Audio Feeds / Podcast support
* Authenticated SoundCloud support
* Can save play counts
* Can download and save lyrics
* Fast refreshing of the entire library based on changed files
* Internet Radio / SHOUTcast support
* Configurable song rating

### User interface

* Configurable interface to suit user preferences; Pango markup is used so that the user can display tags in any way desired in the player
* Launch additional "browsers" to keep different or multiple views on the library
* Drag-n-drop support throughout the interface.
* Tray icon with full player control
* Automatically recognize and display tags from many uncommon tags
* Customisable Aggregation across albums or playlists (min, max, average, sum, Bayesian average)
* Multiple ways to browse the library:
** Progressive search - the library is filtered as searches are typed
** Queries support boolean logic, numerical / date-based expressions, regular expressions, and synthetic tags, that are derived internally (e.g. play count, rating, inclusion in a playlist).
** Playlists with integration throughout the player
** Paned browser, using any fully customizable tags (e.g. genre, date, album artist...), allowing the user to [drill down] through their library as they prefer
** View by album list with cover art
** View by file-system directory, which includes songs not in your library

### File formats

Include MP3, Ogg Vorbis, Opus, FLAC, ALAC, Musepack, MOD/XM/IT, WMA, Wavpack, MPEG-4 AAC

### Unix-like control and query mechanisms

* Status information is available from the command line
* Control of the player using a named pipe (FIFO) is possible
* Text-based files available with current song information

### Plugins

Quod Libet is currently bundled with over 80 Python-based plugins, including:
* Automatic tagging via MusicBrainz and CDDB
* Download and preview album art from a variety of online sources
* On-screen display pop-ups
* Last.fm/AudioScrobbler submission
* Tag character encoding conversion
* Intelligent title-casing of tags
* Finding duplicate or near-duplicate songs across the entire library
* Scan and save Replay Gain values across multiple albums at once (using GStreamer)
* D-Bus-based Multimedia Shortcut Keys
* Integrate with Sonos systems and Logitech Squeezebox
* Export playlists to common formats (PLS, M3U, XSPF)
* Publish to MQTT queues