Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.wittify.ai/llms.txt

Use this file to discover all available pages before exploring further.

Text to Speech Studio is the main workspace for Faseeh. The page subtitle reads Turn text into lifelike speech in any voice, any language. On the left you write or paste text. On the right you pick a voice, a language, optionally a dialect, tune Generation Settings, and click Generate speech. The audio plays back in a card directly under the text editor, and the generation is automatically saved to your History in the sidebar.

Page anatomy

The page has three regions plus a History sidebar that the dashboard provides automatically.
RegionWhat you see
Topbar (provided by the dashboard)A + Generate New TTS button that wipes the editor for a fresh project, and a + Create Voice button that opens the Create a new voice picker.
Sidebar (provided by the dashboard)The sidebar shows History: a list of every speech project you have generated. Click any row to load it back into the editor.
Center columnPage title, the text editor, and the generated-audio card (only shows up after you generate something or load a project from History).
Right columnThe voice card, the language picker, the dialect picker (only when the chosen language has dialects), the Generation Settings panel, and the Generate speech button.

The text editor

The editor is one big textarea. It does not change size when the right panel expands or collapses.
ElementWhat it does
PlaceholderStart typing here or paste any text you want to turn into lifelike speech…
Character counterA small footer at the bottom-end edge that reads {used} / {max} characters, where the cap is shared across the app. The counter uses Arabic-Indic digits in Arabic mode.
Length warningWhen you reach the cap, the counter turns red. If you paste a longer string, the editor silently keeps only the first {max} characters.
Disabled stateThe editor goes faded while a speech is being generated. You cannot type or paste during generation.
The center column is deliberately minimal. It renders the textarea and the counter only. There is no voice-style dropdown above the textarea, no Instructions (optional) field below the language row, and no Style chip strip. Those controls were removed per product direction.

The voice card

The voice card sits at the top of the right column. The label above it reads VOICE.
ElementWhat it does
Avatar circleA round tile with the voice’s first initial and a deterministic color tint generated from the voice’s id. The color is the same every time the same voice appears.
NameThe voice name. In Arabic mode, the Arabic name is used when the voice ships one.
SubtitleThe voice’s gender (Male or Female) and, when present, the dialect code in uppercase, separated by a middle dot.
ChevronA small chevron on the end edge.
ClickOpens the Voice Picker modal. The “change voice” hint reads Change voice.
Disabled stateThe whole card is dimmed while a speech is being generated.
Voices are Wittify voices. The underlying provider is an internal routing detail and never appears anywhere in the UI. The avatar’s color tint is derived from the voice id, not the provider.

The language picker

The language picker is the next field on the right column. The label above it reads LANGUAGE. The field shows the active language with a flag emoji on the start edge and a chevron on the end edge. The default value is Auto (detect from text), with a 🌐 globe glyph as the flag. Click the field to open the language popover.
Inside the popoverBehaviour
Search boxType to filter the list by English name, Arabic name, or language code. Up to 200 rows are rendered at a time. The search input is capped at 80 characters.
Auto rowFirst in the list, with the 🌐 globe glyph. The default value. The model auto-detects the language from your text.
Per-language rowsEach row shows the country flag, the language name (English or Arabic depending on UI language), and a small + badge on the end edge when the language has a dialect list.
Empty stateWhen no row matches the search, the popover shows No voices match your filters.
The catalog is a curated macro list (Arabic and English first, then every other world language from the canonical spec).
Most of the time Auto is the right answer. Pick a language explicitly when your text mixes scripts and you want the voice to commit to one. Picking a language never forces the voice to actually speak that language, the underlying voice still has to support it.

The dialect picker

The DIALECT field only shows up when the chosen language has a dialect list. When it does, the field works the same way as the language picker.
Inside the popoverBehaviour
Auto rowFirst in the list, using the parent language’s flag. Default.
Per-dialect rowsEach row shows the dialect’s regional flag and name.
The dialect catalog covers 51 clusters: Arabic (21 varieties), English (10 accents), Chinese (15 varieties), and 48 more clusters with 2 to 17 dialects each. The dialect codes come from a fixed spec, you cannot invent new ones from this surface.

Generation Settings

This is the collapsible panel below the dialect picker. Its header reads Generation Settings (optional) with a chevron on the end edge. Click to expand or collapse. Default state is collapsed. Every control inside has its own small reset arrow that only resets that one control. There is also a Reset link at the bottom of the panel that resets all controls at once. The panel exposes six controls, no more.
ControlDefaultWhat it does
SpeedNormalSlider with three internal tiers, Slow, Normal, Fast. The track shows a smooth gradient and the thumb anchors to the active tier. End labels read Slow and Fast. Help text: Adjust the pace of speech.
QualityBalancedSlider with three tiers, Faster, Balanced, Higher quality. End labels read Speed and Quality. Help text: Move toward speed for faster generation, or toward quality for higher fidelity.
SimilarityBalancedSlider with three tiers, Stable, Balanced, Similar. End labels read Stable and Similar. Help text: Lower for stable, consistent delivery. Higher for closer match to the reference voice.
DenoiseOnCheckbox. When on, the engine removes background hiss from cloned voices. Help text: Default: enabled. Uncheck to disable denoising.
Preprocess PromptOnCheckbox. When on, the engine trims silence and adds punctuation at the end of reference text if it is missing. Help text: Apply silence removal and trimming to the reference audio, add punctuation at the end of reference text (if not already).
Postprocess OutputOnCheckbox. When on, the engine removes long silences from the generated audio. Help text: Remove long silences from generated audio.
Every label sits inside a brand-gradient pill so it stands out from the help text below it.
Generation Settings expose only these six controls. There is no Duration field, no Stability slider, no Style Exaggeration slider, and no Output Format dropdown. Those were removed per product screenshots and must not be reintroduced in the documentation, even though older screenshots may show them.

