diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a4264cf8c..fee914a7d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,65 +8,57 @@ metadata and the backend fallback mirror it. ## [Unreleased] +## [0.5.7] — 2026-10-05 + +**VoiceStudio now runs on PCs without a GPU and recovers instead of giving up.** Voice cloning uses the speech-to-text model you installed from Model Catalogue, GPU-less computers get the small CPU PyTorch build, and slow or busy backends are no longer reported as failed. + +This release also adds a GPU acceleration panel with honest Radeon reporting, the Ask VoiceStudio Agent, and a batch of fixes to dubbing, audiobooks, downloads and dictation. + +**Download** + +| Platform | Installer | +| --- | --- | +| Windows x64 | [Installer](https://github.com/debpalash/VoiceStudio/releases/download/v0.5.7/VoiceStudio-Electron-0.5.7-win-x64.exe) | +| macOS Apple Silicon | [DMG](https://github.com/debpalash/VoiceStudio/releases/download/v0.5.7/VoiceStudio-Electron-0.5.7-mac-arm64.dmg) | +| macOS Intel | [DMG](https://github.com/debpalash/VoiceStudio/releases/download/v0.5.7/VoiceStudio-Electron-0.5.7-mac-x64.dmg) | +| Linux x64 | [AppImage](https://github.com/debpalash/VoiceStudio/releases/download/v0.5.7/VoiceStudio-Electron-0.5.7-linux-x64.AppImage) · [deb](https://github.com/debpalash/VoiceStudio/releases/download/v0.5.7/VoiceStudio-Electron-0.5.7-linux-x64.deb) | + +**Upgrading:** Install over your existing Electron app; voices, projects and settings are kept. If setup asks, choose **Install local runtime** to refresh its dependencies. + +**Moving from Tauri:** Close the app, back up its data directory, install Electron, and verify your voices and projects before removing Tauri. Follow the [migration guide](https://github.com/debpalash/VoiceStudio/blob/v0.5.7/docs/electron-migration.md). Tauri v0.5.3 remains the final Tauri release; its updater cannot install Electron. + +**Installer trust:** Electron installers are unsigned or ad-hoc signed and are not Apple-notarized. Windows/macOS may show trust warnings. macOS automatic updates are unverified; use manual installer updates. See the [installation guide](https://github.com/debpalash/VoiceStudio/blob/v0.5.7/docs/install/troubleshooting.md). + **Highlights** -- Reserve migration snapshot counters atomically (#2453) — thanks @rudycelekli! + +- Voice cloning finds a speech-to-text model installed through Model Catalogue and explains clips that are too long (#2442, #2498) — thanks @drakeo338, @Bad-ptr! +- PCs without a dedicated GPU install the small CPU PyTorch build and run, with generation budgets that scale on slower hosts; Windows on ARM gets an experimental native installer (#2500, #2611) +- Settings → Performance → GPU acceleration shows your GPUs, the PyTorch build and why each engine runs on GPU or CPU, with honest Radeon reporting on Windows (#2468, #2501) +- A slow or busy backend is no longer declared failed or crashed; start-up failures name what could not launch (#2445, #2499, #2608) - Ask VoiceStudio Agent adds chat, harness selection, feature presets, read-only planning and autopilot app actions without a source checkout (#2407) -- Home credits contributors with over 10 commits in three responsive rows of round avatars stacked from right to left with an All contributors link, with GitHub and X links on Palash's hover card (#2407) -- The VoiceStudio.sh Open Source title opens a website preview below the clicked item, within the right content area, with navigation and external-browser controls (#2407) + +### Changed + - Home cards use feature-specific SVG icons with brief hover and keyboard-focus animations that respect reduced motion (#2407) - Renamed the Dub workspace to Dubbing across navigation, project labels, and keyboard shortcuts (#2407) - Home prioritizes creation tools with clearer descriptions and controls; the footer can collapse and reopen (#2407) -- Top bar adds a GitHub Star shortcut beside Get Pro with an exact count refreshed every 20 minutes (#2407) -- Footer adds one X button with follow cards for @idebpalash and @voicestudiosh plus a compact support-links menu beside Pro (#2407) - Enter Studio opens its optional permissions and shortcut settings expanded by default (#2407) - Model packs can be selected and installed before preset-compatible engines are active, with changes applied only when installing or using the chosen pack (#2407) -- Electron is now the only desktop and web UI; the retired Tauri shell and legacy entry points are removed (#2343) -- Docker and browser deployments now use the same maintained interface as the Electron desktop app (#2341) -- Manage Projects with confirmed individual and bulk deletion, retry failed items, and keep exported files and render audio (#2333) -- Twilio setup is a guided checklist with live status and exact commands (#2304) -- Integration pages use the full window, with a side panel on wide screens (#2304) -- A call agent that places or answers phone calls in your own voice to get a task done (#2306) -- Footer shows Integrations, Become a Sponsor, and a VoiceStudio Pro shortcut (#2302) -- Pro keeps core generation unlimited and presents ten production benefits with $99/user yearly, $299/user lifetime, and Enterprise contact options, including quantity totals, commercial work, remote devices, workers, and GPU sharing (#2302) -- A reference longer than 20 s clones from its best 15 s window using the speech model already installed (#2301) — thanks @Cengokill! -- Record or drop a voice sample from one view in Voice Clone (#2307) -- Voice Clone keeps the original container of a one-shot MP3, M4A or WebM reference (#2311) -- Videos without sound get a clear message instead of an ffmpeg error dump (#2308) - First-run setup stops Intel Macs before downloading dependencies and explains remote-backend access (#2387) — thanks @JoAdo07! -- MCP speech files and URLs can deliver Ogg/Opus instead of WAV; Ogg saves preserve int16 audio levels (#2321) — thanks @tracyndoan! -- Turn a finished dub into a Stories script in one click, speakers and voices included (#2300) — thanks @shivsin25! -- Workflows can branch: a Condition step sends each item down one of two routes by what its text says (#2380) — thanks @shivsin25! - -### Added - -- `VOICESTUDIO_DISABLE_UPDATER=1` turns off the in-app updater for package-managed installs, and the Linux guide lists the community AUR package (#2557) -- MCP agents can design a voice from a text description and reuse it by `profile_id` (`describe_voice`, `design_voice`) (#2368) — thanks @thelselutopia! -- Dictation vocabulary hint in Settings → Dictation shortcut: names and jargon that Faster Whisper, MLX Whisper and OpenAI-compatible engines should expect (#2395) — thanks @m061i6! -- Cheaper Inference is available as an optional LLM provider (#2325) — thanks @aiapienthusiast! -- Choose 16/24/32-bit WAV precision, sampling effort and mastering in Clone and Design, with file sizes and optional audio checks (#2406) -- Language selection adds searchable flags, native names and codes in a responsive virtual grid, with supported model languages first and accessible keyboard navigation (#2408) -- Run local narration, transcription, translation and voice-conversion recipes with resumable steps and WAV/TXT exports (#2333) -- Workflows Condition step routes each item by a text phrase, preserves output on direct-to-End branches, and uses one phrase editor (#2380) — thanks @shivsin25! - -- Call agent backend: place or answer phone calls that hold a task conversation in your verified or designed voice, with an editable AI disclosure, take-over and an after-call summary (#2306) -- Calls workspace with a live transcript, take-over, hang-up and an after-call summary (#2305) -- Create Story from a dub: its speakers become characters, its segments become lines, and each character keeps the voice the dub assigned — no retyping the script (#2300) — thanks @shivsin25! -- Linux AppImages include standard update information and a published `.zsync` file so AppImageUpdate and desktop managers can download only changed bytes (#2327) — thanks @shuvashish76! -- Pull requests ask their opener and every commit author and co-author to sign a one-time Contributor License Agreement by comment; the contributing guide explains how (#2556) - -### Changed -- Source setup selects CPU wheels before installing dependencies and preserves them on restart; development launches resolve Electron's binary before starting Vite (#2436) +- Machines without an NVIDIA GPU install the small CPU PyTorch build (about 5 GB instead of 9 GB free) and load voice models in float32 instead of float16 (#2500) — thanks @RobAsticles, @tiropictor! +- Engines that could use a GPU report a CPU fallback, naming the card, when the installed PyTorch cannot use it (#2468, #2501) — thanks @Pates2004! +- Setup names your Radeon card instead of blaming a missing NVIDIA driver, and ignores a ROCm override on Windows and macOS (#2468, #2501) — thanks @Pates2004! +- Source setup selects CPU wheels before installing dependencies and preserves them on restart; development launches resolve Electron's binary before starting Vite (#2436) — thanks @RobAsticles! - Audio quality and Voice controls open as compact popovers from the Synthesize box on Clone and Voice Design (#2419) - The Synthesize button shows its keyboard shortcut as key chips inside the button (#2419) - The language menu stays within the window instead of clipping at the edges (#2419) - Choose a voice adds photo cards, Newest/A–Z sorting, search, and click or drop photo uploads (#2419) - Sidebar adds Fast, Balanced, Quality and Max choices, a separate Auto toggle, quieter engine status, and compact Simple, Models and Details views (#2419) - Sidebar adds hardware-aware Auto with live resource usage and TTS-first model selection, and groups compact engine status with icon-based Simple, Models and Details views (#2396) - - LLM setup verifies a model response before enabling features, replaces the misleading engine inventory with connection guidance, and supports authenticated local servers (#2397) - LLM skills can use installed coding CLIs through the repair-agent runner, native paid providers through LiteLLM (#2397) - Dubbing supports Google Cloud Translation and Amazon Translate with explicit provider setup (#2397) -- OmniVoice sidecars reuse installed speech recognition for short references without transcripts, matching in-process cloning (#2320) +- OmniVoice sidecars reuse installed speech recognition for short references without transcripts, matching in-process cloning (#2320) — thanks @ewh1tman! - Electron recovers from OS-denied default backend ports without changing explicitly configured ports (#2358) — thanks @rishi2288! - Home opens directly on project actions, and Integrations lists only connectors with completed in-app setup (#2351) - Multi-GPU NVIDIA hosts can choose which physical CUDA adapter VoiceStudio and its engine subprocesses use (#2346) — thanks @z0tedd! @@ -88,13 +80,46 @@ metadata and the backend fallback mirror it. - `backend.speech_client` dictation control commands, which drove the retired Tauri app, now exit with an explanation (#2578) - Removed three hidden settings that nothing could set; the `OMNIVOICE_PRONUNCIATION` and `OMNIVOICE_TEXT_NORMALIZATION` switches remain (#2578) +### Added + +- Settings → Performance → GPU acceleration lists your GPUs, the installed PyTorch build and which engines use the GPU or run on CPU and why, in all 21 languages (#2468) — thanks @Pates2004! +- iFLYTEK Astron MaaS as a named LLM provider (#2421) — thanks @FenjuFu! +- Prosody Mirror directs each dub line from the source speaker's pitch, loudness, pace and voicing (#2417) — thanks @JoshuaWIls! +- Windows on ARM: native ARM64 installer; the AI backend runs as x64 under emulation on the CPU (experimental) (#2500) +- `OMNIVOICE_TORCH_VARIANT=auto|cuda|cpu` and `OMNIVOICE_CPU_DTYPE=bfloat16` override the automatic PyTorch build and CPU precision (#2500) +- Bug reports include CPU architecture, free disk space and the active speech recognition engine (#2433) — thanks @HoneyTyagii, @Rey-de-la-Tierra! +- `VOICESTUDIO_DISABLE_UPDATER=1` turns off the in-app updater for package-managed installs, and the Linux guide lists the community AUR package (#2557) +- MCP agents can design a voice from a text description and reuse it by `profile_id` (`describe_voice`, `design_voice`) (#2368) — thanks @thelselutopia! +- Dictation vocabulary hint in Settings → Dictation shortcut: names and jargon that Faster Whisper, MLX Whisper and OpenAI-compatible engines should expect (#2395) — thanks @m061i6! +- Cheaper Inference is available as an optional LLM provider (#2325) — thanks @aiapienthusiast! +- Choose 16/24/32-bit WAV precision, sampling effort and mastering in Clone and Design, with file sizes and optional audio checks (#2406) +- Language selection adds searchable flags, native names and codes in a responsive virtual grid, with supported model languages first and accessible keyboard navigation (#2408) +- Run local narration, transcription, translation and voice-conversion recipes with resumable steps and WAV/TXT exports (#2333) +- Workflows Condition step routes each item by a text phrase, preserves output on direct-to-End branches, and uses one phrase editor (#2380) — thanks @shivsin25! +- Call agent backend: place or answer phone calls that hold a task conversation in your verified or designed voice, with an editable AI disclosure, take-over and an after-call summary (#2306) +- Calls workspace with a live transcript, take-over, hang-up and an after-call summary (#2305) +- Create Story from a dub: its speakers become characters, its segments become lines, and each character keeps the voice the dub assigned — no retyping the script (#2300) — thanks @shivsin25! +- Linux AppImages include standard update information and a published `.zsync` file so AppImageUpdate and desktop managers can download only changed bytes (#2327) — thanks @shuvashish76! +- Pull requests ask their opener and every commit author and co-author to sign a one-time Contributor License Agreement by comment; the contributing guide explains how (#2556) +- Home credits contributors with over 10 commits in three responsive rows of round avatars stacked from right to left with an All contributors link, with GitHub and X links on Palash's hover card (#2407) +- The VoiceStudio.sh Open Source title opens a website preview below the clicked item, within the right content area, with navigation and external-browser controls (#2407) +- Top bar adds a GitHub Star shortcut beside Get Pro with an exact count refreshed every 20 minutes (#2407) +- Footer adds one X button with follow cards for @idebpalash and @voicestudiosh plus a compact support-links menu beside Pro (#2407) +- Manage Projects with confirmed individual and bulk deletion, retry failed items, and keep exported files and render audio (#2333) +- Footer shows Integrations, Become a Sponsor, and a VoiceStudio Pro shortcut (#2302) +- Pro keeps core generation unlimited and presents ten production benefits with $99/user yearly, $299/user lifetime, and Enterprise contact options, including quantity totals, commercial work, remote devices, workers, and GPU sharing (#2302) +- MCP speech files and URLs can deliver Ogg/Opus instead of WAV; Ogg saves preserve int16 audio levels (#2321) — thanks @tracyndoan! + ### Docs + +- Hermes Agent MCP setup (#2464), ChromeOS and iPad guidance (#2438, #2398) and keeping app data on an external drive (#2436) — thanks @MayoGit204, @luminosity-d3v, @CaptainAi777, @RobAsticles! +- Japanese README (#2418) — thanks @eltociear! +- Commercial License client verification and test guide (#2432) — thanks @velixio! +- Hardware support table with CPU-only and Windows-on-ARM guidance (#2500) - Maintainer guide for repository settings that can't live in code; the licence notice scope and the contributing guide's list of network calls match the current app (#2556) - Contact addresses are now hi@voicestudio.sh (general and licensing), partner@voicestudio.sh (partnerships) and security@voicestudio.sh (security reports) (#2556) - Chinese README now matches the Electron installation and migration guide (#2377) — thanks @lg114! - - Record the supplied audio comparisons and installed-engine quality validation (#2406) - - New call agent guide covering setup, disclosure, recording consent and safeguards (#2306) - The Twilio guide and integration directory describe the guided setup and in-app integration pages (#2304) - Install guides cover the Electron app: real download names, Linux AppImage and `.deb`, current source builds and uninstall folders (#2578) @@ -103,6 +128,44 @@ metadata and the backend fallback mirror it. - License notice: commercial use is free under the AGPL; the paid licence is for closed-source use, with Pro plans linked (#2578) ### Fixed + +- Voice cloning finds a speech-to-text model installed through Model Catalogue instead of asking you to install one (#2442, #2498) — thanks @drakeo338, @Bad-ptr! +- A reference over 20 s with no speech-to-text model says it is too long and to trim it to 3-10 s (#2442) — thanks @drakeo338, @Bad-ptr! +- A generate can no longer crash the backend while the start-up model preload is still running (#2394) — thanks @manoooo202020! +- Out-of-memory failures name system RAM exhaustion and what to free (#2462) — thanks @dubeypankaj11-spec! +- A slow launch no longer spends the backend's start-up budget; failures quote the backend's last output (#2445, #2461, #2448) — thanks @nirmalchatur, @nvtoan0201-swe, @luomo1! +- Start-up failures name the program that could not launch and hint at blocked launches, slow starts and OneDrive-synced folders (#2440, #2465) — thanks @Ankith51, @nathanvinteset! +- Slow and no-GPU computers are not declared failed during start-up: 180 s runtime check, doubled budget on small hosts, a still-printing backend extends the wait (#2445, #2465, #2499) — thanks @Ankith51, @luomo1! +- A busy backend is reported as recoverable and the health probe no longer imports torch (#2430, #2490, #2491) — thanks @nirmalchatur, @imsemoo, @Jokeryt27, @105252803-create! +- VoxCPM2 generation stays bounded without killing slow CPU renders or cutting quality steps (#2435) — thanks @strauss-visuals! +- Segmented model downloads reject wrong status or `Content-Range` instead of publishing bad bytes (#2451) — thanks @rudycelekli, @ege-arhan! +- Resume records are trusted only when the partial file matches (#2452) — thanks @rudycelekli! +- Concurrent migration snapshots no longer overwrite each other and abandoned reservations are pruned (#2453) — thanks @rudycelekli! +- Exports and downloads named after video titles no longer fail on Windows with `[Errno 22]` (#2376) — thanks @manoooo202020! +- A full disk during an install stops at once with free-space guidance, and first-run retries the `uv` download on flaky connections (#2496) +- Deleting a voice profile commits before removing its files (#2483), and history clearing, unlock and consent re-recording no longer delete audio before the change is saved — thanks @rudycelekli! +- Cache pruning keeps `voices_roots.json` so relocated legacy audio is recovered (#2482) — thanks @rudycelekli! +- Resuming a book keeps the original plan until the render finishes (#2481) — thanks @rudycelekli! +- Newer dubbing jobs no longer hide finished books and stories from the library (#2480) — thanks @rudycelekli! +- Truncated float, PCM and other WAV references are rejected instead of reported as playable (#2477) — thanks @rudycelekli! +- Dub assembly and cached-segment checks no longer depend on TorchCodec or the removed `torchaudio.info` on torchaudio 2.9 (#2378) — thanks @tokutei58301-boop! +- Transcription says plainly when ffmpeg is missing or the backend lost its output pipe, and libraries that run plain `ffmpeg` find the bundled copy (#2404, #2405) — thanks @alannhery! +- Streaming preview no longer clips the start and end of takes (#2399) — thanks @Marcin-CCC! +- Specialized number tokens like `$5abc` and `3-5%` are left alone instead of half-spoken (#2475) — thanks @rudycelekli! +- Stories WebVTT import keeps cues named `STYLE`, `REGION` or `NOTE` correctly (#2434) — thanks @Yi-111-a, @17lijunyi! +- Percent-encoded EPUB chapter filenames import (#2449) — thanks @rudycelekli! +- Pronunciation matches use the right replacement for Unicode case variants (#2450) — thanks @rudycelekli! +- Literal `` and `` in streamed text are preserved (#2469) — thanks @rudycelekli! +- Short answers from another known speaker are no longer folded into the previous speaker (#2471) — thanks @rudycelekli! +- Fallback subprocess wrapper reports the child's exit code (#2473) — thanks @rudycelekli! +- Short subtitle millisecond fields are read as milliseconds (#2422) — thanks @Vaishnavi220506! +- Clone preview loops at the end of the audio stay within the clip (#2429) — thanks @Nikhi00718! +- MCP tools and resources return real JSON (#2459) — thanks @abdullah-rashid62! +- Call agents never speak reasoning that a chat template prefills (#2428) — thanks @swadhinbiswas, @FenjuFu! +- Dub translation, review and glossary extraction strip reasoning from local thinking models (#2420) — thanks @FenjuFu! +- IndexTTS 2.5 installs a ROCm PyTorch on ROCm hosts (#2371), verifies bf16 before enabling it (#2372) and avoids a long MIOpen stall (#2373) — thanks @swadhinbiswas, @thelselutopia! +- The minimum NVIDIA driver check follows CUDA 12.x compatibility: 525.60.13 on Linux, 528.33 on Windows (#2489) — thanks @NN708! +- Home keeps every qualifying contributor visible in its avatar rows (#2447) — thanks @nvtoan0201-swe! - Fix it with an agent finds Claude Code and other agent CLIs installed in user folders (~/.local/bin, Homebrew, npm global) when launched from Finder or a desktop entry, and rechecks each time the panel opens (#2602) — thanks @flatlinebb on Discord! - YouTube downloads no longer fail with Errno 22 or Broken pipe when the app's stdout is closed; yt-dlp progress and messages now go to the log (#2602) — thanks @marioteka and @shizzy_prod on Discord! - Offline NLLB translation accepts every language in the dubbing pickers (Nepali, Catalan, Latvian, Georgian, Punjabi, Norwegian and about 50 more) for both target and auto-detected source (#2602) — thanks @lamomg on Discord! @@ -144,21 +207,17 @@ metadata and the backend fallback mirror it. - Pronunciation dictionary backups keep which duplicate entry wins, and the list, test and synthesis use one order (#2552) — thanks @rudycelekli! - Pronunciation entries scoped by language name or 3-letter code now match the right language, and Spanish entries no longer apply to Estonian (#2542) — thanks @rudycelekli! - Network Sharing from packaged desktop apps serves the web interface to LAN devices on macOS, Windows and Linux, and never redirects them to their own `localhost` (#2599) — thanks @Xpertfall! -- CPU-only hosts get a compute-time budget that scales with input length (up to 2 h), so ordinary passages no longer time out mid-generation, and the timeout message names the CPU budget setting (#2611) -- A busy attached backend shows as unresponsive instead of crashed, and background status polls no longer starve the backend worker pool (#2608) +- CPU-only hosts get a compute-time budget that scales with input length (up to 2 h), so ordinary passages no longer time out mid-generation, and the timeout message names the CPU budget setting (#2611) — thanks @JopsTaku! +- A busy attached backend shows as unresponsive instead of crashed, and background status polls no longer starve the backend worker pool (#2608) — thanks @be-huge, @aanbiluitel-sys! - Elevated Windows app removal stops before deleting data and points to a normal PowerShell window or Settings (#2578) - Contributor audits inspect committed files and exclude submodules, while still stopping on failed file attribution (#2556) - - Contributor audits stop on unreadable Git history instead of dropping affected authors (#2556) - - The CLA check accepts the sign line without a final full stop and replies when a comment cannot be recorded (#2586) - CLA rechecks clear older approvals, reject duplicate PR heads, and block failed status updates (#2556) - Keep audiobook chapter boundaries when importing CR-only manuscripts (#2508) — thanks @rudycelekli! - Preserve busy sidecars during engine-level unload instead of terminating their active operation (#2507) — thanks @Anuj04432 and @rudycelekli! - Exclude downloaded caption comments while preserving spoken metadata words (#2510) — thanks @rudycelekli! - - Stopping a live Dubbing preview releases its stream and synthesis slot so another render can start (#2511) — thanks @rudycelekli! - - Count interrupted sidecar installs and report unreadable engine scans in Storage usage (#2479) — thanks @rudycelekli! - Dub assembly, cached segments and audio tools can read generated WAV files when TorchCodec is missing or cannot load (#2379) — thanks @tokutei58301-boop! - Remote API-key and share-PIN clients can record and read export history while native filesystem operations stay local (#2383, #2384) — thanks @sedatdagg! @@ -169,18 +228,15 @@ metadata and the backend fallback mirror it. - GitHub Star count refreshes from the repository API, and macOS tray icons keep the intended menu-bar size (#2419) - MLX-Audio OuteTTS generates again with a reference clip or its default voice (#2419) - MLX Qwen3-TTS receives the selected language correctly; MeloTTS explains missing text resources without downloading during generation (#2419) -- The language picker offers only the languages each MLX-Audio model supports (Kokoro, CSM, Qwen3-TTS, Dia, Chatterbox, MeloTTS, OuteTTS), per their model cards, instead of every language (#977) - +- The language picker offers only the languages each MLX-Audio model supports (Kokoro, CSM, Qwen3-TTS, Dia, Chatterbox, MeloTTS, OuteTTS), per their model cards, instead of every language (#977) — thanks @scprdytj2s-beep! - The Enter that confirms Korean, Japanese or Chinese input no longer also submits project renames, language search, pronunciation, worker or MCP fields (#2338) — thanks @HEOJUNFO! - English text normalization speaks a dollar amount followed by a period or comma ("It costs $5.") instead of leaving the digits (#2390) — thanks @kevin9327! - Voice Design sends descriptions unchanged to free-text engines and restores the original design when reopening a take (#2401) — thanks @CauaMatheus and @dominikj-cf! -- Voice Design keeps a detail you pick when you edit the description, unless the new text says otherwise, and reopening a take restores the description and picks it was made with (#2389) +- Voice Design keeps a detail you pick when you edit the description, unless the new text says otherwise, and reopening a take restores the description and picks it was made with (#2389) — thanks @dominikj-cf! - A snapshot interrupted mid-copy (crash, kill or power loss) is no longer listed as a database backup or counted toward the three kept; the leftover partial file is cleaned up on the next snapshot (#2402) — thanks @fadiroot! - Low-disk notifications open Storage settings directly (#2407) - - Preserve float audio and requested seeds through OmniVoice/VoxCPM2 sidecars, and keep playback and saved WAV precision consistent (#2406) - Development launches rebuild main and preload changes so embedded website previews do not keep stale browser IPC after UI updates (#2407) - - Dubbing reports damaged source files clearly and removes partial or failed copies when storage runs out (#2411) - Streaming previews keep audio edges intact, preserve crossfades for late chunks, and use the PCM rate when supported (#2409) — thanks @dajiaohuang and @Marcin-CCC! - Installed performance packs can be activated when all required models are present, even below the download-space reserve (#2410) — thanks @dajiaohuang! @@ -195,7 +251,6 @@ metadata and the backend fallback mirror it. - Engine health checks recognize one-click TTS engines such as VoxCPM2 and MOSS-TTS-Nano in their isolated environments (#2339) - Privacy controls stay expanded during first-run installation instead of hiding behind Advanced (#2337) - Preserve large workflow libraries and keyboard moves, secure library deletion and license storage, and keep analytics opt-out authoritative during startup (#2333) - - Signed macOS releases now notarize and staple Electron installers when the owner supplies Apple Developer credentials (#1779) - Numbers grouped with a period in German, Spanish, French and the other comma-decimal languages, such as "10.000", keep their digits instead of being spoken as ten (#2334) — thanks @kevin9327! - Integration pages show each integration's own category and summary instead of borrowed labels such as "Dubbing" for Twilio (#2304) @@ -206,13 +261,11 @@ metadata and the backend fallback mirror it. - Pure Dub timeline moves keep both millisecond cue times without unintended playback-speed changes (#2309) — thanks @kevin9327! - A video with no audio track now says so in Dub, Batch, transcription, cloning and imports instead of showing ffmpeg's exit-234 dump (#2308) - Dub import card gains Clear (URL) and Remove video controls with confirmation before discarding a transcript (#2314) — thanks @Raunaksplanet! -- Engine model-download failures name the engine and offer retry guidance instead of a generic internal error (#2316) — thanks @shivsin25! +- Engine model-download failures name the engine and offer retry guidance instead of a generic internal error (#2316) — thanks @shivsin25, @HNK-I! - Cache flushes after a dubbing offload or a failed generation reach every accelerator an engine can run on — Ascend NPU and Intel XPU included, not just CUDA and MPS (#2317) — thanks @li-lizhe! - Hardsub exports on Windows pass the caption path in ffmpeg's filter form so burned-in line and karaoke captions render (#2312) — thanks @kevin9327! - Dub QC scores Chinese, Japanese and Thai lines per character, so a single wrong character no longer counts as total drift and flags the line (#2335) — thanks @kevin9327! - -- `/generate` writes an uploaded clone reference with its real extension instead of always `.wav`, so a non-WAV one-shot clip still decodes (#2311) - +- `/generate` writes an uploaded clone reference with its real extension instead of always `.wav`, so a non-WAV one-shot clip still decodes (#2311) — thanks @kevin9327! - A reference longer than 20 s is transcribed with the speech-to-text model already installed, instead of failing when OmniVoice's own Whisper snapshot is not cached (#2301) — thanks @Cengokill! - Pronunciation dictionary entries in Japanese, Chinese and Thai apply inside a sentence, not only to a line that is the key alone (#2392) — thanks @kevin9327! - Speed/quality tiers apply to the crash-isolated OmniVoice engine too (#2578) @@ -227,6 +280,7 @@ metadata and the backend fallback mirror it. - New bug and install reports land in the `needs-triage` queue (#2578) ### CI + - Pull requests fail when a commit uses a leaked personal email, a placeholder identity, or an AI agent identity, or when a commit or the description credits an AI agent (#2556) - GitHub Actions are pinned to exact commits and kept current by Dependabot (#2556) - Release Docker images publish when the GitHub Release is published; `:latest` only ever comes from `main` (#2578) diff --git a/backend/core/version.py b/backend/core/version.py index 4825469b5e..4bab479a47 100644 --- a/backend/core/version.py +++ b/backend/core/version.py @@ -23,7 +23,7 @@ # tests/test_app_version.py::test_all_version_files_in_lockstep and bumped by # the owner-approved release bump, so it stays equal to # pyproject.toml and the root package.json. -_FALLBACK_VERSION = "0.5.6" +_FALLBACK_VERSION = "0.5.7" def _fallback_version() -> str: diff --git a/package.json b/package.json index 31a4fb625c..aa116cf930 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omnivoice-studio-monorepo", - "version": "0.5.6", + "version": "0.5.7", "license": "AGPL-3.0-only", "private": true, "packageManager": "bun@1.4.2", diff --git a/pyproject.toml b/pyproject.toml index 869e19c312..ea9a705292 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "omnivoice" -version = "0.5.6" +version = "0.5.7" description = "VoiceStudio — a private, local-first studio for voice cloning, speech generation, dubbing, transcription, and audiobooks" readme = "README.md" # Free and open-source under the GNU Affero General Public License v3 (see diff --git a/uv.lock b/uv.lock index 0015a21f02..91a77fd22b 100644 --- a/uv.lock +++ b/uv.lock @@ -4153,7 +4153,7 @@ wheels = [ [[package]] name = "omnivoice" -version = "0.5.6" +version = "0.5.7" source = { editable = "." } dependencies = [ { name = "accelerate" },