vania-janet/multiturn-rag-retrieval-data huggingface dataset:
* [Migrating from neural voices](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices-migrate)



Defect fix: Update Korean phonetic symbols in documentation
: Defect fix: In the documentation for Korean SPR symbols, two-character symbols for consonants are now enclosed in single quotes, making them a single symbol. Previously, they were shown as two separate symbols, without enclosing quotes. For more information, see [Consonants (Korean)](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-koSymbols-newkoConsonants-new).

Documentation updates for IBM SPR symbols
: The overview documentation for IBM SPR symbols has been updated to clarify the use of multi-character symbols. For more information, see [Speech sound symbols](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-symbolsintro-SPRs-symbols)).





 1 March 2023 

Important: Pending end of service for all neural voices
: Important: Effective 31 March 2023, all neural voices reach their end of service date and will be removed from the service and the documentation. The neural voices have been deprecated since 31 March 2022. No enhanced neural or expressive neural voices are effected.

The following neural voices will be removed:



* Arabic: ar-MS_OmarVoice
* Chinese (Mandarin): zh-CN_LiNaVoice, zh-CN_WangWeiVoice, and zh-CN_ZhangJingVoice
* Czech: cs-CZ_AlenaVoice
* Dutch (Belgian): nl-BE_AdeleVoice and nl-BE_BramVoice
* Dutch (Netherlands): nl-NL_EmmaVoice and nl-NL_LiamVoice
* English (Australian): en-AU_CraigVoice, en-AU_MadisonVoice, and en-AU_SteveVoice
en-th English (en) Thai (th) general 
 en-tr English (en) Turkish (tr) general 
 en-uk English (en) Ukrainian (uk) general 
 en-ur English (en) Urdu (ur) general 
 en-vi English (en) Vietnamese (vi) general 
 en-zh English (en) Simplified Chinese (zh) general 
 en-zh-TW English (en) Traditional Chinese (zh-TW) general 







 Estonian 

The following Estonian translation model can be customized.



Table 15. Estonian translation model

 Model ID Source Target Domain 

 et-en Estonian (et) English (en) general 







 Finnish 

The following Finnish translation model can be customized.



Table 16. Finnish translation model

 Model ID Source Target Domain 

 fi-en Finnish (fi) English (en) general 







 French 

The following French translation model can be customized.



Table 17. French translation model

 Model ID Source Target Domain 

 fr-en French (fr) English (en) general 







 French (Canadian) 

The following French (Canadian) translation model can be customized.



Table 18. Canadian French translation model

 Model ID Source Target Domain 

 fr-CA-en Canadian French (fr-CA) English (en) general 







 German 

The following German translation models can be customized.



Table 19. German translation models

 Model ID Source Target Domain 

 de-en German (de) English (en) general 
 de-fr German (de) French (fr) general 
 de-it German (de) Italian (it) general 







 Greek 

The following Greek translation model can be customized.



Table 20. Greek translation model

 Model ID Source Target Domain 

 el-en Greek (el) English (en) general 







 Gujarati 

The following Gujarati translation model can be customized.



Table 21. Gujarati translation model

 Model ID Source Target Domain 

 gu-en Gujarati (gu) English (en) general 







 Hebrew 

The following Hebrew translation model can be customized.



Table 22. Hebrew translation model

 Model ID Source Target Domain 

 he-en Hebrew (he) English (en) general
New sort parameter for methods that list words for custom language models
: The GET /v1/customizations/{customization_id}/words method now includes a sort query parameter that controls the order in which the words are to be listed. The parameter accepts two arguments, alphabetical or count, to indicate how the words are to be sorted. You can prepend an optional + or - to an argument to indicate whether the results are to be sorted in ascending or descending order. By default, the method displays the words in ascending alphabetical order. For more information, see [Listing custom words from a custom language model](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-manageWordslistWords).

For custom models created prior to the introduction of the count field, use of the count argument with the sort parameter is meaningless. Use the default alphabetical argument with such models.

New error field format for methods that list words for custom language models
: The error field that can be returned as part of the JSON response from the GET /v1/customizations/{customization_id}/words and GET /v1/customizations/{customization_id}/words/{word_name} methods is now an array. If the service discovered one or more problems with a custom word's definition, the field lists each problem element from the definition and provides a message that describes the problem. For more information, see [Listing custom words from a custom language model](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-manageWordslistWords).

The keywords_threshold and word_alternatives_threshold parameters no longer accept a null value
: The keywords_threshold and word_alternatives_threshold parameters of the recognition methods no longer accept a null value. To omit keywords and word alternatives from the response, omit the parameters. A specified value must be a float.





 22 September 2016 

