vania-janet/multiturn-rag-retrieval-data huggingface dataset:
For more information, see [The <prosody> element](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-elementsprosody_element).





 3 August 2022 

The service does not support multilingual speech synthesis
: The service does not support multilingual speech synthesis at this time. However, you can use customization to approximate the pronunciation of words from other languages. For more information, see [Multilingual speech synthesis](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices-usesynthesis-multilingual).





 27 July 2022 

New beta spell_out_mode parameter for German voices
: To indicate how individual characters of a string are to be spelled out, you can now include the beta spell_out_mode query parameter with a synthesis request for a German voice. By default, the service spells out individual characters at the same rate at which it synthesizes text for a language. You can use the parameter to direct the service to spell out individual characters more slowly, in groups of one, two, or three characters. Use the parameter with the SSML <say-as> element to control how the characters of a string are synthesized. For more information, see [Specifying how strings are spelled out](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-synthesis-paramsparams-spell-out-mode).





 25 May 2022 

New support for audio/alaw audio format
: The list of supported audio formats now includes audio/alaw;rate={rate}. Like audio/basic and audio/mulaw, this format provides single-channel audio that is encoded by using 8-bit u-law (or mu-law) data that is sampled at 8 kHz. For more information, see [Using audio formats](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-audio-formats).





 19 May 2022 

Defect fix: Multiple consecutive SSML <phoneme> tags are now parsed correctly
<tuv xml:lang="fr"><seg>55/102. La mondialisation et ses effets sur le plein exercice des droits de l'homme</seg></tuv>
</tu>

If you translate "55/102. Globalization and its impact on the full enjoyment of all human rights" with the base en-fr model, the service responds with the following translation.

55/102. La mondialisation et ses effets sur la pleine jouissance de tous les droits de l'homme

When the same input sentence is translated by a custom model trained with the example corpus, the service responds with a different translation that is not identical to the sample translation provided in the training data.

55/102. La mondialisation et ses effets sur le plein exercice de tous les droits de l'homme



* The custom model translates "the full enjoyment" to "le plein exercice" instead of "la pleine jouissance". The likely explanation for this deviation from the base model behavior is that there are many examples in the corpus where "enjoyment" is translated to "exercice".
* The custom model translates "of all human rights" to "de tous les droits de l'homme" instead of reproducing the result from the translation unit, "des droits de l'homme". This behavior reflects the trained model's cohesive understanding of the base model, and all of the translation samples that are related "of all human rights" from the parallel corpus.



In some cases, it might seem that a custom model trained with a parallel corpus is ignoring a specific example that you provided. In these cases, try searching your training data for other sentences that might be influencing the translation behavior, or consider using a forced glossary if you want to control a specific translation.







 Supported document formats for training data 

You can provide your training data for customization in the following document formats.



Table 1. Document formats for training data

 Format Extension Description
* [Synthesizing speech with the service](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-service-featuresfeatures-synthesis-interfaces)
* [Using speech synthesis features](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-service-featuresfeatures-synthesis)







 Customization 

The service provides a customization interface that you can use to specify how the service pronounces unusual words that occur in your input text. You can define custom models to include dictionaries of words for your application's lexicon. For more information, see [Customizing the service](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-service-featuresfeatures-customization) in the service features.

With the Tune by Example feature, you can also add custom prompts to your custom models. Custom prompts let you dictate the prosody with which the service speaks user-specified prompts. For more information, see [Using Tune by Example](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-service-featuresfeatures-tune-by-example) in the service features.





 Language support 

The service offers neural voices to synthesize text to speech in many languages and dialects:



* Dutch (Netherlands)
* English (Australian, United Kingdom, and United States dialects)
* French (Canadian and France dialects)
* German
* Italian
* Japanese
* Korean
* Portuguese (Brazilian)
* Spanish (Castilian, Latin American, and North American dialects)



For different languages, the service offers female voices, male voices, or both. For more information about the supported languages and voices, the types of voices that the service provides for each language, and their status for both versions of the service, see [Languages and voices](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices).





 Audio support
},
body: [
params.payload.input.text
],
json: true,
};
return rp(options)
.then(res => {
params.payload.context.skills["main skill"].user_defined["language"] = res.languages[0].language;
console.log(JSON.stringify(params))
//Append "in" plus "the language code" to the input text, surrounded by parentheses.
const response = {
body : {
payload : {
input : {
text : params.payload.input.text + ' ' + '(in ' + res.languages[0].language + ')'
},
},
},
};
return response;
})
}
return {
body : params
}
};
Show more

