Skip to content
script to submit ISRCs from disc to musicbrainz
Python Makefile TeX Other
Latest commit b2d5e24 May 6, 2016 @JonnyJD show cdrdao stderr in debug mode
cdrdao prints a banner on stderr
so we don't want to display stderr by default.
However, when an error occurs we do want to display
the actual error message.

closes #113
Failed to load latest commit information.
doc fix typo in manual Jun 4, 2015
pkg update and fix packaging for 2.0.1 Jun 6, 2015
test_data add test for cdrdao reading Oct 15, 2013
.gitignore add test for cdrdao reading Oct 15, 2013
AUTHORS update authors Jun 4, 2015
COPYING COPYRIGHT->COPYING, LGP or LATER Jan 21, 2013 transfer to README.rst Oct 15, 2013
README.txt transfer to README.rst Oct 15, 2013
isrcsubmit.bat use cp65001 ~ UTF-8 on windows, re #40 Dec 19, 2012 show cdrdao stderr in debug mode May 6, 2016 don't use python2 in Apr 2, 2013 Fix mocking Apr 19, 2015


Isrcsubmit 2.0.1 for MusicBrainz

This python script extracts ISRCs from audio CDs and submits them to MusicBrainz.

This script uses python-musicbrainzngs to access the MusicBrainz API and python-discid to create an identifier for the disc.

The script works for Linux, Mac OS X and Windows.


  • read ISRCs from disc
  • search for releases with the TOC of the disc
  • display release information from MusicBrainz
  • submit ISRCs
  • submit discIds / TOCs
  • duplicate ISRC detection (local and on server)


Usage: [options] [username] [device]

All arguments are optional. For detailed usage see: -h

Windows Usage:

Windows users should use:


Mac Usage:

Mac users should rather use:

This also works on Linux.

Duplicate ISRCs:

Some cd readers report the same ISRCs for different (adjacent) tracks. Others don't, for the same physical disc. For me my dvd writer worked better. On Windows the mediatools backend should give correct results either way.

Isrcsubmit checks for problems with duplicate ISRCs and prints a warning. You will always have the choice to cancel the submission if something seems to be wrong.

If the disc is known to MusicBrainz, additional information about it is fetched from MusicBrainz. If the disc is unknown, you will be given the chance to submit the ID to the server.


If you downloaded isrcsubmit as a zip package for your platform then you only need to extract that somewhere and start using it. You can also stop reading this section.

You can install using pypi with:

pip install isrcsubmit

This handles all python dependencies, but you still need to install libdiscid (before running pip).

The script itself does not need any installation, but "python install" might work for you. However, the backends and libraries should get installed so that the script has access to them.

On Linux you just install the above mentioneed dependencies with the package manager of your distribution. For Ubuntu all dependencies should be in the MusicBrainz Stable PPA, if not in the official repositories.

On Windows and Mac you have to put the musicbrainzngs folder of python-musicbrainzngs, discid of python-discid in the same directory as this script or adjust the python path. You also need to put discid.dll (Windows) and libdiscid.dylib.0 (Mac) into this location or in the PATH.

Additional information:

In order to submit ISRCs to you need to have a user acount. You can create an account at free of charge.

The core of the MusicBrainz dataset including the ISRC contributions is placed into the Public Domain.

For a documentation of the available backends please refer to the manual or the web page.

You might find additional information about this script at the MusicBrainz forums.


Please report bugs on GitHub.


GNU General Public License Version 3 or later

Something went wrong with that request. Please try again.