[HN Gopher] Sound As Pure Form: Music Language Inspired by Super...
       ___________________________________________________________________
        
       Sound As Pure Form: Music Language Inspired by Supercollider, APL,
       and Forth
        
       https://www.youtube.com/watch?v=FY2WYXOdXoM
        
       Author : mindcrime
       Score  : 176 points
       Date   : 2025-06-22 02:17 UTC (20 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | ViscountPenguin wrote:
       | Any chance of a flatpak (or some form of Linux Binary) for this?
       | I've been wanting to play around with Music Programming for ages,
       | but none of the options I looked at play well with Ubuntu.
       | SonicPi in particular didn't run no matter what I did, I had to
       | dualboot into Windows to get it working :'(
        
         | mindcrime wrote:
         | I've been able to run SuperCollider on PopOS (an Ubuntu derived
         | distro) with no problems, FWIW. Have you tried SC at all during
         | your explorations?
        
           | ViscountPenguin wrote:
           | I couldn't get super collider to work, but I'm getting the
           | impression that something may just be wrong with my install
           | based on the replies I've gotten.
        
         | cyforms wrote:
         | Might not be what you're looking for and also not FOSS but you
         | could look into Bitwig
        
         | heavyset_go wrote:
         | SuperCollider, Csound, ChucK and Tidal all work on Linux if you
         | want something you can easily install.
        
           | ViscountPenguin wrote:
           | Weirdly I've not had luck with Super collider. But I might
           | have just fucked up my audio config at some point. It seems
           | like other people aren't having my issues.
        
             | heavyset_go wrote:
             | Give a distro with up-to-date Pipewire/Wireplumber +
             | pipewire-jack packages a spin.
             | 
             | Most rolling release distros will have the latest Pipewire.
             | Ubuntu freezes packages for months to years depending on
             | the release you're using and you really want the latest
             | Pipewire for a good experience.
        
             | creata wrote:
             | I can second the sibling comment - it works well for me
             | with pipewire-jack. Might be obvious to you, but the Arch
             | Wiki page on PipeWire is useful.
             | 
             | https://wiki.archlinux.org/title/PipeWire
        
         | iainctduncan wrote:
         | Supercollider, faust, chuck, csound, pure data, common music,
         | common lisp music, and nyquist all work on Linux. Most of the
         | open source music programming languages make Linux a high
         | priority!
        
           | Towaway69 wrote:
           | I would recommend supercollider because it's UI components
           | also translate well from Mac to Linux - I created a single
           | app with a nice UI in supercollider and it worked seamlessly
           | on both Linux and Mac.
           | 
           | Admittedly I haven't used any other sound programming
           | language, so my opinion is heavily biased ;-)
        
             | iainctduncan wrote:
             | Pure Data's UI works identically on all platforms. The
             | others I mentioned are text languages.
             | 
             | If you've never used anything other than SC, it's well
             | worth learning some others. Different paradigms make
             | different things easier, and thus affect what you are most
             | likely to do with them.
             | 
             | Personally, my axe of choice these days is running text
             | languages from within the patchers, such as Csound in Max
             | or PD.
        
               | wwweston wrote:
               | Like, using the patchers for flow, and the text to define
               | node behavior? If so, can you offer pointers to where
               | that's explained for pd?
        
               | flats wrote:
               | +1, Max for the rapid prototyping & flexible control,
               | Csound for its concision & high fidelity.
        
         | chr15m wrote:
         | You should try Strudel. All you need is a web browser.
         | https://strudel.tidalcycles.org/
        
           | ViscountPenguin wrote:
           | Oh wow, thanks! This is good fun.
        
         | ofalkaed wrote:
         | Perhaps you should try installing kxstudio, it is a collection
         | of packages and all the configuration stuff for tuning Ubuntu
         | or Debian for audio work. I have never used it but many seem to
         | swear by it and I believe it takes care of setting up and
         | configuring any of the common synthesis DSLs like SC, pd and
         | Csound. Perhaps someone else can fill in the massive gaps I
         | left.
        
           | ViscountPenguin wrote:
           | I'll have a look, maybe it'll help solve my problems!
        
       | ofalkaed wrote:
       | What are the chances of getting this to compile on linux? I have
       | no idea about how to deal with an Xcode project or have enough
       | C++ knowledge to know if this can even be compiled on linux.
       | CoreFoundation.h looks to be OSX? and on my quick glance that
       | looks to be the main hurdle but that is as much as I can say.
        
         | mstep wrote:
         | look here: https://github.com/ahihi/sapf
        
       | pierrec wrote:
       | Neat, I've been meaning to check out this language! I believe
       | it's been in the works for a long time, but only recently
       | published. The syntax may seem esoteric at first, but it turns
       | out the concatenative approach is uniquely suited to creative
       | audio DSP. It's fairly simple once you get the basic idea.
       | 
       | The author probably hasn't tried them (otherwise they would be in
       | the Readme), but there are actually a couple of existing Forth-
       | like audio languages. Quite the niche. I'm one of the most avid
       | users of one such language called Sporth, for which I made an
       | online live playground at https://audiomasher.org/
       | 
       | The Sporth author created multiple stack-based audio languages
       | and I haven't even kept up with all of it. He has some
       | interesting projects at https://git.sr.ht/~pbatch/
       | 
       | In any case, sapf looks very carefully designed, and the addition
       | of functional elements inspired by APL seems like it complements
       | the stack approach very well. And the examples actually _sound
       | good_ to my ears, which isn 't a requirement but generally a good
       | sign. I'm tempted to get cracking on a WASM build right away...
        
         | vanderZwan wrote:
         | > _the addition of functional elements inspired by APL seems
         | like it complements the stack approach very well._
         | 
         | Between this and Uiua I'm starting to think that the APL and
         | Forth fans (or more generally array language and concatenative
         | language fans) should team up more often. The paradigms seem to
         | complement each other quite nicely.
         | 
         | Based on the WHY section of the readme I get the impression
         | that the author of this language would agree with me.
        
       | chaosprint wrote:
       | If you are interested in music language, you might also want to
       | try Glicol:
       | 
       | https://glicol.org/
       | 
       | The syntax is hardware-inspired, wysiwyg-style lazy diff graph
       | updating. you can use it directly through wasm on the web page;
       | there is also a cross-platform cli version:
       | 
       | https://github.com/glicol/glicol-cli
       | 
       | I am currently working on porting it to no std embedded systems
        
         | zX41ZdbW wrote:
         | Also, I'd like to share a musical synthesizer in SQL:
         | https://github.com/ClickHouse/NoiSQL (my project).
        
       | vanderZwan wrote:
       | > _It intends to do for lazy sequences what APL does for arrays:
       | provide very high level functions with pervasive automatic
       | mapping, scanning, and reduction operators._
       | 
       | Does anyone else find this extremely cool from a conceptual point
       | of view, even without the music language context? (very tempted
       | to make an "it's music to my ears" dad joke right now)
        
       | spacechild1 wrote:
       | For those who don't know: lfnoise is James McCartney, the
       | original author of Supercollider.
        
       | polotics wrote:
       | I am then quite torn: keep using SuperCollider with all the
       | accumulated UGens and example code, or switch to this elegant
       | language and start over with a lot of basics... Leading to the
       | question: any bridges or ways to integrate and reuse between the
       | two?
        
         | semi-extrinsic wrote:
         | I guess you know about them already, but TidalCycles / Strudel
         | / Sardine / Bacalao / Overtone can be interesting to explore in
         | this direction. Not specifically sapf-integration, but various
         | ways of using SC with more elegant langs.
        
         | 6r17 wrote:
         | I wonder if AI could help you translate those or write a
         | translater ? Idk if the language is complex tough
        
       | bjt12345 wrote:
       | How does it have such a warm analog-like sound in the demo?
        
         | jrajav wrote:
         | I don't know which demo you mean exactly, but 'analog'
         | qualities can be achieved in a number of simple ways in the
         | digital realm (without even getting into advanced modeling). A
         | few of them:
         | 
         | - Focusing on upper harmonic content. Starting with a saw wave
         | gets you far here, as it starts with _all_ the odd and even
         | harmonics which you can then gently trim away. In particular,
         | even harmonics in the mid range are often described as 'warm.'
         | 
         | - Using resonant filters. These too contribute to a sense of
         | richness and warmth, especially if the resonant peak is closer
         | to the mid range.
         | 
         | - Adding a sub oscillator below the primary one to give it a
         | subtle low hum.
         | 
         | - Adding more oscillators and detuning them slightly with
         | respect to each other for stereo width and play in the
         | harmonics.
         | 
         | - Modulating pitch and filter parameters with slow, gentle
         | LFOs.
        
         | bwanab wrote:
         | Having just tried it out, it has the same warm sound in the
         | actual implementation.
        
       | SomeHacker44 wrote:
       | Seems to be MacOS only.
        
         | spacechild1 wrote:
         | There's a cross-platform fork (WIP):
         | https://github.com/ahihi/sapf
        
       | ssfrr wrote:
       | Cool and surprising to see built-in support for the Snyderphonics
       | Manta [1], which is a pretty niche controller. I wrote the
       | `libmanta` library [2] that is vendored into sapf. Haven't
       | touched the library in a few years (though I still use my Manta),
       | so it feels good to see it pop up!
       | 
       | [1]: https://snyderphonics.com/manta.htm
       | 
       | [2]: https://github.com/ssfrr/libmanta
        
       | spacechild1 wrote:
       | If anyone has questions, there is SAPF section on the
       | Supercollider forum: https://scsynth.org/c/sapf/34. James shows
       | up from time to time to answer questions.
       | 
       | Here's an online presention by James about SC, SAPF and some
       | other recent endeavours: https://youtu.be/fmVdfQNPzkE?t=1537
        
       ___________________________________________________________________
       (page generated 2025-06-22 23:00 UTC)