6 ms·
Common Lisp and Music Composition
- adham-omran 4y agoMusic from code is a very interesting idea, but it always struck me as a something to be done after a melody is made rather than a tool for creating music. The instantaneous translation of motion to music on an instrument is difficult if not impossible to replicate with code. Euclidean rhythms are a good application.
- eddsh1994 4y agoI remember seeing someone perform a live gig at a Haskell conference programming music in real time - there's probably videos online somewhere (youtube)
- wglb 4y agoDon't think this is at a haskel conference, but this looks like fun: https://www.youtube.com/watch?v=G1m0aX9Lpts https://www.youtube.com/watch?v=G1m0aX9Lpts. Their web site is https://sonic-pi.net/ https://sonic-pi.net/. An explanation of sonic https://www.youtube.com/watch?v=OLLwG_SN8oo https://www.youtube.com/watch?v=OLLwG_SN8oo
- diskzero 4y agoSonic Pi is really neat, especially the work that has been done using Erlang in the playback scheduler.
- zimpenfish 4y agoAlmost certainly 'yaxu who has a bunch of videos on YouTube re: TidalCycles (the live coding env he created in Haskell) - https://www.youtube.com/@yaxu/videos https://www.youtube.com/@yaxu/videos Also does a lot on the Euler Room channel including a live stream this last weekend - https://www.youtube.com/@Eulerroom/videos 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/ https://strudel.tidalcycles.org/
- diskzero 4y agoI have been a happy user of OpusModus for a while. The latest version is based on LispWorks. OpusModus used to be based on CCL, but sadly CCL does not have a clear path forward to run on M-based Macs. It would be great for CCL to get some technical help, but OpusModus has left that platform.
- mark_l_watson 4y agoGood though that they are using LispWorks since they are active on the users group for LW. They once answered a question I had on app signing. re: article: I would like to try the software.
- diskzero 4y agoThe author mentions using OpusModus, noting that it is similar in the spirit of Symbolic Composer. OpusModus is primarily the work of Janusz Podrazik, who also happened to be one of the main authors of Symbolic Composer. 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-janusz-podrazik-fundamentals-of-composition-with-opusmodus-book-1/ https://diastemastudiericerche.org/product/marco-giommoni-ja...
- lispm 4y agoOther Common Lisp applications for music, written in LispWorks, http://www.lispworks.com http://www.lispworks.com : ScoreCloud, Music Notation: https://scorecloud.com https://scorecloud.com MusicEase, Music Notation: https://www.musicease.com/ https://www.musicease.com/ OpenMusic, Music composition with a visual programming language: https://github.com/openmusic-project/openmusic/ https://github.com/openmusic-project/openmusic/ , https://openmusic-project.github.io/openmusic/ https://openmusic-project.github.io/openmusic/ OM#, originally based on OpenMusic: https://github.com/cac-t-u-s/om-sharp https://github.com/cac-t-u-s/om-sharp , https://cac-t-u-s.github.io 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 https://opusmodus.com (mentioned in the article) now is on Macs (Intel / Apple Silicon) and an upcoming version is promised for Windows
- pmoriarty 4y agoI used to use Common Music[1], a Scheme music composition environment and loved it... but it seems the project died years ago. 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/cm.html https://ccrma.stanford.edu/courses/220b-winter-2006/cm/doc/c...
- iainctduncan 4y agoI have ported most of it to Max/MSP and Pure Data as the Scheme for Max and Scheme for Pd projects. I'll put a top level post up on this thread. Common Music is great, unfortunately the author now has to teach in Python, hence it languishing.
- iainctduncan 4y agobtw, if you want to use it with not graphical deps, you should be able (though I haven't done it) to run it in Pd headless.
- runevault 4y agoMaybe I've just been blind to it but feels like CL has been getting mentioned more on HN lately (I do remember the early days when Lisp/Scheme/Arc were mentioned a lot since this site runs on Arc). Actually gone through some of that Common Lisp the hard way that was linked here not terribly long ago.
- ranit 4y ago> Common Lisp the hard way that was linked here not terribly long ago Here: https://news.ycombinator.com/item?id=34326311 https://news.ycombinator.com/item?id=34326311
- sp33der89 4y agoSo how is programming in Common Lisp these days? I know a bit of Clojure/Fennel, but I feel like the Common Lisp ecosystem is a lot more fractured(I might very well be wrong tho)?
- runevault 4y agoFeels alright though I'm still early in relearning it. Going through that Learning CL the hard way[1] plus grabbed On Lisp and slowly working through that as well. I also need to really mess with Quicklisp which I set up to give me a package manager. Alive is a damn good plugin for CL on VS Code if you don't wanna go down the Emacs hole. 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 [1] - https://llthw.common-lisp.dev/ https://llthw.common-lisp.dev/
- sph 4y agoSame, still trying to get a good book that's pragmatic and for experienced developers. Many starts from the basics, or don't even talk about stuff like Quicklisp and ASDF. 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.
- 4y ago
- jakespracher 4y agoReminds me of this clojure talk https://youtu.be/Mfsnlbd-4xQ https://youtu.be/Mfsnlbd-4xQ
- kreelman 4y agoInteresting article. Thanks. 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.
- moonchild 4y agoThere is no speed advantage. Some argue that you should always use setf, and that setq leaks an unfortunate implementation detail. Others argue that you should use setq whenever possible, so that use of setf clearly flags the fact that something more complex is going on.
- iainctduncan 4y agoOn a closely related note, and possibly of interest, I am the author of Scheme for Max and Scheme for Pd, which put the Common Music 3 Scheme interpreter in Max and Pure Data. Common Music's most recent version used s7 Scheme as the language, which is mostly a a Scheme but borrows many features from Common Lisp (keywords, defmacro, etc). With Scheme for Max, you can basically run almost all Common Music code inside Max, Ableton Live, and Pd, allowing you to use it with more commercial tools (such as VST instruments, etc). It has extensive API functions for hooking into the host scheduler and data structures as well as running Lisp/Scheme code. Project is here: https://github.com/iainctduncan/scheme-for-max https://github.com/iainctduncan/scheme-for-max Youtube here: https://www.youtube.com/c/musicwithlisp 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.
- yayitswei 4y agoRelated talk in Clojure: http://skillsmatter.com/podcast/home/functional-composition http://skillsmatter.com/podcast/home/functional-composition He starts with a sine wave and builds up abstractions until he has a Bach canon.