Dec 11, 2010 Video Soft Dev Converter is also a batch edit video metadata program that comes with powerful video editing and metadata editing features. This program developed for editing the videos, and then metadata editing is part of this software. This batch edit video metadata program is only available for Windows computers, so that you can use it on. This module tries to make retrieving audio fingerprints and metadata for unknown audio files as easy as possible. It interfaces with the modules Audio::Ofa and WebService::MusicBrainz, provides a simple LWP based interface to the MusicDNS library, and can make use of Audio::Extract::PCM to read some popular music formats. Appropriate metadata for the audio program being created. The resulting audio program, together with metadata, is encoded as Dolby E and sent to the television station via fiber, microwave, or other transmission link. At the receiving end of this transmission, the Dolby E stream is decoded back to baseband audio and metadata. The audio program and the metadata are monitored, altered, or re-created as other. Good or bad, this reality makes Metadata a solid freeware program since it focuses solely on making your metadata editing tasks easier. Metadata is a Windows system that offers a smooth interface and fast editing. Metadatics is a powerful and advanced audio metadata editor. It supports batch editing of most common audio file types including MP3, M4A, AIFF, WAV, FLAC, APE, OGG, WMA, and more. Lookup metadata from online sources, rename files based on metadata, or manipulate metadata using one of the many built in functions.
This is a list of applications that have MusicBrainz support built in:
- 3Taggers
Media players and centers
- Aural Player
- An audio player for macOS, inspired by Winamp for Windows. Can retrieve cover art from MusicBrainz for tracks that don't have it embedded.
- Cloudtunes
- A free and open source web-based music player that unify between music stored in cloud (Youtube, DropBox, etc) and uses MusicBrainz data for music metadata.
- Jellyfin
- An open-source media server software which uses MusicBrainz to get several musical metadata especially about Artists, their ids, biographies(if it's available), songs/productions etc.
- kJams Karaoke
- A cross-platform karaoke jukebox / media library / tagger / Ripper, and rotation management system that rips, plays, and burns Audio CDs, and CD+G / MP3+G (Karaoke), and plays most multimedia files. Built in Music stores for streaming / purchase. Uses MusicBrainz data for looking up metadata.
- Kodi
- Kodi is a cross-platform software media center for playing videos, music, pictures, games, and more. It uses MusicBrainz to improve its music experience.
- Lightweight Music Server
- LMS is a self-hosted music streaming software using MusicBrainz identifiers to handle duplicated artist and release names. Submits listens to ListenBrainz and pulls acoustic data from AcousticBrainz as part of its music discovery feature.
- Plex
- Plex is a cross-platform media center, using MusicBrainz data to improve its music experience.
- SonicStreamer
- Media streaming software that allows you to access you music from anywhere else. Supports MusicBrainz for getting an showing additional data about the music in the library (since version 2.4).
- Tauon Music Box
- An Audio Player for Linux putting the emphasis on playlists and importing from remote sources. Can fetch cover art from MusicBrainz and Fanart.tv plus submit listens to ListenBrainz and/or Last.fm
- Tuneify
- A music app that uses Youtube API for song play and MusicBrainz data for information/metadata.
- VLC media player
- A free and open source cross-platform multimedia player that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols. Uses MusicBrainz data for looking up information/metadata as well as cover art from Cover Art Archive.
Media libraries
The following music library managers can tag your files with MusicBrainz data:
- Amarok
- Amarok is a music player for KDE. It supports many multimedia frameworks (like GStreamer, XINE, and aRts) to play music media and streams, and features a fresh and efficient approach to playlist handling. The emphasis is on the quick and easy user interface, allowing for fast access to the media library. Amarok versions 1.1 through 1.4.x supported lookups via MusicBrainz [1], and versions starting from 2.4 support it again [2].
- AudioExpert
- AudioExpert is a Music Organizer Software to tidy, manage, clean up, align, sort, join/merge, and organize music archives resp. music libraries. Supported formats are MP3, MP4, M4A, WMA, OGG, FLAC, MPC, WAV and AAC.
- Banshee
- Banshee is an audio management and playback application for the GNOME Desktop, allowing users to import audio from CDs, search their library, create playlists of selections of their library, sync music to/from iPods, and burn selections to a CD.
- beets
- beets is a flexible command-line music library manager written in Python. It includes a tag corrector and album art downloader that use MusicBrainz as their backend.
- Clementine
- Clementine is a multiplatform music player. It is inspired by Amarok 1.4, focusing on a fast and easy-to-use interface for searching and playing your music.
- foobar2000
- foobar2000 is an advanced freeware audio player for the Windows platform. Some of its features include full unicode support, ReplayGain support and native support for several popular audio formats. Support for MusicBrainz has been added with MusicBrainzTagger and it can use MusicBrainz data to tag media files and audio CDs.
- MediaMonkey
- MediaMonkey is a media management library with features like identifying tracks and tagging music. It has a Musicbrainz Tagger addon which serves the purpose of identifying tracks using data sourced from the MusicBrainz database.
- Mixxx
- Mixxx is free DJ software for Windows, Mac OS X and Linux. It currently supports getting information from MusicBrainz.

- MusicBee
- MusicBee is a MusicBee is a free digital media player and media library application for organizing and playing audio on Microsoft Windows operating systems using the BASS Audio Library [3].
- Quod Libet
- Quod Libet is an open-source, free and cross-platform(Linux, Windows, MacOS) audio player as well as a tag editor. Among its over 60 plugins, there is one which permits automatic tagging using MusicBrainz. Supported formats include: MP3, Ogg Vorbis / Speex / Opus, FLAC, Musepack, MOD/XM/IT, Wavpack, MPEG-4 AAC, WMA, MIDI, Monkey’s Audio.
- Rhythmbox
- Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
- Strawberry Music Player
- Strawberry Music Player is a music player and music collection organizer which uses MusicBrainz to get album cover arts and several musical metadata such as artist ids, song ids, album ids etc.
Taggers
The following taggers will tag your music files with MusicBrainz data:
Official
- MusicBrainz Picard
- MusicBrainz Picard is a cross platform (Linux, Mac OS X, Windows) album oriented MusicBrainz tagger with support for acoustic fingerprinting of MP3, WAV, Ogg Vorbis, FLAC, MPC, MP4 and WMA formats.
Affiliated taggers
- AudioRanger
- AudioRanger is a music tagger designed to automatically identify and organize audio files and entire music collections. It supports all commonly used audio file formats. A feature-rich free version is available. AudioRanger is a part of the Tagger Affiliate Program and pays 10% of every purchase to MusicBrainz.
- Mp3tag
- Mp3tag is a powerful and yet easy-to-use tool to edit metadata (ID3, Vorbis Comments and APE) of common audio formats. It can rename files based on the tag information, replace characters or words from tags and filenames, import/export tag information, create playlists and more. The program supports online, freedb database lookups for selected files, allowing you to automatically gather proper tag information for select files or CDs. Mp3tag is a part of the Tagger Affiliate Program and pays 10% of every purchase to MusicBrainz.
- Yate Music Tagger
- Yate Music Tagger is a Mac OS X based tagger for mp3, m4a, FLAC and AIFF files. Supports MusicBrainz, Discogs and integration with iTunes. Actions providing scripting can be run interactively or in a batch mode. Yate Music Tagger is a part of the Tagger Affiliate Program and pays 10% of every purchase to MusicBrainz.
Other taggers
- Flactag
- Flactag is a Linux console based tagger for single album FLAC files with embedded CUE sheets. The tags are downloaded from the MusicBrainz service and can be written to the FLAC file as Vorbis comments. Once tagged, the file can be renamed based on a 'template' naming scheme.
- ID3 renamer
- ID3 renamer is a free, intuitive program for the renaming of files and ID3 tags. It can rename a large number of files in a directory accordingly to their ID3 description and a given 'formula' (e.g. (%Track) %Artist - %Title), remove the diacritics and clean portions of the ID3 tag. The program searches through freedb for identical albums and MusicBrainz by album name, artist and number of tracks.
- Kid3
- Kid3 is a cross-platform free audio tagger. It imports album data from many sources, most notably from gnudb.org, TrackType.org, MusicBrainz, Discogs and Amazon.
- Kitsune
- kitsune is a free player/tagger for Japanese and Russian music. It supports MusicBrainz lookup for artists and recordings, and will only scrobble to last.fm if a correct name was found in MusicBrainz. It will use chromaprint to identify music from a Japanese web radio station or anime related music.
- Jaikoz
- Jaikoz is a powerful tagger available for macOS, Windows and Linux making use of MusicBrainz, Discogs and AcoustId.
- Metadatics
- Metadatics is a powerful audio metadata editor for macOS which supports several file types, including but not limited to, MP3, M4A, AIFF, WAV, FLAC, APE, OGG, WMA. It uses MusicBrainz to search for tags.
- Metatogger
- Metatogger is a tag editor allowing you to rename, tag and easily sort your MP3, FLAC, Ogg Vorbis, WMA and M4A files. Metatogger permits automatic tagging using data from the Musicbrainz platform or using Acoustid acoustic fingerprint technology. Covers can be found via the Cover Art Archive.
- Puddletag
- Puddletag is an audio tag editor that is primarily created for GNU/Linux. It uses a spreadsheet-like layout so that all the tags are visible and easily editable. Puddletag imports tag information from online databases like freedb, Discogs, MusicBrainz AcoustID and Amazon (also by text-search).
- SongKong
- SongKong prides itself as an intelligent music tagger application. SongKong is simple and powerful at the same time and it can help you manage, organize and clean up your digital music collection. SongKong uses intelligent acoustic matching from Acoustid to find song matches in a case of no information. SongKong uses their JThink Music Server, which is regularly updated from the MusicBrainz and Discogs databases to serve you song matches depending on the information available. It is available for MacOS, Windows, Linux and Docker supporting devices such as Synology Intel Disk Stations.
- TagEditor
- Tag Editor is a tag editor allows you to easily batch tagging MP3, AIFF, WAV, FLAC, MP4, M4A files and renaming audio files through a handy spreadsheet. The program supports the users to easily download music metadata and artworks from AcoustID, MusicBrainz and Cover Art Archive. It is available for MacOS only.
- TagScanner
- TagScanner helps one edit tags of most modern audio formats, supports ID3v1/v2, Vorbis comments, APEv2, WMA and MP4(iTunes) tags. The user has the liberty to get album info and download covers through online databases such as freedb, Discogs or MusicBrainz. The software is available on Windows in over a dozen languages.
- TigoTago
- TigoTago is a spreadsheet-based tag editor for media files, using MusicBrainz to lookup CD album information. There is a tutorial available showing how to use it with MusicBrainz as the data source.
- Zortam Mp3 Media Studio
- Zortam Mp3 Media Studio is an all-in-one MP3 application suite. It has several modules including a MP3 Auto Tagger, and supports MusicBrainz as a data source.
CD rippers
The following programs will rip your CDs and use MusicBrainz to tag the new files:
- abcde
- 'A better CD encoder', a command line ripper for *nix, can be configured to use MusicBrainz.
- CUERipper
- CUERipper is an open-source CD Ripper for Windows. It supports MusicBrainz.
- cyanrip
- cyanrip is a command-line interface audio CD ripper that focuses on accuracy over speed and offers many advanced features without any bloat. Supports AccurateRip and MusicBrainz.
- dBpoweramp CD Ripper
- dBpoweramp CD Ripper is a secure CD ripper for Windows and OS X. It supports MusicBrainz.
- Exact Audio Copy
- Exact Audio Copy (EAC) is a secure CD ripper for Windows. It comes bundled with a MusicBrainz plugin for automated CD lookups as well as a CueTools DB Metadata Plugin which can fetch album metadata from MusicBrainz.
- Express Rip
- Express Rip is a CD ripping program for Windows that lets you extract digital audio tracks directly from audio CDs to mp3 or wav audio files. It uses MusicBrainz as its source for getting metadata about releases. Here is how it works.
Audiobook Metadata Program Online
- EZ CD Audio Converter
- EZ CD Audio Converter is a multi-language CD ripper, audio converter, metadata editor and disc burner. It supports MusicBrainz.
- Sound Juicer
- Sound Juicer is a clean, mean, and lean CD ripper for GNOME 2. It sports a clean interface and simple preferences, aiming to do The Right Thing and What You Mean all of the time. It requires GNOME 2.14 and GStreamer 0.10. Sound Juicer is shipped with Ubuntu.
- X Lossless Decoder
- X Lossless Decoder (XLD) is a tool for Mac OS X that is able to decode/convert/play various 'lossless' audio files. The supported audio files can be split into some tracks with cue sheet when decoding. It works on Mac OS X 10.4 and later.
- whipper
- whipper is a fork of morituri (see above), a powerful command line ripper for *nix aiming at creating precise audio rips. It uses MusicBrainz as its sole source for release metadata.
Mobile Apps
- Album Art Grabber
- Album Art Grabber is an app that downloads missing album art from last.fm and MusicBrainz for your albums. It has a built-in media scanner, custom searches by artist or album and does auto-lookups of album art when a new album is added.
- Catchy
- Catchy allows you to recommend movies, series, books and music with your friends. You will also know if your interests are similar and you will be able to track what you've seen and what not. Catchy integrates MusicBrainz and CoverArtArchive in its application to perform its services.
- nusic
- nusic is an app to notify you about new releases of the artists of tagged songs on your phone. It makes periodic requests to MusicBrainz to check if new releases have been added.
- ACCESSORS
- METHODS
Audio::Ofa::Util - Retrieve audio fingerprints and metadata for unknown audio files
This module tries to make retrieving audio fingerprints and metadata for unknown audio files as easy as possible. It interfaces with the modules Audio::Ofa and WebService::MusicBrainz, provides a simple LWP based interface to the MusicDNS library, and can make use of Audio::Extract::PCM to read some popular music formats.
The most comprehensive way to use this is to start with a (possibly untagged) file name and get full metadata:
To create an audio fingerprint:
To create a fingerprint and look it up at MusicDNS:
To look up a known fingerprint at MusicDNS (you need the length of the song, too):
The overall process goes like this:
We create an audio fingerprint, which stores some characteristics of a recording in a rather small amount of data. This is what libofa (and the Perl binding in Audio::Ofa) does. This module (Audio::Ofa::Util) faciliates this with 'analyze_file' by allowing to fingerprint some widely used music formats and storing the results so they can be used for the next steps:
The audio fingerprint is submitted to the MusicDNS web service. Using a proprietary fuzzy algorithm and their database, they determine which song we have at hand. MusicDNS returns some metadeta: The artist, the song title, and a PUID. This 'portable unique identifier' is an arbitrary index into their database and is unique for every recording of a given song.
Note that while libofa's audio fingerprints may change after transformations of a recording (such as lossy audio compression or radio transmission), the fuzzy algorithm will (ideally) still find the same PUID.
Because we usually want to know more than the artist and title, we look up the PUID in a second Web Database called MusicBrainz. It provides us with all desired metadata such as all the albums the song has appeared on in this particular version, and the respective track numbers.
This module provides a basic MusicBrainz PUID lookup through 'musicbrainz_lookup'. If you want to know even more (such as members of the band and the previous bands of those members), you can use WebService::MusicBrainz, to which this module provides an easy frontend.
filename
See 'analyze_file'.
fingerprint, duration
See 'analyze_file' and 'musicdns_lookup'.
client_id, client_version, metadata, bitrate, extension, artist, title, album, track, genre, year, puids
See 'musicdns_lookup'.
Note that puids accesses an array reference. If it is not defined or not set, it means that no PUID has been looked up yet. If it is an empty array, it means that no PUIDs were found.
error
Description of the last error that happened.
new
Constructor. Accepts key-value pairs as initializers for all of the fields, c.f. 'ACCESSORS', but currently only the following calls make sense:
analyze_file
This creates an Audio Fingerprint of a sound file. The audio file is read using Audio::Extract::PCM, which currently uses the extarnal 'sox' program and supports encodings such as MP3, Ogg/Vorbis and many others.
You must set filename before calling this method.
The fingerprint is calculated by ' ofa_create_print' in Audio::Ofa , and the fingerprint field of the object will be set. Additionally, the duration (in milliseconds) and the extension will be set to the values provided by the file name.
In case of an error, an empty list is returned and the error message can be retrieved via 'error'. Otherwise, a true value will be returned.
musicdns_lookup
This looks up a track at the MusicDNS web service.
To do a fingerprint lookup, the keys fingerprint and duration must be present, where duration is the length of the song in milli seconds. Additionally, the following fields (defaults in parentheses) will be sent to the MusicDNS service:
client_id (hardcoded client id), client_version (module name and version), fingerprint, metadata (1), bitrate (0), extension ('unknown'), duration, artist ('unknown'), title ('unknown'), album ('unknown'), track (0), genre ('unknown'), year (0).
To do a fingerprint lookup, fingerprint and duration must have been set (can be given to 'new'), where duration is the song length in milli seconds.
If fingerprint hasn't been set, 'analyze_file' is called implicitly.
client_id defaults to a hard-coded Client ID. You can get your own from http://www.musicip.com.
You should set as much of the above-mentioned metadata (like artist, etc.) as you have available, because the MusicDNS terms of service require this in order to help clean errors in their database.
In the case of an error, musicdns_lookup returns an empty list and the error message can be retrieved with the 'error' method.
In the case of success, musicdns_lookup sets the fields puids to the found PUIDs, and sets the fields artist and title to the first of the found values, and returns a true value. In list context, it returns a list of objects which have artist, title and puid methods.
musicbrainz_lookup
This looks up a PUID at MusicBrainz. The PUID can come from a call to 'musicdns_lookup'. In fact this is implicitly done if there is no PUID stored in the object (cf. 'SYNOPSIS').
This returns a list of WebService::MusicBrainz::Response::Track objects on success, or the first of them in scalar context. Otherwise it returns an empty list and the error message can be retrieved via the 'error' method.
This method returns a list of tracks or the first track in scalar context. The tracks are represented as objects that are guaranteed to have the methods artist, title, album, track and wsres, where the latter is an WebService::MusicBrainz::Response::Track object, and the four former return values that have been retrieved from that object for your convenience.
In the case of an error, an empty list is returned and the error can be returned via the 'error' method.
MusicBrainz::Client - A client for the old MusicBrainz web service
MusicBrainz::TRM - Obsolete TRM-based audio fingerprinting library
tunepimp - C library which does pretty much everything that this module does. It even includes Perl bindings, but as of this writing, they don't compile in the current tunepimp version and only support the old TRM fingerprints.
http://www.musicdns.org - Web site of the MusicDNS web service as provided by MusicIP
http://www.musicbrainz.org - Web site of MusicBrainz
http://wiki.musicbrainz.org/HowPUIDsWork - How PUIDs work
This module is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation (http://www.fsf.org/); either version 2 of the License, or (at your option) any later version.
The GPL, which is quite restrictive (when compared to LGPL or Artistic), seems to be necessary because of libofa's licenses, but IANAL and if you need a license change please contact me.
Audiobook Metadata
Please note that in addition to the license which allows you to use this software, the MusicDNS web service has its own terms of service. The most important fact is that you can use it for free unless you use it commercially. See http://www.musicdns.org for more information. You are encouraged to register your own client id (for free) if you build a client on top of this module.
Christoph Bussenius (pepe at cpan.org)
Please mention the module's name in the subject of your mails so that they will not be lost in the spam.
Audiobook Metadata Program Reviews
If you find this module useful I'll be glad if you drop me a note.