shithub: neindaw

ref: e71361d5f47f408ca3192ecdf2a44de48c0aeef9
dir: /piper/README.md/

View raw version
# piper

WIP.

```
daw/kick_drum -s kick -m /n/kick
daw/ay -s ay -m /n/ay
games/orca -u /fd/3 |[3] daw/piper /n/kick /n/ay
```

Instances are created by piper automatically, but there is no
automatic mixer connection yet, so still need to run `mixfs` and do
manual `audio/pcmconv -i f32c1r44100` for each `data` entry.

Piper accepts simple commands like so:

```
;00C4d8
```

`;` is for UDP message, `00` is first instance of the first group
(`/n/kick/0`), `C4` is the note, `d` is velocity (`g == 1.0`), `8`
is duration (the higher, the less). Duration depends on the current
bpm that can be set with a `bpm120` command, for example.

Notes can be connected with `:` like so:

```
;00C4d8:!C2df
```

In this case the second note is for the `B` oscillator of the kick
drum, and `!` is a way to "negate" the frequency value, so in fact
it's `C2` *negative*.

Commands can be separated with `;`.