To test the webhook, click Preview. In the preview panel, submit the text Buenos días. The assistant probably won't understand the input, and will return the response from your Anything else node. However, if you go to the Analytics page of your skill and open the User conversations page, you can see what was submitted. Check the most recent user conversation. The log will show that the user input is Buenos días (in es). The es in parentheses represents the language code for Spanish, so the webhook worked and recognized that the submitted text was a Spanish phrase.

![Shows the Analytics>User conversations page with a logged conversation with Buenos días (in es) input](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/webhook-check-language.png)





 Example 2 

This example shows you how to check the language of the incoming message, and if it's not English, translate it into English before submitting it to the assistant.
English (en) GA Deprecated 
 Arabic (ar) GA Deprecated 
 Chinese (Simplified) (zh-cn) GA Deprecated 
 Chinese (Traditional) (zh-tw) GA Deprecated 
 Czech (cs) GA Deprecated 
 Dutch (nl) GA Deprecated 
 French (fr) GA Deprecated 
 German (de) GA Deprecated 
 Italian (it) GA Deprecated 
 Japanese (ja) GA Deprecated 
 Korean (ko) GA Deprecated 
 Portuguese (Brazilian) (pt-br) GA Deprecated 
 Spanish (es) GA Deprecated 
 Universal (xx) GA NA 



The Watson Assistant service supports multiple languages as noted, but the tool interface itself (descriptions, labels, etc.) is in English. All supported languages can be input and trained through the English interface.

GB18030 compliance: GB18030 is a Chinese standard that specifies an extended code page for use in the Chinese market. This code page standard is important for the software industry because the China National Information Technology Standardization Technical Committee has mandated that any software application that is released for the Chinese market after September 1, 2001, be enabled for GB18030. The Watson Assistant service supports this encoding, and is certified GB18030-compliant







 Changing a skill language 

Once a skill has been created, its language cannot be modified. If it is necessary to change the supported language of a skill, you can do so by editing the skill's underlying JSON.

To change the skill language, take the following steps:



1. Download the skill that you want to edit.
2. Open the downloaded skill JSON file in a text editor.
3. Search for the property named language.

The language property is set to the original language of the skill. For example, the language property is en for an English skill.
4. Change the value of this property to the language you want to use instead. For example, change it to fr for French or de for German.
5. Save the changes to the JSON file, and then upload the edited file, overwriting the existing skill.







 Configuring bidirectional languages
In this tutorial you tested a node with slots and made changes that optimize how it interacts with real users. For more information about this subject, see [Gathering information with slots](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-slots).







 Next steps 

Deploy your dialog skill by first connecting it to an assistant, and then deploying the assistant. There are several ways you can do this. See [Adding integrations](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-integration-add) for more details.
console.log(JSON.stringify(params))
//If the the incoming message is not null and is not English, translate it.
if ((params.payload.context.skills["main skill"].user_defined.language !== 'en') && (params.payload.context.skills["main skill"].user_defined.language !== 'none')) {
const options = { method: 'POST',
url: 'https://api.us-south.language-translator.watson.cloud.ibm.com/instances/572b37be-09f4-4704-b693-3bc63869nnnn/v3/translate?version=2018-05-01',
auth: {
'username': 'apikey',
'password': 'nnn'
},
headers: {
"Content-Type":"application/json"
},
//The body includes the parameters that are required by the Language Translator service, the text to translate and the target language to translate it into.
body: {
text: [
params.payload.input.text
],
target: 'en'
},
json: true
};
return rp(options)
.then(res => {
params.payload.context.skills["main skill"].user_defined["original_input"] = params.payload.input.text;
const response = {
body : {
payload : {
"context" : params.payload.context,
"input" : {
"text" : res.translations[0].translation,
"options" : {
"export" : true
}
},
},
},
};
return response
})
}
return {
body : params
}
};
Show more
Test the deployed assistant and make refinements.
7. After you build an effective assistant, take a snapshot of the dialog skill and save it as a version.

