36 comments

[ 3.0 ms ] story [ 84.7 ms ] thread
This is incredible!!
Doesn't seem to work in Firefox.
Same for me, can't get it to work :-(
Oh bugger, what version of Firefox and OS are you using? I admit I only built it with Chrome but I did test it last night on Firefox osx and it was working ok.
Latest Firefox on OSX. Song from A plays but no sound ever comes from B despite adjusting faders. I tried it in Chrome and it works great there.
very, very cool but calling something music-related "Reacktor" is a really good way to get a nastygram from Native Instruments.
Good point, you can obviously see where my inspiration came from ;) I'll look at naming it and moving it to it's own host soon.
Really cool, but we need the crossfader. :)
Use the volume sliders! I've been mixing without the fader for years now. You get way more control that way.
It's coming soon, I just need to fix the logic for controlling the volume faders and the crossfader together.
It's done and active now, enjoy :)
As a DJ, a few requests on an amazing start:

- sort by Key - sort by BPM - move the song dragging it (need to line up by the kick) - cue points

I'm looking into bpm detection and cue points are on each player (they just might be hidden on a small screen). Will look into key and dragging the waveform.

Thanks for the feedback.

Do you have any leads on bpm detection? I tried doing it in Python a while ago for a project and the library I used was always 5-10bpm off...
(comment deleted)
Total shot in the dark but I don't suppose it was reading a 44.1kHz file at 48kHz or the other way round?
There was a nice article on the beatport tech blog. I didn't manage to find it when I searched yesterday. Basically what they suggested was applying a low pass filter to isolate the base drums, then count the most common intervals between peaks (basically some kind of transformation) and then reconstruct the BPM from there by applying a range from 80-160 or similar. Hope this gives you a rough idea.

I implemented and tested it and it worked quite well with electronic music.

Thanks! Was it this one? http://web.archive.org/web/20160304012151/http://tech.beatpo...

(no longer on the beatport site; tech.beatport doesn't seem to exist any more and the current beatport blog starts at 2015)

Exactly, this one. :)

I wanted to try it with another transformation to see if it can achieve better results.

I did find this too, it's the same library used by most DJ software: https://www.sonicapi.com/docs/api/analyze-tempo

Works pretty well but requires to upload a file, then process it to get the BPM. So you would need smaller audio samples as the soundcloud stream is too big and takes ages.

I don't know how often the data is present, let alone correct, but iirc the SoundCloud API lists bpm as a field in the track data. Might be worth a look if you haven't already.
Is the playlist somewhere on soundcloud? I really liked it.
amazing work, I loved playing with it. I'm a DJ nub tho :( would be really cool to have a very quick tooltip getting started mixing the first song kind of thing
Cheers, good point. I want to try and stay away from sync capabilities but it would be a great idea to show how to beat match using the app. Thanks.
this is pretty great man! i've been playing with it for a couple hours now. my only complaint is that it's pretty hard to time the drop since there seems to be some lag between when i click and when the track starts playing (could just be my computer though).
Very cool! I hacked the exact same thing a while ago. Also with soundcloud integration (and some filters and stuff). I'll take a peek at the code when i get to my computer in the next days. Maybe there is something where i could contribute.
Awesome, keep me posted.
Just checked, your repo seems to be private. (or I'm a bit blind :))

Here is the link to what I hacked back then: https://github.com/letier/boombox

I'm planning on doing a complete rewrite, when I finally find the time. This thing was build pretty quickly.

Wow, that's really cool.

Yeah, sorry the repo is private until I get it cleaned up a bit. This has been built quite quickly as well ;)

I had fun with this. I found it kind of hard to mix without auto sync. Sorting by key/BPM will be a good feature.
This is very cool! I wish I would know how to be a DJ. :)