Another #SAUlang #syntax change coming up, merging '{...}' subparameters (currently only used for sweeps) into '[...]' lists, where they come first.
To make that work, modulator '[...]' lists when assigned, will be appended to the previous list, instead of replacing it. Unless a dash is written before the opening '[', for the old behavior.
I'm thinking of further expanding list features -- assigning them to variables, concatenation more generally, and insertion of objects from list variables.
Before I change focus to work on new features to #SAUlang, including a quest for some usable/concise way to do patterns/sequences/rhythms, here's basically how good/interesting I've got drumming.
Pseudo-random rhythm, two beat types, bassy sound gliding around. (Uses saugns v0.4.1 features.)
'bpm=280
'strength=30
Wcat f0[
Wsaw f$bpm/240 a$strength*2
] p[
Rxpe mvb f$bpm/120 a$strength*(240/$bpm)/2.r$strength*(240/$bpm)[
Rcos mf p1/2
]
] a1/8.r1[
Rcub mf f$bpm/120*2
] t60
I've put up a page with some new #SAUlang examples with rendered audio to listen to, CC0 licensed. https://sau.frama.io/examples.html
It's going to grow over time; the latest addition to it is the "Noise-on-noise" section (basically about a simple way to use noise to shape noise).
Features allowing new kinds of #sounddesign will be showcased there. There's still much I find missing in my language and program, and I'll only add these kinds of examples as they become possible with short scripts.
I've now released v0.3.12 of #saugns (https://sau.frama.io), which fixes old bugs and refines old features. It's meant to be the last version with only normal oscillators.
Following another insane git rebase marathon, the new version does away with some code, and splits out a static C library for the #SAUlang implemented.
Next, to add the new signal generators from the (otherwise less usable) "mgs0.1" branch mentioned earlier.
#saugns #saulang #scriptingLanguage #audioprogramming