[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)