[HN Gopher] Common Lisp and Music Composition
       ___________________________________________________________________
        
       Common Lisp and Music Composition
        
       Author : wglb
       Score  : 79 points
       Date   : 2023-01-17 17:54 UTC (5 hours ago)
        
 (HTM) web link (ldbeth.sdf.org)
 (TXT) w3m dump (ldbeth.sdf.org)
        
       | pmoriarty wrote:
       | I 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/c...
        
       | jakespracher wrote:
       | Reminds me of this clojure talk https://youtu.be/Mfsnlbd-4xQ
        
       | diskzero wrote:
       | The 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-
       | ja...
        
       | kreelman wrote:
       | Interesting 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.
        
       | lispm wrote:
       | Other Common Lisp applications for music, written in LispWorks,
       | http://www.lispworks.com :
       | 
       | 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
        
       | adham-omran wrote:
       | Music 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 wrote:
         | I remember seeing someone perform a live gig at a Haskell
         | conference programming music in real time - there's probably
         | videos online somewhere (youtube)
        
           | wglb wrote:
           | Don't think this is at a haskel conference, but this looks
           | like fun: https://www.youtube.com/watch?v=G1m0aX9Lpts. Their
           | web site is https://sonic-pi.net/.
           | 
           | An explanation of sonic
           | https://www.youtube.com/watch?v=OLLwG_SN8oo
        
             | diskzero wrote:
             | Sonic Pi is really neat, especially the work that has been
             | done using Erlang in the playback scheduler.
        
           | zimpenfish wrote:
           | Almost 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
           | 
           | 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/
        
       | runevault wrote:
       | Maybe 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.
        
         | tmtvl wrote:
         | People sticking to their good intentions for the new year,
         | maybe? Common Lisp is a pretty great language, though
         | (especially with defstar and alexandria).
        
         | sp33der89 wrote:
         | So 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 wrote:
           | Feels 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/
        
             | sph wrote:
             | Same, 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.
        
               | runevault wrote:
               | FYI PG put the PDF up on his site so you can just legally
               | download it.
        
               | sp33der89 wrote:
               | Yea this is a thing too, I have no idea what is
               | recommended in the current ecosystem. SBCL + Quicklisp? I
               | don't even really know what ASDF is.
        
               | vindarel wrote:
               | https://lispcookbook.github.io/cl-cookbook/ ?
               | Implementations, Quicklisp and ASDF explained
        
               | runevault wrote:
               | If you want true common lisp SBCL is probably the most
               | universally known, and yeah everything I've read
               | indicates one of the first things you should do is
               | download and run the quicklisp setup so you have it
               | working with your environment. Though it is funny how
               | Hard Way did it during initial setup but then hasn't used
               | it at all and I'm a chunk of the way through. Even as a
               | beginner book I'd probably briefly touch on packages
               | because it is so important to modern development.
        
           | p_l wrote:
           | It's not very fractured, especially in open source as many
           | "common libraries" support most implementations.
           | 
           | 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).
        
         | ranit wrote:
         | > Common Lisp the hard way that was linked here not terribly
         | long ago
         | 
         | Here: https://news.ycombinator.com/item?id=34326311
        
         | Syntonicles wrote:
         | I spent some time this year using Common Lisp. It's expanding
         | my mind and I see all sorts of alternate histories. I'm
         | starting to feel very curious about SmallTalk for that same
         | reason.
         | 
         | 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".
        
           | truckerbill wrote:
           | It's too married to emacs right now
        
       | diskzero wrote:
       | I 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 wrote:
         | Good 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.
        
       ___________________________________________________________________
       (page generated 2023-01-17 23:00 UTC)