CD Rom Speed Control

Hey all, just wanted some help with a school project i am doing, which requires me to control the playback speed of a simple CD Rom using the arduino and some 8 bit I/O converters, looking at this: you can easily control basic commands of a CD Rom, but i want to go one step further and actually make it a DJ-like CD Rom, so you can control the speed of the song playing, its possible using a CD_SET_SPEED function, but im not sure how i can implement it :/ thanks in advance!


A music CD contains digital data, which can be read at any speed. Your playback circuitry will accept the digital voltage for every recorded timeslice, and converts it into the analogue signal(s) for the speaker(s). Do you already have such a device?

The rest is easy, your program has to output the values at the desired rate (length of a timeslice), instead of the original recording frequency.

i was going to use the circuit posted on the link that i posted above in my previous post, but im not sure how to edit the coding to match :/ are there any suggestions you could give? but what do you mean "any speed" surely you could slow and speed up how fast the CD is played back? cant you? DJ systems have these functions built in, but they are pretty pricy to be pulling apart willy nilly, can you help? :)


You confuse the CD drive speed and the playback speed. Modification of the CD drive speed does not change how the music is played :-(

oh, really? ahh i dont know a lot haha thanks for clearing that up, so sorry for the late reply, i have been so busy with my other subjects at school :/ is there a way to change the playback speed? :) thanks!



Is there a way to change the playback speed? :) thanks!

Try the PC audio editor programs, check out the free stuff, they would have playback speed control.

Even Windows Media Player has play back speed.

Tom... :)

Hey Tom, thanks… but that wasnt what i wanted :confused: i am using the CD Roms directly, not through the computer, i want to control the playback speed finely (0.1%, -0.1%, etc) through the use of the Arduino and a potentiometer knob, is there a way to do this? through the CD Rom interface commands? it shows the code in the link above, but this isnt for controlling the speed at which the songs play, thanks in advance


If you have an player with playback speed control, you can send it commands to change that speed.

If not, you have to build your own player and make it work. After that step you'll have enough knowledge for adding speed control to it.

i have an IDE CD rom which has coding options to control playback speed

how do i implement these into arduino coding? given this:



Nevermind, got it working, turns out each data line is separate and not combined like the diagram shows.. But anyway, what I still need to do is implement some playback speed control, can anyone suggest something please? maybe a line of code I can add on with a potentiometer?