@hraness/dawg 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/DAWG.md +655 -141
  3. package/README.md +27 -25
  4. package/core/autotune.ts +1119 -0
  5. package/core/chords.ts +759 -23
  6. package/core/clips.ts +499 -0
  7. package/core/diff.ts +182 -99
  8. package/core/expression.ts +158 -6
  9. package/core/fx.ts +354 -32
  10. package/core/granular.ts +91 -0
  11. package/core/instruments.ts +180 -0
  12. package/core/keys.ts +573 -4
  13. package/core/loop.ts +5 -0
  14. package/core/lyrics.ts +297 -0
  15. package/core/master.ts +3 -3
  16. package/core/resonators.ts +306 -4
  17. package/core/routing.ts +165 -0
  18. package/core/score.ts +1181 -16
  19. package/core/sdk/eval-child.ts +7 -2
  20. package/core/sdk/eval.ts +35 -6
  21. package/core/sdk/print.ts +354 -6
  22. package/core/sdk/sync-lyrics.ts +49 -0
  23. package/core/sdk/v1.ts +3160 -69
  24. package/core/sections.ts +298 -24
  25. package/core/sing.ts +815 -0
  26. package/core/strings.ts +237 -2
  27. package/core/style-provenance.ts +80 -0
  28. package/core/styles/africa-mena-southasia.ts +2893 -0
  29. package/core/styles/americas.ts +3810 -0
  30. package/core/styles/art.ts +4993 -0
  31. package/core/styles/base.ts +123 -0
  32. package/core/styles/cycles.ts +106 -0
  33. package/core/styles/electronic.ts +2723 -0
  34. package/core/styles/europe-asia-pacific.ts +2838 -0
  35. package/core/styles/excerpt.ts +29 -0
  36. package/core/styles/gamelan.ts +283 -0
  37. package/core/styles/generate.ts +2199 -0
  38. package/core/styles/index.ts +515 -0
  39. package/core/styles/parts.ts +106 -0
  40. package/core/styles/pop.ts +3189 -0
  41. package/core/styles/rock.ts +2993 -0
  42. package/core/styles/roots.ts +4175 -0
  43. package/core/styles/schema.ts +429 -0
  44. package/core/styles/taxonomy.ts +940 -0
  45. package/core/styles/validate.ts +528 -0
  46. package/core/tempo.ts +32 -2
  47. package/core/tuning.ts +19 -3
  48. package/core/vocoder.ts +524 -0
  49. package/core/winds.ts +652 -0
  50. package/guides/agent.md +29 -0
  51. package/guides/arrange.md +30 -0
  52. package/guides/audition.md +20 -14
  53. package/guides/automation.md +12 -6
  54. package/guides/chords.md +16 -14
  55. package/guides/effects.md +17 -15
  56. package/guides/faders.md +20 -16
  57. package/guides/files.md +13 -9
  58. package/guides/getting-started.md +15 -11
  59. package/guides/keys.md +19 -15
  60. package/guides/media.md +17 -12
  61. package/guides/mix.md +12 -6
  62. package/guides/music.md +23 -8
  63. package/guides/notes.md +15 -9
  64. package/guides/performance.md +15 -10
  65. package/guides/play.md +21 -13
  66. package/guides/project.md +25 -8
  67. package/guides/providers.md +20 -14
  68. package/guides/resample.md +32 -0
  69. package/guides/rhythm.md +17 -13
  70. package/guides/sessions.md +17 -7
  71. package/guides/show-me.md +31 -0
  72. package/guides/sound.md +25 -9
  73. package/guides/sounds.md +15 -12
  74. package/guides/styles.md +31 -0
  75. package/guides/tempo.md +15 -10
  76. package/guides/tracks.md +15 -10
  77. package/guides/tuning.md +32 -0
  78. package/guides/voice.md +31 -0
  79. package/guides/web-search.md +18 -8
  80. package/native/prebuilt/darwin-arm64/libdawg_sink.dylib +0 -0
  81. package/native/prebuilt/darwin-x64/libdawg_sink.dylib +0 -0
  82. package/native/prebuilt/linux-arm64/libdawg_sink.so +0 -0
  83. package/native/prebuilt/linux-x64/libdawg_sink.so +0 -0
  84. package/native/prebuilt/manifest.json +21 -0
  85. package/package.json +5 -2
  86. package/src/agent/agent.ts +131 -13
  87. package/src/agent/calibration-tools.ts +53 -0
  88. package/src/agent/chord-tools.ts +153 -1
  89. package/src/agent/clip-tools.ts +453 -0
  90. package/src/agent/command-agent.ts +369 -0
  91. package/src/agent/drum-tools.ts +2 -2
  92. package/src/agent/expression-tools.ts +91 -0
  93. package/src/agent/gateway.ts +246 -60
  94. package/src/agent/models.ts +53 -12
  95. package/src/agent/ops.ts +15 -1
  96. package/src/agent/pack-tools.ts +1 -1
  97. package/src/agent/planner.ts +13 -0
  98. package/src/agent/portable-schema.ts +80 -0
  99. package/src/agent/preview-tool.ts +5 -1
  100. package/src/agent/provider.ts +22 -8
  101. package/src/agent/resample-tool.ts +131 -0
  102. package/src/agent/rhythm-tools.ts +1 -1
  103. package/src/agent/section-tools.ts +1 -1
  104. package/src/agent/show-me.ts +497 -0
  105. package/src/agent/steer.ts +15 -0
  106. package/src/agent/style-tools.ts +217 -0
  107. package/src/agent/tool-error.ts +12 -0
  108. package/src/agent/tools.ts +307 -37
  109. package/src/agent/usage.ts +2 -2
  110. package/src/agent/voice-tools.ts +925 -0
  111. package/src/agent/xcb-agent.ts +16 -6
  112. package/src/argv.ts +38 -0
  113. package/src/audio/analysis.ts +253 -0
  114. package/src/audio/arrange.ts +58 -3
  115. package/src/audio/autotune-engine.ts +101 -0
  116. package/src/audio/autotune.ts +640 -0
  117. package/src/audio/clips.ts +240 -0
  118. package/src/audio/doctor.ts +86 -0
  119. package/src/audio/dsp/bandbank.ts +138 -0
  120. package/src/audio/dsp/envelope.ts +171 -0
  121. package/src/audio/dsp/follow.ts +120 -0
  122. package/src/audio/dsp/formant.ts +427 -0
  123. package/src/audio/dsp/glottal.ts +243 -0
  124. package/src/audio/dsp/interp.ts +7 -2
  125. package/src/audio/dsp/lpc.ts +50 -0
  126. package/src/audio/dsp/periodicity.ts +59 -0
  127. package/src/audio/dsp/pitch.ts +995 -0
  128. package/src/audio/dsp/psola.ts +199 -0
  129. package/src/audio/dsp/shift.ts +256 -0
  130. package/src/audio/effects/chain.ts +21 -4
  131. package/src/audio/effects/common.ts +57 -0
  132. package/src/audio/effects/convolution.ts +113 -5
  133. package/src/audio/effects/filter.ts +48 -69
  134. package/src/audio/effects/formant.ts +263 -0
  135. package/src/audio/effects/gaze.ts +354 -0
  136. package/src/audio/engine.ts +206 -33
  137. package/src/audio/fit.ts +80 -3
  138. package/src/audio/granular.ts +352 -21
  139. package/src/audio/instrument-check.ts +67 -47
  140. package/src/audio/instruments.ts +36 -3
  141. package/src/audio/keys/calibration.ts +56 -0
  142. package/src/audio/keys/electric.ts +427 -0
  143. package/src/audio/keys/engine.ts +156 -20
  144. package/src/audio/keys/organ.ts +1335 -0
  145. package/src/audio/keys/piano.ts +72 -8
  146. package/src/audio/keys/sympathetic.ts +127 -0
  147. package/src/audio/kits.ts +135 -6
  148. package/src/audio/live-worker.ts +3 -1
  149. package/src/audio/live.ts +247 -26
  150. package/src/audio/native.ts +615 -0
  151. package/src/audio/preview.ts +45 -3
  152. package/src/audio/render-worker.ts +2 -0
  153. package/src/audio/renderer.ts +2 -0
  154. package/src/audio/resample.ts +286 -0
  155. package/src/audio/resonators.ts +10 -2
  156. package/src/audio/sampler.ts +252 -24
  157. package/src/audio/samples.ts +46 -3
  158. package/src/audio/sing/analysis.ts +193 -0
  159. package/src/audio/sing/engine.ts +949 -0
  160. package/src/audio/strings/body.ts +29 -16
  161. package/src/audio/strings/bow.ts +699 -0
  162. package/src/audio/strings/engine.ts +274 -22
  163. package/src/audio/strings/measure.test-helpers.ts +2 -0
  164. package/src/audio/synth/oscillators.ts +31 -21
  165. package/src/audio/synth/voice.ts +34 -1
  166. package/src/audio/vocoder/bank.ts +314 -0
  167. package/src/audio/vocoder/carrier.ts +165 -0
  168. package/src/audio/vocoder/control.ts +68 -0
  169. package/src/audio/vocoder/detect.ts +50 -0
  170. package/src/audio/vocoder/index.ts +304 -0
  171. package/src/audio/vocoder/talkbox.ts +143 -0
  172. package/src/audio/wav.ts +608 -85
  173. package/src/audio/winds/engine.ts +306 -0
  174. package/src/audio/winds/filters.ts +153 -0
  175. package/src/audio/winds/pitch.ts +104 -0
  176. package/src/audio/winds/trim.ts +104 -0
  177. package/src/audio/winds/trims.ts +917 -0
  178. package/src/audio/winds/trims1.ts +297 -0
  179. package/src/audio/winds/voice.ts +492 -0
  180. package/src/auth/cli.ts +38 -36
  181. package/src/auth/credentials.ts +30 -1
  182. package/src/auth/login.ts +15 -9
  183. package/src/auth/tui.ts +19 -10
  184. package/src/commands/arrange.ts +44 -29
  185. package/src/commands/autotune.ts +421 -0
  186. package/src/commands/calibration.ts +74 -0
  187. package/src/commands/clips.ts +887 -0
  188. package/src/commands/drums.ts +3 -2
  189. package/src/commands/edit.ts +11 -4
  190. package/src/commands/expression.ts +104 -23
  191. package/src/commands/formant.ts +221 -0
  192. package/src/commands/fx.ts +105 -33
  193. package/src/commands/grammar.ts +558 -0
  194. package/src/commands/granular.ts +7 -2
  195. package/src/commands/help.ts +652 -339
  196. package/src/commands/history.ts +18 -0
  197. package/src/commands/keys.ts +293 -17
  198. package/src/commands/modal.ts +67 -4
  199. package/src/commands/music.ts +1 -1
  200. package/src/commands/nearest.ts +53 -0
  201. package/src/commands/pack.ts +9 -2
  202. package/src/commands/param-range.ts +56 -0
  203. package/src/commands/parses.ts +130 -0
  204. package/src/commands/progression.ts +170 -0
  205. package/src/commands/resample.ts +281 -0
  206. package/src/commands/rhythm.ts +3 -0
  207. package/src/commands/rig.ts +8 -25
  208. package/src/commands/sample.ts +49 -2
  209. package/src/commands/shift.ts +119 -0
  210. package/src/commands/sing.ts +478 -0
  211. package/src/commands/string.ts +28 -2
  212. package/src/commands/strum.ts +485 -0
  213. package/src/commands/style.ts +415 -0
  214. package/src/commands/time.ts +6 -3
  215. package/src/commands/tuning.ts +3 -3
  216. package/src/commands/vocal-pitch.ts +616 -0
  217. package/src/commands/vocal.ts +147 -0
  218. package/src/commands/vocoder.ts +627 -0
  219. package/src/commands/wind.ts +244 -0
  220. package/src/fs/durable.ts +50 -0
  221. package/src/lang/glossary.ts +493 -0
  222. package/src/launch-args.ts +163 -0
  223. package/src/main.ts +1521 -255
  224. package/src/media/cli.ts +20 -3
  225. package/src/media/import.ts +3 -1
  226. package/src/project/check.ts +26 -3
  227. package/src/project/clip-pins.ts +72 -0
  228. package/src/project/init.ts +23 -8
  229. package/src/project/sync.ts +418 -86
  230. package/src/render.ts +36 -1
  231. package/src/session/daemon.ts +3 -0
  232. package/src/session/meta.ts +14 -0
  233. package/src/session/origin.ts +154 -0
  234. package/src/session/port.ts +22 -4
  235. package/src/session/presence.ts +50 -7
  236. package/src/session/protocol.ts +5 -1
  237. package/src/session/rebase.ts +18 -5
  238. package/src/session/receipt.ts +258 -0
  239. package/src/session/store.ts +65 -43
  240. package/src/tui/arrange-menu.ts +65 -31
  241. package/src/tui/audition.ts +1 -1
  242. package/src/tui/euclid.ts +18 -13
  243. package/src/tui/fader.ts +228 -41
  244. package/src/tui/granular-menu.ts +2 -4
  245. package/src/tui/menu-clips.ts +297 -0
  246. package/src/tui/menu-time.ts +20 -13
  247. package/src/tui/menu-voice.ts +405 -0
  248. package/src/tui/menu.ts +1377 -193
  249. package/src/tui/modal-menu.ts +38 -11
  250. package/src/tui/performance-menu.ts +46 -1
  251. package/src/tui/play-chords.ts +108 -5
  252. package/src/tui/play-mode.ts +16 -1
  253. package/src/tui/play-session.ts +81 -16
  254. package/src/tui/sing-menu.ts +278 -0
  255. package/src/tui/style-menu.ts +104 -0
  256. package/src/tui/vocoder-menu.ts +244 -0
  257. package/src/tui/wind-menu.ts +144 -0
  258. package/src/version.ts +8 -0
  259. package/src/web/fetch.ts +115 -29
  260. package/tui/activity.ts +180 -9
  261. package/tui/app.ts +274 -40
  262. package/tui/clip-row.ts +132 -0
  263. package/tui/delight.ts +144 -0
  264. package/tui/drawer.ts +70 -22
  265. package/tui/frame-gate.ts +76 -0
  266. package/tui/grammar.ts +112 -63
  267. package/tui/guide.ts +42 -4
  268. package/tui/highway.ts +269 -25
  269. package/tui/hints.ts +192 -0
  270. package/tui/input.ts +60 -9
  271. package/tui/keys.ts +1 -1
  272. package/tui/play-strip.ts +68 -14
  273. package/tui/prompt.ts +1 -1
  274. package/tui/screen.ts +144 -14
  275. package/tui/theme.ts +27 -0
