Vocello 2.2.0
Vocello 2.2.0
Released 2026-07-25. Vocello 2.2.0 turns long scripts into finished audio projects, makes
generation measurably faster while the app is on screen — a native Swift + MLX engine now,
faster than realtime on an 8 GB M2 — and overhauls model downloads. Everything still runs
locally on Apple Silicon; no audio leaves the Mac unless you export it.
Upgrading from 2.0 or 2.1? Download the new DMG and drag
Vocello.appto
/Applications(replacing the old copy). Your installed models, history, and saved voices
live in~/Library/Application Support/QwenVoice/and carry over automatically — no
re-download needed.
The repository moved. With this release the GitHub repository was renamed from
PowerBeef/QwenVoicetoPowerBeef/Vocello. Every
old link, bookmark, and clone URL redirects to the new name; nothing else changed (same
license, same app, same data locations).
Download v2.2.0 · All releases
Requirements
- macOS 26.0 or later
- Apple Silicon Mac
- 8 GB RAM minimum (16 GB+ recommended for Quality variants and long projects)
- ~7 GB free disk for the three recommended Speed (4-bit) model variants; ~16 GB if you also
install Quality (8-bit) - Internet for one-time model downloads from Hugging Face
Headline themes
- Long-form projects — a script past 900 characters becomes a planned project: it is
segmented at natural boundaries, each segment streams in order while you listen along, and
the takes are joined into one finished audio file with matched loudness and natural pauses.
History shows the project as one row with an expandable per-segment map; you can regenerate
a single weak segment (the joined file is reassembled around it) and resume an interrupted
run without redoing finished segments. Addresses #54 and #30. - Faster generation while the app is visible — the interface now steps aside during
generation (translucent surfaces temporarily render as solid fills), giving the engine the
machine. Warm generation measured about a third faster than 2.1 in identical conditions on
the canonical Mac mini M2 (8 GB); every mode now generates faster than playback there. - Line batches stream too — multi-line batches run the same streaming path as single
takes: flat memory on 8 GB Macs instead of buffering whole results, live preview, and an
automated quality check on every take. - Model downloads overhauled — up to three files download concurrently, interrupted
transfers retry automatically with integrity verification, install status no longer re-reads
multi-gigabyte files, and shared model components are stored once across models (~680 MB
saved per additional model). Existing installs migrate automatically.
Behavior changes
- Delivery presets curated from 12 to 10. Documentary and Newscaster were removed and the
remaining preset wordings were rewritten for measurably better adherence. Saved voices and
history that used a removed or reworded preset keep working: their delivery text is
preserved and applied verbatim as a custom instruction (it shows as custom text instead of a
preset chip). - Batch takes are quality-checked. Every take in a line batch now passes the same
automated audio quality gate as single takes, so a degenerate take that would previously
slip through is rejected with a named reason instead of landing in History. - Voice cloning asks for consent once. Clone generation stays disabled until the visible
acknowledgment in Settings ("I own or have permission to use this voice") is enabled. The
choice is stored locally. - Calmer progress indication. The sidebar uses static status glyphs instead of spinners
while starting or generating (continuous spinner animation measurably competed with the
engine), and shows a new Standby state.
Fixes
- Contributor builds on Python 3.12 or older no longer fail contract validation with spurious
"test patterns match no files" errors (#69). The build also now documents that full Xcode —
not just the Command Line Tools — is required. - Quality-check rejections name the exact rule that fired instead of a generic failure.
- Voice Design default briefs now specify gender and concrete pitch for steadier first takes.
Evidence
Recorded per the standing release-candidate procedure (docs/reference/macos-release-qa.md):
- macOS smoke lane:
macos-xcui-smoke-20260725-062451-8f15c1fd— PASS, all seven
journeys, including the scaled long-form run below. - Engine regression bench: label
release-QA-2.2.0
(macos-engine-20260725-061018-431c7482) — RTF within noise of comparable prior records
(−0.9% on the shared warm cell), audio QC clean with the standing policy-accepted warnings. - Long-form memory scaling: same smoke run,
--long-form-segments 10→ the planner
produced a 12-segment project (627.5 s of audio joined in 348.7 s, project RTF 1.80).
Engine end-of-segment physical footprint stayed flat across all 12 segments
(first→last −1.13%), confirming steady-state memory does not scale with total audio
duration at this size.
Known limitations
- macOS 15: stay on v1.2.3.
No 2.x backport planned. - iPhone: the app is implemented and device-validated; public distribution via
TestFlight/App Store is in progress. - Long-form scale: flat-memory behavior is validated up to twelve-segment projects
(about ten minutes of joined audio); larger audiobook-scale evidence is ongoing work. - Single takes and normalization: the long-form planner's spoken-text normalization does
not yet apply to short single takes. - Voice Cloning: only clone voices you own or have permission to use.
Install
- Download
Vocello-macos26.dmgfrom the v2.2.0 release. - Open the DMG and drag
Vocello.appto/Applications. - Open Vocello → Settings → Model downloads → install the recommended Speed packages
(~7 GB total). - Generate from Custom Voice, Voice Design, or Voice Cloning.
The DMG is Developer ID signed and notarized with a stapled ticket. release-metadata.txt on
the release records build provenance.