I am using an HP USB CD/DVD Drive (F2B56AA). Volumio is running the drive at high speed (up to 24x for this drive), and the drive is very noisy as it is constantly spinning up and spinning down while playing a CD.
When I connect the same drive to my Mac or PC and play a CD with VLC or Apple Music, the drive is almost silent.
Same with me. Upgraded to volumio3 / premium to have this feature. I bought a lite-on Es1 which was reported to be a) silent during playback and b) running with a raspberry pi. Both is true. a) while hearing music on any windows PC and obviously b) but together I have the same symptoms which metro reports. Additionally there is this typical CD-ROM noise when one track ends and the next is beginning. This happens not on the PC. Is there any chance to have a silent playback?
…and of course gapless playback would also be nice. Somebody suggested this feature longer ago and Michelangelo responded that this would be no great deal. So I´m waiting patiently…
My Volumio RPi is on my desk and the CD drive noise makes it unusable. I can change to a different drive and I’d like to ask @volumio which drive models you have tested that run quietly. I’m also willing to ship my drive to one of your developers for testing.
The topic was brought up before, with no resolution:
After some googling and finding the magic words “cd drive speed” got some hot hints even in this forum
so I tested it with great success on my cd drive. The audible difference between different speeds (I testet 1, 2, 4, the number behind the -x) and the time from the drive starting spinning until you hear music is hardly noticeble if there is one at all. So if something should be fairly trivial like gapless playback claimed here: Does Volumio 3 support gapless CD playback? - #2 by volumio
it would be the implementation of such a feature as an option for playback, if the claimed automatic here: Cd player speed issue - #2 by volumio
is not successfull
EDIT: since the carriage return in citing doesnt work: the magic command is:
eject -x 2 (or 1 or 4) /dev/cdrom
You don’t have to get eject beforehand, it is on the machine already
EDIT2: Unfortunately you have to repeat the command every time after a new CD inserted, because the ejection of the CD resets the setting (the commands name is “eject” after all ). So an integration in the web interface would be REALLY appreciated.
Thanks, I was able to get a lower speed with the “eject -x 2 cdrom” command. However as you said, between tracks there is a big gap and noise from the CD mechanism. I think it loads one track at a time and re-seeks before starting the next track. When I tried to play an entire CD, it played most of the way but got stuck, and I couldn’t get it to recover even after ejecting and reloading the disc. Then I switched to Qobuz and couldn’t get it to play either, and finally I had to reboot Volumio. I feel that CD playback is very unreliable and not usable.
So to sum this up @volumio : I clearly do not like to, but I feel the need to remind you that this is a premium feature and we are paying for this. In my case this was the key feature for a premium upgrade (apart from multiroom playback, which is quite nice but I could do without).
If found some workaround here:
Which was tricky to get to work.
This may be old fashioned, but sometimes I´m standing in front of my CD collection and let the inspiration “what next?” come from these shelves. Then I´m not always in the mood to turn on the PC and wait half an hour until the CD is ripped to have a silent & gapless experience.
“So pretty please, with sugar on top” do the “fairly trivial” work.
Actually, I have to thank you for this.
This command was already sent in Volumio, but I missed the fact that you have to send it everytime the CD is openned\closed, otherwise the setting is discarded.
Thanks for this hint, I feel I should have suspected it Will be added on next release
Many thanks for that one, but: I quoted you already (in the very same post), that the “automatic” detection of the lowest speed available fails sometimes (so obviously even for the first CD in my drive). Typing in the eject command seems to force something that isn’t detected by your automatic. Do you use it or something like hdparm ? A settings option to force the silent operation would be very useful in those cases.
And again: Implementation of a gapless playback is still lacking and extremely necessary for listening to something like Pink Floyd - The Wall, which should be enjoyed as whole. The gaps actually produced feel like eternity.
As @metro mentionend (by the way - where did his last post go? He mentioned a competitor. Did you remove it?) there are solutions for a silent and gapless playback. I heard of a linux software which is named after a synonym of daring (). I worry about that your implementation of CD playback works completely different to the mentioned solutions, so that the goals are not so easily achieved.
Anyway keep it up and thanks in advance for your effort.
I would like to kindly remind you, because it was definitely not added to the next release (3.324, which I am running now, system info beyond). Also gapless playback still missing.
raspi 4B+ 4G with audiophonics AES/EBU HAT (hifiberry digi driver)
Many thanks in advance
Cheers
Arnd
EDIT: Mentioned it in an older post above, but to complete system information: DVD-ROM: Lite-On ES1
Recently bought an external CD/DVD drive to be able to listen to CDs in volumio. Obviously I have a paid subscription and was very pleased to find this works flawlessly. However, I’m also experiencing the noisy spin-up / spin-down from the external CD player. Typing: eject -x 2 /dev/cdrom
Does the trick.
Gapless playback also does not seem to work.
I am on version 3.512 and I would very like to have both features (gapless playback and reduced noise of the external player) included. Can this please be taken into consideration.
Thanks.
Hi all,
I have also just bought an Apple Superdrive to add CD playback to my Volumio Premium set up via Audiophonics RPi4, Evo Sabre box and it seems to work very well, except for the gapless playback, which as I listen to a lot of live and mix CD’s, would be much appreciated. I have not tried the ripping feature, as I don’t have any storage attached and my old Buffalo NAS will not mount to Volumio. Although I can play some files from it via UPnP.
Has anyone got any recommendations for connecting a reasonably priced portable hard drive or maybe thump drive to my Audiophonics box as I am concerned about drawing too much power, as the Apple is already powered from one of the 4 USB ports. I am not a Linux / programming guru so I need it to work from a plug and play point of view. I followed the instructions on a YouTube video to get the Apple to work!
Many thanks in advance.
@volumio I had a friend over yesterday who brought a CD. We played on Rivo using the LG GP60 which Volumio used in original testing. Loud noise from the CD drive. You mentioned here that the fix would be implemented. That was in May 2022. I had opened a ticket about this in December 2024 (Ticket GDSC-3418). Could we finally get the fix added, please? The solution seems to be all here in this thread.
Thanks a lot
Hi everyone,
We originally implemented a fix for this in 3.804. We observed substantial improvements by applying the strategy outlined by the community (using eject). If this isn’t working for your there might be additional edge cases that we didn’t cover.
The issue with loud CD drive noise during playback under Linux has a technical root in how optical drive firmware handles read speed. Unlike Windows, where many drives default to quiet audio-speed (1x–4x) for music, most drives under Linux default to high-speed data mode (up to 48x) unless explicitly instructed otherwise.
This happens because:
No automatic speed control – Linux does not include a universal user-space daemon or kernel module to auto-adjust CD-ROM speed for audio playback.
Drive resets on eject – When a CD is inserted, the drive firmware resets to its default (fast) speed. Any previously set speed via commands like eject -x 2 is lost.
Playback methods matter – Many CD playback systems (like cdparanoia or cdda:// backends) read tracks in chunks or one-by-one, which causes repeated seek operations and mechanical noise.
Gapless issues – Most Linux CD players do not preload or buffer adjacent tracks, leading to gaps even on continuous albums like The Wall or Dark Side of the Moon.
Volumio’s CD plugin, like many others, was originally built around modular per-track access rather than continuous audio streaming. This design explains both the track gaps and the frequent re-seeking noise.
Solutions already known and partially implemented:
Sending eject -x 2 /dev/cdrom before playback.
Avoiding CD ejection to preserve the low-speed setting.
Applying a fixed low-speed setting after every disc insert (manually or via script).
What’s still missing:
Persistent, automated speed setting each time a CD is inserted.
CD backend logic that supports continuous reading or buffered playback for true gapless experience.
A more robust and permanent solution is in development:
Goal: Provide a dedicated C utility to set quiet CD drive speeds automatically and persistently, designed for Linux-based audio systems like Volumio.
Features: Safe device detection, optional retries, future support for udev-based hooks and integration.
This tool is being designed as a drop-in, no-hassle replacement for eject -x, specifically for embedded and audio-focused use cases where silence and reliability matter.
To resolve the issue, the full ecosystem regression testing after:
Integrating cdspeedctl into its CD plugin backend.
Adopting full-disc reading strategies or buffered playback to eliminate track-change gaps.
Optionally offering UI control for drive speed preference.
Until then, manual use of eject -x 2 or testing cdspeedctl after each CD insert remains the most reliable workaround.
You might consider a startup script that will do the job. Only for audio CD’s.
Install: sudo apt-get install libcdio-utils
Check: cd-info /dev/sr0
volumio@rp4-ws640:~/scripts$ cd-info /dev/sr0
cd-info version 2.1.0 arm-unknown-linux-gnueabihf
Copyright (c) 2003-2005, 2007-2008, 2011-2015, 2017 R. Bernstein
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
CD location : /dev/sr0
CD driver name: GNU/Linux
access mode: IOCTL
Vendor : Dell
Model : DVD+/-RW DW316
Revision : A1B1
Hardware : CD-ROM or DVD
Can eject : Yes
Can close tray : Yes
Can disable manual eject : Yes
Can select juke-box disc : No
Can set drive speed : No
Can read multiple sessions (e.g. PhotoCD) : Yes
Can hard reset device : Yes
Reading....
Can read Mode 2 Form 1 : Yes
Can read Mode 2 Form 2 : Yes
Can read (S)VCD (i.e. Mode 2 Form 1/2) : Yes
Can read C2 Errors : Yes
Can read IRSC : Yes
Can read Media Channel Number (or UPC) : Yes
Can play audio : Yes
Can read CD-DA : Yes
Can read CD-R : Yes
Can read CD-RW : Yes
Can read DVD-ROM : Yes
Writing....
Can write CD-RW : Yes
Can write DVD-R : Yes
Can write DVD-RAM : Yes
Can write DVD-RW : No
Can write DVD+RW : No
__________________________________
Disc mode is listed as: CD-DA
CD-ROM Track List (1 - 19)
#: MSF LSN Type Green? Copy? Channels Premphasis?
1: 00:02:00 000000 audio false no 2 no
2: 05:14:37 023437 audio false no 2 no
3: 09:04:32 040682 audio false no 2 no
4: 13:24:45 060195 audio false no 2 no
5: 17:29:22 078547 audio false no 2 no
6: 21:27:67 096442 audio false no 2 no
7: 24:46:62 111362 audio false no 2 no
8: 28:38:57 128757 audio false no 2 no
9: 32:33:17 146342 audio false no 2 no
10: 36:49:05 165530 audio false no 2 no
11: 41:03:12 184587 audio false no 2 no
12: 45:20:40 203890 audio false no 2 no
13: 49:56:67 224617 audio false no 2 no
14: 54:00:30 242880 audio false no 2 no
15: 57:46:62 259862 audio false no 2 no
16: 62:39:62 281837 audio false no 2 no
17: 65:39:30 295305 audio false no 2 no
18: 70:53:25 318850 audio false no 2 no
19: 74:42:00 336000 audio false no 2 no
170: 78:50:70 354670 leadout (795 MB raw, 795 MB formatted)
cd ~
mkdir scripts
cd scripts
nano cd_speed.sh
Copy/Paste:
#!/bin/bash
DEVICE="/dev/sr0"
PREV_STATE="none"
while true; do
# Use cd-info to check for audio CD presence
if timeout 2s cd-info "$DEVICE" 2>/dev/null | grep -q "CD-DA"; then
if [[ "$PREV_STATE" != "present" ]]; then
echo "Audio CD detected. Adjusting speed..."
eject -x 2 "$DEVICE"
PREV_STATE="present"
fi
else
PREV_STATE="absent"
fi
sleep 5
done
ctrl+o => enter => ctrl+x
chmod +x cd_speed.sh
Test: bash cd_speed.sh
volumio@rp4-ws640:~/scripts$ bash cd_speed.sh
Audio CD detected. Adjusting speed... (here I opened the drive and close it again)
Audio CD detected. Adjusting speed...
Users should be made aware that drive compatibility is the limiting factor, not the script logic.
This approach using cd-info and eject -x 2 in a script is clever and works well if your CD-ROM drive supports speed setting via IOCTL. However, this is not guaranteed across all devices. The key detail is this line from the cd-info output:
Can set drive speed : No
That means the specific drive in question (Dell DW316) does not support software-controlled speed adjustment through standard Linux ioctl calls. In such cases, even if you run eject -x 2, the command will appear to succeed, but the drive ignores it and continues spinning at full (noisy) speed.
Why this varies by device:
Some drives ignore the speed setting commands entirely.
Others only support it via vendor-specific commands not exposed through generic tools like eject or cdparanoia.
A minority of drives fully support eject -x or setcd -x and respond correctly.
How to check:
Use:
cd-info /dev/sr0 | grep 'Can set drive speed'
If it returns : Yes, then your drive is compatible. If : No, your drive is not responsive to eject -x and the script won’t reduce noise long term.