Roon Extension: CD Ripper v0.6.1 (2022-12-24)

Hello @Jan_Koudijs , Thanks for another great extension. Just starting to use it.
I’m trying to rip a multi disc cd, but I do not see the options like in the video.
Am I missing something?
If I rip the first disc, then I can see it at Manage Staging Area - select album.
Then If I select it, I see the songs of the first disc and I have the options Push and Remove.
Then I insert the second CD and after the Rip completes, I can select the album again, and I see the songs of the second disc.
I do not see any options like in your video, I also only have just 1 time the title of the disc, so I don’t see how I can select the “Convert to Multi Disk” option. Looks like ripping the second disc overwrites the first.

Do the 2 CDs have the exact same name, meaning that there is no disk 1, disk 2 kind of differentiation?

Which album is it you try to rip?

Thanks for reacting, Fortunately I’ve been able to rip it now. It is an Amnesty compilation ‘Chimes of Freedom - The Songs of Bob Dylan’ (Various Artists)

After ripping another completely different cd, I had 2 albums to select in the Staging Area menu: Chimes of Freedom and the other disk, Selecting Chimes of Freedom still gave me the songs of disc 2.
But now I did have the “Convert to Multi Disk” option.
Also now I could see the complete title if I select the “Convert to Multi Disk” option and then I can see it did ends with disc 2 of 4. (Couldn’t see the end of the title before.)
So I didn’t select it, since I needed to start with disc number 1.
I’ve tried to re-rip number 1, but it failed, because it was already staged. I’ve deleted disc 2. Then Chimes of Freedom wasn’t selectable anymore.
Next I’ve tried to re-rip disc 1 again, but still the message that it was already staged, but I couldn’t see it anymore.
Then I’ve entered the bash of the docker and located disc1 and removed it.
Next attempt to rip disc1 succeeded.
Now I had to albums to select in the staging area again. Chimes of Freedom and the other cd.
Now I could select Chimes of Freedom, and select the “Convert to Multi Disk” option. Now I renamed this by removing the disc 1 of 4 part.
And then I could rip disc 2, and add it, and similar for disc 3 and 4.

I hope you can make some sense out of this.

Anyway, I’ve also started to doubt if my setup is completely correct.
I hope it won’t get to much off topic in the next part, but I get back to CD ripper.
I started with a first extension (apple tv remote) during summer when my core was still on my Synology. Last Friday I’ve moved my core to a Rock.
And now I’ve also started with the Queue bot extension and for this I installed the Extension Manager in Docker on the Synology. Reading and watching along I also found this CD ripper and read it wouldn’t work with Synology, so I’ve taken a RPi3B and installed DietPi and the extension manager again and now with the CD ripper.
Initially CD Ripper installation failed, but it turned out my 2 GB sd card was to small. Retried with an 8GB, had some auto install issues, but after some reboot I did see docker and extension manager get installed, so I happily continued, and from Roon I installed the CD Ripper and started to rip some discs.

But I do see something else missing, I do not find the “Auto Rip” option in Global Settings.
I will try to re-install the Pi to make sure it will go all smooth, and nothing is missed there, but if something is I wouldn’t expect I would get ripping at all, correct?
Is it good/supported to run two extension managers in parallel, one on the Synology and one on the Pi, or could this cause the issues I see?(idea is that the NAS is on 24/7, and the Pi only when I rip a disc.)

update… after reading forth and back some more, I guess I’ve missed the udev part to get the Auto Rip going. Will try that tomorrow. Thanks anyway.

Indeed, the dev part solves the ‘Auto Rip’ being not available.

Thanks for sharing your experiences, there is clearly room for improvement.

For the “Convert to Multi Disk” option to appear there have to be at least 2 disks in the staging area, probably only because of my workflow in which I rip all disks first, then do the conversion and then push.

In the Staging Area dropdown there is only a limited number of characters available, which often causes that 2 entries appear with the same name for multi disk rips, but if you select one you should see the full name.

I don’t know what can cause that disk 1 gets overwritten by the rip of disk 2. To analyze this it would be helpful if you can restart the CD Ripper with logging, via the Extension Manager, and then re-rip disk 1 and 2 of the album and get the log via the Extension Manager link in the Extensions overview in Roon. Also a screenshot of what the Staging Area dropdown looks like might be helpful. If you can share a link and image in this thread then I will have a look.

Hi Jan,

