4 ms·
Does anyone know if they stream audio or just events to peers over Web Sockets? Some tech notes from a pro-audio software developer: - All the samples are OGG
by gamegod 14y ago
Does anyone know if they stream audio or just events to peers over Web Sockets?
Some tech notes from a pro-audio software developer:
- All the samples are OGG ( http://chrome-jam-static.commondatastorage.googleapis.com/xml/PreSounds.xml http://chrome-jam-static.commondatastorage.googleapis.com/xm... )
- They're using some "DMAF" engine for the audio, though I can't figure out who made it: http://www.jamwithchrome.com/js/compiled/dmaf_all.js http://www.jamwithchrome.com/js/compiled/dmaf_all.js
It's pretty serious stuff from the looks of it - It's got a node graph with different DSP modules (envelope follower, delay, ADSR, distortion, LFO, chorus, compressor, phaser, equalizer, biquad filters), it plays MIDI files, and more.
It's all written in JavaScript too, and there's no way you'd write this just for one Chrome experiment. I don't see any outside party acknowledged on the website, but I'd guess that this DMAF JS audio engine is licensed from someone.
It's interesting to see what they've been able to do with the Web Audio API and JavaScript, but I think the Web Audio API is going to be forever limited to toys like this unfortunately. You just can't do real-time audio with a garbage collector waiting to pounce.
I developed a similar application for Chrome (which coincidentally had the codename "Jam"), but instead, it uses Native Client for audio instead of the Web Audio API. It's called SongStarter, and you can jam with it here:
https://chrome.google.com/webstore/detail/jbkilbgofafobojkifhjflhnnbiojbjb https://chrome.google.com/webstore/detail/jbkilbgofafobojkif...
(NaCl apps must be installed from the Chrome Web Store for the time being, otherwise they won't work. Google's choice...)
- gamegod 14y agoAnd as a side note, if you're interested in seriously jamming over the internet, I think NINJAM is the best tool by far: http://www.cockos.com/ninjam/ http://www.cockos.com/ninjam/ It deals with latency by ensuring that it's rounded to measures, so in a free form jam, everyone always stays in sync. It's an ingenious solution and it really works. Being in a jam where real musicians with different instruments just join in and play together is incredibly cool. (That's the achilles heel of these web experiments unfortunately - Cool tech demo aside, they're not really aimed at musicians...)
- borplk 14y agoI haven't looked into it but I am almost sure it will not be streaming audio. It's most probably events.
- mrdoob2 14y agoAs far as I know http://www.dinahmoe.com http://www.dinahmoe.com did that part. The same engine was used on http://exquisiteforest.com http://exquisiteforest.com
- Theodeus 14y agoDMAF is our framework at www.dinahmoe.com. It stands for DinahMoe Audio Framework. I'm the one who's been doing the grunt work of the framework, so I'm quite familiar with it ;) We've decided to release the effects as open source at https://github.com/Dinahmoe/tuna https://github.com/Dinahmoe/tuna , though it's not complete yet with all the effects.
- gamegod 14y agoAwesome, great job with it, and nice that you open sourced it! How long have you been working on it for? There's going to be loads of "big brand" companies looking for crazy audio doodads for their websites after this Jam thing. Probably lots of contract work to found be there... :)
- Theodeus 14y agoThanks :) Let's hope so. It's been in the making since December, if I don't remember it wrong. I have to give credit to the rest of my team too, of course.