Hi,
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: https://github.com/atomnuker/cyanrip
Features
- 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.
Here's a static 64-bit Windows build (https://i.fsbn.eu/cyanrip.7z) (VirusTotal scan (https://virustotal.com/en/file/3e427790d78c68acf9072f0ba1d50cb02ae00ca51cc5f08666ef8a5e9ea8aa60/analysis/1497370414/)) for whoever wants to try and test.
It was compiled from cyanrip's commit a20a934 (https://github.com/atomnuker/cyanrip/commit/a20a9341076e9b88781c6f4556504cb2d77e6ef5), using FFmpeg commit 2336c76b (http://git.videolan.org/?p=ffmpeg.git;a=commit;h=2336c76b) with these configure options (https://i.fsbn.eu/PytB.txt), along with patched versions of libdiscid (https://github.com/metabrainz/libdiscid/compare/master...wiiaboo:master) and libmusicbrainz (https://github.com/metabrainz/libmusicbrainz/compare/master...wiiaboo:master) in order to compile statically.
Example usage in Windows:
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.
Hi, are you considering adding support for Accuraterip (http://www.accuraterip.com/)?
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 (https://i.fsbn.eu/cyanrip-20170620-x64.7z) from commit d324219 (https://github.com/atomnuker/cyanrip/commit/d324219d2ef5e780213d6d7e742fc0569dcda771).
Here's another 64-bit build (https://i.fsbn.eu/cyanrip-20170710-x64.7z) from commit be0380c (https://github.com/atomnuker/cyanrip/commit/be0380c218d98fbd9bb73460dcc4124ea2ef5c61).
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.
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 https://github.com/cyanreg/cyanrip . Really nice work!
I've setup "nightly" Windows builds on the official repo (for every git push).
Both the latest is available as a direct link (https://github.com/cyanreg/cyanrip/releases/download/nightly/cyanrip-win64-latest.exe), and the previous 2 commits (https://github.com/cyanreg/cyanrip/releases/tag/nightly).
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 (https://github.com/cyanreg/cyanrip/blob/master/.github/mingw-build.sh).
Thanks a lot, mate. Nice to have a suckless alternative to whipper.
-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?
How can I decide the read offset of my cd drive?
You don't :) apply from here:
http://www.accuraterip.com/driveoffsets.htm
EAC has the possibility to calculate it with (I think 3) key disks.