Loading a song into memory and playing it with a read head for DJ Controller


Essentially I am trying to build a virtual simulated DJ Controller (I am wanting to build it with hardware but thought making it in software would be good practice). This requires the inclusion of a jog wheel that can rewind and fast forward the audio file being played, as well as adjust speed.
The only way I can think of to do this is to load the file into memory and be able to play it using a read head that increments by a certain number of samples (depending on the speed), and uses some interpolation to fill in the gaps.

However I am unaware of a contstruct in JUCE that will allow me to do this.
I have looked at the AudioTransportSource and other classes but they don’t seem to give me the flexibility that I need.

Any help would be much appreciated.


Have you seen these on @theaudioprogrammer YouTube?

Thank you @asimilon !

Hi @dariop - yes you’re right. The best way to handle this is via interpolation. I haven’t delved into this part in my livestreams yet. There aren’t any classes in JUCE that are able to do this out of the box, unfortunately. You’d need to implement this yourself.

Good luck!