Saving a version when you reach a development milestone gives you something you can go back to if subsequent changes you make to the skill decrease its effectiveness. See [Creating skill versions](https://cloud.ibm.com/docs/assistant-data?topic=assistant-data-versions).
8. Deploy the version of the assistant into a test environment, and test it.
9. Monitor the chat transcript logs for your test assistant to determine if you need to make improvements to your training data or dialog.
10. When you are happy with the performance of your assistant, deploy the best version of the assistant into a production environment.
11. Monitor the logs from conversations that users have with the deployed assistant.



The process of monitoring the conversations that your assistant has with your customers is your responsibility. Devise ways to analyze these chat transcripts so you can find out where the assistant is misunderstanding users or where its training data needs to be improved. For example, you might need to augment the training data if many customers ask for help with something that your assistant does not know anything about, or you might have two intents that are not distinct enough from one another if your assistant regularly picks the wrong dialog branches for certain topics.
Using content catalogs 

Content Catalogs provide an easy way to add common intents to your Watson Assistant dialog skill.

Intents you add from the catalog are meant to provide a starting point. Add to or edit the catalog intents to tailor them for your use case.

The latest content catalog, named Covid-19, is available in Brazilian Portuguese, English, French, and Spanish only. For more information about language support for the catalogs, see [Supported languages](https://cloud.ibm.com/docs/assistant-data?topic=assistant-data-language-support).



  Adding a content catalog to your dialog skill 



1.  Open your dialog skill, open the Content Catalog page.

![Screen capture showing available catalogs](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/catalog-overview.png)
2.  Select a content catalog, such as Banking, to see the intents that are provided with it.

![Screen capture showing Banking category intents](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/catalog-open.png)

Intents that are added from a content catalog are distinguishable from other intents by their names. Each intent name is prepended with the content catalog name.
3.  Add a content catalog to your dialog skill by clicking the Add to skill button.
4.  Go to the Intents page to see the intents that you added from the catalog listed.



Your skill trains itself on the new data.

After you add a catalog to your skill, the intents become part of your training data. If IBM makes subsequent updates to a content catalog, the changes are not automatically applied to any intents you added from a catalog.





  Editing content catalog intents 

Like any other intent, after you add content catalog intents to your skill, you can make the following changes to them:



*  Rename intents
*  Delete intents
*  Add, edit, or delete intent user examples
*  Move an example to a different intent
Language support improvements
: The language understanding components were updated to improve the following features:



* German and Korean system entities
* Intent classification tokenization for Arabic, Dutch, French, Italian, Japanese, Portuguese, and Spanish







 4 January 2019 

IBM Cloud Functions in DC and London locations
: You can now make programmatic calls to IBM Cloud Functions from the dialog of an assistant in a service instance that is hosted in the London and Washington, DC data centers. See [Making programmatic calls from a dialog node](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-actions-client).

New methods for working with arrays
: The following SpEL expression methods are available that make it easier to work with array values in your dialog:



* JSONArray.filter: Filters an array by comparing each value in the array to a value that can vary based on user input.
* JSONArray.includesIntent: Checks whether an intents array contains a particular intent.
* JSONArray.indexOf: Gets the index number of a specific value in an array.
* JSONArray.joinToArray: Applies formatting to values that are returned from an array.



See the [array method documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-methodsdialog-methods-arrays) for more details.





 13 December 2018 

London data center
: You can now create Watson Assistant service instances that are hosted in the London data center without syndication. See [Data centers](https://cloud.ibm.com/docs/assistant?topic=assistant-services-informationservices-information-regions) for more details.

Dialog node limit changes
: The dialog node limit was temporarily changed from 100,000 to 500 for new Standard plan instances. This limit change was later reversed. If you created a Standard plan instance during the time frame in which the limit was in effect, your dialogs might be impacted. The limit was in effect for skills created between 10 December and 12 December 2018. The lower limits will be removed from all impacted instances in January.
speech-to-text.custom-language-model-corpus.create Create a corpus for a custom language model (POST /v1/customizations/{customization_id}/corpora/{corpus_name}). 
 speech-to-text.custom-language-model-grammar.create Create a grammar for a custom language model (POST /v1/customizations/{customization_id}/grammars/{grammar_name}). 







 Read events 



Table 2. Language model customization .read actions that generate events

 Action Description 

 speech-to-text.custom-language-model-list.read Read a list of custom language models (GET /v1/customizations). 
 speech-to-text.custom-language-model.read Read a custom language model (GET /v1/customizations/{customization_id}). 
 speech-to-text.custom-language-model-word-list.read Read a word list of a custom language model (GET /v1/customizations/{customization_id}/words). 
 speech-to-text.custom-language-model-word.read Read a word for a custom language model (GET /v1/customizations/{customization_id}/words/{word_name}). 
 speech-to-text.custom-language-model-corpus-list.read Read a corpus list of a custom language model (GET /v1/customizations/{customization_id}/corpora). 
 speech-to-text.custom-language-model-corpus.read Read a corpus of a custom language model (GET /v1/customizations/{customization_id}/corpora/{corpus_name}). 
 speech-to-text.custom-language-model-grammar-list.read Read a grammar list of a custom language model (GET /v1/customizations/{customization_id}/grammars). 
 speech-to-text.custom-language-model-grammar.read Read a grammar of a custom language model (GET /v1/customizations/{customization_id}/grammars/{grammar_name}). 







 Delete events 



Table 3.
This documentation is for the classic Watson Assistant experience. To see the documentation for the new Watson Assistant, please go [here](https://cloud.ibm.com/docs/watson-assistant).



 Using built-in intents 

Content Catalogs provide an easy way to add common intents to your Watson Assistant dialog skill.

Intents you add from the catalog are meant to provide a starting point. Add to or edit the catalog intents to tailor them for your use case.

The latest content catalog, named Covid-19, is available in Brazilian Portuguese, English, French, and Spanish only. For more information about language support for the catalogs, see [Supported languages](https://cloud.ibm.com/docs/assistant?topic=assistant-language-support).



 Adding a content catalog to your dialog skill 



1. Open your dialog skill, open the Content Catalog page.

![Screen capture showing available catalogs](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/catalog-overview.png)
2. Select a content catalog, such as Banking, to see the intents that are provided with it.

![Screen capture showing Banking category intents](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/catalog-open.png)

Intents that are added from a content catalog are distinguishable from other intents by their names. Each intent name is prepended with the content catalog name.
3. Add a content catalog to your dialog skill by clicking the Add to skill button.
4. Go to the Intents page to see the intents that you added from the catalog listed.



Your skill trains itself on the new data.

After you add a catalog to your skill, the intents become part of your training data.
: Defect fix: For the Castilian Spanish (es-ES_EnriqueV3Voice and es-ES_LauraV3Voice) and North American Spanish (es-US_SofiaV3Voice) voices, questions of all types now use the correct intonation. For the Latin American Spanish voice (es-LA_SofiaV3Voice), some questions do not use the correct intonation and sound instead like statements. The Latin American Spanish voice will be fixed soon.





 16 July 2021 

New Belgian Dutch neural voice: nl-BE_AdeleVoice
: The service now supports Belgian Dutch (Flemish) with the neural voice nl-BE_AdeleVoice. The Belgian Dutch voice supports customization and is generally available (GA) for production use.





 12 April 2021 

New Canadian French enhanced neural voice: fr-CA_LouiseV3Voice
: The service now supports Canadian French with the enhanced neural voice fr-CA_LouiseV3Voice. The Canadian French voice supports customization and is generally available (GA) for production use.



* To hear a sample of the new voice, see [Supported languages and voices](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voiceslanguage-voices).
* 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. It 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.
: Language model customization is now generally available (GA) for all available next-generation languages and models. Language model customization for next-generation models is supported for use in production environments and applications.

You use the same commands to create, manage, and use custom language models, corpora, and custom words for next-generation models as you do for previous-generation models. But customization for next-generation models works differently from customization for previous-generation models. For custom models that are based on next-generation models:



* The custom models have no concept of out-of-vocabulary (OOV) words.
* Words from corpora are not added to the words resource.
* You cannot currently use the sounds-like feature for custom words.
* You do not need to upgrade custom models when base language models are updated.
* Grammars are not currently supported.



For more information about using language model customization for next-generation models, see



* [Understanding customization](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-customization)
* [Language support for customization](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-custom-support)
* [Creating a custom language model](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-languageCreate)
* [Using a custom language model for speech recognition](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-languageUse)
* [Working with corpora and custom words for next-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWords-ng)



Additional topics describe managing custom language models, corpora, and custom words. These operations are the same for custom models based on previous- and next-generation models.





 16 August 2021 

New beta Indian English, Indian Hindi, Japanese, and Korean next-generation models
: The service now supports the following new next-generation language models.