Releases: PowerBeef/Vocello
Release list
Vocello 2.4.0
Vocello 2.4.0
Released 2026-08-01. Vocello 2.4.0 is a voice-quality release: delivery presets were
rewritten and are now verified to steer the voice the way their names promise, Neutral
becomes a real steady default instead of an unconstrained one, and iPhone long-form
projects gain single-segment regeneration. Everything still runs locally on Apple
Silicon; no audio leaves the device unless you export it.
Upgrading from 2.3? Drag-install the new DMG as usual. Your installed models,
history, and saved voices carry over unchanged; no model re-download is needed for this
release.
Download v2.4.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)
- ~6 GB free disk for the three recommended Speed (4-bit) model variants;
~15 GB if you also install Quality (8-bit) - Internet for one-time model downloads from Hugging Face
- iPhone: the public TestFlight beta is live (join link);
build 23 carries this release.
Headline themes
- Delivery presets that do what they say. The instruction text behind the Custom-mode
delivery presets was rewritten and every rewritten preset now clears a measured 0.85
adherence win-rate on the canonical hardware. The biggest wins are the presets that
previously barely moved the voice: dramatic and surprised now steer prosody reliably,
and happy, excited, angry, and whisper are stronger at the intensities that were weak.
Verification is autonomous: a new prosody-adherence harness measures pitch, rate,
pause, and energy movement against per-preset expectations across seeded takes, so
these claims are gate-checked rather than eyeballed. - Neutral is now a real preset. Selecting Neutral previously sent no delivery
instruction at all, which left the voice free to wander take to take. Neutral now
instructs a steady, even, slightly monotone delivery with measured pacing, so repeated
takes of the same text land closer together in tone. If you want the old unconstrained
behavior, clear the delivery selection entirely. - Regenerate a single long-form segment on iPhone. Long-form projects on iPhone now
let you regenerate just one segment: open the retained project's segments panel from
the setup chip, pick the segment, and confirm. The segment re-renders with a fresh
recorded seed, the joined output reassembles automatically, and History keeps the full
lineage searchable. The Mac app has had this since 2.3; the phone catches up. - Every take speaks the normalized script. Text normalization now happens once at the
engine entry, so prompt construction, language detection, quality checks, and the audio
itself all agree on the exact spoken text. Takes that were transformed record what
changed. This removes a class of subtle mismatches between what you typed and what the
quality gates thought was spoken. - Runtime refresh. The MLX runtime moved to the current upstream pair (mlx-swift
0.31.6, mlx-swift-lm 3.31.4) with a same-day A/B against the previous pins: warm
generation speed within the noise band, identical quality verdicts, and byte-equal
fixed-seed outputs on the clone path. Nothing changes in daily use; the engine now
rides the current dependency line.
Fixes
- iPhone: every interactive control now carries a stable accessibility identifier,
improving assistive-technology addressing and UI-automation coverage.
Under the hood
The delivery-quality claims above are backed by new standing QA machinery: a calibrated
per-preset prosody-expectation profile, a warn-first delivery gate composed into the
benchmark quality registry at canonical depth, an emotion-classifier advisory lane, and a
clone-fidelity lane (speaker identity plus reference-tone match). Benchmark history
records now carry the typed take-quality identity on UI records too (schema v3), and the
vendor-runtime contract re-anchored its evidence checks to a fresh canonical record
captured on the new runtime pins.
Evidence
Recorded per the standing release-candidate procedure (docs/reference/macos-release-qa.md):
- macOS smoke lane:
macos-xcui-smoke-20260801-175657-f956d835— PASS, all seven
journeys (navigation/readiness, Custom generation + History, cancellation, recording,
library surfaces, long-form project, line batch). - Engine regression bench: label
release-QA-2.4.0
(macos-engine-20260801-182014-e18ee022, schema v3) — clean-source run on the
release commit; audio QC clean on all 29 takes (one earlier unseeded attempt hit
the known low-rate dropout band and was correctly rejected by the fail-closed
engine QC; failed runs never publish), warm throughput in line with the canonical
record the public surfaces cite. - Preset adherence evidence: the R1 rewrite acceptance matrix (7 seeds × 18 paired
cells) and the Neutral-preset A/B are banked as delivery-calibration records; findings
indocs/reference/delivery-fidelity-report-2026-08-01.mdand
benchmarks/OPTIMIZATION.md§P–§Q. - Pin-bump A/B: 58-take matrix vs a same-day 0.30.6 control at the canonical seed —
warm RTF deltas +0.6…+2.0% (noise band), identical QC verdict distributions, byte-equal
clone durations;benchmarks/OPTIMIZATION.md§Q.
Install
- Download
Vocello-macos26.dmgfrom the v2.4.0 release. - Open the DMG and drag
Vocello.appto/Applications. - Open Vocello → Settings → Model downloads → install the recommended Speed packages
(~6 GB total). Upgrading installs keep their models; nothing re-downloads. - 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.
TestFlight — What to Test (build 23)
Build 23 carries all of 2.4.0. Paste this section into the build's Test Details in App
Store Connect when distributing.
- Delivery presets. In Custom mode, generate the same short text with dramatic,
surprised, and whisper selected: each should sound clearly different from no preset,
and repeated takes should stay in character. - Neutral steadiness. Generate the same text three times with Neutral selected: the
takes should stay close in tone and pacing, with no random emotional swings. - Segment regeneration. Create a long-form project (past 900 characters), let it
finish, then open the segments panel from the setup chip and regenerate one segment:
it should re-render, the joined audio should update, and History should keep the
project lineage. - The usual pass. One short take in each mode (Custom, Design, Clone), and one
mid-take cancel: cancel should reset cleanly with nothing added to History.
Report anything odd through TestFlight feedback, including the moment it happened so it
can be matched against diagnostics.
Vocello 2.3.0
Vocello 2.3.0
Released 2026-07-31. Vocello 2.3.0 ships a new generation of model packages that are
smaller on disk and lighter in memory at verified equal quality, makes warm generation
measurably faster, and hardens model delivery on both platforms. Everything still runs
locally on Apple Silicon; no audio leaves the device unless you export it.
Upgrading from 2.2? Drag-install the new DMG as usual. Your installed models, history,
and saved voices carry over. After updating, Settings → Model downloads shows
Update available on installed models: one click refreshes each package to the new
2026.07.26.1 artifacts (smaller download, shared components are reused, nothing else to do).
The old artifacts keep working until you update them.
Download v2.3.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)
- ~6 GB free disk for the three recommended Speed (4-bit) model variants (was ~7 GB);
~15 GB if you also install Quality (8-bit) - Internet for one-time model downloads from Hugging Face
- iPhone: the public TestFlight beta is live (join link);
build 22 carries this release.
Headline themes
- Smaller, lighter models. All six model packages were re-published (artifact version
2026.07.26.1) with the talker's text-embedding table quantized to 8-bit. The three Mac
Speed packages now total about 6 GB (down from about 7 GB), and peak generation memory on
the 8 GB floor drops by roughly 280 MB. Output quality was verified before promotion with
a fixed-seed four-arm comparison battery and the standing automated audio-QC gates; the
full measurement record is inbenchmarks/OPTIMIZATION.md§N. - Faster warm generation. The per-frame code-predictor pass is now compiled, worth
8–11% warm throughput across modes and lengths, and stream-chunk materialization is
pipelined off the token hot path with byte-identical output. Net of the new artifacts,
warm generation runs up to about 10% faster than 2.2.2 on the canonical Mac mini M2
(8 GB), and every mode remains faster than realtime there. - Model delivery hardening. Installed models detect stale artifacts and offer an
authenticated in-place update on both platforms. iPhone model downloads are pinned to
Wi-Fi (previously, Wi-Fi Assist could silently reroute multi-gigabyte downloads over
cellular at sub-MB/s rates). On the Mac, switching models no longer reloads the shared
682 MB speech tokenizer when the bytes are identical, cutting about a quarter second
from the first chunk after a switch. - Clone and long-form polish. Clone reference encoding appends a half second of
trailing silence for a steadier clone onset. On iPhone, selecting a saved clone voice
primes the clone model in the background so the first take starts sooner. Long-form
assembly records a warn-first advisory when a segment boundary jumps unexpectedly, and
custom delivery text that requests an explicit duration now gets an advisory explaining
that delivery text cannot control take length.
Fixes
- iPhone: updating a model's artifacts no longer strands the download ledger on a
superseded request. - iPhone: the clone prime no longer spikes resident memory (previously up to ~5 GB on a
supported device) and a completed model load is no longer discarded when its task is
cancelled late. - macOS: repeated model switches reuse the byte-identical speech tokenizer instead of
re-reading it from disk.
Under the hood
Every benchmark take now carries a typed quality identity (audio QC, prosody, ASR, and
long-form continuity gate verdicts) in the published history schema, and the quality
registry runs on the shipping generation path. This is QA infrastructure rather than user
behavior, but it is the evidence backbone for the claims above.
Evidence
Recorded per the standing release-candidate procedure (docs/reference/macos-release-qa.md):
- macOS smoke lane:
macos-xcui-smoke-20260731-190550-a314890e— PASS, all seven
journeys (navigation/readiness, Custom generation + History, cancellation, recording,
library surfaces, long-form project, line batch). Long-form segment end-footprint growth
first→last −6.8%: flat. - Engine regression bench: label
release-QA-2.3.0
(macos-engine-20260731-192156-208e2873, schema v3) — clean-source run on the release
commit, audio QC clean with zero warnings, warm throughput within noise of the
2026.07.26.1 promotion-battery cells (custom warm about 1.2× realtime medians on the
canonical Mac mini M2 8 GB). - Artifact promotion evidence: the 2026.07.26.1 packages passed the fixed-seed
four-arm promotion battery (13 takes per arm, all QC-clean, RTF parity within noise on
medium/long cells) and the fail-closed catalog contract
(model_catalog_contract.py validate --require-complete) before upload; measurements in
benchmarks/OPTIMIZATION.md§N. - Deferred, tracked: the fresh characterization-fixture rebind and device memory
re-qualification on the new artifacts are mid-flight (six of nine control lanes banked,
all PASS) and continue after this release; state indocs/development-progress.md.
Deterministic release gates are the packaging authority and ran in the managed release
process on the tag per the schema-v2 release-evidence contract.
TestFlight — What to Test (build 22)
Build 22 carries all of 2.3.0 plus two fixes that specifically matter on iPhone. Paste
this section into the build's Test Details in App Store Connect when distributing.
- Model updates. If you installed models with an earlier build, Settings shows
"Update available" on them. Run one update: the download should complete, and
generation should work normally afterward with the same voices. - Wi-Fi-only downloads. Model downloads now run only on Wi-Fi. On cellular they wait
instead of silently crawling at low speed. Try starting an update on cellular and
confirm it clearly waits for Wi-Fi rather than hanging ambiguously. - Faster first clone take. Select a saved clone voice, then generate: the first take
should start noticeably sooner than on build 21, and the app should not be terminated
by the system while preparing the voice (a build 21 memory issue this build fixes). - The usual pass. One short take in each mode (Custom, Design, Clone), one long
script (past 900 characters) as a project, and one mid-take cancel: cancel should
reset cleanly with nothing added to History.
Report anything odd through TestFlight feedback, including the moment it happened so it
can be matched with diagnostics.
Known limitations
- macOS 15: stay on v1.2.3.
No 2.x backport planned. - 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.3.0 release. - Open the DMG and drag
Vocello.appto/Applications. - Open Vocello → Settings → Model downloads → install the recommended Speed packages
(~6 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.
Vocello 2.2.2
Full Changelog: v2.2.1...v2.2.2
Vocello 2.2.1
Full Changelog: v2.2.0...v2.2.1
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.
Vocello 2.1.0
Vocello 2.1.0
Vocello 2.1.0 is a quality-and-performance release for the macOS 26-native, on-device voice generation app. Everything still runs locally on Apple Silicon via MLX; no audio leaves the Mac unless you export it. The headline themes: 8 GB Macs now generate faster than realtime with Speed models, the voice library grew up (record references with the Mac microphone, automatic transcription in all 10 languages), delivery and language handling got measurably more accurate, and you get reproducible generations with deterministic seeds and a new variation control.
Upgrading from 2.0.0? Download the new DMG below 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.
Requirements
Unchanged from 2.0.0:
- macOS 26.0 or later
- Apple Silicon Mac
- ~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
Performance: realtime on 8 GB Macs
The MLX backend was specialized and tuned for Qwen3-TTS this cycle. The vendored audio stack now carries a fused code-predictor RoPE, per-generation sampler scratch buffers, and step-constant hoisting. Net effect on the 8 GB (floor-tier) baseline: warm Custom Voice generation went from RTF ≈ 0.83 to ≈ 1.03–1.11 — about a third faster, and now past realtime (RTF > 1 means audio is produced faster than it plays).
Constrained Macs also got smoother while generating:
- Warm-admission gating. Proactive model warm-ups now defer when memory is tight on 8 GB / 16 GB Macs, so they never compete with your generation. User-initiated generations are never gated.
- Engine retirement on idle. On an idle, memory-pressured 8 GB Mac the engine process now exits quietly to hand memory back to the system (model unloading alone can't return MLX fragmentation and shader caches). It relaunches lazily on your next generation — no error banners, no "reconnecting" flicker.
- UI-responsiveness telemetry. Main-thread stalls during generation are now measured and tracked as a release KPI.
Behavior change for Quality (8-bit) on tight memory: the automatic Quality→Speed fallback from 2.0.0 was removed. Picking Quality now always loads the genuine 8-bit model and surfaces a real error if it cannot fit — no silent downgrade. On 8 GB Macs, Speed remains the recommended default.
Voice library: record, transcribe, recommend
Voice Cloning references no longer have to come from files:
- Record in-app. A record sheet captures a reference clip directly with the Mac microphone, with level metering, duration guidance against the 10–30 s sweet spot, and a review-before-use step.
- Automatic transcription. Imported or recorded reference clips are transcribed on-device across all 10 supported languages (Apple speech recognition; nothing leaves the Mac). The transcript lands in the reference's transcript field, ready to edit.
- Language-aware recommendations. The speaker and language pickers gained "Recommended" sections that follow the language of your typed script.
- Recoverable permission states. Microphone, speech-recognition, and output-folder permissions now surface visibly in the UI with direct paths to fix them — including the macOS case where Siri being disabled silently blocks speech recognition.
Delivery & language accuracy
A research pass over Qwen3-TTS instruction handling produced several accuracy fixes and upgrades:
- Delivery presets v2. All preset instruction strings were rewritten against A/B listening evaluations, and three new presets joined the matrix: Surprised, Narrator, and News — 12 presets, each with intensity levels.
- Sampler-order fix. Temperature scaling now applies before top-p/min-p truncation (it ran after, subtly distorting the sampling distribution). Generations follow delivery instructions more faithfully.
- Auto-language fix. Automatic language detection now resolves Latin-script languages (French, Spanish, Italian, German, Portuguese) correctly instead of defaulting everything to English.
- Official speaker descriptions. The nine built-in speakers now carry Alibaba's official Qwen3-TTS character descriptions in the picker.
- Clone first-word fix. Voice Cloning no longer occasionally drops the first word of the script (a token-boundary bug in the in-context-learning prompt assembly).
Reproducible generations
- Variation control. Settings → Generation has a new three-way control: Expressive (the 2.0.0 behavior, default), Balanced, and Consistent — trading take-to-take variety against stability.
- Deterministic seeds. Every generation records its sampling seed; the same seed + settings reproduce the same take.
- Steadier batches. Multi-line batch generations now share one sampling seed across segments, so a batch reads as one consistent performance instead of shifting character between lines.
UI refinements
- Dark mode only. The app now pins its refined dark appearance regardless of the system setting; the half-supported light mode is gone.
- Detected-language selector. The language control shows the auto-detected language of your script as you type (caption reads
Language · Auto), and you can pin a specific language from the same compact menu. - One-row configuration. Language, Delivery, and Intensity merged onto a single configuration line, giving the script editor more room.
- Voice Design polish. The brief editor is multi-line with a character counter; starting points moved into a compact menu; and the page fits scroll-free at the default window size.
- Clear history. History's toolbar gained clear-all actions with an explicit choice: clear the list but keep audio files, or delete the audio too.
- Cancel is quiet. Cancelling a generation no longer flashes an error state in the sidebar.
- Reduce Motion honored. macOS animations now actually respect the system Reduce Motion setting (they previously only did on iOS).
New: the vocello command line
The repo now ships a headless CLI (vocello) exposing the same in-process engine: generate (all three modes, streaming, JSON output, stdin), batch, voices (list/enroll/delete), speakers, models, and a deterministic bench harness. It's built from source (./scripts/build.sh cli) rather than shipped in the DMG — see docs/reference/cli.md.
Quality process
This release passed a standing pre-release gate that is now permanent in-tree: a 10-test macOS XCUITest smoke suite, a deterministic engine benchmark matrix with reference-free audio QC on every cell plus a perceptual listening pass, five static audits, and a full interactive UI walkthrough of the packaged, signed app (docs/reference/macos-release-qa.md).
Known limitations
- macOS 15 users: stay on
v1.2.3. No 2.x backport is planned. - Quality (8-bit) on 8 GB Macs: with the fallback removed, a Quality load that doesn't fit now fails with an explanation instead of silently downgrading. Speed is the recommended default on 8 GB.
- iPhone: the iOS app now runs the engine fully on-device in development builds (iPhone 17 Pro proven), but no TestFlight build is attached to this release. iPhone distribution continues on a separate path.
- Voice Cloning is reference-driven. Only clone voices you own or have explicit permission to clone.
Install
- Download
Vocello-macos26.dmgfrom this release's assets. - Open the DMG and drag
Vocello.appto/Applications. - Double-click
Vocelloto launch. No right-click bypass needed — the DMG is notarized and stapled. - On first launch (new installs), go to Settings → Model Downloads and click Download recommended to fetch the three Speed (4-bit) variants (~7 GB total). Quality variants are optional.
- Generate locally from Custom Voice, Voice Design, or Voice Cloning.
Verification (optional)
The DMG is signed and notarized; macOS will accept it without any extra steps. To verify out of band:
Before install (the DMG envelope):
xcrun stapler validate Vocello-macos26.dmgshould printThe validate action worked!spctl --assess --type install -vv Vocello-macos26.dmgshould printacceptedwithsource=Notarized Developer ID.
After install (the .app itself):
spctl --assess --type execute -vv /Applications/Vocello.appshould print the sameaccepted+source=Notarized Developer IDlines.codesign --verify --deep --strict /Applications/Vocello.appshould exit silently.
release-metadata.txt (attached once CI completes) records the commit SHA, Xcode version, SDK, marketing version (2.1.0), and build number (18) used to produce the DMG.
Vocello 2.0.0
Vocello 2.0.0
Vocello 2.0.0 is the first stable release of the rewritten, macOS 26-native, on-device voice generation app — formerly shipped as QwenVoice. Everything runs locally on Apple Silicon via MLX; no audio leaves the Mac unless you export it. This release replaces both v1.2.3 (the macOS 15-compatible legacy line) and v2.0.0-beta.1 as the recommended download.
Upgrading from 2.0.0-beta.1? Download the new DMG below and drag
Vocello.appto/Applications(replacing the beta). Your installed models, history, and saved voices live in~/Library/Application Support/QwenVoice/and carry over automatically — no re-download needed.
Requirements
- macOS 26.0 or later
- Apple Silicon Mac
- ~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
What's new since 1.2.x
The 1.2.x → 2.0 transition is a full app rewrite. The highlights:
- Rebranded as Vocello. The macOS app, DMG, About box, and bundle identifier (
com.qwenvoice.app) all reflect the new name. The repo, Xcode scheme, and several internal type names retainQwenVoiceto avoid breaking historical tooling. - macOS 26 only, Apple Silicon only. No backport to macOS 15; the legacy line stays at
v1.2.3for that audience. - Three generation modes, each on its own sidebar surface:
- Custom Voice — one of nine shipped speakers, with optional natural-language delivery instructions and a 9 × 3 emotion × intensity preset matrix.
- Voice Design — describe a voice in natural language; the model produces it. Designed voices can be saved as cloning references in a single click.
- Voice Cloning — provide a 10–30 s reference clip; the model speaks your text in that voice. Quality-warning chips flag short, long, or unreadable references.
- Speed (4-bit) and Quality (8-bit) model variants with per-mode selection on the generation screen. Speed is the default everywhere. A global "Always use Speed (4-bit) models" toggle exists in Settings → Performance for floor-tier (8 GB) Macs.
- Streaming preview / autoplay. The first audio chunks play within ~3–6 seconds of pressing Generate on cold cells (vs ~8–15 s for the materialize-then-play flow that preceded it). Time-to-first-sound improved by roughly +3 s to +9 s per cell depending on mode and variant. The streaming decoder now uses an input-side context buffer to keep batch and streaming paths bit-equivalent.
- Memory-adaptive on 8 GB Macs. The native engine now responds to macOS memory-pressure events: idle-unload shortens from 120 s baseline to 30 s under soft trim and 10 s under hard trim; the clone-cache is capped at 1 entry; the custom-voice dedicated prewarm is skipped (it folds into the first generation); and a failed Quality model load falls back to its Speed sibling automatically with an in-app explanation.
- Engine isolation. TTS generation runs in a bundled XPC service so the UI process stays responsive and engine crashes don't take down the window.
- Saved Voices library. Reusable voice references with quality-warning chips: references under 10 s or over 30 s get a soft warning; over 60 s is hard-blocked. A single saved voice can drive any number of cloning generations.
- History library. Per-row playback, search, and a "re-save as voice" affordance for promoting a generated take into a saved cloning reference.
- Settings → Model Downloads. One-click "Download recommended" pulls the three Speed variants; per-variant Manage / Repair / Reveal-in-Finder controls are available for advanced cases. Status badges and progress bars per variant.
- Emotion + tone delivery hardening. All 27 preset instruction strings (9 emotions × 3 intensities) were rewritten with an action-verb-leading pattern. Voice Design now uses a labeled
Voice character: … Delivery: …framing so the model attributes the description to identity vs delivery correctly. The English-diction dedup guard recognizes an expanded vocabulary of clarity tokens, so the model is no longer told to "be clear" twice. - Notarized + signed DMG on every GitHub Release. First launch opens with a double-click — no right-click bypass, no
xattr -dr com.apple.quarantine, no "unidentified developer" warning. The DMG carries a stapled Apple notarization ticket and is signed byDeveloper ID Application: PATRICE DERY (FK2D8X36G2).
Since 2.0.0-beta.1
Beta 1 shipped 2026-05-11. Between then and 2.0.0 final:
- Signed + notarized CI release pipeline.
.github/workflows/release.ymlbuilds, signs, notarizes, and staples the DMG on everyrelease.publishedevent using an App Store Connect API key (Individual key supported). Six repo secrets configured; the workflow imports the Developer ID cert into a temporary ephemeral keychain, derives the signing identity at runtime, then tears everything down. The signed DMG is attached to the Release within ~15-25 min of publishing. - Streaming preview enabled production-wide. All eight user-facing call sites now run with
shouldStream: true. Decoder-level fix (DecoderBlockUpsample.stepnow uses an input-side context buffer instead of an output-side overlap-and-add accumulator) eliminates LSB drift between streaming and batch paths. Several streaming-engagement race conditions on warm-after-cold generation were closed (stale buffer completions clobbering counters, AVAudioEngine references not nil'd on teardown). - Voice Cloning configuration card reworked. A single-row tappable warning chip replaces the wrapping
Labelrow inside the saved-voice panel, so the Transcript field stays inside the fixed 184 pt configuration slot regardless of warning state. The Speed/Quality model picker no longer renders a stray keyboard-focus halo on screen appearance. - Voice-cloning reference duration warnings re-based. The 10-20 s sweet-spot copy was clarified; soft-warn moved from >20 s → >30 s; a new hard cap at >60 s mirrors Apple-side guidance for cloning references. The "Reference quality may be poor" copy was softened to "Reference outside recommended range."
- Antigravity CLI migration. Google retired Gemini CLI; the perceptual-review pipeline now runs through
agy(App Store Connect-style auth, default model). New script:scripts/antigravity_voice_review.sh. New runbook:docs/reference/antigravity-voice-review.md. Oldgemini-reviewscript + runbook stay as one-release deprecation shims. - Bench harness expanded to 24-cell coverage at n=3 (
docs/reference/benchmark-baselines.jsonschema v3) with regression-gatedbench-compare. Paired-signal reading rules (msvsrtf) clarified for triage. - Smoke runbooks for Settings, History, Saved Voices added alongside the existing per-mode generation runbooks.
Notes for contributors
Repo conventions for the 2.0 line — agent guide pointer, build script + single-resident policy, the three runtime data-folder tiers, and the "CI is scoped to release packaging only" carve-out — are documented in CONTRIBUTING.md. Testing strategy is in docs/reference/testing-overview.md.
Known limitations
- macOS 15 users: stay on
v1.2.3. No 2.x backport is planned. - Quality (8-bit) models on 8 GB Macs are still tight even with the new memory-pressure response. Speed is the recommended default; the Quality→Speed OOM fallback covers most cases but expect occasional swap pressure under sustained generation.
- iPhone target: the iOS code in this repo stays compile-safe, but no TestFlight build is attached to this GitHub Release. iPhone work continues on a separate distribution path.
- Voice Cloning is reference-driven. Only clone voices you own or have explicit permission to clone.
- Subjective quality varies by reference. A perceptual review tool is in-tree (
scripts/uitest.sh antigravity-review <wav>) for testers who want cell-by-cell comparison.
Install
- Download
Vocello-macos26.dmgfrom this release's assets. - Open the DMG and drag
Vocello.appto/Applications. - Double-click
Vocelloto launch. No right-click bypass needed — the DMG is notarized and stapled. - On first launch, go to Settings → Model Downloads and click Download recommended to fetch the three Speed (4-bit) variants (~7 GB total). Quality variants are optional.
- Generate locally from Custom Voice, Voice Design, or Voice Cloning.
Verification (optional)
The DMG is signed and notarized; macOS will accept it without any extra steps. To verify out of band:
Before install (the DMG envelope):
xcrun stapler validate Vocello-macos26.dmgshould printThe validate action worked!spctl --assess --type install -vv Vocello-macos26.dmgshould printacceptedwithsource=Notarized Developer IDandorigin=Developer ID Application: PATRICE DERY (FK2D8X36G2).
After install (the .app itself — proves the app inside the DMG is also notarized, not just the wrapper):
spctl --assess --type execute -vv /Applications/Vocello.appshould print the sameaccepted+source=Notarized Developer IDlines.codesign --verify --deep --strict /Applications/Vocello.appshould exit silently.
release-metadata.txt (also attached to this release) records the commit SHA, Xcode version, SDK, app minimum OS, marketing version, and build number used to produce the DMG.
Vocello 2.0.0 beta 1
Vocello 2.0.0 Beta 1
Vocello 2.0.0 beta 1 is the first public beta of the macOS 26 Vocello line. It is intended for testers who want the new local-first voice-generation app and are comfortable with beta software.
QwenVoice v1.2.3 remains the stable public download for users who need macOS 15 support or do not want to test the beta.
Requirements
- macOS 26.0 or later
- Apple Silicon Mac
- Enough disk space for the voice models you choose to install
- Internet access for first-time model downloads from Hugging Face
What Is Included
- New Vocello-branded macOS app experience.
- Native Swift and MLX generation stack with heavy model work isolated in the bundled XPC engine service.
- Custom Voice, Voice Design, and Voice Cloning generation modes.
- Speed (4-bit) and Quality (8-bit) model variants on macOS, with per-mode selection on the generation screens.
- Settings-based model download manager for installing, repairing, revealing, and deleting model packages.
- Local-first generation: after models are installed, generation runs on the Mac and generated audio/history stay in local app storage unless you export them.
- Delivery and emotion prompt hardening, including safer strong-excited wording and explicit whisper instructions.
- Backend hardening for finish reasons, clone cache identity, audio preparation limits, XPC trust policy, and release verification.
Known Beta Notes
- This is a public beta, not the stable macOS 15-compatible QwenVoice line.
- Voice Design and Voice Cloning can be slower than Custom Voice, especially with Quality models or on lower-memory Macs.
- Quality (8-bit) models are optional, larger downloads and can be heavy on 8 GB Macs.
- Emotion and delivery controls are improved but remain model-dependent; advisory audio-QA and Gemini-assisted review have been used for targeted reliability checks.
- Voice Cloning is reference-driven. Only clone voices you own or have permission to use.
- The iPhone app remains in development and is not distributed through GitHub Releases.
Install
- Download
Vocello-macos26.dmgfrom this release. - Open the DMG and drag
Vocello.appto/Applications. - Open Vocello.
- Go to Settings -> Model downloads and install the model packages you want to use.
- Generate locally from Custom Voice, Voice Design, or Voice Cloning.
Verification
This release is built through the signed macOS release workflow. The published DMG is notarized and accompanied by a SHA-256 checksum asset.
Use Vocello-macos26.dmg.sha256 to verify the downloaded DMG before installing if desired.
QwenVoice 1.2.3
QwenVoice 1.2.3
QwenVoice 1.2.3 focuses on making official installs and release artifacts much more reliable across macOS 15 and macOS 26.
- Official GitHub release packages are now signed, notarized, and stapled so QwenVoice opens normally without manual security overrides or quarantine-removal workarounds.
- Tightened the dual-UI release pipeline so both the modern macOS 26 build and legacy macOS 15 build are verified before publish.
- Improved bundled runtime compatibility checks for shipped artifacts, including the MLX Metal runtime packaged into the macOS 15 build.
- Hardened release packaging around bundled Python, ffmpeg, checksums, and downloaded-artifact verification.
QwenVoice 1.2.2
QwenVoice 1.2.2
QwenVoice 1.2.2 focuses on Voice Cloning speed, smoother saved-voice handoff, and more reliable release artifact verification.
- Made the first Voice Cloning generate much faster by priming the real clone reference path before the screen reports ready.
- Improved Saved Voices -> Voice Cloning handoff so a saved designed voice opens with its reference and transcript already in place.
- Tightened local UI and navigation reliability around clone flows and test automation readiness.
- Corrected the published checksum sidecars so downloaded DMGs verify directly with raw
shasum -a 256 -c.