12 KiB
Where SoundCraft falls short of Pro Tools
Last reviewed: 2026-10-10 · Last updated: 2026-10-12 · Change: minor (G-01: audio device settings and opt-in ASIO) · 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 and keep SoundCraft pre-alpha. Numbers and weights live in
target-app-parity.md; the plan that orders these into milestones is
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 channel routing or duplex low-latency path (device, rate and buffer choice done; ASIO opt-in) | Hardware | hardware-parity.md | 15–25 |
| G-02 | Alpha blocker. No MIDI device input or output | Hardware / MIDI | 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 | 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 | 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 | 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 | 80–120 |
| G-09 | English only, no string catalog, no CJK/RTL rendering | Localization | localization-parity.md | 70–110 |
| G-10 | No control surfaces (HUI/MCU, EUCON) | Hardware | hardware-parity.md | 40–70 |
| G-11 | No external sync (MTC, LTC, MIDI clock, video reference) | Hardware | hardware-parity.md | 15–25 |
| G-12 | Immersive delivery: no Dolby Atmos/ADM BWF, MPEG-H, binaural | Features | file-format-parity.md | 50–80 |
| G-13 | Sidechain inputs, ARA, out-of-process plugin sandboxing | Ecosystem | 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 | 30–45 |
| G-16 | Session templates, track presets, workspace browser, batch rename | Features | target-app-parity.md | 25–40 |
| G-17 | Video: HEVC/DNx decode, video export, external timecode | Features / Formats | 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 | 60–100 |
| G-20 | MIDI/instrument depth: MIDI learn, sampler, notation editing | Features | target-app-parity.md | 40–60 |
| G-21 | Compressed export (MP3, AAC/M4A, Ogg/Opus) | File formats | 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
- Done (2026-10-12): Setup › Playback Engine chooses the audio system, output and input
device, sample rate and device buffer size (kept with the preferences, per machine;
ui.audio_devicefor agents); f32 and 16/32-bit integer devices; ASIO behind the opt-inasiobuild feature (verified on Windows with an SSL 2+ at 128 samples). - Missing: routing to physical channels (I/O Setup), one duplex stream on one clock (input and
output are still separate cpal streams), latency reporting and record-offset compensation, ASIO
in official builds (owner decision: Steinberg's SDK is proprietary or GPLv3), JACK, and
verification on macOS and Linux. The mix still runs in fixed 512-sample blocks.
setup.playback_enginestill storesdevice/buffer_sizein the session, unused. - 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_devicesandsetup.midi_studioonly store names. You cannot record from a keyboard, play a hosted instrument live, drive external synths, or send MIDI clock/MTC.midi_editor.rs:288notes 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.scraftJSON. - 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).
.ptxis 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-validationentitlement in the signed build, so hardened runtime refuses third-party VST3 bundles (#153, #149). AU editor views (crates/au-host/src/lib.rsheader: "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: 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: 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. ≈ 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-12 | minor | G-01 shrunk: audio device, rate and buffer choice; opt-in ASIO |
| 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 |