Starting Your Computer Music Journey with Clojure and Overtone in Emacs
1–10 of 10 posts
Re: Starting Your Computer Music Journey with Clojure and Overtone in Emacs
#2[1]: https://en.wikipedia.org/wiki/Nyquist_(programming_language)
Re: Starting Your Computer Music Journey with Clojure and Overtone in Emacs
#3Join the discord https://discord.gg/a5ttYuG
Re: Starting Your Computer Music Journey with Clojure and Overtone in Emacs
#4People might also be interested in a similar project called Sonic Pi[1], which is Ruby based.
Re: Starting Your Computer Music Journey with Clojure and Overtone in Emacs
#5Cool! I hadn't heard of Overtone before, but I love the idea of live coding music. People might also be interested in a similar project called Sonic Pi[1], which is Ruby based. [1]: https://sonic-pi.net/
Re: Starting Your Computer Music Journey with Clojure and Overtone in Emacs
#6It's an interesting time, something like a blend between the Game of Life and a Midi controller.
Re: Starting Your Computer Music Journey with Clojure and Overtone in Emacs
#7From all available implementations of the idea, I probably like Extempore (https://github.com/digego/extempore) the most. Extempore provides a low-level C-like language (xtlang) which compiles into LLVM and can be meta-programmed from a variant of Scheme (TinyScheme I believe). This arrangement makes it possible to generate the code for the audio graph from Scheme, compile/optimize it via LLVM, then drive it in a live-coding fashion from Emacs. Best of both worlds (high and low).
My personal, much simpler attempt in this space is Cowbells (https://github.com/omkamra/cowbells) - with this one you can live-code FluidSynth (MIDI soundfonts) from Clojure + CIDER + Emacs, representing musical phrases either via Clojure data structures or an alternative text-based syntax (which is translated into the former by a compiler).
Re: Starting Your Computer Music Journey with Clojure and Overtone in Emacs
#8I think the combo of Overtone and Emacs is really cool. Essentially, Overtone, Tidalcycles, Sonic Pi or FoxDot are note/OSC msg generators for SuperCollider. Perhaps the post should mention that. The reason is that when users start to care about audio synthesis and "sound-based music", then they will find a missing picture/concept between the pattern-based language abstraction to the audio float numbers. My experience is that if a user does not understand this process, it is very hard to master the language, tend to forget the syntax and is prone to errors.
One example is that before I made Glicol, I made QuaverSeries (https://quaverseries.web.app/), which shares a very similar syntax to Glicol. I would call it a functional wrapper for Tone.js. But as a functional programming language, even I myself forget the input/output type for each function after not using it for a while. Yet in Glicol, this problem is solved from the first day as Glicol's node IO are all audio streams. One reason I call Glicol "the next generation computer music" is partly because we are now in an era when browsers can also handle real-time GC-free audio, and audio-first makes a modern design.
In designing Glicol, my experience is that when one begins from the audio level, it does affect the language design a lot. How to make the trade-off among readability, simplicity and ergonomics for speedy writing in live coding performance, error handing, abstraction from audio to language, lowering the learning curve is really an art.
Re: Starting Your Computer Music Journey with Clojure and Overtone in Emacs
#9Re: Starting Your Computer Music Journey with Clojure and Overtone in Emacs
#10Emacs continues to interest me as an environment. I also spend huge amounts of time in VSCode and the LispWorks IDE, but I think I have been using Emacs for about 45 years, old habits get more entrenched.