Common Lisp and Music Composition
ldbeth.sdf.org
ldbeth.sdf.org
Project is here: https://github.com/iainctduncan/scheme-for-max Youtube here: https://www.youtube.com/c/musicwithlisp
There will be another release in the next month or two. I'll be continuing this project as a PhD project so it will keep going!
I do plan on eventually releasing a full Common Music portability shim too.
ScoreCloud, Music Notation: https://scorecloud.com
MusicEase, Music Notation: https://www.musicease.com/
OpenMusic, Music composition with a visual programming language: https://github.com/openmusic-project/openmusic/ , https://openmusic-project.github.io/openmusic/
OM#, originally based on OpenMusic: https://github.com/cac-t-u-s/om-sharp , https://cac-t-u-s.github.io
Most of these applications are available for Mac and Windows, some even for Linux.
OpusModus, https://opusmodus.com (mentioned in the article) now is on Macs (Intel / Apple Silicon) and an upcoming version is promised for Windows
There have been a lot of attempts to revitalize Lisp. Clojure is the one that comes to mind, and I do like that language. My personal take CL simply has a marketing problem. The name sounds so stale and boring that I never thought to pick it up. "Common" may have been a word that invoked unity in a fractured ecosystem at some point in time, but today it communicates "Nothing Special".
Toureztky's Common Lisp A Gentle Intro to Symbolic Programming Norvig's PAIP Seibel's Practical Common Lisp Graham's ANSI Common Lisp
I'd like to snag a copy of Sonya Keene's book on CLOS but hesitant to drop $50+ for a used book.
Also Lisp in Small Pieces (I went through a helluva lisp phase a long time ago but never got as deep as I should have).
It is worth mentioning Hard Way still has a bunch of holes in it, like I got to the chapter on vectors and it is basically blank
I want a book to make production-ready software in Common Lisp, not to faff around. The Paul Graham "On Lisp" book seems excellent, and I'll dive into it next.
A direct link to the PDF is here too. https://github.com/ccceye/computer-book/blob/master/Practica...
Another interesting one is "Land of Lisp", https://www.amazon.com/Land-Lisp-Learn-Program-Game/dp/15932...
It's more theoretical, but kind of fun. It's a touch more academic (IMHO) than Practical Common Lisp, but pretty good.
Your recent efforts might be one of the reasons there is a little bit of Lisp hype on this forum lately :-)
It very much helps that there's a single standard that is quite rich (unlike Scheme) which makes for much easier portability between implementations, to the point that somewhat common repeated trope was developers using one implementation for faster iteration and another for deployment (for example, CCL for development and SBCL for faster code in deployment, or CCL/SBCL for development and ECL for target deployment).
Also does a lot on the Euler Room channel including a live stream this last weekend - https://www.youtube.com/@Eulerroom/videos
There's a web based version called Strudel that's a good way to get a quick intro without the hassle of the TidalCycles setup - https://strudel.tidalcycles.org/
An explanation of sonic https://www.youtube.com/watch?v=OLLwG_SN8oo
I'd love to find another lightweight Scheme-based music programming language without any graphical dependencies.
[1] - https://ccrma.stanford.edu/courses/220b-winter-2006/cm/doc/c...
Janus is also the co-author of a very nice book on the fundamentals of composition with OpusModus. [1] The book also servers a nice introduction to Lisp as well!
[1] https://diastemastudiericerche.org/product/marco-giommoni-ja...
He starts with a sine wave and builds up abstractions until he has a Bach canon.
Noticed a lot of use of setq... Wondering if this is simply the author's muscle memory or if there is a speed or reduced complexity advantage compared to using setf.
I think this kind of demonstrates the amazing plasticity of Lispy environments. There are multiple ways of doing something as relatively straightforward as assignment, all within the one version of the environment (I know, other langs can do this too, but still neat).
I'm gradually getting my head around Emacs lisp. Lots of setq there.
re: article: I would like to try the software.