New beta language model customization interface
: The service now offers a new beta language model customization interface for US English.
For example, do not use spaces, slashes, backslashes, colons, ampersands, double quotes, plus signs, equal signs, question marks, etc. in the name. The service does not prevent the use of these characters, but because they must be URL-encoded wherever they are used, it is strongly discouraged.
* sounds_like - The pronunciation of the word. For words extracted from corpora and grammars, the value represents how the service believes that the word is pronounced based on its language rules. In many cases, the pronunciation reflects the spelling of the word field. You can use the sounds_like field to modify the word's pronunciation. You can also use the field to specify multiple pronunciations for a word. For more information, see [Using the sounds_like field](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWordssounds-like).
* display_as - The spelling of the word that the service uses in transcripts. The field indicates how the word is to be displayed. In most cases, the spelling matches the value of the word field. You can use the display_as field to specify a different spelling for the word. For more information, see [Using the display_as field](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWordsdisplay-as).
* source - How the word was added to the words resource. If the service extracted the word from a corpus or grammar, the field lists the name of that resource. Because the service can encounter the same word in multiple resources, the field can list multiple corpus or grammar names. The field includes the string user if you add or modify the word directly.



After adding or modifying a word in a model's words resource, it is important that you verify the correctness of the word's definition; for more information, see [Validating a words resource for previous-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWordsvalidateModel).
For more information about the available voices for all languages, see [Languages and voices](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices).
* How does the service synthesize audio?

The Text to Speech service offers voices that rely on neural technology to synthesize text to speech. The topic of synthesizing text to speech is inherently complex. For more information, see



* [Languages and voices](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices)
* [The science behind the service](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-science)



* What are the output audio formats?

By default, the Text to Speech service returns audio in Ogg format with the Opus codec (audio/ogg;codecs=opus). The service supports many other audio formats to suit your application needs. For more information, see [Supported audio formats](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-audio-formatsformats-supported).
* How do I convert my text to speech?

