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 disc ID to the database and gathers ISRCs and the MCN (=UPC/EAN) from disc.
The interface of this library is new, but the disc ID algorithm and the operating system dependent CD-ROM/DVD-ROM access code have been ported from libmusicbrainz version 2.
libdiscid is licensed under the GNU Lesser General Public License 2.1 or later.
- libdiscid-0.5.2.tar.gz (347K)
- ChangeLog (GitHub)
The "read" feature can create an ID from a disc in the drive. Generic platform support was added in 0.4.0 and can only generate disc IDs with put() (without drive access). Put is also available for every platform where read is available. Only versions where new feature/platform support is implemented are listed.
- Ruby - ruby-discid
- Perl - http://search.cpan.org/dist/MusicBrainz-DiscID/ (GitHub)
- Haskell - Hackage (GitHub)
- .NET/Mono - dotnet-discid
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)
- User:PBryan/mbdiscid, an alternative in Perl