You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Streamed generation, guided voice wizard, seekable player
Voice cloning made easy
New Voices tab with a step-by-step wizard: pick a curated reading script (EN/DE) or write your own — the transcript fills itself in automatically
Live level meter and waveform while recording (visible before you start, so you know the mic works), mic picker, silence detection, color-zoned 5–15 s timeline
Review step with waveform preview, duration verdict, and an instant "Test this voice" sample
Voices are analyzed once and cached — the 654 MB encoder no longer runs on every generation, so cloned-voice generation starts much faster
Rename, preview, test, and delete saved voices; drag-and-drop upload
Streaming generation
Text limit raised 500 → 2000 characters; long texts are split into sentence chunks and audio starts playing as soon as the first chunk is ready
Voice stays consistent across chunks (chunk 1's tokens anchor the rest)
Graceful cancel keeps the audio already generated — no more full engine reload
🔒 Voice lock: keep a random designed voice you like for the next generations
Player & polish
Click-to-seek waveform with playhead and elapsed/total time
Byte-accurate first-run download screen with speed and time remaining
Library: delete items, reuse text, voice + quality info per generation; history storage now bounded
Styled dialogs and toasts replace browser popups
Keyboard navigation and screen-reader support throughout
Fixes
Donate button no longer throws a console error
Download progress tracked shard count instead of bytes
Encoder load failure no longer breaks the whole app (cloning degrades gracefully)
Duration estimation for voices saved without a transcript
History/voice database clear races that could break persistence