BeagleBoneBlack toy DJ table? Needs to mix and warp two music tracks.

I have a project idea that I’m still in the early stages of. My background is in PLC programming and microcontrollers, mostly for automation, so I’ve done some graphics and signal control, but not much with audio other than playing a sound.

My son is a toddler, and he loves instruments and music toys, and he loves this thing at the children’s museum that lets him mix beats. So I was thinking it would be a lot of fun to make him a DJ table, it would have two turn tables that could detect when they were pushed or pulled, and a selector for the type of tune each controlled (hip hop, funk, disco, club techno ect). I can easily handle the input and control, but I have only a vague idea where to start with the audio mixing. I understand the BBB needs a USB audio device to play sound, and that’s fine. The hard part is that it would have to mix the two tracks and warp them. Perhaps there is some open source Linux software that is already most of the way? I could pre-edit the beat tracks to get them in the same time and in the right format, but it would still have to be able to warp their speed in real time. It would also be cool if there were buttons for samples to mix in. The main thing that makes this different from a real DJ table is that the track selection doesn’t have to be editable on the fly, and it would automatically make the samples and audio tracks settle on the same clock beat.

Any suggestions. I’m open to suggestions on other controllers that could do this as well, but I think the BBB could, and I already have one. I could use an entire PC to do it, but that doesn’t seem as cool or efficient.