6 ms·
Live Coding in CoffeeScript
- jbaudanza 14y agoI love this! It would be cool to see this integrated with something like share.js so people could collaborate.
- bengl 14y agoThanks! I hadn't seen share.js before. I'll have to look into it.
- benmanns 14y agoIn case anyone is having this problem: Press ESC to run the scripts.
- mos2 14y agoThis is pretty awesome. I went to a workshop by ixi lang creator thor magnusson. It is pretty amazing the level of abstraction you get with ixi lang but supercollider has a steep learning curve. I love that live coding music is making its way to javascript / coffeescript. I can't wait to see what people create with it.
- canibanoglu 14y agoGreat stuff! If only I could find a way of doing this the other way around... (audio to sheet music)
- sil3ntmac 14y agoThere's plenty of libraries for this, provided you can export your audio to MIDI. Here's one: midisheetmusic.sourceforge.net Hell, just upload your MIDI to hamie.net and they'll do it for you (albeit horrendously).
- canibanoglu 14y agoAh, I should have been clearer. MIDI to sheet music conversion is trivial. What I want to do is take real audio as input and convert that, which is according to my readings really hard because MIDI and audio formats (FLAC/WAV/MP3 etc) are very different. There are some tools that I could find but so far none has come up with good conversion from FLAC or MP3. I'm mainly interested in classical music and that kind of complicates things. As the number of voices in your audio increase, it gets that much harder to export it to MIDI. I've been thinking about emphasising the melody line and exporting that to MIDI but so far nothing :P Perhaps a different approach would work better. But thanks a lot for the help :)
- Tloewald 14y agoHve you seen Capo? http://supermegaultragroovy.com/products/Capo/ http://supermegaultragroovy.com/products/Capo/
- canibanoglu 14y agoI had not. Thanks a million for that, that does look promising!
- yaxu 14y agoThe research field trying to tackle this is called "music information retrieval", that may help with your search.. I think they have made some headway but it involves quite a few challenges - auditory scene analysis, source separation, pitch labelling etc.
- canibanoglu 14y agoThat is extremely helpful, thanks a million for the pointer! :)
- roryokane 14y agoThis is a great idea – a convenient environment for writing music-generating code. It needs far more helper functions and documentation before it’s generally usable, though. I’ve written some GitHub Issues: https://github.com/bengl/beatsio/issues https://github.com/bengl/beatsio/issues
- 1wheel 14y agoCool! I threw together something similar a few weekends ago: http://roadtolarissa.com/synth-scales/ http://roadtolarissa.com/synth-scales/
- fananta 14y agoAwesome stuff Bryan!
- sil3ntmac 14y agoThis is awesome! Someone edit the title though because I had no idea this was live coding "beats".
- shurcooL 14y agoI don't mean to criticize, I'd simply like to clarify something. What exactly makes this "live" coding? As far as I can see, you have to press Esc to run the code. If this is considered live, what would be a non-live equivalent? My understanding of live was that you see/hear changes as soon as you change the code, but I didn't find that to be the case here.
- seanmcdirmid 14y agoAs far as I can tell, live coding is not about programming with "live" feedback, it is about programming "live" in front of an audience, or otherwise using programming as a musical instrument. Think performance and not development. Very confusing, I feel like I'm fighting a losing battle since live coding sounds so similar to live programming, but the terms mean completely different things and arose in different contexts (live programming arose in a pedagogic context, live coding arose in a performance context) at about roughly the same time.
- shurcooL 14y agoAh, I see now. It's not related to "live programming," but rather the live performance as you said. It's the first time I hear of it in that context, but I understand now. Thanks!
- flywheel 14y agoBoth meanings are equally repulsive and are activities without merit. The fact that this is about coffeescript doesn't surprise me at all. "and just starting to learn CoffeeScript, because it seemed rather cool" This thought pattern is wholly flawed. "Seems cool" is not a reason to learn coffeescript, in fact there is no good reason except syntax fetishism, which is also not a good reason.
- yaxu 14y agoSean, I wish you'd take a closer look at live coding before saying this kind of thing, you've very much got the wrong idea about live coding. I'm just off to work but I'll send you some references later. Live coding is absolutely everything about live feedback. This gives you access to performing in front of a live audience, but that is only part of it. It also allows new styles of collaborative programming, and exploring of ideas in composition. Live coding is about using programming languages to manipulate running code, maintaining state (if there is any). Check out the code in the "hacking perl in nightclubs" article that this one links to. The software it discusses takes on live updates without restarts or losing state (in fact, the code in the editor is part of the state). It also has an option to take on edits every keypress, but it's off by default, because it's impractical. Sometimes you just don't want 1 and 10 to be interpreted on the way to 100. Live coding arose in an interdisciplinary context of music performance, pedagogy, media theory, psychology and computer science. The thesis you link to is really excellent, but has shared roots with live coding and is referenced in the live coding literature.
- cliftonk 14y agoHave you ever played with Overtone? It's pretty awesome http://vimeo.com/22798433 http://vimeo.com/22798433
- rjmarsan 14y agoI'd recommend using Timbre.js http://mohayonao.github.com/timbre.js/ http://mohayonao.github.com/timbre.js/ As much as I love audiolet, Timbre.js knocks the socks off of it. It's very much based off of supercollider, which is really THE language to live-code in. Also, it's way more fully developed than audiolet, and seems to work way faster.
- gojomo 14y agoSee also 'bytebeat': http://canonical.org/~kragen/bytebeat/ http://canonical.org/~kragen/bytebeat/
- yaxu 14y agoGreat stuff! See also "livecodelab" and "gibber": http://www.sketchpatch.net/livecodelab/index.html http://www.sketchpatch.net/livecodelab/index.html http://www.charlie-roberts.com/gibber/ http://www.charlie-roberts.com/gibber/ Gibber is multi-user live coding in the browser. There are many more live coding systems here: http://toplap.org/ http://toplap.org/