libdiscid
Products > libdiscid
libdiscid is a C library for creating MusicBrainz and freedb Disc IDs from audio CDs. It reads a CD's table of contents (TOC) and generates an identifier which can be used to lookup the CD at MusicBrainz. Additionally, it provides a submission URL for adding the DiscID to the database and gathers ISRCs and the MCN (=UPC/EAN) from disc.
The interface of this library is new, but the DiscID algorithm and the operating system dependent CD-ROM/DVD-ROM access code have been ported from libmusicbrainz version 2.
For more info about the interface read the API documentation. The repository is at Github and bugs should be reported at the MusicBrainz Bugtracker.
libdiscid is licensed under the GNU Lesser General Public License 2.1 or later.
Download
Source code:
- libdiscid-0.4.1.tar.gz (356K)
Compiled packages:
- libdiscid-0.4.0-win32.zip (424K)
- libdiscid-0.4.0-mac.zip (441K)
Changes:
- ChangeLog (github)
Language Bindings
- Ruby - mb-discid
- Perl:
- http://search.cpan.org/dist/MusicBrainz-DiscID/ (GitHub)
- User:PBryan/mbdiscid, no binding but a rewrite in Perl
- Java:
- Python:
- python-discid a Binding for Python 2 and 3
- PythonMusicBrainz2, this is not a direct wrapper, but contains functions to access libdiscid using its own API
- Haskell - Hackage (GitHub)
Tools based on Libdiscid
- ISRC#Resources, many ISRC submit tools are based on libdiscid or one of the bindings and can be used to add disc IDs and ISRCs.
- Picard uses libdiscid to calculate the disc ID (lookup by CD)