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

This time an extension that is a bit different compared to what I have done before.

Short description:

Extension that adds a CD ripper to your Roon system


This extension adds a CD ripper to Roon, one that limits user intervention to a minimum. Steps taken care of by the extension are:

  • Determine the properties of the optical drive (at first run)
  • Rip the CD
  • Verify the rip against the AccurateRip database
  • Get basic metadata
  • Move the album over to the local library

When the album enters the local library it will show up in Roon as normally. There is no longer a need to startup a separate PC, rip the CD and adjust the metadata.


Installing the CD Ripper extension requires version 0.10.0 (or higher) of the Extension Manager combined with a Docker installation. When this is available the CD Ripper can be found in the Tools category.

During installation the device path of the optical drive should be supplied in the Docker Install Options. If the local Roon library is on the same device as where the extension is running and it cannot be accessed as a Samba Share, then this local path has to be supplied as well. This makes the local Roon library available to the container where the extension is running in.


Setting a Share

A Samba share can be specified in the Global Settings:

Alternatively a local share can be specified if a Local Music Share was configured during extension installation. The path that should be entered in the Global Settings of the CD Ripper is ~/music:


An action is started by selection one from the dropdown list and pressing the Save button.

Action Description
Scan Drive Forces a drive scan, useful if the optical drive had just been connected
Configure Drive Determines the parameters of the drive (only required at first run)
Rip Rips the supplied CD to the Staging Area
Manage Staging Area Opens the Staging Area where actions can be performed on a ripped CD

Staging Area Actions

Staging Action Description
Push Pushes the selected rip to the Share specified in the Global Settings
Remove Removes the selected rip from the Staging Area and deletes the related files

The Staging Area:

Status messages

Status messages are displayed in the Extension overview beneath the CD Ripper entry.

Ripping a CD:

Ripping finished:

Hardware setup

The setup I’m using consists out of an external DVD drive and a NUC, the NUC also runs my Roon core.

Important notes!!

  • Use this extension at your own risk!
  • Before pushing rips directly into your Music Library it might be wise to try a push into a test directory first.
  • Make regular backups of your Music Library and Roon database.
  • This extension is in beta status, as is the API it depends on. This means that there can be small or even bigger issues!

That’d be a cool thing.
I hope it is not related to today’s date :wink:

1 Like

I guess I don’t see the point, when tools like ExactAudioCopy already exist and have fully auto modes if the user wants (insert disc - it auto-identifies and sets track names/etc, rips, ejects disc, user inserts next disc). Having EAC spit to a mountpoint already monitored by Roon means Roon will also auto-import the tracks due to Roon’s filesystem watcher. Why reinvent the wheel, when the wheel already has years of development and refinement built into it?

It’s better to rip to a folder that is not watched by Roon and then copy the files over to a watched folder all at once.

Due to the length of time taken to rip a complete CD, there are reports that Roon can get a little confused when it sees tracks arriving very slowly and the results in identifying albums is better when the files are all copied across at once.

Always good to have different options, and… why not?


Never had an issue ripping direct to my music folder on ROCK. I take it this will only work on Linux, Windows etc and not ROCK

Great extension !!!

1 Like

A great idea!! The available software like this for Mac is somewhat limited. Would really appreciate this extension.

1 Like

Although I left some room for doubts, this is not an April fools joke!

This is not about reinventing the wheel, more about integrating the wheel. For the heavy lifting I’m using Whipper. The typical use case is running Roon Server on a headless system and using this system also for the ripping of CDs.

This will be Linux only. Not only due to the underlying tool but also because it requires Docker to have it distributable via the Extension Manager. I don’t know yet if this will run on ARM.

1 Like

Very interested in this. It would pretty much complete Roon for me.

1 Like

So can I run it on its own, does it need to be runnig on the same machine as the core?

It can run on a different machine as long as it can temporarily store the ripped album and it has direct access to the optical drive.

Cool the drive would be on the same machine as the extension.

will this be available in extension manager when its ready?

It’s looking like @Jan_Koudijs is only going to make this available on a Linux platform.

Have you tried XLD for Mac @Anthro?

I use it and it performs basically the same function, including checking the AccurateRip database and encodes to any file type you want.

Not everybody is computer literate. The idea that somebody who might choose a Roon Nucleus for convenience and simplicity, can now plug an external drive in to rip their collection is a great idea and I applaud the OP.

I’m afraid that will not be possible due to the limitation of the operating system.
Convenience and simplicity come at it’s price. :man_shrugging:

I realized Mac users were bummed out a few minutes later, such a shame. I am familiar with XLD, it’s my current ripper of choice. But something Roon integrated would have been nice.


What a terrific idea!

I fully support it.

1 Like

Yes, that’s the plan, but remember that you should have Docker installed in order to use it.

This evening I ripped a CD by connecting the optical drive to a Raspberry Pi 3B+ and running the extension on the Pi :slight_smile:


@Jan_Koudijs any ideas when this will be ready to test in the wild?