Files
soundcraft/docs/hardware-parity.md
T
Brandon ThomasandClaude Opus 5.5 330a698397 Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#155)
* Progress docs to the craftrules standard; full re-measure against Pro Tools 2026.4.1

Stage: alpha. Menu breadth 482/512 (94.1%, measured), feature breadth ~70%,
ready for real work ~40%; ~350-570 agent-hours to beta, ~950-1,450 to full parity,
calibrated on this repo's PR history.

- ROADMAP.md rewritten: stage banner, two numbers, dimension/feature/language tables
- docs/target-app-parity.md: authoritative assessment (area table moved from ROADMAP)
- docs/gaps.md: 22 ranked gaps with evidence and estimates
- docs/roadmap.md: milestones, current focus, beta plan
- docs/ui-, file-format-, hardware-, plugin-, localization-parity.md: new checklists
- docs/parity.md -> docs/parity-checklist.md (generated by cargo xtask parity)
- architecture.md: video, vst3-host, au-host crates; device I/O limits

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Stage: pre-alpha under the core-workflow gate

Add the alpha gate to docs/roadmap.md: interface recording at a chosen buffer
size, MIDI recording, and session interchange with Pro Tools fail, so the stage
moves from alpha to pre-alpha (~5 points and ~110-180 agent-hours to alpha).
Mark the alpha blockers in docs/gaps.md; update ROADMAP.md, target-app-parity.md
and README.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Add mainstream-practitioner and essentials-user readiness numbers

Mainstream practitioner ~36% (weekly-area depth 50.6% x 0.90 interaction x 0.92
stability x 0.85 file exchange) and essentials user ~57% (core-feature depth
72.4% x 0.90 launch/stability x 0.90 discoverability x 0.97 files), with written
weights, discounts and GitHub user evidence. Full ready-for-real-work checked
against its written dimension weights (40.6%); unchanged at ~40%, stage unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Readiness by audience: hours to ~95% for full, mainstream and essentials

Full ~40% / 950-1,450 h, mainstream ~36% / 380-600 h, essentials ~57% / 110-200 h,
calibrated on this repo's PR history. The full number is already an additive
weighted sum over the written dimension table; method unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 14:08:49 -04:00

4.2 KiB
Raw Blame History

Hardware parity

Last reviewed: 2026-10-10 · Last updated: 2026-10-10 · Change: major (first hardware audit against Pro Tools 2026.4.1) · Target: Avid Pro Tools Ultimate 2026.4.1

A DAW is judged by how it drives audio interfaces, MIDI gear, control surfaces and sync. This is SoundCraft's weakest dimension. Ours is measured from crates/playback (cpal) and the absence of any MIDI-device or control-surface code; Pro Tools' from its documentation and Setup menus.

Hardware: ~12 % ready (estimated). Performance: ~35 % (estimated; nothing benchmarked against Pro Tools). Remaining ≈ 110–180 h for hardware, 40–70 h for performance.

Legend: ✅ works · 🟡 partial · ❌ missing.

Audio interfaces

Feature Pro Tools (macOS / Windows) SoundCraft macOS Windows Linux FreeBSD Web
Driver API Core Audio / ASIO 🟡 Core Audio via cpal 🟡 WASAPI shared via cpal; no ASIO 🟡 ALSA/Pulse via cpal; no JACK 🟡 cpal (ALSA layer) 🟡 Web Audio
Choose playback device ✅ Playback Engine ❌ default output only ❌ ❌ ❌ ❌
Choose input device ✅ ❌ default input only (#42) ❌ ❌ ❌ ❌
Buffer size (32–2048) ✅ ❌ fixed 512-sample mix block ❌ ❌ ❌ ❌
Duplex stream on one clock ✅ ❌ separate input/output streams ❌ ❌ ❌ ❌
Hardware I/O mapping (I/O Setup to physical channels) ✅ 🟡 multichannel output in order; no per-channel map 🟡 🟡 🟡 ❌
Low-latency monitoring ✅ ❌ (options.low_latency_monitoring is a stored flag) ❌ ❌ ❌ ❌
Latency reporting and record offset compensation ✅ ❌ ❌ ❌ ❌ ❌
Sample rate follows the session; resample when it can't ✅ (switches device) 🟡 resamples (input pitch bug fixed, #28) 🟡 🟡 🟡 🟡
Avid HDX / HD Native DSP, Hybrid Engine DSP mode ✅ ❌ (out of reach: Avid hardware) ❌ ❌ ❌ ❌
Disk allocation / record to disk ✅ ❌ recording into RAM (PR #84) ❌ ❌ ❌ ❌

MIDI

Feature Pro Tools SoundCraft (all platforms)
MIDI input devices (keyboards, pads) ✅ ❌ no MIDI device layer at all (setup.midi_input_devices stores names)
MIDI output to external gear ✅ ❌
MIDI Thru, input filter ✅ ❌ (stored flags only)
MIDI Beat Clock out, MTC generate/chase ✅ ❌
MIDI learn / controller mapping ✅ (via surfaces and plug-in maps) ❌
Virtual MIDI keyboard ✅ (MIDI Keyboard window) 🟡 window exists, no live audition path

Control surfaces

Feature Pro Tools SoundCraft
EUCON (S1/S3/S4/S6, Dock, Control app) ✅ ❌ Avid-proprietary SDK; owner decision
HUI ✅ ❌
Mackie Control Universal ✅ (via HUI emulation and personalities) ❌
Generic MIDI controller personalities ✅ ❌

Sync and video hardware

Feature Pro Tools SoundCraft
LTC / MTC chase, 9-pin machine control ✅ (Ultimate) ❌
Word clock / video reference awareness ✅ via interface ❌
Video output to a second display or video card ✅ ❌ (video window only)
Satellite linking of systems ✅ ❌

Performance

Feature Pro Tools SoundCraft Evidence
Parallel mixing across cores ✅ ✅ soundcraft-mix renders independent strips in parallel (rayon)
Plugin delay compensation ✅ ✅
Disk streaming of long sources ✅ ❌ Whole files decoded into the SourcePool
Track count (Ultimate: 2,048 voices) ✅ unmeasured No benchmark exists; add cargo xtask bench
Real-time audio thread discipline ✅ ✅ No blocking/allocation in steady state, audio-thread-aware logger
Freeze / commit to save CPU ✅ 🟡 track.commit renders; track.freeze only sets a flag (no CPU saved)
GPU-accelerated UI — ✅ (wgpu/glow via eframe) llvmpipe X11 issue #107

Revision history

Date Change Summary
2026-10-10 major Created: audit of audio interface, MIDI, control-surface, sync and performance support against Pro Tools 2026.4.1