Skip to main content


Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: cyanrip CD ripper (Read 6832 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

cyanrip CD ripper


I recently wrote a program to rip CDs since there isn't a single decent multiplatform open source one out there.

Here's a link to the git repo:

  • Automatic tag lookup from the musicbrainz database
  • Encoded and muxed via FFmpeg (currently supports flac, opus, mp3, tta, wavpack, alac, vorbis and aac)
  • Drive offset compensation, error recovery via cd-paranoia
  • Able to encode to multiple formats simultaneously
  • Able to mux in cover images to mp3 and flac (soon in latest ffmpeg git) files

Has all the features you'd expect a program like this to have, with the addition it'll do musicbrainz lookup. The program generates identical rips to EAC for the CDs tested.
Unlike the gigantic overengineered existing python scripts out there this only depends on 4 common libraries. There is no GUI since there isn't a need for one. It'll compile fine on windows using MinGW according to @RiCON.

Re: cyanrip CD ripper

Reply #1
Here's a static 64-bit Windows build (VirusTotal scan) for whoever wants to try and test.
It was compiled from cyanrip's commit a20a934, using FFmpeg commit 2336c76b with these configure options, along with patched versions of libdiscid and libmusicbrainz in order to compile statically.

Example usage in Windows:
Code: [Select]
cyanrip -d F: -s 6 -c cover.jpg -o flac,opus
-d is required in Windows since the default /dev/sr0 is meant for Linux.
-s 6 corresponds to +6 drive read offset for my drive. cyanrip doesn't fetch it automatically.
-c cover.jpg will embed the coverart to the file if FFmpeg's muxer supports it (only mp3 for now).
-o flac,opus will rip and encode to a comma-separated list of codecs, along with tagging if the discID was found in Musicbrainz DB.

Re: cyanrip CD ripper

Reply #2
Hi, are you considering adding support for Accuraterip?
Quis custodiet ipsos custodes?  ;~)

Re: cyanrip CD ripper

Reply #3
Accuraterip checksums used to be calculated, but weren't done on the compensated CD data, so they were removed until someone fixed them.
They were readded now, along with EAC-like CRC32 (uses a different table).

Here's another 64-bit build from commit d324219.

Re: cyanrip CD ripper

Reply #4
Here's another 64-bit build from commit be0380c.

Changes include support for Unicode arguments and base directories in Windows, and never overreading into leadout, which should fix some issues with drives without support for that.

Re: cyanrip CD ripper

Reply #5
I have to say that this is by far the nicest application I've come across so far on UNIX/BSD/LINUX. It's been developed further quite a bit by now and is located at . Really nice work!

Re: cyanrip CD ripper

Reply #6
I've setup "nightly" Windows builds on the official repo (for every git push).

Both the latest is available as a direct link, and the previous 2 commits.

Starting with the next release, there will also be immediate Windows builds for it.

These are 64-bit only static binaries, by the way.
The nightly building code is available here.

Re: cyanrip CD ripper

Reply #7
Thanks a lot, mate. Nice to have a suckless alternative to whipper.

Re: cyanrip CD ripper

Reply #8
-s 6 corresponds to +6 drive read offset for my drive. cyanrip doesn't fetch it automatically.

How can I decide the read offset of my cd drive?