I am happy for you to have the synth of your hearts desire!
But this is one way I worked on.
Imagine you are using debian, where I tested this.
Dependencies:
```sh
apt install -y ecl rlwrap libsndfile-dev mpv lynx
```
mpv and openbsd aucat are very different, but it roughly works.
Get set up:
```sh
mkdir ~/syn-syn/
cd ~/syn-syn/
lynx -dump
gopher://gopher.club/0/users/screwtape/boilerplate.ecl \
> boilerplate.ecl
lynx -dump
gopher://gopher.club/0/users/screwtape/build.ecl \
> build.ecl
lynx -dump
gopher://gopher.club/0/users/screwtape/syn-syn.syn \
> syn-syn.syn
```
Alright, we're done. This should be trivially adaptable.
```sh
cd ~/syn-syn/;
mkdir notes;
ecl -load build.ecl; # makes ./synth-synth
rlwrap ./synth-synth -load syn-syn.syn
```
Now try extending syn-syn.syn in the repl, maybe
```ecl repl
> (setq *note* (note 345 678 3.2 0.1))
<closure>
>(funcall *note*)
```