Skip to main content

submit ISRCs from disc to MusicBrainz

Project description

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.

Features:

  • 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)

Dependencies:

Usage:

isrcsubmit.py [options] [username] [device]

All arguments are optional. For detailed usage see:

isrcsubmit.py -h

Windows Usage:

Windows users should use:

isrcsubmit.bat

Mac Usage:

Mac users should rather use:

isrcsubmit.sh

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.

“Installation”:

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 setup.py 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 musicbrainz.org you need to have a user acount. You can create an account at http://musicbrainz.org/register 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.

Bugs:

Please report bugs on GitHub.

License:

GNU General Public License Version 3 or later

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

isrcsubmit-2.1.0.tar.gz (49.8 kB view details)

Uploaded Source

File details

Details for the file isrcsubmit-2.1.0.tar.gz.

File metadata

  • Download URL: isrcsubmit-2.1.0.tar.gz
  • Upload date:
  • Size: 49.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.2

File hashes

Hashes for isrcsubmit-2.1.0.tar.gz
Algorithm Hash digest
SHA256 e6ac5308c665fb38b508fa1cad3cf077edc9b4d4fb32916d2621c8b9af93d248
MD5 04da7e339337d2317b2335e2de822c9d
BLAKE2b-256 a9cfbc0d85d52a0fb6735d02d8c6ccd7e852808e1d59370ebb741e22aa15558a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page