Thanks for having a look.
Here are the screenshots:
After ripping CD1 of Chimes of Freedom:

As you see, no disc number mentioned and the first song is “One Too Many Morngings”

No options to create a multi disc yet or change the name…

And then I rip the second disc:

Still just one album name to select:

But now the first song is the one of the second disc: “Outlaw Blues”

Still no option to change disc name or something:

So this is why I was confused regarding the multi-disc funcitonaliyt last week.
But I guess, I had also just bad luck with the first box I picked being a tricky one.
It was just on top in a drawer full of CD’s that I want to rip and then store far away since I hardly touch the cd’s anymore, so why should they still use space in my living?

I do realise that I’ve enabled logging, but I’m wondering how I can attach it to share it with you. It’s to big to past in… any idea?

Thanks in advance

Ripping 2 CDs with the same name is something the current implementation can’t cope with. I’m working on an update of the CD Ripper in which a single ripped CD can already be converted to multi-disk, so that will be a workaround for your use case. There will be other changes as well, all meant to make it a more usable and robust solution.

What the ripper needs is that it gets fed with as many different CDs as possible to get edge cases like this covered. If you discover more troublesome rips, please let me know.

I send you a PM with an e-mail address to which you can send the log file.

CD Ripper v0.5.0 is now available

This release has some improvements and bug fixes:

  • Added forced rip, to rip CDs for which no metadata is available
  • Improved progress reporting during rip
  • Improved administration of the staging area to avoid mismatches causing “already ripped” messages
  • Allow multi-disk conversion even if there is only one rip in staging area
  • Fixed bug that caused truncating of album titles

@Geert_van_den_Belt, thanks for your feedback! This release is a direct result of it.

How to install / update

If the Extension Manager has auto update enabled then the changes will be pulled in the next time the update is performed. It is also possible to update manually via the Settings dialog, select the CD Ripper from the Tools category and perform the update action.

Thanks @Jan_Koudijs for the update!
I did retry “Chimes of Freedom”, and now it does recognise the different discs, and I can create the multi one also after ripping the first. So great improvement!

As I told you already about some of the other issues I had…
I did retry the WT, Mother Earth, CD 2 with v0.5.0 ‘Auto Rip’, and now it gets me an empty version in the Staging Area, no tracks.


I can select push and then have an empty directory as a result.
Anyway I’ll find another way to get this song done, no problem.

Regarding the cd’s that got ejected almost immediately.
As you suggested there are 2 reasons: no metadata or cd-r.
Only last Saturday just before you released the update I did actually test a cd-r, but it failed according to the logs because of lack of meta-data.
All others I tried were originals, but apparently not very popular cd’s.
I’m trying again one just now. It failed on ‘Auto Rip’, but today it suggested to start a forced rip, and that is going on now.
Curious to see how that gets out, and if Roon or Jaikoz will find me the meta-data or that I have to type…

1 Like

The strategy I choose here is that an Auto Rip will only be performed if metadata was found (allowing Roon to identify the rip). If no metadata was found then you can perform a forced rip and manually push this into your library. So you only get albums without metadata in your library if you explicitly instructed it to do so.

Since I’ve installed version v0.5.0 I notice some behaviour which I think isn’t completely intended.
I’ve noticed 2 issues. But the last couple of weeks I didn’t have to much time to give it a good try and also logging wasn’t always on.
First issue is that for some cd’s it doesn’t recognise them and states that there is no disc in the drive. I cannot use forced rip either. These cd’s can be ripped with other software, but…
For some I understand, like ‘Antología del flamenco’ Vol. 1 and 2, it not being able to find a match and that I have to use forced rip. But with this one I had the strange issue that I could do a forced rip for volume 1, but with vol.2 it kept coming back that there was no disc in the drive.
It made me doubt so I tried with a more popular cd, I thought, ‘Little Earthquakes’ from Tori Amos, but that also started reading the toc and then told me there was no disc.

The second issue I notice is that using Auto Rip, ripping starts, when I look next morning the cd is ejected, but when I look in Roon it doesn’t seem to be completely done, actually still busy:


It shows multiple instances of each track in the staging area:

I’ve seen this with at least 3 cd’s. For Blauw from The Scene I’ve added above screenshots and I will e-mail you the log.
I first noticed it with The Love Symbol album form Prince, which I then pushed resulting in all flac files in the folder, but no log file.
Then with another cd I re-inserted the ejected cd and Auto Rip finished the job and pushed it like normal. Same happened this morning with Blauw after re-inserting. So @Jan_Koudijs, I hope you can have a look, still very much like it, even with re-inserting the disc. Thanks for the great work.