@@ -132,6 +132,42 @@ export const INSTRUMENT_WORDS: readonly InstrumentWordRow[] = Object.freeze([
132
132
  preset: "dulcimer",
133
133
  },
134
134
  { word: "sehtar", instrument: "string", field: "string", preset: "setar" },
135
+ // bowed (f061-bowed): bowed presets of the string engine. `cello`,
136
+ // `contrabass` and `strings` stay legacy words (today's voice);
137
+ // `bowed-cello`, `string cello` or `bowed cello` reach the engine.
138
+ { word: "violin", instrument: "string", field: "string", preset: "violin" },
139
+ { word: "viola", instrument: "string", field: "string", preset: "viola" },
140
+ { word: "fiddle", instrument: "string", field: "string", preset: "fiddle" },
141
+ { word: "erhu", instrument: "string", field: "string", preset: "erhu" },
142
+ {
143
+ word: "kamancheh",
144
+ instrument: "string",
145
+ field: "string",
146
+ preset: "kamancheh",
147
+ },
148
+ {
149
+ word: "kemence",
150
+ instrument: "string",
151
+ field: "string",
152
+ preset: "kamancheh",
153
+ },
154
+ { word: "violins", instrument: "string", field: "string", preset: "violins" },
155
+ { word: "violas", instrument: "string", field: "string", preset: "violas" },
156
+ { word: "cellos", instrument: "string", field: "string", preset: "cellos" },
157
+ {
158
+ word: "contrabasses",
159
+ instrument: "string",
160
+ field: "string",
161
+ preset: "contrabasses",
162
+ },
163
+ { word: "pizzicato", instrument: "string", field: "string", preset: "pizz" },
164
+ { word: "tremolo", instrument: "string", field: "string", preset: "trem" },
165
+ {
166
+ word: "bowed-cello",
167
+ instrument: "string",
168
+ field: "string",
169
+ preset: "cello",
170
+ },
135
171
  // f06-rig: guitar track aliases, a guitar voice plus a whole rig. The
136
172
  // voice is the strings lane's `electric` row (jangle: its 12-string
137
173
  // `jangle` preset); the pluck only while that row is absent. Never `lead`
@@ -196,6 +232,39 @@ export const INSTRUMENT_WORDS: readonly InstrumentWordRow[] = Object.freeze([
196
232
  field: "keys",
197
233
  preset: "prepared",
198
234
  },
235
+ // keys (f061-organ): tonewheel, combo and pipe organs on the keys
236
+ // engine. `organ` stays legacy (the sine voice).
237
+ {
238
+ word: "tonewheel",
239
+ instrument: "tonewheel",
240
+ field: "keys",
241
+ preset: "tonewheel",
242
+ },
243
+ {
244
+ word: "hammond",
245
+ instrument: "tonewheel",
246
+ field: "keys",
247
+ preset: "tonewheel",
248
+ },
249
+ { word: "b3", instrument: "tonewheel", field: "keys", preset: "tonewheel" },
250
+ { word: "gospel", instrument: "tonewheel", field: "keys", preset: "gospel" },
251
+ {
252
+ word: "jazzorgan",
253
+ instrument: "tonewheel",
254
+ field: "keys",
255
+ preset: "jazzorgan",
256
+ },
257
+ { word: "combo", instrument: "combo", field: "keys", preset: "combo" },
258
+ { word: "farfisa", instrument: "combo", field: "keys", preset: "combo" },
259
+ { word: "vox", instrument: "combo", field: "keys", preset: "vox" },
260
+ { word: "pipe", instrument: "pipe", field: "keys", preset: "pipe" },
261
+ { word: "church", instrument: "pipe", field: "keys", preset: "pipe" },
262
+ { word: "pipeorgan", instrument: "pipe", field: "keys", preset: "pipe" },
263
+ { word: "churchorgan", instrument: "pipe", field: "keys", preset: "pipe" },
264
+ { word: "flutes", instrument: "pipe", field: "keys", preset: "flutes" },
265
+ { word: "cornet", instrument: "pipe", field: "keys", preset: "cornet" },
266
+ { word: "reeds", instrument: "pipe", field: "keys", preset: "reeds" },
267
+ { word: "celeste", instrument: "pipe", field: "keys", preset: "celeste" },
199
268
  // f06-modal: mallets and bells (core/resonators.ts). `marimba` is legacy;
200
269
  // `modal` alone gives the modal marimba.
201
270
  { word: "modal", instrument: "modal", field: "modal", preset: "marimba" },
@@ -249,6 +318,117 @@ export const INSTRUMENT_WORDS: readonly InstrumentWordRow[] = Object.freeze([
249
318
  field: "modal",
250
319
  preset: "chimes",
251
320
  },
321
+ // keys-electric (0.6.1): electric pianos and clavinet. `keys` stays legacy.
322
+ { word: "epiano", instrument: "epiano", field: "keys", preset: "epiano" },
323
+ { word: "rhodes", instrument: "epiano", field: "keys", preset: "epiano" },
324
+ {
325
+ word: "suitcase",
326
+ instrument: "epiano",
327
+ field: "keys",
328
+ preset: "suitcase",
329
+ },
330
+ { word: "dyno", instrument: "epiano", field: "keys", preset: "dyno" },
331
+ { word: "wurli", instrument: "wurli", field: "keys", preset: "wurli" },
332
+ { word: "wurlitzer", instrument: "wurli", field: "keys", preset: "wurli" },
333
+ { word: "clav", instrument: "clav", field: "keys", preset: "clav" },
334
+ { word: "clavinet", instrument: "clav", field: "keys", preset: "clav" },
335
+ { word: "funkclav", instrument: "clav", field: "keys", preset: "funkclav" },
336
+ // f061-guitar: the shoegaze alias, an electric guitar voice plus the
337
+ // shoegaze rig and its long wash.
338
+ { word: "shoegaze", instrument: "pluck", voice: "electric", fx: "shoegaze" },
339
+ // f061 integration: the two rig names that are free as instrument words
340
+ // (glide and swell are taken by commands; reach them with `rig glide`).
341
+ { word: "dreampop", instrument: "pluck", voice: "electric", fx: "dreampop" },
342
+ { word: "ebow", instrument: "pluck", voice: "electric", fx: "ebow" },
343
+ // f061-gamelan-winds: gamelan, small bells and frame drums.
344
+ { word: "crotales", instrument: "modal", field: "modal", preset: "crotales" },
345
+ { word: "crotale", instrument: "modal", field: "modal", preset: "crotales" },
346
+ { word: "musicbox", instrument: "modal", field: "modal", preset: "musicbox" },
347
+ { word: "toypiano", instrument: "modal", field: "modal", preset: "toypiano" },
348
+ { word: "saron", instrument: "modal", field: "modal", preset: "saron" },
349
+ { word: "demung", instrument: "modal", field: "modal", preset: "demung" },
350
+ { word: "slenthem", instrument: "modal", field: "modal", preset: "slenthem" },
351
+ { word: "gangsa", instrument: "modal", field: "modal", preset: "gangsa" },
352
+ { word: "gender", instrument: "modal", field: "modal", preset: "gender" },
353
+ { word: "bonang", instrument: "modal", field: "modal", preset: "bonang" },
354
+ { word: "kenong", instrument: "modal", field: "modal", preset: "kenong" },
355
+ { word: "kethuk", instrument: "modal", field: "modal", preset: "kethuk" },
356
+ { word: "kempul", instrument: "modal", field: "modal", preset: "kempul" },
357
+ { word: "daf", instrument: "modal", field: "modal", preset: "daf" },
358
+ { word: "bodhran", instrument: "modal", field: "modal", preset: "bodhran" },
359
+ { word: "framedrum", instrument: "modal", field: "modal", preset: "bodhran" },
360
+ { word: "tabla", instrument: "modal", field: "modal", preset: "tabla" },
361
+ // f061-gamelan-winds: blown waveguides (core/winds.ts). The legacy word
362
+ // `wind` keeps its tone; these words and their aliases pick a wind preset.
363
+ { word: "flute", instrument: "wind", field: "wind", preset: "flute" },
364
+ { word: "recorder", instrument: "wind", field: "wind", preset: "recorder" },
365
+ { word: "whistle", instrument: "wind", field: "wind", preset: "whistle" },
366
+ { word: "ney", instrument: "wind", field: "wind", preset: "ney" },
367
+ {
368
+ word: "shakuhachi",
369
+ instrument: "wind",
370
+ field: "wind",
371
+ preset: "shakuhachi",
372
+ },
373
+ { word: "panpipe", instrument: "wind", field: "wind", preset: "panpipe" },
374
+ { word: "suling", instrument: "wind", field: "wind", preset: "suling" },
375
+ { word: "bansuri", instrument: "wind", field: "wind", preset: "bansuri" },
376
+ { word: "clarinet", instrument: "wind", field: "wind", preset: "clarinet" },
377
+ {
378
+ word: "bassclarinet",
379
+ instrument: "wind",
380
+ field: "wind",
381
+ preset: "bassclarinet",
382
+ },
383
+ { word: "oboe", instrument: "wind", field: "wind", preset: "oboe" },
384
+ { word: "bassoon", instrument: "wind", field: "wind", preset: "bassoon" },
385
+ { word: "sax", instrument: "wind", field: "wind", preset: "sax" },
386
+ { word: "altosax", instrument: "wind", field: "wind", preset: "altosax" },
387
+ { word: "barisax", instrument: "wind", field: "wind", preset: "barisax" },
388
+ { word: "trumpet", instrument: "wind", field: "wind", preset: "trumpet" },
389
+ { word: "harmon", instrument: "wind", field: "wind", preset: "harmon" },
390
+ { word: "plunger", instrument: "wind", field: "wind", preset: "plunger" },
391
+ { word: "trombone", instrument: "wind", field: "wind", preset: "trombone" },
392
+ { word: "tuba", instrument: "wind", field: "wind", preset: "tuba" },
393
+ { word: "horn", instrument: "wind", field: "wind", preset: "horn" },
394
+ { word: "tinwhistle", instrument: "wind", field: "wind", preset: "whistle" },
395
+ {
396
+ word: "pennywhistle",
397
+ instrument: "wind",
398
+ field: "wind",
399
+ preset: "whistle",
400
+ },
401
+ { word: "nay", instrument: "wind", field: "wind", preset: "ney" },
402
+ { word: "panflute", instrument: "wind", field: "wind", preset: "panpipe" },
403
+ { word: "panpipes", instrument: "wind", field: "wind", preset: "panpipe" },
404
+ { word: "saxophone", instrument: "wind", field: "wind", preset: "sax" },
405
+ { word: "tenorsax", instrument: "wind", field: "wind", preset: "sax" },
406
+ { word: "tenor", instrument: "wind", field: "wind", preset: "sax" },
407
+ { word: "alto", instrument: "wind", field: "wind", preset: "altosax" },
408
+ { word: "bari", instrument: "wind", field: "wind", preset: "barisax" },
409
+ { word: "baritonesax", instrument: "wind", field: "wind", preset: "barisax" },
410
+ { word: "frenchhorn", instrument: "wind", field: "wind", preset: "horn" },
411
+ { word: "mutedtrumpet", instrument: "wind", field: "wind", preset: "harmon" },
412
+ { word: "wahtrumpet", instrument: "wind", field: "wind", preset: "plunger" },
413
+ // f07-sing: the built-in singing voice (core/sing.ts).
414
+ { word: "sing", instrument: "sing", field: "sing" },
415
+ { word: "aah", instrument: "sing", field: "sing", preset: "aah" },
416
+ { word: "ooh", instrument: "sing", field: "sing", preset: "ooh" },
417
+ { word: "choir", instrument: "sing", field: "sing", preset: "choir" },
418
+ { word: "chorale", instrument: "sing", field: "sing", preset: "chorale" },
419
+ { word: "khoomei", instrument: "sing", field: "sing", preset: "khoomei" },
420
+ { word: "sygyt", instrument: "sing", field: "sing", preset: "sygyt" },
421
+ { word: "kargyraa", instrument: "sing", field: "sing", preset: "kargyraa" },
422
+ // f07-clips: a track of audio clips; its notes are guides.
423
+ { word: "vocal", instrument: "vocal" },
424
+ // f07-vocoder: the built-in carrier (core/vocoder.ts); set a source with
425
+ // `/vocoder src <track>`.
426
+ {
427
+ word: "vocoder",
428
+ instrument: "vocoder",
429
+ field: "vocoder",
430
+ preset: "classic",
431
+ },
252
432
  ]);
253
433
 
254
434
  /**