jamiepine/voicebox describes itself as an MIT-licensed, open-source AI voice studio for cloning, dictation, and creation. “Local-first” is valuable for voice data, but mobile and laptop audio sessions still cross unstable permission, route, and lifecycle boundaries.
Before relying on any voice workflow, test transitions—not just a clean recording.
Device envelope
Record the environment before testing:
device: your-device
os_version: exact-version
voicebox_revision: git-sha
audio_input: built-in-mic
output_route: built-in-speaker
network: offline
permissions: microphone-allowed
Without this record, “works locally” is not reproducible.
Transition matrix
| Event | Expected behavior | Evidence |
|---|---|---|
| Microphone permission revoked mid-recording | Recording stops and explains recovery | timestamped state change |
| Bluetooth headset disconnects | Route changes or task pauses explicitly | old/new route IDs |
| App moves to background | State follows documented platform policy | lifecycle log |
| Incoming call interrupts audio | Partial recording remains recoverable or is deleted | file inventory |
| Disk becomes full | No successful-completion message | error and cleanup log |
| App restarts | User can identify unfinished local artifacts | restored task list |
Test iOS, Android, and desktop separately if the product supports them. Their background and audio-session rules differ.
Privacy evidence
For a local-first claim, run the app behind a network monitor and perform one complete task offline. Record outbound destinations rather than assuming “local” means “zero network.” Model downloads, update checks, telemetry, and speech processing may have different paths.
Also inspect where temporary audio lives and whether operating-system backups include it. Deleting the visible recording should remove derived clips and temporary files according to a documented retention rule.
A small test script
Use a fixed ten-second phrase so runs are comparable:
Test run seven. Permission and route transition fixture.
For every run record start time, interruption time, final state, output path, and whether replay is understandable. Do not invent word-error-rate conclusions from one phrase.
Acceptance rule
The workflow passes when every interruption produces one of three explicit outcomes: completed, recoverable, or deleted. “Unknown file left behind” is a failure even if the normal recording sounds good.
Limitations
I have not run this matrix against Voicebox or measured battery, latency, or transcription quality. The repository description and MIT license were checked. Verify current supported platforms, engines, and installation requirements in its README.
Local processing reduces one privacy boundary. It does not remove mobile permissions, audio routing, storage lifecycle, or recovery work.
Top comments (0)