@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.
- package/CHANGELOG.md +126 -0
- package/DAWG.md +655 -141
- package/README.md +27 -25
- package/core/autotune.ts +1119 -0
- package/core/chords.ts +759 -23
- package/core/clips.ts +499 -0
- package/core/diff.ts +182 -99
- package/core/expression.ts +158 -6
- package/core/fx.ts +354 -32
- package/core/granular.ts +91 -0
- package/core/instruments.ts +180 -0
- package/core/keys.ts +573 -4
- package/core/loop.ts +5 -0
- package/core/lyrics.ts +297 -0
- package/core/master.ts +3 -3
- package/core/resonators.ts +306 -4
- package/core/routing.ts +165 -0
- package/core/score.ts +1181 -16
- package/core/sdk/eval-child.ts +7 -2
- package/core/sdk/eval.ts +35 -6
- package/core/sdk/print.ts +354 -6
- package/core/sdk/sync-lyrics.ts +49 -0
- package/core/sdk/v1.ts +3160 -69
- package/core/sections.ts +298 -24
- package/core/sing.ts +815 -0
- package/core/strings.ts +237 -2
- package/core/style-provenance.ts +80 -0
- package/core/styles/africa-mena-southasia.ts +2893 -0
- package/core/styles/americas.ts +3810 -0
- package/core/styles/art.ts +4993 -0
- package/core/styles/base.ts +123 -0
- package/core/styles/cycles.ts +106 -0
- package/core/styles/electronic.ts +2723 -0
- package/core/styles/europe-asia-pacific.ts +2838 -0
- package/core/styles/excerpt.ts +29 -0
- package/core/styles/gamelan.ts +283 -0
- package/core/styles/generate.ts +2199 -0
- package/core/styles/index.ts +515 -0
- package/core/styles/parts.ts +106 -0
- package/core/styles/pop.ts +3189 -0
- package/core/styles/rock.ts +2993 -0
- package/core/styles/roots.ts +4175 -0
- package/core/styles/schema.ts +429 -0
- package/core/styles/taxonomy.ts +940 -0
- package/core/styles/validate.ts +528 -0
- package/core/tempo.ts +32 -2
- package/core/tuning.ts +19 -3
- package/core/vocoder.ts +524 -0
- package/core/winds.ts +652 -0
- package/guides/agent.md +29 -0
- package/guides/arrange.md +30 -0
- package/guides/audition.md +20 -14
- package/guides/automation.md +12 -6
- package/guides/chords.md +16 -14
- package/guides/effects.md +17 -15
- package/guides/faders.md +20 -16
- package/guides/files.md +13 -9
- package/guides/getting-started.md +15 -11
- package/guides/keys.md +19 -15
- package/guides/media.md +17 -12
- package/guides/mix.md +12 -6
- package/guides/music.md +23 -8
- package/guides/notes.md +15 -9
- package/guides/performance.md +15 -10
- package/guides/play.md +21 -13
- package/guides/project.md +25 -8
- package/guides/providers.md +20 -14
- package/guides/resample.md +32 -0
- package/guides/rhythm.md +17 -13
- package/guides/sessions.md +17 -7
- package/guides/show-me.md +31 -0
- package/guides/sound.md +25 -9
- package/guides/sounds.md +15 -12
- package/guides/styles.md +31 -0
- package/guides/tempo.md +15 -10
- package/guides/tracks.md +15 -10
- package/guides/tuning.md +32 -0
- package/guides/voice.md +31 -0
- package/guides/web-search.md +18 -8
- package/native/prebuilt/darwin-arm64/libdawg_sink.dylib +0 -0
- package/native/prebuilt/darwin-x64/libdawg_sink.dylib +0 -0
- package/native/prebuilt/linux-arm64/libdawg_sink.so +0 -0
- package/native/prebuilt/linux-x64/libdawg_sink.so +0 -0
- package/native/prebuilt/manifest.json +21 -0
- package/package.json +5 -2
- package/src/agent/agent.ts +131 -13
- package/src/agent/calibration-tools.ts +53 -0
- package/src/agent/chord-tools.ts +153 -1
- package/src/agent/clip-tools.ts +453 -0
- package/src/agent/command-agent.ts +369 -0
- package/src/agent/drum-tools.ts +2 -2
- package/src/agent/expression-tools.ts +91 -0
- package/src/agent/gateway.ts +246 -60
- package/src/agent/models.ts +53 -12
- package/src/agent/ops.ts +15 -1
- package/src/agent/pack-tools.ts +1 -1
- package/src/agent/planner.ts +13 -0
- package/src/agent/portable-schema.ts +80 -0
- package/src/agent/preview-tool.ts +5 -1
- package/src/agent/provider.ts +22 -8
- package/src/agent/resample-tool.ts +131 -0
- package/src/agent/rhythm-tools.ts +1 -1
- package/src/agent/section-tools.ts +1 -1
- package/src/agent/show-me.ts +497 -0
- package/src/agent/steer.ts +15 -0
- package/src/agent/style-tools.ts +217 -0
- package/src/agent/tool-error.ts +12 -0
- package/src/agent/tools.ts +307 -37
- package/src/agent/usage.ts +2 -2
- package/src/agent/voice-tools.ts +925 -0
- package/src/agent/xcb-agent.ts +16 -6
- package/src/argv.ts +38 -0
- package/src/audio/analysis.ts +253 -0
- package/src/audio/arrange.ts +58 -3
- package/src/audio/autotune-engine.ts +101 -0
- package/src/audio/autotune.ts +640 -0
- package/src/audio/clips.ts +240 -0
- package/src/audio/doctor.ts +86 -0
- package/src/audio/dsp/bandbank.ts +138 -0
- package/src/audio/dsp/envelope.ts +171 -0
- package/src/audio/dsp/follow.ts +120 -0
- package/src/audio/dsp/formant.ts +427 -0
- package/src/audio/dsp/glottal.ts +243 -0
- package/src/audio/dsp/interp.ts +7 -2
- package/src/audio/dsp/lpc.ts +50 -0
- package/src/audio/dsp/periodicity.ts +59 -0
- package/src/audio/dsp/pitch.ts +995 -0
- package/src/audio/dsp/psola.ts +199 -0
- package/src/audio/dsp/shift.ts +256 -0
- package/src/audio/effects/chain.ts +21 -4
- package/src/audio/effects/common.ts +57 -0
- package/src/audio/effects/convolution.ts +113 -5
- package/src/audio/effects/filter.ts +48 -69
- package/src/audio/effects/formant.ts +263 -0
- package/src/audio/effects/gaze.ts +354 -0
- package/src/audio/engine.ts +206 -33
- package/src/audio/fit.ts +80 -3
- package/src/audio/granular.ts +352 -21
- package/src/audio/instrument-check.ts +67 -47
- package/src/audio/instruments.ts +36 -3
- package/src/audio/keys/calibration.ts +56 -0
- package/src/audio/keys/electric.ts +427 -0
- package/src/audio/keys/engine.ts +156 -20
- package/src/audio/keys/organ.ts +1335 -0
- package/src/audio/keys/piano.ts +72 -8
- package/src/audio/keys/sympathetic.ts +127 -0
- package/src/audio/kits.ts +135 -6
- package/src/audio/live-worker.ts +3 -1
- package/src/audio/live.ts +247 -26
- package/src/audio/native.ts +615 -0
- package/src/audio/preview.ts +45 -3
- package/src/audio/render-worker.ts +2 -0
- package/src/audio/renderer.ts +2 -0
- package/src/audio/resample.ts +286 -0
- package/src/audio/resonators.ts +10 -2
- package/src/audio/sampler.ts +252 -24
- package/src/audio/samples.ts +46 -3
- package/src/audio/sing/analysis.ts +193 -0
- package/src/audio/sing/engine.ts +949 -0
- package/src/audio/strings/body.ts +29 -16
- package/src/audio/strings/bow.ts +699 -0
- package/src/audio/strings/engine.ts +274 -22
- package/src/audio/strings/measure.test-helpers.ts +2 -0
- package/src/audio/synth/oscillators.ts +31 -21
- package/src/audio/synth/voice.ts +34 -1
- package/src/audio/vocoder/bank.ts +314 -0
- package/src/audio/vocoder/carrier.ts +165 -0
- package/src/audio/vocoder/control.ts +68 -0
- package/src/audio/vocoder/detect.ts +50 -0
- package/src/audio/vocoder/index.ts +304 -0
- package/src/audio/vocoder/talkbox.ts +143 -0
- package/src/audio/wav.ts +608 -85
- package/src/audio/winds/engine.ts +306 -0
- package/src/audio/winds/filters.ts +153 -0
- package/src/audio/winds/pitch.ts +104 -0
- package/src/audio/winds/trim.ts +104 -0
- package/src/audio/winds/trims.ts +917 -0
- package/src/audio/winds/trims1.ts +297 -0
- package/src/audio/winds/voice.ts +492 -0
- package/src/auth/cli.ts +38 -36
- package/src/auth/credentials.ts +30 -1
- package/src/auth/login.ts +15 -9
- package/src/auth/tui.ts +19 -10
- package/src/commands/arrange.ts +44 -29
- package/src/commands/autotune.ts +421 -0
- package/src/commands/calibration.ts +74 -0
- package/src/commands/clips.ts +887 -0
- package/src/commands/drums.ts +3 -2
- package/src/commands/edit.ts +11 -4
- package/src/commands/expression.ts +104 -23
- package/src/commands/formant.ts +221 -0
- package/src/commands/fx.ts +105 -33
- package/src/commands/grammar.ts +558 -0
- package/src/commands/granular.ts +7 -2
- package/src/commands/help.ts +652 -339
- package/src/commands/history.ts +18 -0
- package/src/commands/keys.ts +293 -17
- package/src/commands/modal.ts +67 -4
- package/src/commands/music.ts +1 -1
- package/src/commands/nearest.ts +53 -0
- package/src/commands/pack.ts +9 -2
- package/src/commands/param-range.ts +56 -0
- package/src/commands/parses.ts +130 -0
- package/src/commands/progression.ts +170 -0
- package/src/commands/resample.ts +281 -0
- package/src/commands/rhythm.ts +3 -0
- package/src/commands/rig.ts +8 -25
- package/src/commands/sample.ts +49 -2
- package/src/commands/shift.ts +119 -0
- package/src/commands/sing.ts +478 -0
- package/src/commands/string.ts +28 -2
- package/src/commands/strum.ts +485 -0
- package/src/commands/style.ts +415 -0
- package/src/commands/time.ts +6 -3
- package/src/commands/tuning.ts +3 -3
- package/src/commands/vocal-pitch.ts +616 -0
- package/src/commands/vocal.ts +147 -0
- package/src/commands/vocoder.ts +627 -0
- package/src/commands/wind.ts +244 -0
- package/src/fs/durable.ts +50 -0
- package/src/lang/glossary.ts +493 -0
- package/src/launch-args.ts +163 -0
- package/src/main.ts +1521 -255
- package/src/media/cli.ts +20 -3
- package/src/media/import.ts +3 -1
- package/src/project/check.ts +26 -3
- package/src/project/clip-pins.ts +72 -0
- package/src/project/init.ts +23 -8
- package/src/project/sync.ts +418 -86
- package/src/render.ts +36 -1
- package/src/session/daemon.ts +3 -0
- package/src/session/meta.ts +14 -0
- package/src/session/origin.ts +154 -0
- package/src/session/port.ts +22 -4
- package/src/session/presence.ts +50 -7
- package/src/session/protocol.ts +5 -1
- package/src/session/rebase.ts +18 -5
- package/src/session/receipt.ts +258 -0
- package/src/session/store.ts +65 -43
- package/src/tui/arrange-menu.ts +65 -31
- package/src/tui/audition.ts +1 -1
- package/src/tui/euclid.ts +18 -13
- package/src/tui/fader.ts +228 -41
- package/src/tui/granular-menu.ts +2 -4
- package/src/tui/menu-clips.ts +297 -0
- package/src/tui/menu-time.ts +20 -13
- package/src/tui/menu-voice.ts +405 -0
- package/src/tui/menu.ts +1377 -193
- package/src/tui/modal-menu.ts +38 -11
- package/src/tui/performance-menu.ts +46 -1
- package/src/tui/play-chords.ts +108 -5
- package/src/tui/play-mode.ts +16 -1
- package/src/tui/play-session.ts +81 -16
- package/src/tui/sing-menu.ts +278 -0
- package/src/tui/style-menu.ts +104 -0
- package/src/tui/vocoder-menu.ts +244 -0
- package/src/tui/wind-menu.ts +144 -0
- package/src/version.ts +8 -0
- package/src/web/fetch.ts +115 -29
- package/tui/activity.ts +180 -9
- package/tui/app.ts +274 -40
- package/tui/clip-row.ts +132 -0
- package/tui/delight.ts +144 -0
- package/tui/drawer.ts +70 -22
- package/tui/frame-gate.ts +76 -0
- package/tui/grammar.ts +112 -63
- package/tui/guide.ts +42 -4
- package/tui/highway.ts +269 -25
- package/tui/hints.ts +192 -0
- package/tui/input.ts +60 -9
- package/tui/keys.ts +1 -1
- package/tui/play-strip.ts +68 -14
- package/tui/prompt.ts +1 -1
- package/tui/screen.ts +144 -14
- package/tui/theme.ts +27 -0
package/guides/providers.md
CHANGED
|
@@ -1,25 +1,31 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: providers
|
|
3
3
|
title: Providers and models
|
|
4
|
-
parent:
|
|
5
|
-
order:
|
|
4
|
+
parent: agent
|
|
5
|
+
order: 2
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
Plain requests go to the agent once a provider is set: AI Gateway,
|
|
9
|
+
OpenRouter, or a Codex or Claude subscription.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Ask
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
- `dawg login gateway` · `openrouter` · `codex` · `claude`
|
|
15
|
-
- `dawg model` pick a model with the cost per prompt
|
|
16
|
-
- `dawg auth status --check` · `dawg logout`
|
|
13
|
+
- "which model are you?" (after `model key`)
|
|
17
14
|
|
|
18
|
-
##
|
|
15
|
+
## Type it yourself
|
|
19
16
|
|
|
20
|
-
-
|
|
21
|
-
-
|
|
17
|
+
- `dawg model key` finds setups · `dawg model key gateway`
|
|
18
|
+
- `model key` · `model` picker · `model fast` · `logout`
|
|
19
|
+
- `/auth --check` · `DAWG_MODEL=<alias>` · `DAWG_AI=0` no agent
|
|
22
20
|
|
|
23
|
-
##
|
|
21
|
+
## Menu
|
|
24
22
|
|
|
25
|
-
-
|
|
23
|
+
- Ctrl-K › Project › agent › model · model key
|
|
24
|
+
|
|
25
|
+
## Keys
|
|
26
|
+
|
|
27
|
+
- In the model picker ↑↓ move · Enter choose · `/` filter
|
|
28
|
+
|
|
29
|
+
## Next
|
|
30
|
+
|
|
31
|
+
- `guide agent` · `guide web-search`
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: resample
|
|
3
|
+
title: Resample, grains and shift
|
|
4
|
+
parent: sound
|
|
5
|
+
order: 3
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Turn a part into a sample, grain it, and play the grains like an
|
|
9
|
+
instrument.
|
|
10
|
+
|
|
11
|
+
## Ask
|
|
12
|
+
|
|
13
|
+
- "resample the lead and make a grain cloud of bars 1-2"
|
|
14
|
+
|
|
15
|
+
## Type it yourself
|
|
16
|
+
|
|
17
|
+
- `resample lead` · `resample drums bars 1-2 grain`
|
|
18
|
+
- `shift 7` · `shift 7 formant keep` · `fade out 0.5`
|
|
19
|
+
- `grain sync 1/16` · `grain quant scale` · `grain mono on`
|
|
20
|
+
- `automate grain-pos points 0:0.1 8:0.9` sweeps the head
|
|
21
|
+
|
|
22
|
+
## Menu
|
|
23
|
+
|
|
24
|
+
- Ctrl-K › Project › resample · Ctrl-K › Sound › granular
|
|
25
|
+
|
|
26
|
+
## Keys
|
|
27
|
+
|
|
28
|
+
- In the granular rows ←→ adjust · Enter opens a fader
|
|
29
|
+
|
|
30
|
+
## Next
|
|
31
|
+
|
|
32
|
+
- `guide media` · `guide automation`
|
package/guides/rhythm.md
CHANGED
|
@@ -1,26 +1,30 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: rhythm
|
|
3
3
|
title: Rhythm and drums
|
|
4
|
-
|
|
5
|
-
order: 5
|
|
4
|
+
order: 6
|
|
6
5
|
---
|
|
7
6
|
|
|
7
|
+
A drum track has one row per drum: kick, snare, hat and more.
|
|
8
|
+
|
|
8
9
|
## Ask
|
|
9
10
|
|
|
10
11
|
- "give me a house beat" · "add a swung hat, seven hits in sixteen"
|
|
11
12
|
|
|
12
13
|
## Type it yourself
|
|
13
14
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
- `
|
|
17
|
-
- `
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
15
|
+
- `pattern house` a groove · `kit syn909` a kit
|
|
16
|
+
- `hit kick at 0` · `pattern kick 0 1 2 3` · `pattern hat every 0.5`
|
|
17
|
+
- `euclid hat 7 16 rotate 2` · `euclid hat swing 0.15`
|
|
18
|
+
- `grid snare ....X.......x...` steps, X accents · `clear hat`
|
|
19
|
+
|
|
20
|
+
## Menu
|
|
21
|
+
|
|
22
|
+
- Ctrl-K › Rhythm › euclid editor · grooves · kits · grid
|
|
23
|
+
|
|
24
|
+
## Keys
|
|
25
|
+
|
|
26
|
+
- In the euclid editor ↑↓ drum · ←→ adjust · Tab field · Space loop
|
|
22
27
|
|
|
23
|
-
##
|
|
28
|
+
## Next
|
|
24
29
|
|
|
25
|
-
-
|
|
26
|
-
Space loop, `x` off, Esc back
|
|
30
|
+
- `guide tempo` · `guide mix`
|
package/guides/sessions.md
CHANGED
|
@@ -8,14 +8,24 @@ order: 2
|
|
|
8
8
|
Open `dawg` in more than one terminal on the same folder: each window
|
|
9
9
|
focuses a different track and every edit syncs to all of them.
|
|
10
10
|
|
|
11
|
+
## Ask
|
|
12
|
+
|
|
13
|
+
- "name this session night drive"
|
|
14
|
+
|
|
11
15
|
## Type it yourself
|
|
12
16
|
|
|
13
|
-
-
|
|
14
|
-
- `/rename night drive` · `/rename --auto`
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
+
- `sessions` · `/resume` picker · `/resume 2` or a name
|
|
18
|
+
- `/rename night drive` · `/rename --auto` · `/fork` · `status`
|
|
19
|
+
- `dawg --new` · `dawg --session <name>` · `dawg --track bass`
|
|
20
|
+
|
|
21
|
+
## Menu
|
|
22
|
+
|
|
23
|
+
- Ctrl-K › Project › session › rename · fork · resume
|
|
24
|
+
|
|
25
|
+
## Keys
|
|
26
|
+
|
|
27
|
+
- In the picker ↑↓ move · Enter resumes · `/` filter · Esc back
|
|
17
28
|
|
|
18
|
-
##
|
|
29
|
+
## Next
|
|
19
30
|
|
|
20
|
-
- `
|
|
21
|
-
- `dawg --track bass` start focused on a track · `dawg sessions`
|
|
31
|
+
- `guide files` · `guide agent`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: show-me
|
|
3
|
+
title: Learn by watching the agent
|
|
4
|
+
parent: agent
|
|
5
|
+
order: 1
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
The agent types dawg commands into your prompt bar as it writes them;
|
|
9
|
+
each runs as its line ends. Captions name the key or fader.
|
|
10
|
+
|
|
11
|
+
## Ask
|
|
12
|
+
|
|
13
|
+
- "make the reverb wetter and play a C minor arpeggio"
|
|
14
|
+
- At the end: `do it yourself: type …` and the Ctrl-K path
|
|
15
|
+
|
|
16
|
+
## Type it yourself
|
|
17
|
+
|
|
18
|
+
- `showme on` (default) · `showme quiet` no captions or sounds
|
|
19
|
+
- `showme off` the agent edits without typing commands
|
|
20
|
+
|
|
21
|
+
## Menu
|
|
22
|
+
|
|
23
|
+
- Ctrl-K › Project › agent › show-me
|
|
24
|
+
|
|
25
|
+
## Keys
|
|
26
|
+
|
|
27
|
+
- Ctrl-O lists the lines as `agent › …` · Esc stops the agent
|
|
28
|
+
|
|
29
|
+
## Next
|
|
30
|
+
|
|
31
|
+
- `guide agent` · `guide audition`
|
package/guides/sound.md
CHANGED
|
@@ -1,15 +1,31 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: sound
|
|
3
|
-
title:
|
|
3
|
+
title: Sound
|
|
4
4
|
order: 3
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
Every track
|
|
8
|
-
|
|
7
|
+
Every track plays one instrument. Sound shapes the focused track: its
|
|
8
|
+
instrument, preset, parameters and how notes are played.
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
## Ask
|
|
11
|
+
|
|
12
|
+
- "make the lead a bright pluck" · "a felt piano, softer"
|
|
13
|
+
|
|
14
|
+
## Type it yourself
|
|
15
|
+
|
|
16
|
+
- `instrument piano` · `synth preset pluck` · `synth lpf 800`
|
|
17
|
+
- `piano felt` · `bowed cello` · `wind flute` · `grain cloud`
|
|
18
|
+
- `try synth lpf 400` hear it on a loop first
|
|
19
|
+
|
|
20
|
+
## Menu
|
|
21
|
+
|
|
22
|
+
- Ctrl-K › Sound › instrument · preset · synth filter · instruments
|
|
23
|
+
|
|
24
|
+
## Keys
|
|
25
|
+
|
|
26
|
+
- In a value row ←→ adjust · Enter opens its fader · `x` reset
|
|
27
|
+
|
|
28
|
+
## Next
|
|
29
|
+
|
|
30
|
+
- `guide sounds` · `guide performance` · `guide resample`
|
|
31
|
+
- `guide media`
|
package/guides/sounds.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: sounds
|
|
3
|
-
title:
|
|
3
|
+
title: Instruments and presets
|
|
4
4
|
parent: sound
|
|
5
5
|
order: 1
|
|
6
6
|
---
|
|
@@ -13,17 +13,20 @@ order: 1
|
|
|
13
13
|
## Type it yourself
|
|
14
14
|
|
|
15
15
|
- `instrument sawtooth` · sine square triangle supersaw pulse
|
|
16
|
-
- `synth preset
|
|
17
|
-
- `
|
|
18
|
-
- `
|
|
19
|
-
- `
|
|
20
|
-
- `wt list` tables · `wt pwm` load one · `wt 0.5` position
|
|
21
|
-
- `string sitar` · nylon koto harp … · `string buzz 0.8` · `string presets`
|
|
22
|
-
- `/pack list` · `/pack use <pack>/<sound> as kick` · `/pack info vcsl`
|
|
23
|
-
- `/sample samples/kick.wav as kick` add a sampler voice
|
|
24
|
-
- `/bpm 174` the sample's tempo (a bare `bpm 174` is the song's) · `fitmode beats` (drums) or `tones` (pads) · `len 8`
|
|
16
|
+
- `synth preset pad` · `synth lpf 800 lpenv 3` · `synth reset`
|
|
17
|
+
- `piano felt` · `epiano suitcase` · `wurli` · `keys hardness 0.3`
|
|
18
|
+
- `tonewheel gospel` · `combo vox` · `pipe flutes` · `rotary fast`
|
|
19
|
+
- `wt list` · `string sitar` · `bowed violin` · `pack list`
|
|
25
20
|
|
|
26
21
|
## Menu
|
|
27
22
|
|
|
28
|
-
- Ctrl-K › Sound
|
|
29
|
-
- Ctrl-K › Sound ›
|
|
23
|
+
- Ctrl-K › Sound › instruments › Strings › Bowed
|
|
24
|
+
- Ctrl-K › Sound › instruments › Wavetable · sample packs
|
|
25
|
+
|
|
26
|
+
## Keys
|
|
27
|
+
|
|
28
|
+
- Enter on a preset auditions it · Esc reverts
|
|
29
|
+
|
|
30
|
+
## Next
|
|
31
|
+
|
|
32
|
+
- `guide sound` · `guide effects`
|
package/guides/styles.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: styles
|
|
3
|
+
title: Styles
|
|
4
|
+
parent: arrange
|
|
5
|
+
order: 4
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
A style is a song recipe: meter, groove, scale, harmony and form. The
|
|
9
|
+
same style, bars and seed always make the same song.
|
|
10
|
+
|
|
11
|
+
## Ask
|
|
12
|
+
|
|
13
|
+
- "make 16 bars of deep house" · "bebop, blended with bossa nova"
|
|
14
|
+
|
|
15
|
+
## Type it yourself
|
|
16
|
+
|
|
17
|
+
- `style deep-house 16` · `style bebop 8 3` (bars, then seed)
|
|
18
|
+
- `style again` next seed · `style blend bebop bossa-nova 0.3`
|
|
19
|
+
- `style search maqam` · `style list jazz` · `style info bebop`
|
|
20
|
+
|
|
21
|
+
## Menu
|
|
22
|
+
|
|
23
|
+
- Ctrl-K › Arrange › style: find, blend, families
|
|
24
|
+
|
|
25
|
+
## Keys
|
|
26
|
+
|
|
27
|
+
- `/` filters the style tree · Enter makes it · Ctrl-Z undoes
|
|
28
|
+
|
|
29
|
+
## Next
|
|
30
|
+
|
|
31
|
+
- `guide arrange` · `guide chords`
|
package/guides/tempo.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: tempo
|
|
3
3
|
title: Tempo and meter
|
|
4
|
-
parent:
|
|
5
|
-
order:
|
|
4
|
+
parent: arrange
|
|
5
|
+
order: 3
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
One tempo map drives playback, the click, recording and MIDI export.
|
|
@@ -10,18 +10,23 @@ Positions are beats from 0 or `bar <n>`.
|
|
|
10
10
|
|
|
11
11
|
## Ask
|
|
12
12
|
|
|
13
|
-
- "slow down to 80 over the last four bars"
|
|
14
|
-
- "switch to 7/8 at bar 5" · "hold the final chord"
|
|
13
|
+
- "slow down to 80 over the last four bars" · "switch to 7/8 at bar 5"
|
|
15
14
|
|
|
16
15
|
## Type it yourself
|
|
17
16
|
|
|
18
|
-
- `tempo 90 at bar 9`
|
|
17
|
+
- `tempo 90 at bar 9` · add `ramp` or `exp` to glide into it
|
|
19
18
|
- `rit 4 bars to 80` · `accel 8 bars to 174 at bar 9`
|
|
20
|
-
- `fermata at 31 2`
|
|
21
|
-
- `
|
|
22
|
-
- `track rate 3/2` · `track cycle 3` · `track phasing 3` · `track time off`
|
|
23
|
-
- `/bpm 174` on a sampler voice follows the map · `fitmode beats|tones` keeps pitch
|
|
19
|
+
- `fermata at 31 2` · `meter 7/8 at bar 5` · `tempo map`
|
|
20
|
+
- `track rate 3/2` · `track phasing 3` · `/bpm 174` a sample's tempo
|
|
24
21
|
|
|
25
22
|
## Menu
|
|
26
23
|
|
|
27
|
-
- Ctrl-K › Project ›
|
|
24
|
+
- Ctrl-K › Project › tempo · tempo and meter
|
|
25
|
+
|
|
26
|
+
## Keys
|
|
27
|
+
|
|
28
|
+
- Click ▶ BPM in the header to play
|
|
29
|
+
|
|
30
|
+
## Next
|
|
31
|
+
|
|
32
|
+
- `guide styles` · `guide rhythm`
|
package/guides/tracks.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: tracks
|
|
3
3
|
title: Tracks and instruments
|
|
4
|
-
parent:
|
|
5
|
-
order:
|
|
4
|
+
parent: arrange
|
|
5
|
+
order: 2
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
## Ask
|
|
@@ -12,14 +12,19 @@ order: 1
|
|
|
12
12
|
|
|
13
13
|
## Type it yourself
|
|
14
14
|
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- `track
|
|
18
|
-
- `instrument piano` · `instrument
|
|
19
|
-
- `meter 3` beats per bar · `key A minor` · `key none`
|
|
20
|
-
- `clear` remove the focused track's notes
|
|
15
|
+
- `track drums` focus a track, creating it (drums get the kit)
|
|
16
|
+
- `tracks` list them · `track name lead` rename the focused track
|
|
17
|
+
- `track rm pad` remove one · `track move pad 1` reorder
|
|
18
|
+
- `instrument piano` · `instrument kit` · `clear` its notes
|
|
21
19
|
|
|
22
20
|
## Menu
|
|
23
21
|
|
|
24
|
-
- Ctrl-K ›
|
|
25
|
-
|
|
22
|
+
- Ctrl-K › Arrange › tracks · Ctrl-K › Mix › all tracks
|
|
23
|
+
|
|
24
|
+
## Keys
|
|
25
|
+
|
|
26
|
+
- Click the track name in the header to list tracks
|
|
27
|
+
|
|
28
|
+
## Next
|
|
29
|
+
|
|
30
|
+
- `guide sound` · `guide sessions`
|
package/guides/tuning.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: tuning
|
|
3
|
+
title: Tuning
|
|
4
|
+
parent: chords
|
|
5
|
+
order: 1
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Tuning sets how pitches are tuned: equal steps, ratios, cents or a Scala
|
|
9
|
+
file. The key still names the tonic and scale.
|
|
10
|
+
|
|
11
|
+
## Ask
|
|
12
|
+
|
|
13
|
+
- "tune the song to 19-EDO" · "use a just intonation in D"
|
|
14
|
+
|
|
15
|
+
## Type it yourself
|
|
16
|
+
|
|
17
|
+
- `tuning 19-edo` · `tuning pelog` · `tuning edo 31` · `tuning list`
|
|
18
|
+
- `tuning ratios 1/1 9/8 5/4 4/3 3/2` · `tuning ref 432`
|
|
19
|
+
- `tuning scl <file>` · `tuning root D` · `tuning off`
|
|
20
|
+
- `cents <id> -14` nudges one note
|
|
21
|
+
|
|
22
|
+
## Menu
|
|
23
|
+
|
|
24
|
+
- Ctrl-K › Chords and key › tuning · Ctrl-K › Sound › track tuning
|
|
25
|
+
|
|
26
|
+
## Keys
|
|
27
|
+
|
|
28
|
+
- In play mode, `play degrees` puts scale steps on the keys
|
|
29
|
+
|
|
30
|
+
## Next
|
|
31
|
+
|
|
32
|
+
- `guide chords` · `help chords`
|
package/guides/voice.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: voice
|
|
3
|
+
title: Voice
|
|
4
|
+
order: 4
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Voice is sung or spoken audio: a built-in singer, imported clips and
|
|
8
|
+
the tools that tune them.
|
|
9
|
+
|
|
10
|
+
## Ask
|
|
11
|
+
|
|
12
|
+
- "sing the melody as a soft choir on ooh"
|
|
13
|
+
- "autotune the vocal, gentle"
|
|
14
|
+
|
|
15
|
+
## Type it yourself
|
|
16
|
+
|
|
17
|
+
- `sing choir` · `sing vowels a e i o` · `lyrics sun-lit morn-ing`
|
|
18
|
+
- `vocal import take.wav` · `clip fade in .01` · `vocal pitch`
|
|
19
|
+
- `autotune gentle` · `formant -4` · `vowel a o 0.5` · `vocoder talkbox`
|
|
20
|
+
|
|
21
|
+
## Menu
|
|
22
|
+
|
|
23
|
+
- Ctrl-K › Voice › sing · lyrics · clips · pitch · autotune · vocoder
|
|
24
|
+
|
|
25
|
+
## Keys
|
|
26
|
+
|
|
27
|
+
- In a value row ←→ adjust · Enter opens its fader · Esc back
|
|
28
|
+
|
|
29
|
+
## Next
|
|
30
|
+
|
|
31
|
+
- `help voice` every voice command · `guide media` stems
|
package/guides/web-search.md
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: web-search
|
|
3
3
|
title: Web search
|
|
4
|
-
parent:
|
|
5
|
-
order:
|
|
4
|
+
parent: agent
|
|
5
|
+
order: 3
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
The agent can search the web and read public pages, for example to look
|
|
9
|
-
up a song's tempo
|
|
9
|
+
up a song's tempo. Fetches never reach private hosts.
|
|
10
10
|
|
|
11
11
|
## Ask
|
|
12
12
|
|
|
13
|
-
- "look up the tempo and key of
|
|
13
|
+
- "look up the tempo and key of a song you name"
|
|
14
14
|
- "read this page and copy its chord chart: <url>"
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## Type it yourself
|
|
17
17
|
|
|
18
18
|
- `DAWG_WEB_SEARCH=duckduckgo|openrouter|gateway|brave` pins one
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
- otherwise Brave with a key, AI Gateway, OpenRouter, then DuckDuckGo
|
|
20
|
+
|
|
21
|
+
## Menu
|
|
22
|
+
|
|
23
|
+
- Ctrl-K › Project › agent › model
|
|
24
|
+
|
|
25
|
+
## Keys
|
|
26
|
+
|
|
27
|
+
- Ctrl-O shows each search and fetch in the transcript
|
|
28
|
+
|
|
29
|
+
## Next
|
|
30
|
+
|
|
31
|
+
- `guide agent` · `guide providers`
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"abi": 1,
|
|
3
|
+
"libraries": {
|
|
4
|
+
"darwin-arm64": {
|
|
5
|
+
"file": "darwin-arm64/libdawg_sink.dylib",
|
|
6
|
+
"sha256": "0bc32f2049a8e3f229dd249527063c853b937dda16fed4f3cec4c43ff20c8a00"
|
|
7
|
+
},
|
|
8
|
+
"darwin-x64": {
|
|
9
|
+
"file": "darwin-x64/libdawg_sink.dylib",
|
|
10
|
+
"sha256": "b9ed2993f0eb1a21c13432c497e71a6a01ca2de3c0e5d2bf7d9551fcac8c6501"
|
|
11
|
+
},
|
|
12
|
+
"linux-x64": {
|
|
13
|
+
"file": "linux-x64/libdawg_sink.so",
|
|
14
|
+
"sha256": "fddfa31ff82e99e5e967b82c21a8650cc584e9519149ce2b0bc0af02b76528c4"
|
|
15
|
+
},
|
|
16
|
+
"linux-arm64": {
|
|
17
|
+
"file": "linux-arm64/libdawg_sink.so",
|
|
18
|
+
"sha256": "72cbe8b86ac9bc1d0bc387dc337c31034e29df00c66277c584ecf8586d036e39"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hraness/dawg",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,13 +23,16 @@
|
|
|
23
23
|
"guides/*.md",
|
|
24
24
|
"guides/index.ts",
|
|
25
25
|
"CHANGELOG.md",
|
|
26
|
-
"DAWG.md"
|
|
26
|
+
"DAWG.md",
|
|
27
|
+
"native/prebuilt/manifest.json",
|
|
28
|
+
"native/prebuilt/*/libdawg_sink.*"
|
|
27
29
|
],
|
|
28
30
|
"bin": {
|
|
29
31
|
"dawg": "./src/main.ts"
|
|
30
32
|
},
|
|
31
33
|
"scripts": {
|
|
32
34
|
"dawg": "bun run src/main.ts",
|
|
35
|
+
"bench:perf": "bun bench/perf/run.ts",
|
|
33
36
|
"test": "bun test",
|
|
34
37
|
"typecheck": "tsc --noEmit",
|
|
35
38
|
"check": "bun test && bun run typecheck && bun run format",
|