from Hacker News

Opusmodus: Common Lisp Music Composition System

by zetalyrae on 11/8/23, 10:57 AM with 68 comments

  • by shoggouth on 11/8/23, 1:56 PM

    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/

  • by nyx_land on 11/8/23, 11:55 PM

    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.
  • by phlakaton on 11/8/23, 3:32 PM

    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.
  • by iainctduncan on 11/9/23, 3:12 PM

    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-...

  • by ramses0 on 11/8/23, 3:54 PM

  • by vindarel on 11/8/23, 1:21 PM

    This GUI is made with LispWorks' CAPI toolkit.
  • by Rochus on 11/8/23, 4:53 PM

    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?

  • by chaosprint on 11/8/23, 2:10 PM

    If you are interested in code-based composition, try my project:

    https://glicol.org

    I am still working on the composition system, together with many other stuff

    here is an example of Kraftwerk:

    https://glicol.org/demo#themodel

  • by iainctduncan on 11/9/23, 3:01 PM

    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

  • by PennRobotics on 11/8/23, 11:44 AM

    For even easier (and still reasonably robust) text-based music composition, look into ABC notation:

    https://en.wikipedia.org/wiki/ABC_notation#Example

  • by shanusmagnus on 11/8/23, 2:37 PM

    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...
  • by metaketa on 11/8/23, 11:44 AM

    What notation rendering library are they using?
  • by johnisgood on 11/9/23, 2:03 PM

    > Everyone Can Code

    Right...

  • by anon291 on 11/8/23, 6:30 PM

    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