To submit text to the service for synthesized audio output, you make an HTTP or WebSocket request. You can use the API directly or use one of the Watson SDKs. [Getting started](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-gettingStarted) offers examples of both the HTTP POST /v1/synthesize and GET /v1/synthesize methods. The [API & SDK reference](https://cloud.ibm.com/apidocs/text-to-speech) shows examples of all interfaces and methods.

There is no graphical user interface for submitting text. See the [Text to Speech demo](https://www.ibm.com/demos/live/tts-demo/self-service/home) to try an example of the service in action.
For more information, see [Using grammars with custom language models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-grammars).
* Individual words - You can also add individual custom words to a model directly. The service adds the words to the model just as it does words that it discovers from corpora or grammars. When you add a word directly, you can specify multiple pronunciations and indicate how the word is to be displayed. You can also update existing words to modify or augment the definitions that were extracted from corpora or grammars. For more information, see [Working with custom words](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWordsworkingWords).



Regardless of how you add them, the service stores all words that you add to a custom language model in the model's words resource.



 The words resource 

The words resource includes all words that you add from corpora, from grammars, or directly. Its purpose is to define the pronunciation and spelling of words that are not already present in the service's base vocabulary. The definitions tell the service how to transcribe these out-of-vocabulary (OOV) words.

The words resource contains the following information about each OOV word. The service creates the definitions for words that are extracted from corpora and grammars. You specify the characteristics for words that you add or modify directly.



* word - The spelling of the word as found in a corpus or grammar or as added by you.

Do not use characters that need to be URL-encoded. For example, do not use spaces, slashes, backslashes, colons, ampersands, double quotes, plus signs, equal signs, question marks, etc. in the name. The service does not prevent the use of these characters, but because they must be URL-encoded wherever they are used, it is strongly discouraged.
* sounds_like - The pronunciation of the word. For words extracted from corpora and grammars, the value represents how the service believes that the word is pronounced based on its language rules.
* [Creating a custom model](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-customModelscuModelsCreate)
* [API & SDK reference](https://cloud.ibm.com/apidocs/text-to-speech)







 7 October 2022 

The service now enforces stricter SSML validation
: The service now enforces stricter validation of input text that includes Speech Synthesis Markup Language (SSML) elements. Required elements of attributes must be specified with valid values. Otherwise, the request fails with a 400 error code. For more information about SSML validation and the requirements that marked-up text must meet, see [SSML validation](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-ssmlssml-errors).

Defect fix: The gender listed for the en-US_MichaelExpressive voice is now correct
: Defect fix: When you list information about the available voices, the gender of the en-US_MichaelExpressive voice is now male. Previously, the voice's gender was mistakenly described as female. For more information, see [Listing information about voices](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices-list).





 23 September 2022 

New US English expressive neural voices
: The service offers four new expressive neural voices for US English:



* en-US_AllisonExpressive
* en-US_EmmaExpressive
* en-US_LisaExpressive
* en-US_MichaelExpressive



Expressive neural voices offer natural-sounding speech that is exceptionally clear, crisp, and fluid. The new voices are generally available (GA) for production use. They support the use of both standard International Phonetic Alphabet (IPA) and IBM Symbolic Phonetic Representation (SPR) phonetic symbols. For more information, see



* [Expressive neural voices](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voiceslanguage-voices-expressive)
For example, use ロウウマン or ロウマン instead of ロウーマン.
* Many compound words consist of prefix+noun or noun+suffix. The character sequences of the base model cover most compound words that occur frequently (for example, 長電話 and 古新聞) but not those compound words that occur infrequently. If your corpus commonly contains compound words, add them as one word as the first step of your customization. For example, 古鉛筆 is not common in general Japanese text; if you use it often, add it to your custom model to improve transcription accuracy.
* Do not use a trailing assimilated sound.







 Guidelines for Korean 

Follow these guidelines when specifying a sounds-like for Korean:



* Use Korean Hangul characters, symbols, and syllables.
* You can also use Latin (English) alphabetic characters: a-z and A-Z.
* Do not use any characters or symbols that are not included in the previous sets.









 Using the display_as field 

The display_as field specifies how a word is displayed in a transcript. By default, the service sets the field to match the spelling of the custom word. The field is intended for cases where you want the service to display a string that is different from the word's spelling. For example, you can indicate that the word hhonors is to be displayed as HHonors.

IBM Cloud

curl -X PUT -u "apikey:{apikey}" --header "Content-Type: application/json" --data "{"display_as": "HHonors"}" "{url}/v1/customizations/{customization_id}/words/hhonors"

IBM Cloud Pak for Data

curl -X PUT --header "Authorization: Bearer {token}" --header "Content-Type: application/json" --data "{"display_as": "HHonors"}" "{url}/v1/customizations/{customization_id}/words/hhonors"

As another example, you can indicate that the word IBM is to be displayed as IBM™.

IBM Cloud
* For more information about the phonetic symbols and Unicode values that are available for the Canadian French language, see [French (Canadian) symbols](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-caSymbols).



New Tune by Example feature
: The new Tune by Example feature lets you control how specified text is spoken by the service. The feature is beta functionality that is supported only for US English custom models and voices. The feature has two components:



* Custom prompts include the written text that is to be spoken and recorded audio that speaks the text as you want to hear it. The audio specifies the intonation, cadence, and stress of the synthesized text. The prompt can emphasize different syllables or words, introduce pauses, and generally make the synthesized audio sound more natural and appropriate for its context.
* Speaker models provide enrollment audio for a user who speaks one or more prompts. A speaker model provides an audio sample of a user's voice. The service trains itself on the voice, which can help it to produce higher-quality prompts for that speaker.



You specify a custom prompt with a speech synthesis request to indicate how the service's voice is to pronounce the text. To specify a prompt, you use the SSML extension <ibm:prompt id="{prompt_id}"/>. The synthesized audio duplicates the prosody of the prompt.

For more information about using the Tune by Example feature, see the following topics:



* [Understanding Tune by Example](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-tbe-intro)
* [Rules for creating custom prompts and speaker models](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-tbe-rules)
* [Creating a custom prompt](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-tbe-create)
For example, the acronym NCAA can be pronounced as it is spelled or colloquially as N C double A The following example adds both of these sounds-like pronunciations for the word NCAA:

IBM Cloud

curl -X PUT -u "apikey:{apikey}" --header "Content-Type: application/json" --data "{"sounds_like": ["N C A A", "N C double A"]}" "{url}/v1/customizations/{customization_id}/words/NCAA"

IBM Cloud Pak for Data

curl -X PUT --header "Authorization: Bearer {token}" --header "Content-Type: application/json" --data "{"sounds_like": ["N C A A", "N C double A"]}" "{url}/v1/customizations/{customization_id}/words/NCAA"

For more information about how the service recognizes acronyms, see [Additional transcription efforts](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWords-ngparseWord-additional-ng).
* Handle foreign words. For example, the French word garçon contains a character that is not found in the English language. You can specify a sounds-like of gaarson, replacing ç with s, to tell the service how English speakers would pronounce the word.



The following topics provide guidelines for specifying a sounds-like pronunciation. Speech recognition uses statistical algorithms to analyze audio, so adding a word does not guarantee that the service transcodes it with complete accuracy. When you add a word, consider how it might be pronounced. Use the sounds_like field to provide various pronunciations that reflect how a word can be spoken.

Information for the following languages is not yet available: Arabic, Chinese, Czech, Hindi, and Swedish. If you need this information for your custom language model, contact your IBM Support representative.



 General guidelines for all languages 

Follow these guidelines when specifying a sounds-like for any language:



* Do not use punctuation characters in sounds-likes.
For example, you might add a pronunciation for a French word to a custom model that is based on English. In this case, you must use the phonetic symbols for the language of the custom model, English.

The same phonetic symbol can produce different sounds for different languages. Also, not all phonetic symbols are supported for all languages. Make sure to use the phonetic symbols for the base language of the custom model when defining a translation.





 Working with IBM SPR entries 

Symbolic Phonetic Representation (SPR) is a proprietary, language-dependent format developed by IBM for specifying a word's pronunciation. For each supported language, SPR includes a phoneme alphabet, symbols for syllable boundaries, and symbols for levels of lexical stress. The following basic rules apply to creation of SPR entries:



* The default pronunciation that the customization interface returns for a word begins with a ``` (back quote) and is enclosed in [] (square brackets). For example, the interface returns the following pronunciation for the word tomato:

[.0tx.1ma.0to]

Omit the back quote and square brackets when you specify a word's translation with methods of the customization interface.
* You can use a period to indicate the beginning of a syllable in a translation, but periods are optional and do not influence the word's pronunciation. They appear in the pronunciation for a word only if you include them in the word's translation. Do not use spaces to indicate syllable boundaries.
* IBM recommends that you precede the vowel that has the primary stress for a word with a 1 symbol, though it is not strictly necessary. The service determines where stress occurs if you do not indicate it. You can also use a 2 symbol to indicate each secondary stress position, but the use of 2 symbols is also optional. They appear in the pronunciation for a word only if you include them in the word's translation.



For more information about working with SPR, see [Understanding phonetic symbols](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-symbols).





 Working with Japanese entries 

Extra rules and a part_of_speech field apply to the creation of entries for words in a Japanese custom model:
For more information about working with these features, see [Smart formatting](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-formattingsmart-formatting) and [Numeric redaction](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-formattingnumeric-redaction).







 What happens when I add or modify a custom word? 

How the service responds to a request to add or modify a custom word depends on the fields and values that you specify. It also depends on whether the word exists in the service's base vocabulary.



* Omit both the sounds_like and display_as fields:



* If the word does not exist in the service's base vocabulary, the service attempts to set the sounds_like field to its pronunciation of the word. It cannot generate a pronunciation for all words, so you must review the word's definition to ensure that it is complete and valid. The service sets the display_as field to the value of the word field.
* If the word exists in the service's base vocabulary, the service leaves the sounds_like and display_as fields empty. These fields are empty only if the word exists in the service's base vocabulary. The word's presence in the model's words resource is harmless but unnecessary.



* Specify only the sounds_like field:



* If the sounds_like field is valid, the service sets the display_as field to the value of the word field.
* If the sounds_like field is invalid:



* The POST /v1/customizations/{customization_id}/words method adds an error field to the word in the model's words resource.
* The PUT /v1/customizations/{customization_id}/words/{word_name} method fails with a 400 response code and an error message. The service does not add the word to the words resource.





* Specify only the display_as field:



* If the word does not exist in the service's base vocabulary, the service attempts to set the sounds_like field to its pronunciation of the word.
Additional considerations and an additional part_of_speech field apply when creating entries for words in a Japanese custom model; for more information, see [Working with Japanese entries](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-rulesjaNotes). Specify a part of speech for a Japanese custom entry as follows:



* For the PUT /v1/customizations/{customization_id}/words/{word} method, pass a JSON object of the following form:

{
"translation": "value",
"part_of_speech": "value"
}
* For the POST /v1/customizations/{customization_id}/words and POST customizations/{customization_id} methods, pass a JSON object like the following:

{
"words": [
{
"word": "value",
"translation": "value",
"part_of_speech": "value"
}
. . .
]
}



The following examples of the PUT /v1/customizations/{customization_id}/words/{word} method translate the URL-encoded, double-byte string for NY to the noun (Mesi) ニューヨーク (New York in English). If this custom translation is not defined, the string is read as enu wai.



* Sounds-like:

IBM Cloud

curl -X PUT -u "apikey:{apikey}" --header "Content-Type: application/json" --data "{"translation":"ニューヨーク", "part_of_speech":"Mesi"}" "{url}/v1/customizations/{customization_id}/words/%EF%BC%AE%EF%BC%B9"

IBM Cloud Pak for Data