Generate speech

The Generate speech button sits at the bottom of the right column.
Button stateLabelTriggered by
IdleGenerate speechDefault, when the editor has text and a voice is selected.
DisabledGenerate speech (faded)The editor is empty, or no voice is selected, or a generation is already running.
GeneratingGenerating… with a spinnerA request is in flight. The whole right column dims.
If you click Generate speech with an empty editor or with no voice selected, a toast surfaces:
ConditionToast
Editor is emptyAdd some text before generating.
Voice is missingPick a voice before generating.
Generation succeededSpeech ready to play.
Generation failedGeneration failed. Please try again.

The generated-audio card

A new card appears in the center column (under the text editor) the moment you start generating, or when you click a project in History. The card is titled Generated Speech. The card has three states.

Generating

A row with a spinner, the label Generating…, and a one-line preview of the text being rendered. No player and no actions yet.

Failed

A red-tinted strip with the warning text Generation failed. Please try again. and an alert icon. Use the Generate speech button again to retry.

Ready

The full player. From start-edge to end-edge:
ElementWhat it does
Play / Pause buttonA round brand-gradient button with Play or Pause icon. The aria label flips between Play preview and Pause preview.
Progress barBrand-gradient fill on a muted track. Click anywhere on the bar to scrub to that position. The track flips for Arabic so playback always reads start-to-end visually.
Position counterMono digits, : format, on the start edge of the time row.
Duration counterMono digits, : format, on the end edge of the time row.
DownloadSmall icon button on the card header. Downloads the audio with a sanitized file name based on the project’s text. The file extension is .wav or .mp3 depending on what the engine returned. A toast confirms Download started.
DeleteSmall icon button on the card header. Removes the project from your History. A toast confirms Removed from history. There is no confirmation dialog on Studio, deletion is one click.
Every successful generation lands in History automatically. There is no manual save step. Click any row in the sidebar to bring it back into the editor with the original voice, language, dialect, and Generation Settings.

Loading a project from History

Click any row in the History sidebar (or follow a ?project=<id> link) and the studio rehydrates the editor. The text comes back, the voice flips back to the saved one, the language and dialect are split back into the two-step picker, and the Generation Settings card is restored. The voice card uses the saved voice even if you have since deleted it from your Voice Library, the row simply shows the saved name with a fallback color tint.

Account isolation

Cloned voices, designed voices, TTS projects, and your Favorites are all private to your account. Other users signed in to the same workspace cannot see them. The History sidebar, the Voice Library, and the Favorites tab in the picker all filter strictly by your account.
If you are testing with multiple accounts, sign out and back in to confirm the right account is active.

Common questions

A built-in Sarah voice is preselected for new accounts. Once you pick a different voice, your last selection is what comes back next time.
You either have an empty text editor, you have not picked a voice, or a previous generation is still running. The toast on click tells you which one. The right column dims while a generation is in flight, that is expected.
Look at the Generated Speech card directly under the text editor. The audio is also a row at the top of the History sidebar. Click the row to come back to it later.
The editor caps the text at the shared length limit. The counter shows you how close you are. Long inputs get silently trimmed to fit.
Yes. Change the voice in the voice card, click Generate speech again. A second project lands in History. You can also click the row of an old project, switch the voice, then Generate speech to make a sibling.
Removed. The current Generation Settings panel only exposes Speed, Quality, Similarity, Denoise, Preprocess Prompt, and Postprocess Output. Older docs and tutorial videos referencing those sliders are stale.
Click the topbar’s + Create Voice button. The Create a new voice picker opens. Pick Clone a voice to upload or record a sample, or Design a voice to describe one from attributes. Both flows are documented in the Clone Wizard and Design Wizard pages.
A red Generation failed. Please try again. strip replaces the player. The most common causes are a network hiccup, a voice that was momentarily unavailable, or text that was too long for the chosen voice to handle in one pass. Click Generate speech again, the original project is replaced.
No. Cloned voices, designed voices, and generated speech are tied to your account and never used outside it. The History sidebar, Voice Library, and Favorites are all scoped to you.

Where to go next

Voice Picker

Browse the full voice catalog: Explore, My Voices, Favorites, All Voices.

Voice Library

See and manage your cloned and designed voices.

Clone Wizard

Clone a voice from a 3-to-10-second sample.

Design Wizard

Design a voice from gender, age, pitch.

History

Rehydrate any past project.