Skip to content

Vocello 2.0.0

Choose a tag to compare

@PowerBeef PowerBeef released this 20 May 06:14

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.app to /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 retain QwenVoice to avoid breaking historical tooling.
  • macOS 26 only, Apple Silicon only. No backport to macOS 15; the legacy line stays at v1.2.3 for 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 by Developer 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.yml builds, signs, notarizes, and staples the DMG on every release.published event 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.step now 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 Label row 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. Old gemini-review script + runbook stay as one-release deprecation shims.
  • Bench harness expanded to 24-cell coverage at n=3 (docs/reference/benchmark-baselines.json schema v3) with regression-gated bench-compare. Paired-signal reading rules (ms vs rtf) 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

  1. Download Vocello-macos26.dmg from this release's assets.
  2. Open the DMG and drag Vocello.app to /Applications.
  3. Double-click Vocello to launch. No right-click bypass needed — the DMG is notarized and stapled.
  4. 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.
  5. 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.dmg should print The validate action worked!
  • spctl --assess --type install -vv Vocello-macos26.dmg should print accepted with source=Notarized Developer ID and origin=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.app should print the same accepted + source=Notarized Developer ID lines.
  • codesign --verify --deep --strict /Applications/Vocello.app should 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.