4 ms·
Keep in mind there are actually two domains in music: instruments (sound synthesis) and orchestration. Both Skoar and Alda (which was linked yesterday) are only
by kaoD 11y ago
Keep in mind there are actually two domains in music: instruments (sound synthesis) and orchestration. Both Skoar and Alda (which was linked yesterday) are only orchestration languages.
I've been researching about this and narrowed down by these criteria: (1) Modern and maintained (2) Open source (3) Multiplatform (4) Supports live coding (5) Not MIDI-only output (6) Text-based (7) Not Java (sorry JSyn :P)
For me live coding is important since I prefer to compose music in an exploratory fashion. Also, live performances are cool. Read more about live coding and resources in http://toplap.org http://toplap.org
The list in no particular order (beware of the brain dump):
·
## Overtone (https://overtone.github.io/ https://overtone.github.io/)
The coolest kid on the block is actually a frontend to SuperCollider.
- Clojure based.
- VJ-ready. Integration with Processing via Quil (https://github.com/quil/quil https://github.com/quil/quil) and GLSL shaders via Shadertone (https://github.com/overtone/shadertone https://github.com/overtone/shadertone).
- Lots of tooling: https://github.com/overtone https://github.com/overtone
·
## SuperCollider (https://supercollider.github.io/ https://supercollider.github.io/)
- Object-oriented functional language (similar to Smalltalk/Ruby/C/JS).
- Basically Overtone minus Clojure minus VJ plus IDE.
- Client-server architecture (which is what allows Overtone to use it as a backend).
·
## Sonic Pi (http://sonic-pi.net/ http://sonic-pi.net/)
- Ruby DSL + IDE.
- Built for Raspberry PI (but runs anywhere SuperCollider and Ruby are available).
- Another frontend to SuperCollider.
- Designed to be suitable for teaching children. Teacher resources available (http://www.sonicpiliveandcoding.com/ http://www.sonicpiliveandcoding.com/ http://www.raspberrypi.org/learning/sonic-pi-lessons/ http://www.raspberrypi.org/learning/sonic-pi-lessons/)
·
## Extempore (https://github.com/digego/extempore https://github.com/digego/extempore)
- Scheme-like.
- Supports both audio and graphics.
- Defines itself as a 'cyberphysical' programming environment (http://dl.acm.org/citation.cfm?id=1869526 http://dl.acm.org/citation.cfm?id=1869526).
·
## ChucK (http://chuck.cs.princeton.edu/ http://chuck.cs.princeton.edu/)
- Real-time sound synthesis and music creation (real-time meant it used to take a real amount of CPU time in non-RT kernels, not sure if it's changed).
- Time-based, concurrent programming model (they call it 'strongly-timed').
·
## Fluxus (http://www.pawfal.org/fluxus/ http://www.pawfal.org/fluxus/)
- Racket based.
- Full-fledged environment.
- Defined as 'a 3D game engine for livecoding worlds into existence', though it supports sound too.
- Doesn't seem to be actively maintained (most recent release dates from April 2012).
·
## Nyquist (https://www.cs.cmu.edu/afs/cs.cmu.edu/project/music/web/music.software.html https://www.cs.cmu.edu/afs/cs.cmu.edu/project/music/web/musi...)
- (Still researching...)
·
## Csound (http://www.csounds.com/ http://www.csounds.com/)
- (Still researching...)
- Live coding added in a recent version.
- Orchestration and synthesis are separate languages.
·
## Tidal (http://yaxu.org/tidal/ http://yaxu.org/tidal/)
- Haskell based.
- Seems to support audio and graphics (defines itself as live coding of patterns).
- (Still researching... I just came to know it in a link here.)
·
## Skoar (https://github.com/sofakid/Skoarcery https://github.com/sofakid/Skoarcery)
- Another SuperCollider frontend.
- Only orchestration, though I guess it supports different instruments created in SuperCollider.
- Doesn't seem to support live coding? (Added to the list until I research more.)
·
## MORE
I just found these in the TOPLAP wiki (and Googling around) but had no time to comb through them. Listed in no particular order:
- https://github.com/edne/pineal https://github.com/edne/pineal
- https://github.com/createuniverses/praxis https://github.com/createuniverses/praxis
- http://charlie-roberts.com/gibber/about-gibber/ http://charlie-roberts.com/gibber/about-gibber/
- https://github.com/LuaAV/LuaAV https://github.com/LuaAV/LuaAV
- http://hyperyarn.criticalartware.net http://hyperyarn.criticalartware.net
- http://www.renickbell.net/conductive/doku.php/ http://www.renickbell.net/conductive/doku.php/
- EXTRA: Live coding light shows https://github.com/brunchboy/afterglow https://github.com/brunchboy/afterglow
- mindcrash 11y agoYou might want to check out Alda aswell, Clojure based (like Overtone), released only a few days ago I believe. http://daveyarwood.github.io/alda/2015/09/05/alda-a-manifesto-and-gentle-introduction/ http://daveyarwood.github.io/alda/2015/09/05/alda-a-manifest...
- kaoD 11y agoThanks :) I mentioned it in the post though: > Both Skoar and Alda (which was linked yesterday) are only orchestration languages. I'm also interested in instrument generation and, while Skoar plugs into SuperCollider, Alda seems to be specifically MIDI output. You could probably hook Alda -> MIDI -> synthesizer though, but you'd still have to program the synthesizer in a different language, which kind of defeats the purpose.
- zebproj 11y agoSeveral months ago, I compared musical languages, writing essentially the same thing in each one: https://www.safaribooksonline.com/blog/2014/11/07/making-computers-sing/ https://www.safaribooksonline.com/blog/2014/11/07/making-com... I also wrote one myself: http://paulbatchelor.github.io/proj/sporth http://paulbatchelor.github.io/proj/sporth
- kaoD 11y agoThanks! I ended moving the information to a Gist[0] for easier updating as I research more (hope to eventually settle for a few environments and actually try them). I'll check your links ASAP and add relevant info to the Gist. Sporth reminds me a lot of https://forthsalon.appspot.com/ https://forthsalon.appspot.com/ They'd make great partners :) [0] https://gist.github.com/alvaro-cuesta/dc714c06a8e672bebd90 https://gist.github.com/alvaro-cuesta/dc714c06a8e672bebd90
- zebproj 11y agoI got a lot of inspiration from forthsalon. It was only after I built Sporth that I realized how expressive a Forth can be for creative coding.