v1.0
2022-08-01 draft (Leon van Kammen/coderofsalvation)
2022-09-01 ASCIISTEP16 implemented in milkytracker
#!/bin/sh | |
awk '/^#include *".*"$/ { | |
i = index($0, "\""); | |
file = substr($0, i + 1, length() - i - 1); | |
while ((getline < file) == 1) print; | |
close(file); | |
next; | |
} 1' myfile.txt > myfile.bundled.txt |
#!/bin/sh | |
# usage: ./wav2csound sample.wav >> mysong.csd | |
test -z $1 && { | |
echo "usage: wav2csound sample.wav"; | |
echo " wav2csound sample.wav >> mysong.csd" | |
exit 0; | |
} | |
{ |
echo "0 astroids are hitting your house" | awk '( $1 > 0 ) { $1 = "\033[31m" $1 "\033[0m" } 1' | |
echo "10 astroids are hitting your house" | awk '( $1 > 0 ) { $1 = "\033[31m" $1 "\033[0m" } 1' |
#N canvas 378 163 705 465 12; | |
#X obj 99 19 osc~ 440; | |
#X obj 99 319 writesf~; | |
#X obj 252 6 loadbang; | |
#X msg 123 105 open ./osc440.wav \, start; | |
#X msg 123 59 \; pd dsp 1 \;; | |
#X msg 252 266 stop; | |
#X obj 252 156 del 20000; | |
#X msg 308 256 \; pd quit \;; | |
#X text 292 201 <-- disconnect here in 3...2...1...; |
<a href="javascript:(function()%7BsetInterval(%20()%20%3D%3E%20%7B%0A%20%20%20%20let%20imgs%20%3D%20%5B...document.querySelectorAll(%22img%22)%5D%0A%20%20%20%20imgs.map(%20(i)%20%3D%3E%20%7B%0A%20%20%20%20%20%20let%20rec%20%3D%20localStorage.getItem(i.src)%3B%0A%20%20%20%20%20%20if(%20rec%20)%7B%0A%20%20%20%20%20%20%20%20i.style.opacity%20%3D%200.15%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20i.addEventListener('click'%2C%20((i)%20%3D%3E%20()%20%3D%3E%20localStorage.setItem(i.src%2C'%7B%7D'))(i)%20)%0A%20%20%20%20%7D)%0A%7D%2C2000)%7D)()%3B">marketplace_seenmarker</a> |
Let's face it, non-realtime audio is as important as realtime audio.
UDSP's are a great offline alternative to realtime plugins, which allow for polyglot-scriptable synth & fx-chains.
$ ./myudsp[.exe] [-o out.wav] [-n 60] [in1.wav in2.wav ..] # on unix/mac/linux