Sporth: A small stack-based audio programming language
paulbatchelor.github.io
Sporth: A small stack-based audio programming language
1–10 of 34 posts
Re: Sporth: A small stack-based audio programming language
#2Re: Sporth: A small stack-based audio programming language
#3I want to eventually rewrite it in Svelte because React is too slow (probably my own fault) to play notes and update the UI at the same time. I think I should have used PureComponents or something.
Re: Sporth: A small stack-based audio programming language
#4Things like this seem to me to be putting a language where what you really want is just a focused IDE.
Re: Sporth: A small stack-based audio programming language
#5I found the stack-based, Forth style syntax works like magic for a lot of creative audio DSP tasks. Blocks of code are like little signal chains, but denser and easier to manage than traditional spaghetti graphs (like in Reaktor, PureData, etc.) though I believe spaghetti graphs are more approachable at first.
Re: Sporth: A small stack-based audio programming language
#6In a similar vein I present: http://nexuist.github.io/brainsynth/ I want to eventually rewrite it in Svelte because React is too slow (probably my own fault) to play notes and update the UI at the same time. I think I should have used PureComponents or something.
I really like the way the editor visually shows where you are. It would be really neat to get it controlling some synths in an Ableton live session or something. You'll get the notation system AND the great sounds that way.
At one point, I wrote a little BF sequencer for Sporth [0]. The nice thing about it was it just output a signal which could be mapped to literally any sound parameter at audio-rate. If the project still builds [1], there's a single demo that I made of it.
Re: Sporth: A small stack-based audio programming language
#7If you're thinking of compiling this to webassembly and making an online Sporth playground... It's already done! Works pretty well, too. You can browse a bunch of Sporth scripts and play with them here: https://audiomasher.org/browse I found the stack-based, Forth style syntax works like magic for a lot of creative audio DSP tasks. Blocks of code are like little signal chains, but denser and easier to manage than tra…
the author also wrote an interactive tutorial here:
this is based on the sporth cookbook, found here:
Re: Sporth: A small stack-based audio programming language
#8If you're thinking of compiling this to webassembly and making an online Sporth playground... It's already done! Works pretty well, too. You can browse a bunch of Sporth scripts and play with them here: https://audiomasher.org/browse I found the stack-based, Forth style syntax works like magic for a lot of creative audio DSP tasks. Blocks of code are like little signal chains, but denser and easier to manage than tra…
+1 on this. the author also wrote an interactive tutorial here: https://audiomasher.org/learn this is based on the sporth cookbook, found here: http://paulbatchelor.github.io/proj/cook/
Since you're here, I would love to know what you think of adding function definition as a language feature to Sporth (in the style of Forth, or even better, Joy). As you know I've used Sporth a lot, and I think it would be pretty useful to have this kind of feature, but perhaps implementation would be a bit challenging right now.
Re: Sporth: A small stack-based audio programming language
#9Earlier quoted context omitted.
+1 on this. the author also wrote an interactive tutorial here: https://audiomasher.org/learn this is based on the sporth cookbook, found here: http://paulbatchelor.github.io/proj/cook/
Thanks :D Since you're here, I would love to know what you think of adding function definition as a language feature to Sporth (in the style of Forth, or even better, Joy). As you know I've used Sporth a lot, and I think it would be pretty useful to have this kind of feature, but perhaps implementation would be a bit challenging right now.
I actually kind of did that. Soundpipe[0], Patchwerk[1], and Runt[2] used together builds something that syntactically resembles Sporth, sounds virtually identical, and is usually way faster. In Runt, you can add new words and build abstractions that way. In practice, I tend to avoid doing this and will tend to generate Runt code using higher level languages like Scheme.
0: http://paulbatchelor.github.io/proj/soundpipe.html
Re: Sporth: A small stack-based audio programming language
#10Things like this seem to me to be putting a language where what you really want is just a focused IDE.
Could you elaborate on what you mean by that?