Hacker News new | ask | show | jobs
Show HN: DJ in the browser (lukeandersen.github.io)
61 points by musicnrd 3618 days ago
12 comments

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.
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...
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)

Yeah that's the one, I was looking at this post that uses Spotify and echonest too https://jmperezperez.com/bpm-detection-javascript/
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.

Total shot in the dark but I don't suppose it was reading a 44.1kHz file at 48kHz or the other way round?
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.
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 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.
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).
Is the playlist somewhere on soundcloud? I really liked it.
This is very cool! I wish I would know how to be a DJ. :)
Link for source code?
Really cool, but we need the crossfader. :)
It's coming soon, I just need to fix the logic for controlling the volume faders and the crossfader together.
Use the volume sliders! I've been mixing without the fader for years now. You get way more control that way.
It's done and active now, enjoy :)
This is incredible!!
why is the crossfader disabled?
Sorry, haven't had a chance to build it yet