5 ms·
JavaScript Library for Objective Sound Programming
- wcarss 14y agoThis is insanely cool.
- fruchtose 14y agoAwesome examples. It would be nice to get support for formats besides WAV, but that's future work. Is MP3 decoding proprietary, or just encoding?
- jamescun 14y agoAfaik both encoding and decoding require a license. However there is a mutual agreement from patent holders that there is no license required for FOSS decoders, allowing things like VLC to function without a license.
- md224 14y agohttp://jsmad.org http://jsmad.org
- gliese1337 14y agoTo expand a bit: mp3 decoding in JavaScript has been done, and it works pretty well, but not perfectly / not on all files. I've used it and stuff derived from it with quite satisfactory results in situations where I can control all of the inputs it will be used with. Adding basic support for mp3 decoding to this could be just a matter of integrating JSMad, if that's the way they felt like going about it, but adding really robust, efficient, gonna work all the time support would require a significant investment of additional effort. I don't know what the state of the art is for mp3 encoding in JavaScript, if there is one.
- deleted 14y ago[deleted]
- mahmud 14y agoBeautiful.
- burnvictim 14y agoThis is super cool! Is HTML5 audio in a pretty decent state at this point as far as reliability?
- epaik 14y agoWow, I'm seriously impressed. I'm inspired to make a game using this library I think!
- deleted 14y ago[deleted]
- koglerjs 14y agoExcellent. I will definitely use this. In fact, I'm commenting largely to bookmark this.
- smagch 14y agoI was thrilled when Flash had sound api quite a long time ago. I'm now much more thrilled to see this. A lot of nerdy people will publish free open source synthesizer over the next few years. We need javascript plugin interface like VST.
- liamja 14y agoReaper supports plugins written in JS http://www.reaper.fm/technical.php http://www.reaper.fm/technical.php
- gosub 14y agoT("+", T("*", c_env = T("adsr", 20, 1740, 0.5), T("+", c1 = T("konami"), c2 = T("konami"), c3 = T("konami"))), T("*", b_env = T("adsr", 0, 220), b0 = T("pulse"))).play(); This is what happens when your programming language does not let you specialize math operations, or you lack a decent macro system.
- VMG 14y agoNot necessarily. You could write nice libraries utilizing the object notation and method chaining, just look at jQuery.