a bit ago i started a javascript osc environment [1] for fun. a copy of touchosc, but in the browser and you can edit your controls live.
i didn't have any intentions to share it, but this seems to be an appropriate venue. it's not nearly as cool as anything else in the thread :). pretty proof of concept, but maybe will get some ideas going. the relevance is that it's easy to execute arbitrary code [2] to control any program that supports osc/midi.
I'm a bit confused about how to install and run it (I'm pretty new to Clojure). Can you flesh out steps like "compile core.clj"?
I tried lein compile but that failed. I did lein jar instead. Then I did lein repl (didn't have a lein swank task), which downloaded some processing stuff and then gave me a reply. I tried running (start main), but it said it couldn't resolve the symbol start. Do I need to do something to include the jar?
I started building something similar a while back called music compojure. Anyone who is interested in algorithmic composition in Clojure may wish to look at the notation I came up with for comparison (see the examples directory on github). Though not perfect, it's very flexible and I'm quite pleased with some of the ideas in it. The code is perhaps maybe nearly useful. It produces midi files.
I love the compact notation for pitch and transforms. Question: there are two other aspects of music that would be wonderful to encode in your approach: note duration and loudness.
Do you have ideas on how to achieve this while continuuing the readability of your syntax?
Awesome! We are one step closer to the digital reproduction of "real" music, where you once might need a pianist with real skill, now you just need a musician that understands how to create such sound! A digital Richter so to speak....
The Keith Jarrett style was amazing - I really felt the analogy between playing a live instrument and changing the code in real-time, and it sounded very good.
I had visions of a large symphony hall with people dressed very sharply watching a master 'player' create and manipulate this piece in real-time... I think there may be a possibility. Interesting thought anyway.
20 comments
[ 2.8 ms ] story [ 47.2 ms ] threadWould be amazing to reuse your syntax inside a VST plugin, to write arpeggiators, drum patterns or other similar things.
Thanks for sharing!
[1] https://github.com/thbar/opaz-plugdk
i didn't have any intentions to share it, but this seems to be an appropriate venue. it's not nearly as cool as anything else in the thread :). pretty proof of concept, but maybe will get some ideas going. the relevance is that it's easy to execute arbitrary code [2] to control any program that supports osc/midi.
[1] https://github.com/catshirt/backbone-osc
[2] https://github.com/catshirt/backbone-osc/blob/master/static/...
I tried lein compile but that failed. I did lein jar instead. Then I did lein repl (didn't have a lein swank task), which downloaded some processing stuff and then gave me a reply. I tried running (start main), but it said it couldn't resolve the symbol start. Do I need to do something to include the jar?
then run: "lein repl"
once in the repl: (compile 'music-as-data.core) (ns music-as-data.core)
and then you're good to go!
https://github.com/mhowlett/music-compojure
Do you have ideas on how to achieve this while continuuing the readability of your syntax?
( http://www.colinfraser.com/m5000/m5000.htm )
Take a look at the AMPLE nucleus programmers guide - this thing was incredibly powerful and would be good even now with decent synthesis hardware.
http://vimeo.com/2433947 - Keith Jarrett Style
http://vimeo.com/2434054 - Part
http://vimeo.com/2579694 - Coding up an orchestra
http://impromptu.moso.com.au/
It's the only livecoding platform i know that doesn't sound all electronicy.
I had visions of a large symphony hall with people dressed very sharply watching a master 'player' create and manipulate this piece in real-time... I think there may be a possibility. Interesting thought anyway.