I've always wondered why Common Lisp has so many algorithmic composition applications. In addition to Opusmodus, Common Music, and Common Lisp Music, which were mentioned elsewhere ITT, there's also Open Music (http://repmus.ircam.fr/openmusic/home) and Incudine (https://incudine.sourceforge.net/), and then of course there's some SuperCollider client stuff. it feels like such a niche within a niche to write algorithmic composition software (something that requires an intersection of some very specific skills and knowledge) in a language like CL that hardly anyone knows, but I'm glad it exists even if I can't personally make use of the one that most interests me (Open Music) because of LispWorks.
Not to be confused with Common Music (https://commonmusic.sourceforge.net/) or Common Lisp Music (https://ccrma.stanford.edu/software/snd/snd/clm.html), two venerable Common Lisp packages for composition and sound generation.
For those wondering "why lisp for music?", I wrote a chapter about this specifically in my recent Music Tech Master's Thesis, for which Scheme for Max was my thesis project. Might be of interest! (This is written to be accessible to a non-computer scientist audience, btw)
https://iainctduncan.github.io/papers/design.html#why-use-a-...
This GUI is made with LispWorks' CAPI toolkit.
There are a lot of cross-platform open-source solutions with comparable capabilities, like e.g. Common Music, Nyquist, Csound, SonicPi, etc.
Maybe anyone has experience why Opusmodus would be preferable to the ones listed?
If you are interested in code-based composition, try my project:
I am still working on the composition system, together with many other stuff
here is an example of Kraftwerk:
FWIW, I have also authored a related tool. I wrote Scheme for Max and Scheme for PD, enabling you to run s7 Scheme inside Max, PureData, and Live (through Max). It uses the same Scheme interpreter as the Common Music (mentioned here) and allows you to run a fair bit of common music code, though it is in general targetted at being a bit more low level. And of course includes a bunch of Max integration things not in CM. You can use it, for example, to write sequencers and automation tools that share Max buffers, sync with the transport, use the Live API in Ableton Live, etc.
Project page here: http://github.com/iainctduncan/scheme-for-max
Demos here: https://youtube.com/c/musicwithlisp
Long form (thesis) paper on the project: https://iainctduncan.github.io/papers/index.html
For even easier (and still reasonably robust) text-based music composition, look into ABC notation:
This is interesting and inspiring! However, if you don't know anything about music, would it be fun to play around with it, or tedious? Trying to allocate my down-the-rabbit-hole cycles a bit...
What notation rendering library are they using?
> Everyone Can Code
Right...
Begin rant.
Call me crazy, but all the great music of today is being done in video games and cinema scoring. I'm sure this system is useful for some, but I can't help but feel the kinds of modern classical featured are just noise. The claim is often that music is cultural. I'm sure that's true, but then where is the great modern Western classical music? Why was it thrown away? There are reasonable explorations to be had. For example, modern composers could have chosen to integrate Jazz harmonies (which still sound concordant), but instead they chose to go off the deep end with atonality, aharmony, and arhythm. We gotta end the postmodernism and return to actually nice things.
And really, it's sad because the kinds of scores being produced with the rhythm changes every measure, etc. They really ultimately sound like the pretentious ramblings of some drunk/high guy at a MIDI controller instead of the carefully assembled score. It takes real talent to properly keep meter over the course of an entire song. Just banging some keys and then making other people attempt to replicate it... I mean props to the replicators (the players), but the scorer just threw some notes on a page.
In my opinion, this is a racist response by mainly European composers to the popularity of Jazz music which is associated mainly with African Americans, from whom the source originated. They were jealous of what they perceived as the novel rhythms and harmonies, but instead of building off that or inventing something new that still had rhythmic and harmonic value.. they did this
Also there is Impromptu[0], a live coding Scheme. This is my favorite piece written in it[1]. The guy behind Impromptu created Extempore[2].
[0]: http://impromptu.moso.com.au/index.html
[1]: https://vimeo.com/2579694
[2]: https://extemporelang.github.io/