ref: 66ba98f5e0f3c5e80deb909d561dbb5b872ff72f
parent: 4217a5ba824dc927a0f9e3e3cb3a73c7dcdc35ca
author: Sigrid Haflínudóttir <[email protected]>
date: Wed May 13 04:46:28 EDT 2020
piper: provide more info and add an example
--- a/piper/README.md
+++ b/piper/README.md
@@ -2,14 +2,29 @@
WIP.
+Piper reads human-readable commands from stdin, controls neindaw to
+produce sounds, mixes those together and writes the result to
+`/dev/audio`.
+
+It's recommended to avoid using `mixfs` with piper since it causes
+timings to go wrong. Synth instances are created by piper
+automatically, automatic mixing is enabled by default unless `-m` is
+passed.
+
+Running it with orca is pretty simple:
+
```
-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
+daw/kick_drum -s kick -m /n/kick
+games/orca -u /fd/3 |[3] daw/piper /n/ay /n/kick
```
-Instances are created by piper automatically, automatic mixing is
-enabled by default unless `-m` is passed.
+Note that the order of "groups" (`/n/ay` and `/n/kick`) matters with
+the command language since the groups are addressed by their index.
+
+See [examples](examples/).
+
+## Commands
Piper accepts simple commands like so:
--- /dev/null
+++ b/piper/examples/aykick.orca
@@ -1,0 +1,17 @@
+.........................................................
+...............33C7......................................
+.................5C2.....................................
+............D2..1A1..3C3..4C3............................
+............*;00f2f5:c2ff:a1ff...........................
+................................D........................
+............D....................;10C2gf:f3fh............
+.............;bpm120;vol100..............................
+.........................................................
+............D............................................
+.............$bpm:120....................................
+.........................................................
+.........................................................
+.........................................................
+.........................................................
+.........................................................
+.........................................................