201 lines
12 KiB
Markdown
201 lines
12 KiB
Markdown
# Where SoundCraft falls short of Pro Tools
|
||
|
||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-10 · **Change:** minor (alpha blockers marked after the core-workflow gate) · **Target:** Avid Pro Tools Ultimate 2026.4.1
|
||
|
||
Every known shortfall, one entry each, ranked by how much it stops a Pro Tools user from doing
|
||
real work in SoundCraft. This is the work list: pick from the top. Rows marked **alpha blocker**
|
||
fail the core-workflow gate in [`roadmap.md`](roadmap.md#alpha-gate) and keep SoundCraft pre-alpha. Numbers and weights live in
|
||
[`target-app-parity.md`](target-app-parity.md); the plan that orders these into milestones is
|
||
[`roadmap.md`](roadmap.md). Hours are Opus 5.5 agent-hours (calibration in target-app-parity.md).
|
||
Estimates marked "≈" are judgements; issue numbers are `storytold/soundcraft` GitHub issues.
|
||
|
||
When you close a gap, delete its entry (or shrink it) in the same PR, and bump the timestamp.
|
||
|
||
## Ranked gaps
|
||
|
||
| # | Gap | Dimension | Doc | Est. (h) |
|
||
|---|---|---|---|---:|
|
||
| G-01 | **Alpha blocker.** No audio device, channel or buffer-size selection; no duplex low-latency path | Hardware | [hardware-parity.md](hardware-parity.md) | 25–40 |
|
||
| G-02 | **Alpha blocker.** No MIDI device input or output | Hardware / MIDI | [hardware-parity.md](hardware-parity.md) | 20–35 |
|
||
| G-03 | **Alpha blocker.** Cannot exchange sessions with Pro Tools (no AAF/OMF, no `.ptx`) | File formats | [file-format-parity.md](file-format-parity.md) | 50–90 |
|
||
| G-04 | Open correctness bugs in features counted as done (~25 issues) | Stability | this file | 25–40 |
|
||
| G-05 | (Entitlement part: alpha blocker for the mix row) Third-party VST3s blocked in the signed macOS build; AU editors missing | Ecosystem | [plugin-parity.md](plugin-parity.md) | 15–25 |
|
||
| G-06 | (Record-to-disk part: alpha blocker for the tracking row) Sources decoded whole into RAM; recording into RAM | Performance | [hardware-parity.md](hardware-parity.md) | 15–25 |
|
||
| G-07 | Nothing is compared against Pro Tools' output (no fidelity harness) | Features | this file | 20–30 |
|
||
| G-08 | Built-in plugin catalogue thin and unverified | Features | [plugin-parity.md](plugin-parity.md) | 80–120 |
|
||
| G-09 | English only, no string catalog, no CJK/RTL rendering | Localization | [localization-parity.md](localization-parity.md) | 70–110 |
|
||
| G-10 | No control surfaces (HUI/MCU, EUCON) | Hardware | [hardware-parity.md](hardware-parity.md) | 40–70 |
|
||
| G-11 | No external sync (MTC, LTC, MIDI clock, video reference) | Hardware | [hardware-parity.md](hardware-parity.md) | 15–25 |
|
||
| G-12 | Immersive delivery: no Dolby Atmos/ADM BWF, MPEG-H, binaural | Features | [file-format-parity.md](file-format-parity.md) | 50–80 |
|
||
| G-13 | Sidechain inputs, ARA, out-of-process plugin sandboxing | Ecosystem | [plugin-parity.md](plugin-parity.md) | 30–50 |
|
||
| G-14 | Windows/Linux/Web exercised only lightly at runtime; no PR CI running the tests | Platforms / Stability | this file | 20–40 |
|
||
| G-15 | Elastic Audio depth: one algorithm, no Elastic Pitch | Features | [target-app-parity.md](target-app-parity.md) | 30–45 |
|
||
| G-16 | Session templates, track presets, workspace browser, batch rename | Features | [target-app-parity.md](target-app-parity.md) | 25–40 |
|
||
| G-17 | Video: HEVC/DNx decode, video export, external timecode | Features / Formats | [file-format-parity.md](file-format-parity.md) | 30–50 |
|
||
| G-18 | Speech-to-text transcription | AI | this file | 30–50 |
|
||
| G-19 | UI feel: generic plugin windows, shortcut collisions, pro-grade meters and scaling | UI/UX | [ui-parity.md](ui-parity.md) | 60–100 |
|
||
| G-20 | MIDI/instrument depth: MIDI learn, sampler, notation editing | Features | [target-app-parity.md](target-app-parity.md) | 40–60 |
|
||
| G-21 | Compressed export (MP3, AAC/M4A, Ogg/Opus) | File formats | [file-format-parity.md](file-format-parity.md) | 10–20 |
|
||
| G-22 | Avid cloud services (collaboration, Sketch, Splice, sign-in) | Ecosystem | — | not estimated (owner decision) |
|
||
|
||
## Details
|
||
|
||
### G-01. Audio interface support
|
||
|
||
- **Missing:** choosing the output or input device, the device's channel count and routing to
|
||
physical channels, the buffer size, and the sample rate from the hardware side. Input and
|
||
output are separate cpal streams on the *default* devices (`crates/playback/src/lib.rs`
|
||
`open_device`, `record.rs`); the mix runs in fixed 512-sample blocks and resamples when rates
|
||
differ. `setup.playback_engine` stores `device`/`buffer_size` params, but playback ignores them.
|
||
No ASIO on Windows (WASAPI shared only), so latency there is high.
|
||
- **Evidence:** code above; Playback Engine window says "Mix block size: 512 samples"; issue #42
|
||
(no input device selection, forced monitoring feedback with virtual routing).
|
||
- **Impact:** blocks tracking with any multichannel interface; latency makes overdubs hard.
|
||
- **Estimate:** ≈ 25–40 h (device enumeration and selection, buffer size, duplex stream with one
|
||
clock, ASIO feature build, per-channel I/O mapping into I/O Setup, latency reporting and
|
||
record-offset compensation). Needs hands-on hardware testing.
|
||
|
||
### G-02. MIDI devices
|
||
|
||
- **Missing:** all MIDI hardware I/O. No `midir`/CoreMIDI/WinMM/ALSA sequencer code exists;
|
||
`setup.midi_input_devices` and `setup.midi_studio` only store names. You cannot record from a
|
||
keyboard, play a hosted instrument live, drive external synths, or send MIDI clock/MTC.
|
||
`midi_editor.rs:288` notes audition "needs a live MIDI input path".
|
||
- **Impact:** MIDI production is limited to drawing notes and importing SMF.
|
||
- **Estimate:** ≈ 20–35 h (device layer, realtime input to armed tracks and instruments with
|
||
timestamps, MIDI record/merge/loop, thru, output tracks, clock out).
|
||
|
||
### G-03. Session interchange with Pro Tools
|
||
|
||
- **Missing:** opening or saving `.ptx`/`.ptf`, AAF and OMF import and export (#40), Media
|
||
Composer–compatible sessions. Our session format is `.scraft` JSON.
|
||
- **Impact:** the standard's main-format bar for beta. A Pro Tools user cannot bring a project in
|
||
or hand one back; post-production (picture editors deliver AAF) is blocked.
|
||
- **Estimate:** AAF/OMF import + export ≈ 50–90 h (FilmCraft already writes AAF/OMF; we can learn
|
||
from it but not share code). `.ptx` is proprietary and undocumented: owner decision on whether
|
||
black-box format study is in the clean-room rules; not included in the estimate.
|
||
|
||
### G-04. Correctness bugs in "done" features
|
||
|
||
Open on 2026-10-10 (several have PRs open):
|
||
editing #3, #5, #140, #144; clip/session #86 (PR #123), #88 (PR #130), #91 (PR #124), #92 (PR #132);
|
||
automation #104 (PR #134); mix/bounce #59 (PR #131), #103 (PR #133), #152; playback #101 (PR #129);
|
||
MIDI #87, #98 (PR #125); import #89 (PR #128); CLI #95, #96 (PR #126, #127); MCP #145 (PR #146);
|
||
web #63, #64, #136; Clip List #4 (PR #75); plugin view #6; shortcuts #7, #41;
|
||
launch #142; Linux #45, #107.
|
||
- **Impact:** each one is small, but together they say "presence is not parity": an outside
|
||
contributor found seven in one sitting (#116–#122).
|
||
- **Estimate:** ≈ 25–40 h at 0.5–1.5 h each, plus review of the open PRs.
|
||
|
||
### G-05. Plugin hosting on macOS
|
||
|
||
- **Missing:** the `com.apple.security.cs.disable-library-validation` entitlement in the signed
|
||
build, so hardened runtime refuses third-party VST3 bundles (#153, #149). AU editor views
|
||
(`crates/au-host/src/lib.rs` header: "Not hosted yet: Audio Unit editor views"). Embedded CLAP
|
||
GUIs; VST3 editors on Windows/Linux.
|
||
- **Estimate:** ≈ 15–25 h (entitlement ≈ 1 h; AU Cocoa views and VST3 HWND/X11 views most of it).
|
||
|
||
### G-06. Memory-bound media
|
||
|
||
- **Missing:** streaming sources from disk; recording to disk. Every source is decoded whole into
|
||
the `SourcePool`; takes accumulate in RAM until stop (PR #84 open).
|
||
- **Impact:** hour-long multitrack sessions and long takes exhaust memory; a crash during a long
|
||
take loses it.
|
||
- **Estimate:** ≈ 15–25 h.
|
||
|
||
### G-07. Fidelity harness against Pro Tools
|
||
|
||
- **Missing:** any measured comparison: null tests of bounces of the same material, fade curve
|
||
and pan-law checks, plugin frequency/dynamics responses, elastic-audio quality, automation
|
||
timing. Pro Tools is installed; it can be driven black-box with synthetic sessions (outputs kept
|
||
under `plan/`, never committed).
|
||
- **Estimate:** ≈ 20–30 h for the harness and the first 20 scored cases; turns many "≈" in
|
||
target-app-parity.md into measurements.
|
||
|
||
### G-08. Built-in plugins
|
||
|
||
See [`plugin-parity.md`](plugin-parity.md): 26 processors + 2 instruments against Pro Tools'
|
||
roughly 80 bundled processors and instruments; no fidelity checks; generic parameter UIs; EQ
|
||
parametric request #139. ≈ 80–120 h.
|
||
|
||
### G-09. Localization
|
||
|
||
See [`localization-parity.md`](localization-parity.md): no catalog, every string literal in code;
|
||
egui has no complex-script shaping or RTL; no CJK font fallback (PR #141 open). ≈ 70–110 h plus
|
||
native-speaker review.
|
||
|
||
### G-10. Control surfaces
|
||
|
||
None: no HUI or Mackie Control, no EUCON (Avid-proprietary, needs Avid's SDK: owner decision),
|
||
no generic MIDI controller mapping. Pro Tools users on S1/S3/S4/S6/Dock or HUI devices can't
|
||
switch. ≈ 40–70 h for HUI/MCU plus a mapping layer; hardware needed to verify.
|
||
|
||
### G-11. Sync
|
||
|
||
No MTC/LTC chase or generation, no MIDI Beat Clock (`setup.midi_beat_clock` stores a flag only),
|
||
no video reference or word clock awareness, no Satellite-style linking. ≈ 15–25 h after G-01/G-02.
|
||
|
||
### G-12. Immersive delivery
|
||
|
||
No Dolby Atmos renderer integration, ADM BWF import/export, re-renders, binaural monitoring,
|
||
MPEG-H (new in Pro Tools 2026.4), surround/object automation. ≈ 50–80 h; Dolby's renderer and
|
||
SDKs are licensed, so we'd write our own ADM and object renderer.
|
||
|
||
### G-13. Plugin ecosystem depth
|
||
|
||
No sidechain (key input) buses for any host; no ARA (Melodyne-style editing is a menu in Pro
|
||
Tools); plugins run in-process, so a crashing plugin can take the session down. ≈ 30–50 h. AAX
|
||
cannot be hosted (#109): Avid's AAX SDK licence and PACE signing; owner decision, likely never.
|
||
|
||
### G-14. Platforms and CI
|
||
|
||
Only `freebsd.yml` and `windows-arm64.yml` run on pull requests, and only for manifest paths;
|
||
nothing runs `cargo xtask ci` on PRs. Windows and Linux have startup and rendering reports
|
||
(#41, #45, #107, #142). ≈ 20–40 h (a PR CI matrix plus runtime smoke tests on three OSes).
|
||
|
||
### G-15. Elastic Audio depth
|
||
|
||
One warp algorithm; Pro Tools offers several per track (polyphonic, rhythmic, monophonic,
|
||
varispeed, high-quality offline) plus Elastic Pitch and warp-marker editing depth. ≈ 30–45 h.
|
||
|
||
### G-16. Session management
|
||
|
||
No session templates, track presets, workspace/sound browser with previews, batch rename (new in
|
||
2026.4), disk-usage and relink depth. ≈ 25–40 h.
|
||
|
||
### G-17. Video and post
|
||
|
||
No HEVC, DNxHD/HR or AV1 decode; no bounce with video; no external timecode/9-pin; no iXML
|
||
field-recorder conform. ≈ 30–50 h.
|
||
|
||
### G-18. Speech-to-text
|
||
|
||
Pro Tools transcribes dialogue to a searchable transcript (upgraded in 2026.4). We have a
|
||
settings command only. Needs an openly licensed local speech model. ≈ 30–50 h.
|
||
|
||
### G-19. UI feel
|
||
|
||
See [`ui-parity.md`](ui-parity.md). ≈ 60–100 h.
|
||
|
||
### G-20. MIDI and instrument depth
|
||
|
||
MIDI learn, a sampler (PR #108), drum machine depth, notation editing (tuplets, lyrics,
|
||
articulations, parts). ≈ 40–60 h.
|
||
|
||
### G-21. Compressed export
|
||
|
||
Bounce writes WAV/BWF/RF64, AIFF and FLAC; Pro Tools also writes MP3 and AAC/M4A in Bounce Mix.
|
||
≈ 10–20 h (pure-Rust encoders).
|
||
|
||
### G-22. Avid cloud services
|
||
|
||
Collaboration, cloud projects, Sketch, Splice, Learn, sign-in: 11 of the 30 menu leaves still
|
||
missing. Out of scope unless the owner decides otherwise.
|
||
|
||
## Revision history
|
||
|
||
| Date | Change | Summary |
|
||
|---|---|---|
|
||
| 2026-10-10 | minor | Marked the alpha blockers (G-01, G-02, G-03; parts of G-05 and G-06) from the core-workflow gate |
|
||
| 2026-10-10 | major | Created from the full re-measure against Pro Tools Ultimate 2026.4.1: 22 ranked gaps with evidence and estimates |
|