You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 82c14fe
Browse filesBrowse the repository at this point in the historyBrowse files
📦 NEW: audio clips, instrument automation and five more Bitwig devices in the DAWproject import
Audio clips become builtin:audio tracks: warp markers give the file's tempo,
play start trims, loops repeat, fades and repitch carry over. Automation of
the instrument plugin's parameters (normalized, via the new "scale":
"normalized" curve option) and of the master volume is imported. From the
Bitwig project, Filter, EQ-5, Reverb, Delay-2 and Distortion map to built-in
effects; EQ-5 settled the shared EQ band types. Bus volume automation was
counted on top of the fader twice; now it adds to it like a track's.
Copy file name to clipboardExpand all lines: README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -162,7 +162,7 @@ A minimal job:
162
162
|`analyze <file.wav \| render-dir> [--start S] [--end S] [--json]`| Measures pitch, brightness, band balance, stereo width, onsets and envelope of a WAV, or of a render's mix, stems and sections. |
163
163
|`params <plugin> [--preset N] [--state F] [--all] [--json]`| Shows parameters with ranges, current values and display text, optionally after loading a preset or state. |
164
164
|`render <job.json> [--out DIR] [--stems float\|24\|16\|none] [--jobs N] [--json]`| Renders stems, `mix.wav` and `report.json`. Plugin tracks render in worker processes, several at once; a crashing plugin costs its track, not the song. A failed render leaves `{"ok": false}` in `report.json`, never a stale report. |
165
-
|`import <song.dawproject> [--out DIR] [--bitwig FILE \| none] [--json]`| Turns a DAWproject export (Bitwig, Studio One, Cubase) into a job: notes, tracks with their plugins and saved states, mixer, sends, groups, tempo map, markers, volume and pan automation. For Bitwig it also reads the `.bwproject` behind the export for Bitwig's own devices: Drum Machine pads (plugins and samples), Chain, EQ+, Compressor, Multiband FX-3, Peak Limiter, Tool. Lists what didn't come across. `import song.bwproject` lists a Bitwig project's devices; `render song.dawproject` imports and renders in one step. |
165
+
|`import <song.dawproject> [--out DIR] [--bitwig FILE \| none] [--json]`| Turns a DAWproject export (Bitwig, Studio One, Cubase) into a job: notes, tracks with their plugins and saved states, mixer, sends, groups, tempo map, markers, volume and pan automation. Audio clips (warped ones follow the song tempo) and automation of the instrument plugin's parameters come across too. For Bitwig it also reads the `.bwproject` behind the export for Bitwig's own devices: Drum Machine pads (plugins and samples), Chain, EQ+, EQ-5, Filter, Reverb, Delay-2, Distortion, Compressor, Multiband FX-3, Peak Limiter, Tool. Lists what didn't come across. `import song.bwproject` lists a Bitwig project's devices; `render song.dawproject` imports and renders in one step. |
166
166
|`import <song.mid> [--out DIR] [--instrument PLUGIN] [--json]`| Turns a Standard MIDI File into a job: tempo map, time signature, markers, and a track per MIDI track and channel with its notes (sustain pedal folded into note lengths), volume, pan and expression, other controllers, pitch bend (with the file's bend range) and pressure. Channel 10 plays `builtin:drums`; other channels a General MIDI-family sound from the installed sample library, or `--instrument` for all of them. `render song.mid` imports and renders. |
167
167
|`export <job.json> [--out song.mid] [--json]`| Writes the job's parts as a type 1 MIDI file to open in a DAW or notation program: tempo map (ramps stepped every 1/16 beat), time signature, markers, and a track per job track with its notes, fader, pan, rides and CC, pitch bend and pressure automation. Export, import and export again gives the same file byte for byte. |
168
168
|`master <mix.wav> --chain <chain \| job> [--loudness L] [--lead-in S] [--out DIR] [--json]`| Masters a finished mix: plays it through a master chain (an effect list, a master object, or a song's job with its markers; a file or inline JSON) and reports loudness and true peak before and after, per section. |
@@ -210,8 +210,8 @@ render's stem loudness (`<song>/out` by default).
210
210
211
211
1. Per-note pitch and level tracking in `analyze`; gain-reduction readouts for compressors and limiters.
212
212
2. Auditions inside each instrument's range, and an envelope-depth measure for rhythmic patches.
213
-
3.The rest of Bitwig's own devices (Filter, Reverb, Delay, EQ-5, Distortion) and device-parameter
214
-
automation in the DAWproject import; audio clips.
213
+
3.DAWproject import: automation of plugin effects and of Bitwig's own devices, launcher clips, more
Copy file name to clipboardExpand all lines: docs/job-format.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,7 +74,7 @@ A job is one JSON object. Unknown fields are ignored.
74
74
|`articulations`| none | Articulation name → keyswitch key (`{"long": 0, "spiccato": 1, "tremolo": 3}`). Notes pick one with `"art"`; the keyswitch note is sent 30 ms before the first note of every change. |
75
75
|`range`| none |`[lowest, highest]` playable keys (`["G3", "C#7"]`): notes outside it get a warning in the report (sample libraries are silent there). |
76
76
|`velocityTo`| none | Drive a controller from note velocities, one point per onset, ramping between them: `{"param": "Dynamics", "min": 0.1, "max": 1}` or `{"cc": 1, "min": 10, "max": 127}`. For libraries whose long notes take loudness from a controller instead of velocity. Explicit automation of the same target wins. |
77
-
|`automation`| none |`gain` (dB), `rides` (dB added on top of `gain`: one curve, or named curves `{"sections": curve, "fills": curve}` that all add up, so section rides never overwrite the written fader curve), `pan` (-1..1), `params` (`{"Name": curve}`, plain values), `cc` (`{"1": curve, "64": curve}`, MIDI CC values 0-127), `pitchbend` (semitones, see `bendRange`), `pressure` (0-127). CC, pitch bend and pressure reach CLAP plugins as MIDI (or note expressions) and VST3 plugins through the parameters they map those controllers to (a warning names any they don't map). Curves are described in `effects.md` (points, steps, LFOs). |
77
+
|`automation`| none |`gain` (dB), `rides` (dB added on top of `gain`: one curve, or named curves `{"sections": curve, "fills": curve}` that all add up, so section rides never overwrite the written fader curve), `pan` (-1..1), `params` (`{"Name": curve}` or `{"#id": curve}`, plain values; a curve object with `"scale": "normalized"` gives 0..1 of the parameter's range, as DAWs store automation), `cc` (`{"1": curve, "64": curve}`, MIDI CC values 0-127), `pitchbend` (semitones, see `bendRange`), `pressure` (0-127). CC, pitch bend and pressure reach CLAP plugins as MIDI (or note expressions) and VST3 plugins through the parameters they map those controllers to (a warning names any they don't map). Curves are described in `effects.md` (points, steps, LFOs). |
78
78
79
79
`plugin` may also be `builtin:drums` or `builtin:fx` (see `effects.md`), `builtin:sampler`, or `builtin:audio`.
0 commit comments