mirror of
https://github.com/aphrody-labs/soundcraft.git
synced 2026-10-13 19:26:53 +00:00
Roadmap: alpha and parity estimates; README: video, surround and notation screenshots
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
cdefc57c91
commit
876b098a20
5 files changed
+71
-36
No files matched your search
@@ -82,6 +82,22 @@ where things are.
|
||||
<td><b>Automation and markers.</b> Breakpoint automation for volume, pan, mute, sends and every plugin parameter, written live in Write, Touch and Latch, plus memory locations and a big counter.</td>
|
||||
<td><b>Everywhere.</b> Signed builds for macOS (universal), Windows (x64, x86, Arm), Linux (AppImage, deb, rpm, Flatpak), FreeBSD, and a WebAssembly build that runs in the browser.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><img alt="The Video window showing a colour-bar test movie with a timecode burn-in, above a Video track with thumbnails in the Edit window" src="docs/images/video.png"></td>
|
||||
<td width="50%"><img alt="The Renderer window showing a 7.1.4 speaker layout with two object tracks, beside the Mix window with surround panners and Object/Bed buttons" src="docs/images/surround.png"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Video.</b> A picture track with thumbnails and a Video window that follows the playhead, decoding H.264, ProRes and Motion JPEG in pure Rust, with timecode burn-in and sync offset.</td>
|
||||
<td><b>Surround and immersive.</b> Main and bus formats from stereo to 9.1.6 and Ambisonics, a surround panner with divergence and height, object/bed routing and a Renderer window with live speaker levels.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50%"><img alt="The Score Editor showing the lead melody in standard notation on a treble and bass staff" src="docs/images/score.png"></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Notation.</b> A Score Editor for MIDI tracks, MusicXML export for Sibelius and other notation programs, and printable engraved scores.</td>
|
||||
<td><b>Your plugins too.</b> CLAP, VST3 and Audio Units, with their own editors, their state saved in the session, and every instance created off the audio thread.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
### Feature tour
|
||||
@@ -191,7 +207,8 @@ and layering checks and the WebAssembly build.
|
||||
|
||||
## Status and roadmap
|
||||
|
||||
SoundCraft is **pre-alpha**: the core works and is fun to use, and plenty is still missing. The
|
||||
SoundCraft is **pre-alpha, and close to its first alpha**: it covers 94 % of the incumbent's menu
|
||||
items and roughly two thirds of its features in depth. The core works and is fun to use, and plenty is still missing. The
|
||||
honest status, what's next and our effort estimates are in [`ROADMAP.md`](ROADMAP.md); the
|
||||
menu-by-menu comparison is in [`docs/parity.md`](docs/parity.md). Bug reports and wish lists are
|
||||
very welcome, in the issues or on Discord.
|
||||
|
||||
+53
-35
@@ -8,53 +8,71 @@ the honest status: what works today, what is missing, and how far we are.
|
||||
|
||||
| Measure | Value | How |
|
||||
|---|---|---|
|
||||
| Menu-catalog parity (engine + UI) | **462 / 512 menu items (90 %)**; engine alone 388 / 512 (76 %), see [`docs/parity.md`](docs/parity.md) | `cargo xtask parity` compares the incumbent's 512 menu leaves (names observed black-box) with our command registry; the remaining items are mostly video, Atmos, collaboration, notation and third-party services |
|
||||
| Estimated overall feature parity | **~55 %** | judgement across the areas below, weighted by how much professional users rely on them |
|
||||
| Estimated remaining effort | **~150–200 wall-clock hours** of Claude Opus 5.5 work (single agent; roughly 50–70 hours with 3–4 agents in parallel) | sum of the per-area estimates below |
|
||||
| Menu-catalog parity (engine + UI) | **482 / 512 menu items (94 %)**; engine alone 397 / 512, see [`docs/parity.md`](docs/parity.md) | `cargo xtask parity` compares the incumbent's 512 menu leaves (names observed black-box) with our command registry. Most of what is left is Avid's online services (sign-in, cloud projects, collaboration, Splice, Learn), Dolby Atmos-specific items, HEAT and ARA |
|
||||
| Estimated overall feature parity | **~65 %** | judgement across the areas below, weighted by how much working engineers rely on them. Menu items are only the surface; depth (editing feel, plugin catalogue, MIDI and score editing, video) is where the gap is |
|
||||
| Distance to an **alpha** | **~85 % there, ~12–18 wall-clock hours** of Claude Opus 5.5 work | see [Alpha](#alpha) below |
|
||||
| Distance to **100 % parity** | **~110–150 wall-clock hours** of Claude Opus 5.5 work with a single agent; roughly 40–55 hours with 3–4 agents in parallel (the last three features in this session were built in parallel this way) | sum of the per-area estimates below |
|
||||
|
||||
### Area by area
|
||||
|
||||
| Area | Status | Parity | Remaining (h) |
|
||||
|---|---|---:|---:|
|
||||
| Session model, save/load, undo | Done: tracks, playlists, clips, fades, clip gain, automation, markers, groups, busses; JSON `.scraft` + Audio Files folder; COW undo with gesture coalescing | 80 % | 10 |
|
||||
| Audio file I/O | WAV/BWF/RF64, AIFF/AIFC, FLAC (read/write); MP3, OGG, AAC, ALAC, CAF (read); peaks | 75 % | 10 |
|
||||
| Editing | Slip/Shuffle/Spot/Grid, cut/copy/paste/clear/duplicate/repeat/shift, separate/heal/trim/consolidate/strip silence, fades & crossfades, nudge, playlists, grabber/trim/selector/smart/pencil/zoom/scrubber gestures, edit groups, playlist lanes with comping, smart-tool fades | 70 % | 25 |
|
||||
| Mixer & routing | Faders, pan, mute/solo (SIP, implicit solo), sends pre/post, busses, aux inputs, master faders, VCAs, routing folders, 10 inserts, plugin delay compensation, clip effects | 70 % | 20 |
|
||||
| Automation | Breakpoint lanes for volume/pan/mute/sends/plugin params, trim automation; live Write/Touch/Latch passes; write/thin/glide/convert/coalesce commands | 60 % | 18 |
|
||||
| Plugins (built-in) | 26 original processors + 2 instruments, AudioSuite offline processing | 45 % | 30 |
|
||||
| Third-party plugins (CLAP/VST3/AU) | CLAP and VST3 hosting (audio, params, latency, notes, verified with a real VST3); no plugin GUIs, no state save in sessions, no AU | 55 % | 18 |
|
||||
| MIDI | MIDI/instrument tracks, SMF import/export, MIDI editor (piano roll + velocity), event list, step input, quantize/transpose/velocity/duration ops | 40 % | 30 |
|
||||
| Recording | Input capture, punch in/out (selection, on the fly, pre/post-roll), loop record into playlists, input monitoring through the channel strip, autosave and recovery | 60 % | 12 |
|
||||
| Elastic Audio / TCE / Beat Detective | Pitch-preserving warp on Elastic tracks, TCE to timeline, conform to tempo, Beat Detective and Identify Beat windows | 40 % | 18 |
|
||||
| Surround | Main and bus formats from stereo to 9.1.6 and Ambisonics, surround panner with divergence/centre/LFE/height, ITU fold-down, multichannel bounce, meters and device output | 60 % | 15 |
|
||||
| Video | Movie audio import; no picture track yet | 10 % | 35 |
|
||||
| UI fidelity | Edit + Mix windows, toolbar, rulers, track headers, menus for the whole catalog, floating windows, dialogs | 65 % | 25 |
|
||||
| Agent control | CLI, JSON control channel, MCP server (headless + bridged), offscreen UI renders | 90 % (ahead of the incumbent) | 5 |
|
||||
| Release engineering | Signed macOS universal, Windows x64/x86, Linux AppImage/deb/rpm/tar/Flatpak, FreeBSD, Web/WASM on every push to `release` | 80 % | 5 |
|
||||
| Session model, save/load, undo | Tracks, playlists, clips, fades, clip gain, automation, markers, groups, busses, video; JSON `.scraft` + Audio Files folder; plugin state; autosave; copy-on-write undo with gesture coalescing | 85 % | 8 |
|
||||
| Audio file I/O | WAV/BWF/RF64, AIFF/AIFC, FLAC (read/write); MP3, OGG, AAC, ALAC, CAF (read); peaks. Whole files are decoded into memory: disk streaming for very long sessions is still to do | 70 % | 12 |
|
||||
| Editing | Slip/Shuffle/Spot/Grid, cut/copy/paste/clear/duplicate/repeat/shift, Paste Special (merge MIDI, markers, clip gain/effects), separate/heal/trim/consolidate/strip silence, fades & crossfades, nudge, playlists with comping, every tool gesture, edit groups, clip groups (and `.scgrp` import/export) | 75 % | 20 |
|
||||
| Mixer & routing | Faders, pan, mute/solo (SIP, implicit solo), sends pre/post, busses, aux inputs, master faders, VCAs, routing folders, 10 inserts, plugin delay compensation, clip effects, preamp/instrument/object views | 75 % | 15 |
|
||||
| Automation | Breakpoint lanes for volume/pan/mute/sends/plugin params, trim automation; live Write/Touch/Latch passes; write/thin/glide/convert/coalesce. Surround-pan automation is still to do | 60 % | 15 |
|
||||
| Plugins (built-in) | 26 original processors + 2 instruments, AudioSuite offline processing for the whole AudioSuite menu | 45 % | 30 |
|
||||
| Third-party plugins | CLAP, VST3 and Audio Units (macOS): audio, parameters, latency, notes, state saved in sessions, instances created/destroyed off the audio thread, editors (floating CLAP GUIs, VST3 views on macOS, verified with Melodyne). Missing: AU editors, embedded CLAP GUIs, VST3 editors on Windows/Linux, ARA | 80 % | 10 |
|
||||
| MIDI & notation | MIDI/instrument tracks, SMF import/export, MIDI editor (piano roll, velocity, rubber-band select, keyboard transpose/move), event list, step input, quantize/transpose/velocity/duration, real-time properties, Score Editor, MusicXML export (Sibelius) and printable SVG score | 55 % | 20 |
|
||||
| Recording | Input capture, punch in/out (selection, on the fly, pre/post-roll), loop record into playlists, input monitoring through the channel strip, autosave and recovery | 60 % | 10 |
|
||||
| Elastic Audio / TCE / Beat Detective | Pitch-preserving warp on Elastic tracks, TCE to timeline, conform to tempo, Beat Detective and Identify Beat windows; audio-to-MIDI pitch detection | 45 % | 15 |
|
||||
| Surround | Main and bus formats from stereo to 9.1.6 and Ambisonics, surround panner with divergence/centre/LFE/height, ITU fold-down, multichannel bounce, Renderer window, object/bed routing | 60 % | 12 |
|
||||
| Video | Picture track with thumbnails, Video and Video Universe windows, H.264 (Baseline/Main/High), ProRes (all flavours) and Motion JPEG decoders in pure Rust, sync offset, relinking. Missing: HEVC/AV1/DNx, timecode-track placement, video export | 55 % | 15 |
|
||||
| UI fidelity | Edit + Mix windows, toolbar, rulers, track headers, menus for the whole catalog, floating windows, dialogs (every file command has a path prompt), command palette | 70 % | 20 |
|
||||
| Agent control | CLI, JSON control channel, MCP server (headless + bridged), offscreen UI renders | 90 % (ahead of the incumbent) | 3 |
|
||||
| Release engineering | Signed macOS universal, Windows x64/x86, Linux AppImage/deb/rpm/tar/Flatpak, FreeBSD, Web/WASM on every push to `release` | 80 % | 3 |
|
||||
|
||||
## Alpha
|
||||
|
||||
An alpha is a build people can download, open the demo or their own audio in, record, edit, mix
|
||||
and bounce without crashes or lost work. Feature-wise SoundCraft is past that bar; what is left is
|
||||
shipping and hardening:
|
||||
|
||||
1. **Publish the repository and cut the first release** (needs a decision from the maintainers:
|
||||
the GitHub repo, the release secrets, and a push to the `release` branch). The pipelines exist
|
||||
but have never run end to end. ~2 h once unblocked, mostly fixing what the first run finds.
|
||||
2. **Platform smoke tests** of the installers on Windows, Linux and FreeBSD (only macOS has been
|
||||
exercised by hand). ~3–4 h.
|
||||
3. **Disk streaming** of long sources, so an hour-long multitrack session does not need all of its
|
||||
audio in RAM. ~5–6 h.
|
||||
4. **A hands-on QA pass** in the live app: recording on real interfaces, long sessions, plugin-heavy
|
||||
mixes, save/reopen loops. ~3–4 h.
|
||||
5. **Docs**: a short user guide next to the existing agent/CLI docs. ~1 h.
|
||||
|
||||
## Robustness
|
||||
|
||||
Property tests drive random edit sequences (with full undo), mutated session files and hostile
|
||||
command parameters through the engine and mixer; they have already caught fade, overflow and
|
||||
unbounded-allocation bugs. Every command also runs with empty parameters on empty and demo sessions.
|
||||
command parameters through the engine and mixer; they have caught fade, overflow and
|
||||
unbounded-allocation bugs. Every command also runs with empty parameters on empty and demo
|
||||
sessions. Hosted plugins live in isolated unsafe crates (`clap-host`, `vst3-host`, `au-host`) and
|
||||
are created, loaded and destroyed off the audio thread. The video decoders survive hundreds of
|
||||
mutated and truncated movies.
|
||||
|
||||
## Current focus
|
||||
|
||||
1. Play back the model-only state the engine already stores: clip effects, trim automation, MIDI real-time properties.
|
||||
2. QuickPunch and input monitoring (loop record and Write/Touch/Latch automation passes have landed).
|
||||
3. Pitch-preserving realtime Elastic Audio.
|
||||
4. Plugin hosting (CLAP first, it is MIT-licensed and Rust-friendly).
|
||||
5. Elastic Audio in realtime; Beat Detective workflow window.
|
||||
6. README screenshots and the first alpha release.
|
||||
1. The alpha list above.
|
||||
2. Surround-pan automation; AU editor views.
|
||||
3. Built-in plugin depth (more processors, better UIs).
|
||||
4. MIDI and score editing depth.
|
||||
|
||||
## Milestones
|
||||
|
||||
- **M0–M3 (done):** workspace, gates, model, IO, DSP, mix engine, command engine, Edit/Mix UI.
|
||||
- **M4 (done):** realtime playback, metering, plugins, bounce.
|
||||
- **M5 (in progress):** editing depth (tools, modes, playlists, fades) — most items landed.
|
||||
- **M6 (in progress):** recording.
|
||||
- **M7 (in progress):** MIDI editing.
|
||||
- **M8 (done for the first cut):** CLI, control channel, MCP, agent acceptance test.
|
||||
- **M9:** AudioSuite breadth, Elastic Audio, Beat Detective.
|
||||
- **M10:** alpha release on all platforms.
|
||||
- **M11:** third-party plugin hosting, video, surround.
|
||||
- **M0–M4 (done):** workspace, gates, model, IO, DSP, mix engine, command engine, Edit/Mix UI, realtime playback, metering, plugins, bounce.
|
||||
- **M5 (done):** editing depth (tools, modes, playlists, fades, comping, clip groups).
|
||||
- **M6 (done for the first cut):** recording, punch, loop record, monitoring.
|
||||
- **M7 (in progress):** MIDI and notation editing.
|
||||
- **M8 (done):** CLI, control channel, MCP, agent acceptance test.
|
||||
- **M9 (in progress):** AudioSuite breadth (done), Elastic Audio, Beat Detective.
|
||||
- **M10 (next):** alpha release on all platforms.
|
||||
- **M11 (mostly done):** third-party plugin hosting (CLAP, VST3, AU), video, surround.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 482 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 446 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 509 KiB |
Reference in new issue
Block a user