Sonic Pi – Code based live music creation tool
github.com
github.com
Some others worth trying depending on your personal choice and bias for a particular PL:
Euterpea - Haskell library for music creation [0].
Extempore - Scheme-based livecoding environment with a low-level language too - xtlang [1].
Grace (Common Music) - Scheme-based livecoding with crossplatform IDE [2].
Sporth (used by AudioKit) - Forth-based, low-level livecoding of music.
I think Grace is probably the most self-contained. The single executable for Linux, Mac, and Windows comes with samples and a choice of a scheme-based language, or a more simplified, more Algol-like one called SAL.
I like extempore because of its CAAS (compiler as a service) model, scheme language, and the ability to create from the note up, or to create sounds from scratch (sine waves and such).
I splurged for the Haskell School of Music book based on the Euterpea library that was originally written by Paul Hudak, but finished by one of his students, Donya Quick. This is how I originally learned Haskell, and it was a lot of fun and educational to boot.
[0] https://www.euterpea.com/
[1] https://extemporelang.github.io/
[2] http://commonmusic.sourceforge.net/
[3] https://pbat.ch/proj/sporth.htmlIn addition to being a part of AudioKit, it also has it's own repository as a self-contained command line program:
https://github.com/PaulBatchelor/Sporth/
I used to use a live-coding setup with Sporth centered around Vim, though it has never been added to the codebase. If anyone is interested in this, please feel free to email me at thisispaulbatchelor at gmail dot com.
https://www.instagram.com/p/CKKvWP6h3xQ/
And I've also seen it play well with ORCA and other livecoding tools:
Also, Algorave for live performances: https://algorave.com/
Even if you don't know Haskell, it is a delight to improvise electronic music with this library. It comes with its own mini-language for dealing with musical patterns and can synchronize with any instrument. Very extensible, the backend uses https://github.com/musikinformatik/SuperDirt, a SuperCollider extension for dealing with synths / samples / effects.
https://github.com/sonic-pi-net/sonic-pi/blob/main/SYNTH_DES...
Sonic Pi 3.3.0 (Beam) - https://news.ycombinator.com/item?id=25971096 - Jan 2021 (1 comment)
Sonic Pi is a code-based music creation and performance tool - https://news.ycombinator.com/item?id=23066922 - May 2020 (66 comments)
Sonic Pi: Compose electronic music with code - https://news.ycombinator.com/item?id=17632999 - July 2018 (61 comments)
Sonic Pi: Compose electronic music with code - https://news.ycombinator.com/item?id=17483234 - July 2018 (3 comments)
Sonic Pi – The Live Coding Music Synth for Everyone - https://news.ycombinator.com/item?id=16888550 - April 2018 (1 comment)
Sam Aaron, Joe Armstrong – Keynote: Distributed Jamming with Sonic Pi and Erlang - https://news.ycombinator.com/item?id=13036095 - Nov 2016 (4 comments)
Aerodynamic by Daft-Punk in 100 lines of code with Sonic Pi - https://news.ycombinator.com/item?id=11033953 - Feb 2016 (69 comments)
Sonic Pi: Make Music Using Ruby - https://news.ycombinator.com/item?id=8825017 - Jan 2015 (10 comments)
Sonic Pi – A Music Live Coding Environment for Schools - https://news.ycombinator.com/item?id=8344827 - Sept 2014 (28 comments)
What I would like to see is a "multi-player" mode, where I can collaboratively code on the same session.
Is there anything that would enable this with sonic-pi?
Haven’t checked it out yet but the README alone is well written and quite compelling. (Maybe I’m just a sucker for ASCII art…)
I've never understood how DAW makers have made so much money off of the FFT plus a MIDI envelope.
I had sonic-pi bookmarked/planned for more than 5 years. It is sad how most bookmarked items never get viewed or they are postponed to eternity.
I would recommend this playlist to get started: https://www.youtube.com/watch?v=4BPKaHV7Q5U&list=PLaitaNxyd8...
and the help > tutorial section of sonic itself.
Those two are just amazing: https://youtu.be/a1RxpJkvqpY, https://youtu.be/GPan4gRSwZs
On one hand, divorcing myself from the initial impulse to consume or create something helps filter down to what I am and will be truly interested in. On the obvious other hand, the backlog grows to the point where I get paralyzed by so many options and the perfect ideas in my head that I end up not doing anything.
Occasionally, I have a filtering session when I am going through everything and narrowing them down, however extra items are appearing until the next filtering session and the same goes again. It is a vicious cycle.