Help

FAQ: Text to Speech

The questions readers ask about generating speech in the portal, from voices and dialects to what a generation costs and why one failed.

Which dialects and languages can I generate?

Every voice speaks exactly one dialect, and you choose the dialect by choosing the voice. The library can carry Egyptian, Emirati, Saudi, Kuwaiti, Qatari, Omani, Lebanese, Syrian, Iraqi and Fusha (Modern Standard Arabic) voices, and English voices; under Voices, the chips before the Coming Soon divider are the dialects that have voices today. See Dialects.

Can I generate English speech?

Yes. Click Change voice and pick an English voice. A voice reads your text in its own language and accent whatever the text is, so Arabic text on an English voice comes out with English pronunciation; pick the voice for the language the text is written in. See Dialects.

How do I try a voice before I spend credits?

Open Voices, press the orb on a row to hear its preview clip, then press Use this voice to open Text to Speech with that voice selected. Previews are free and only a generation is charged, so test the voice on one short sentence before you paste the full passage. See Browse the voice library.

Where do my saved voices show up?

Press More voice actions on a row, then Save voice. The voice is listed under My Saved Voices in the library and under the My Saved Voices tab of the voice picker on Text to Speech; the list is yours and belongs to your account. See Filters, previews and favourites.

What does the Tashkeel switch do?

With an Arabic voice selected, switching Tashkeel on marks the Arabic text in the writing area with diacritics so the voice reads vowels and endings right; switching it off takes the marks out again. Any word you marked yourself is kept exactly as you typed it, the marking costs nothing, and the text in the writing area is what is spoken and charged. See Add diacritics.

Why is the Tashkeel switch missing or greyed out?

The switch is shown above the writing area for every voice except an English one, and it needs a voice to be selected. With text that has no Arabic letters it is greyed out and its tip reads For Arabic text. Select an Arabic voice, or click Change voice and pick one, and type Arabic text. See Add diacritics.

What do speed, cfg and num_steps change?

speed sets the reading pace, 0.5 to 2.0 in steps of 0.5, with 1.0 as the voice's normal pace. cfg (1.0 to 5.0, default 2.0) and num_steps (16, 32, 48, 64 or 128, default 48) tune the synthesis; leave both at their defaults unless you are comparing renders of the same text, and move one control at a time. None of the three changes the charge. See Voice settings.

What are the Tags buttons for?

Each of the eight Tags buttons, such as [laugh] or [sigh], appends a cue in square brackets to the end of your text for the voice to act out at that point. Move the cue to where you want it, or type one by hand anywhere in the text; cues count toward the character limit and are charged like any other characters. See Voice settings.

What audio format do I get?

WAV, one file per generation. There is no format, bit-rate or sample-rate control; to get MP3, download the WAV file and convert it with a tool of your choice. See Formats, quality and download.

How long can my text be?

1 to 5,000 characters, counted with spaces; the counter under the writing area reads n / 5000. Typing stops at 5,000, a paste is cut at the 5,000th character, and text that grows past the limit after Tashkeel is rejected, so generate a longer passage in parts. Over the API the limit is 500 characters per request. See Text to Speech limits and credits.

How much does a generation cost?

A generation costs 1 credit per character of text, spaces and line breaks included, so 3,000 characters cost 3,000 credits. The voice and the settings do not change the charge; diacritics and Tags cues do, because each one is a character. See Credits for the rate and Text to Speech limits and credits for what the portal shows.

Is the Credits figure my account balance?

No. The editor shows an approximate generation estimate before generation and the returned cost afterward. Open Subscription for your balance. See Text to Speech limits and credits.

Am I charged when a generation fails?

No. The charge is taken from the workspace balance when you click Generate and returned if the generation fails, and nothing is added to History. If the balance cannot cover the charge, the generation does not run and a notification reads Insufficient subscription balance; add credits under Subscription, then generate again. See Text to Speech limits and credits.

Where do my earlier generations go?

Every completed generation made from the portal is kept on the History tab of the settings panel, grouped by day and loaded 8 at a time, and on the Assets page; every member of the workspace sees the same list, and replaying or downloading is free. Generations made with an API key are not listed there; see Where do my API jobs show up in the portal?. For the panel itself, see Text to Speech history.

What is the downloaded file called?

From the Text to Speech page and the History tab, speech- followed by the generation's identifier and .wav. From the Assets page, tts- followed by the same identifier and .mp3; the content is WAV audio whatever the name says, so change the extension to .wav if a tool refuses it. Rename the file afterwards, because the identifier alone does not tell you which take it was. See Formats, quality and download.

Can I delete a generation?

Yes. Press Delete on it in the History panel or on the Assets page, then confirm at Delete for good?. Deletion is final. Items stay until you delete them. To make the same audio again, press Recreate on the Assets page, which starts a new generation and is charged again. See Text to Speech history.

Why did my generation fail?

The notification names the reason. Insufficient subscription balance means the workspace balance is short; Speech generation is temporarily unavailable. Please try again. means the generation did not run and the charge was returned; Voice not found means the selected voice was withdrawn, so pick another; and text must be shorter than or equal to 5000 characters means the marked text grew past the limit, so shorten it. Each message and what to do is on Generate speech.

Can I generate speech from my own code?

Yes. The Developer API uses the same voices, a 500-character limit per request, and the same speed, cfg and numSteps options, and returns a WAV file; tashkeel: true on the synchronous call adds diacritics for a Fusha voice. See Text to Speech quickstart.