Measured, not promised

A first-party engine, measured take by take.

The speed chart comes from one record on Vocello's benchmark host, a Mac mini M6 with 16 GB: a 3.0 development build measured on October 7, 2026. The engine changed after it (a newer MLX, full-precision sampling, takes that read the whole script first), and no benchmark of the released build is published yet, so the chart is not a measurement of 3.0.0 itself. The memory figures come from earlier records on the 8 GB Mac mini M2, the support floor. Speed is the real-time factor: seconds of generation per second of audio. Below 1.0, audio generates ahead of playback, and every number here traces to a tracked record in the open repository.

Warm generation by mode and script length, take medians, from a 3.0 development build. Translucent app surfaces render solid while audio generates; on the 8 GB Mac mini M2, that change sped up the same take by about a third.
Swift end to end
Generation runs through Vocello's own Swift runtime on MLX, derived from mlx-audio-swift and narrowed to the Qwen3 voice stack: about 36,000 of 49,000 upstream lines removed, no Python, no local HTTP server.
One engine, three hosts
The Mac app runs the engine in-process, with no separate service, as the iPhone app does, so one lifecycle and one memory policy serve both: the engine trims its caches under memory pressure and unloads an idle model. The vocello command line hosts the same engine through the Mac app's engine store, with the same admission and memory checks and no UI.
Streaming by design
Audio leaves the engine chunk by chunk, so memory stays flat however long the script runs. On the 8 GB Mac mini M2, streaming took the peak of the same take from about 8 GB to about 3 GB, and a 12-segment project with 10.4 minutes of audio ended 1.1 percent below its starting footprint.
Reproducible by construction
Every request carries its own seed and sampler state, so the same request and seed reproduce a take on the same version. Performance changes are checked against fixed-seed takes, so a speed change that alters the audio shows up before it merges. A seed from a version before 3.0 does not reproduce its old take, because sampling changed.
Honest benchmarks
Published records are pass-only with a strict privacy allowlist, and each take carries typed quality verdicts. The lane once caught its own measurement bias: disabling the harness's screen recording moved the same take by 55 percent.

Record 74f026be in benchmarks/HISTORY.md, reproducible with the repository's benchmark lanes.

Current limitations

The honest edges.

Vocello is a stable release on the Mac and in the terminal, not a claim that every machine, workflow, or voice reference behaves the same.

macOS 26+
Vocello 3.0.0 and its command line target macOS 26. QwenVoice 1.2.3 remains the macOS 15 fallback.
Apple Silicon and memory
Vocello needs an Apple Silicon Mac with at least 8 GB of unified memory. Quality models use larger 8-bit packages and need more headroom than Speed models; 16 GB or more is recommended for them and for long projects.
Command line install
The command line is arm64 only, and its installer package needs an administrator password. Without one, copy the Vocello CLI folder from its disk image and keep its executable and resource bundles together.
Command line and History
Takes made with the command line, including through vocello mcp, are saved as files and do not appear in History yet; a 3.0 update adds that. The command line reads History only while the Vocello app is closed.
Take quality
Take quality is not verified by human listening. Automated checks catch gross failures (silence, a cut-off or unfinished take, missing words, the wrong language), but a take can still carry subtle defects, such as a swallowed syllable or delivery that misses the requested style. Generate again for a different take.
Rejected takes
Some French and Chinese takes fail the mandatory audio check, and rarely a long-form take develops a long silent gap without finishing. Vocello rejects such a take instead of saving it and never regenerates one silently; generate it again.
Consistent long-form stalls
Long-form projects using the Consistent take variation can still stall, though far less often than in earlier builds: a segment of about a minute may pause for several seconds or never finish. Audio QC rejects that segment instead of saving it, and Resume retries it with a fresh seed. This was not observed with Expressive, the default.
Seeds from earlier versions
Sampling changed in 3.0, so a seed pinned in an earlier version does not reproduce its old take.
iPhone is in beta
The iPhone app is a public TestFlight beta that runs version 2.4. Its 3.0 version follows in the coming days through TestFlight and then the App Store. It needs an iPhone 15 Pro or newer with iOS 26 or later.
Cloning varies
Use voices you own or have permission to use. For local voice cloning workflows, reference quality matters, and subjective similarity can vary by clip and model behavior.
AI disclosure
From 3.0, generated takes are saved with an inaudible watermark marking them as AI-generated (on iPhone, from its 3.0 version). Reference clips you record or import are not marked, and neither is live preview audio heard before the file is written. If you publish audio of a cloned real voice, tell your audience it is AI-generated. EU law may require this disclosure.

Local by design. Yours to keep.

Vocello 3.0.0 for macOS 26 and Apple Silicon, free and open source. Three ways in, one local engine.

  • Mac app

    Open the DMG and drag Vocello to Applications. From 3.0 on, the app updates itself: choose Vocello > Check for Updates.

    Vocello-macos26.dmg · Signed and notarized

    Download for Mac
  • Command line

    The installer package links vocello in /usr/local/bin and asks for an administrator password; install a newer package to update it. Or copy the Vocello CLI folder from the folder DMG.

    Vocello-macos26-cli.pkg · Apple Silicon only

    Download the package
  • iPhone

    The public TestFlight beta runs version 2.4. The iPhone app's 3.0 version, on the same engine, follows in the coming days through TestFlight and then the App Store.

    iPhone 15 Pro or newer · iOS 26.0 or later

    Join on TestFlight

Models are not bundled: each downloads once from Hugging Face, so installing one needs an internet connection. Check the model sizes and your free storage first. The three Speed models take about 4.8 GB together, because they share one speech tokenizer, stored once. Generation then runs locally.

macOS 26.0+Apple Silicon with 8 GB memory or more (16 GB recommended for Quality models)Release notesAll releasesStable build for macOS 15: QwenVoice 1.2.3

View the source on GitHub