Loop-based music website help

Hi,

I’m quite new to website development, so please forgive any noticeable naivety. So I want to build a simple website where viewers can click on text or graphic triggers to play short music loops that repeat indefinitely. It’s part of a larger project, but this is the real tricky part.

The problem comes in, because I want the loops or “tracks” to combine as different triggers are clicked. Imagine an electronic music song, where each trigger can be one of its component parts (one button is the kick drum, another is the piano loop, another the bass, etc.)…and the website viewer can essentially assemble the song in real time, or disassemble it, as they see fit.

In order for this to happen without absolute trainwreck chaos, the loop needs to have some type of start-time quantization so it syncs up with all the other loops that might already be playing…if you know anything about how Ableton Live works, they call it “clip launch quantization.” The basic idea is that when you hit the trigger for the loop to start playing back, it has a certain timed latency – it waits to play until it’s synchronized with a certain subdivision of the song’s tempo (a 1/8 note, 1/4 note, full bar, etc.).

Hope that wasn’t too confusing. But, in any case, if anyone had any insight on where I might want to start to program something like this, or even where to look to get more info, I’d be much obliged. I have Flash, but I don’t know if that would best for something like this.

Many thanks in advance for any assistance!

Welcome to the forums

One thought would be to load several audio players into the page, one player for each loop, and set to auto play so hopefully each track would start at the same time. Set the volume for each player to zero (or mute) then the visitor could unmute/mute each player as they wanted.

If the auto play doesn’t work the other approach it to let all the loops load first before allowing playback.

Hey thanks for the quick response! I definitely think making sure all loops load before allowing playback would be the way to go, thinking about…great point.

As far as everything starting at the same time…I probably should have been a little bit more specific about the project: although I used an electronic music song as an example, my project is actually going to involve a lot of polyrhythms (loops of different meters being combined, like a 3/4 beat over a 4/4 beat, etc.). My goal is to have each loop synced to start at 1/8 note quantization…that way every time the viewer triggers a given combination, the sounds and rhythms will interact with each other differently, since they’ll be starting at different times, based on when the viewer triggers them.

Hopefully that clarifies it a little more.

thanks again!