6 ms·
I've seen so many "music programming languages" recently that I'm getting really quite confused about which one was which and does what. Has anyone done a comp
by an_ko 11y ago
I've seen so many "music programming languages" recently that I'm getting really quite confused about which one was which and does what. Has anyone done a comparison, or even just have a list of links?
- jcpst 11y agoThere's a wikipedia page with some of the more established ones: https://en.wikipedia.org/wiki/List_of_audio_programming_languages https://en.wikipedia.org/wiki/List_of_audio_programming_lang...
- FilterSweep 11y agoI fully agree. We saw one here yesterday (my timezone), actually. In that thread, another HN commenter posted this: https://en.m.wikipedia.org/wiki/List_of_audio_programming_languages https://en.m.wikipedia.org/wiki/List_of_audio_programming_la... I used ChucK in college, and considering its functional use in performance art of many kinds, I'm seeing a lot of these proverbially "reinventing the wheel" in different syntax....ad nauseum. Where I see the real potential is using the native language of DAWs (digital audio workstation) like Protools, Ableton, and leveraging their native languages to write new scripts and library extensions for hardware.
- zebproj 11y ago> Where I see the real potential is using the native language of DAWs (digital audio workstation) like Protools, Ableton, and leveraging their native languages to write new scripts and library extensions for hardware. Most of these DAWs are written in C/C++. In many cases, things are really closed down (looking at you ProTools), so its difficult/impossible to write extensions unless you intend to sell it commercially. Renoise has a pretty good API in Lua for building plugins, which I thought was kind of neat. Ableton has Max4Live which I think counts for an extension language. As far as "native" code goes, I've been working a library of high quality DSP modules that you can use to build plugins called Soundpipe: http://www.github.com/PaulBatchelor/Soundpipe.git http://www.github.com/PaulBatchelor/Soundpipe.git
- kaoD 11y agoKeep 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