Skip to content

Releases: soniqo/speech-studio

v0.0.9

Choose a tag to compare

@github-actions github-actions released this 05 Jul 19:31
99e2f05
Merge pull request #39: model capability registry, single-shot synthe…

v0.0.8

Choose a tag to compare

@github-actions github-actions released this 30 Jun 06:33
c77f9d2
Release v0.0.8

v0.0.7

Choose a tag to compare

@github-actions github-actions released this 27 Jun 19:18
28cc9ae
Add Indic-Mio and Fish Audio S2 Pro Hindi emotion TTS engines.

v0.0.6 — VoxCPM2 x86 fp32-p16 fix

Choose a tag to compare

@ivan-digital ivan-digital released this 15 Jun 20:08
5e8fe10

VoxCPM2 x86 voice-cloning fix

Fixes VoxCPM2 LiteRT over-generation (babble) on Windows & Linux (x86_64). The autoregressive token-step now uses fp32 weights on x86 so the stop signal fires correctly — previously the fp16 stop-margin rounded the wrong way under x86 XNNPACK and the model never stopped, rendering correct speech and then drifting into babble. macOS / ARM were unaffected and are unchanged.

On Windows & Linux the bundled sidecar fetches the fp32-p16/ model bundle from Hugging Face on first run (~12.5 GB).

Windows/Linux installers are unsigned — SmartScreen / your package manager will warn on first launch.

v0.0.5

Choose a tag to compare

@github-actions github-actions released this 12 Jun 20:07
6defa0b
feat: in-app auto-update via the updater plugin (#19)

Until now every release meant users re-downloading a DMG from GitHub by
hand — most never do, so fixes like the signed v0.0.5 or the download
resilience work strand the installed base on old builds. From this
version on the app updates itself: it checks the latest release's
latest.json once per launch, and a TopBar button downloads the new
build, verifies it, and relaunches.

Two trust layers, deliberately separate: Apple codesigning/notarization
authenticates the app to macOS; a minisign signature over the update
archive authenticates it to the updater (pubkey baked into the app,
private key environment-scoped in CI next to the Apple secrets).

Release-job wiring is the subtle part:
- The updater archive is created AFTER codesign + notarize + staple —
  the installer swaps the archive's contents onto the installed app, so
  it must carry the production Apple signature. (Tauri's own
  createUpdaterArtifacts is deliberately NOT enabled: it archives the
  pre-notarization .app and makes every unsigned build error without
  the signing key.)
- The .app must be the tar's single top-level entry (the installer
  strips the first path component) and AppleDouble/xattr entries are
  suppressed — they'd break the embedded codesign seal on extraction.
- The asset is named Speech-Studio_<ver>_aarch64.app.tar.gz up front
  because GitHub rewrites spaces to dots in download URLs, and
  latest.json must reference the asset name exactly.
- latest.json embeds the .sig file's content (the plugin rejects paths
  or URLs) and is attached to the release alongside the archive.

The frontend check is deliberately quiet on failure: an unreachable
endpoint must never degrade the studio, and dev builds legitimately
fail the check. Windows/Linux platform entries in latest.json are a
follow-up; until then those builds log the failed check and move on.

Updates swap files directly, so updated apps carry no quarantine
attribute — Gatekeeper prompts never reappear after an update.

Co-authored-by: ivan-digital <[email protected]>

v0.0.5-rc1

v0.0.5-rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Jun 19:07
1a26754
feat: sign + notarize the macOS release behind an approval-gated envi…

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 07 Jun 14:20
c2e4452
v0.0.4 — MP3/FLAC reference audio + sidecar tests

v0.0.3

Choose a tag to compare

@github-actions github-actions released this 07 Jun 10:32
71588fe
v0.0.3 — Windows and Linux support

v0.0.2 — cap MLX cache + int8 default

Choose a tag to compare

@ivan-digital ivan-digital released this 27 May 10:11
7406e03

Memory pass: peak RSS drops from ~30 GB (v0.0.1) to ~5.4 GB. Plus two Inspector regressions caught after the first v0.0.2 cut.

Download: Speech.Studio_0.0.2_aarch64.dmg

Changes

  • Cap MLX buffer-pool cache at 1 GB. Default was ~1.5× recommendedMaxWorkingSetSize (tens of GB on unified-memory Macs). Varying-shape buffers from KV / flow / vocoder accumulated and never recycled. Override via SONIQO_MLX_CACHE_MB.
  • Default model is now aufklarer/VoxCPM2-MLX-int8 (2.75 GB on disk vs 4.6 GB for bf16). Active memory drops 9.1 → 3.1 GB. No audible degradation for ICL cloning at clip lengths — auto-grader accepts every demo line on attempt 0. Override via SONIQO_VOXCPM2_MODEL_ID.
  • Regenerate now shows progress — spinner on the button while the synth is running, inline error block if it fails.
  • Regenerate now produces fresh audio — every click writes a uniquely-named WAV (UUID salt), forcing the <audio> element to remount instead of replaying the cached blob.
  • Fixed an Inspector crash — clicking a clip after viewing a different selection unmounted the right pane (Rules of Hooks violation; hooks have been hoisted).
  • Sidecar logs a memory snapshot after every synth.
  • README has a "Memory footprint" section with the measured numbers.
  • First demo line opens with (dramatic) instead of (soft).

Memory (4-line demo)

Variant Active Cache Peak
bf16 (v0.0.1) 9.1 GB 1.0 GB 11.4 GB
int8 (v0.0.2) 3.1 GB 1.0 GB 5.4 GB

Install

  1. Open the .dmg and drag Speech Studio to /Applications (replace any earlier copy).
  2. Right-click → Open the first time. The build is unsigned; Gatekeeper needs the explicit override.
  3. On first synth the int8 weights (~2.75 GB) download to ~/.cache/huggingface/hub/. The top-bar chip flips to VoxCPM2 ready when it's done.

v0.0.1 — first public preview

Choose a tag to compare

@ivan-digital ivan-digital released this 26 May 18:55
fd043fa

First public preview of Speech Studio — voice cloning + scripted synthesis with inline emotion markers.

Download: Speech.Studio_0.0.1_aarch64.dmg

Install

  1. Open the .dmg and drag Speech Studio to /Applications.
  2. Right-click → Open the first time (the build is unsigned; Gatekeeper needs the explicit override).
  3. On first synth the VoxCPM2 weights (~1.5 GB) download to ~/.cache/huggingface/hub/. The top-bar chip flips to VoxCPM2 ready when it's done.

What's in scope

  • Voice cloning from a short reference clip via VoxCPM2 (MLX, Apple Silicon).
  • Multi-line scripted synthesis arranged on a timeline.
  • Inline emotion markers — (soft), (whispering), (excited), (sad), (angry), (dramatic), (laughs), …
  • WAV export of the mixed timeline.

Requirements

  • macOS 15+, Apple Silicon (M1 or newer).
  • ~2 GB free disk for the bundled model on first run.

Roadmap

  • Video preview + muxed export (timeline already supports the underlying clip model).
  • Apple Developer ID signing + notarization (skip the right-click → Open dance).
  • Linux + Windows via speech-core once an on-device controllable TTS lands.