I had a look through the log file and the issues are caused by troublesome rips.

The actual ripping is done by a tool called Whipper and if it is not able to successfully rip a track within 5 attempts it stops and the disk gets ejected. This is the case for “Love Symbol” and an unknown album (probably “Antología del flamenco Vol. 2”). I will improve the error reporting and avoid duplicate entries in the staging area in a future release, but there isn’t much I can do about these failing rips :frowning:

Ok, thanks again for having a look. I guess not all cd’s in the house are in pristine condition. I’ve found another issue though. I’ll email you the log again. Just ignore it if it gets to much, sorry.
Trying to rip “Antonio Vivaldi; Janine Jansen - The Four Seasons” it goes ok to rip it. But then when pushing the album it is almost immediately done and I’ve only some empty folders. Maybe because the semicolon?
(I’m able to manually copy the complete album before pushing via ssh.)

A post was split to a new topic: Ripping double Albums or box sets

I maybe missing a trick here.
Installed Extension Manager, went to Tools category but no CD Ripper Listed under Extension, only Art Scraper listed.

I believe it is because the CD Ripper extension requires Docker to be installed as well.

1 Like

Hi @Drew_Sams,

@Geoff_Coupe is right, the CD Ripper requires Docker.

The recommended setup is a Raspberry Pi with DietPi (see step 1 till 3 of this guide). If you are running a Linux system then that can be used as well.

Hi @Jan_Koudijs ,

I’ve been trying to use CD Ripper with Roon installed on QNAP NAS. External CDROM drive connected via USB.

I’ve installed newest Extension Manager in docker:

docker run -d --network host --restart unless-stopped --name roon-extension-manager --group-add 0 -v rem_data:/home/node/.rem/ -v /var/run/docker.sock:/var/run/docker.sock -e “TZ=Europe/Warsaw” theappgineer/roon-extension-manager:v1.x-standalone

It works but there is no CD Ripper on the list of available extensions.

Then I installed CD Ripper directly from Dockerhub. It starts, asks for share name but cannot find cdrom:

← REQUEST 253 com.roonlabs.settings:1/save_settings {“settings”:{“values”:{“share”:"/backup/music",“user”:"",“password”:"",“action”:1}},“is_dry_run”:false}
→ COMPLETE 253 Success {“settings”:{“values”:{“share”:"/backup/music",“user”:"",“password”:"",“action”:1},“layout”:[{“type”:“group”,“title”:“Global Settings”,“collapsable”:true,“items”:[{“type”:“string”,“title”:“Share”,“setting”:“share”}]},{“type”:“dropdown”,“title”:“Action”,“values”:[{“title”:"(select action)"},{“title”:“Scan Drive”,“value”:1}],“setting”:“action”}],“has_error”:false}}
→ CONTINUE 1 Changed {“message”:“Drive scanning in progress…”,“is_error”:false}
→ CONTINUE 250 Changed {“settings”:{“values”:{“share”:"/backup/music"},“layout”:[{“type”:“group”,“title”:“Global Settings”,“collapsable”:true,“items”:[{“type”:“string”,“title”:“Share”,“setting”:“share”}]},{“type”:“dropdown”,“title”:“Action”,“values”:[{“title”:"(select action)"},{“title”:“Scan Drive”,“value”:1}],“setting”:“action”}],“has_error”:false}}
← REQUEST 254 com.roonlabs.settings:1/unsubscribe_settings {“subscription_key”:“45”}
→ COMPLETE 254 Unsubscribed
stderr: “CRITICAL:whipper.command.drive:no drives found. Create /dev/cdrom if you have a CD drive, or install pycdio for better detection”
→ CONTINUE 1 Changed {“message”:“No drive found!”,“is_error”:true}
whipper exited with code: 0

Is there any way to make CD Ripper running in my environment?

Regards,
Piotr

That’s strange it should be in the Tools category.

NASes, these days, are pretty restricted when it comes to connecting USB devices (like optical drives and soundcards). Based on previous reports I think that the CD Ripper on a QNAP is a no go :frowning:

1 Like

@Jan_Koudijs I’m coming back to this extension but falling at first hurdle. I am using dietpi and it doesn’t seem to want to mount my cd drive at all. Any ideas?