Manage Languages Tab
Languages
In the Manage Languages tab, you can see the available languages for your OCP miniApps®, and activate or deactivate them. Depending on the type of miniApps English (en-US, en-GB), French (fr-CA), German (de-DE), Spanish (es-US), Portugal (pt-PT) and Greek (el-GR) might also be available.
Deactivating a language from a miniApp will result to the deletion of all the prompts that have been set for the selected miniApp in that language. Please make sure you do not require this specific language before you proceed with deactivation.
If you activate a language, you will see the option to choose a prompt in every language in all prompts, including nice reactions, error reactions, validations, confirmations, hold functionality, agent reaction, error handling, and so on.
Supported languages
Some locales are available only for specific miniApps. The table below shows the current applicability.
miniApp type | de-DE | en-GB | en-US | el-GR | es-US | fr-CA | pt-PT |
Intent-Banking | ✓ | ✓ | |||||
Intent-Banking-2.0 | ✓ | ✓ | ✓ | ✓ | |||
Intent-Covid | ✓ | ✓ | |||||
Intent-CarRetail | ✓ | ||||||
Intent-Universal | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Intent-Telco | ✓ | ||||||
Intent-Insurance | ✓ | ||||||
Intent-Energy | ✓ | ||||||
Numeric | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Alphanumeric | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Alpha (only) | ✓ | ||||||
Amount | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Date | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Announcement | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
YesNo | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Corpus | ✓ | ✓ | ✓ | ||||
Text (chat only) | ✓ | ✓ | |||||
WebService | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Intelli | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Entity | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Text To Speech engines
For certain languages there is a variety of TTS engines to select from. For example, en-US has the MS, AWS, GOOGLE, and OMILIA.
Each of those languages also may offer a variety of different voices that can be adjusted in terms of rate (speech tempo) and volume.
Prerecorded audio prompts
You can click on Download prerecorded audio list and get a TSV file with keys audioID, prompt, and category. This way you will be able to get all the prompts that are used during the session and, for instance, record them yourself in a voice and accent of your choosing instead of using the TTS functionality.
There are several ways in which the prompts may be presented. Read the sub-sections below for more information.
Static prompt
If it is a plaintext static prompt without dynamic values in {{}}, then you can record it as is and name the audio file for upload {audioID}.wav
(instead of {audioID}
, paste the audioID of the corresponding prompt from the TSV file in its entirety).
An example of this might be:
AUDIO_ID|PROMPT|CATEGORY|WARNING
1234-a123-321-40.test.Announcement.MiniApps.username.welcome.locales.en-US.omIVR.normal|Welcome! I'm your virtual assistant|miniAppConfig prompt|
where | corresponds to Tab key
This means the audio file with the recorded prompt should be named 1234-a123-321-40.test.Announcement.MiniApps.username.welcome.locales.en-US.omIVR.normal.wav
.
Dynamic prompt with a realizer
If it’s a prompt that contains dynamic values and has an audio type (realizer) (for example, The weather in {{city|generic}} is {{weather|generic}}
), it will be split into several different parts, such as the static plaintext parts:
AUDIO_ID|PROMPT|CATEGORY|WARNING
4567-a123-321-40.test.Announcement.MiniApps.username.welcome.locales.en-US.omIVR.normal.0|The weather in|miniAppConfig prompt|
7890-a123-321-40.test.Announcement.MiniApps.username.welcome.locales.en-US.omIVR.normal.1|is|miniAppConfig prompt|
For both of them, you can apply the same process for static prompts described in Static Prompts section and record them as is.
And then, for the dynamic part, at the bottom of the TSV file, you will have a prompt for the Generic Realizer that looks the following:
AUDIO_ID|PROMPT|CATEGORY|WARNING
1526-s26-ar0.test.Announcement.MiniApps.username.generic.en-US.{base64(value)}|ATTENTION! THIS IS A GENERIC REALIZER. MULTIPLE PROMPTS NEED TO BE UPLOADED. Please upload one prompt for every possible value of extValue1 by replacing each time the last part of the audioID with the base64 of each value|Generic Realizer|
This is essentially the placeholder ID for all the possible values that you are going to record for city
and weather
(as per our example above) and use in your prompts.
For each value you need to record a separate audio file, the name of which will be the audioID as indicated in the TSV entry, except with {base64(value)}
replaced with each value encoded in base64 format (such as, Qm9zdG9u
for Boston
) and .wav
, like this: 1526-s26-ar0.test.Announcement.MiniApps.username.generic.en-US.Qm9zdG9u.wav
. This way the miniApp will know this is a recording of the word Boston
for the prompt The weather in {{city|generic}} is {{weather|generic}}
.
Each recording has a specific ID which means it can be used only in one specific prompt. So if, for instance, you need the word Boston
in two different prompts, then you need to send the recording twice, with the respective ID each time (so the {base64(value)}
will stay the same for the same value, but the part before that should be changed to the ID of the respective prompt).
For encoding the values, you can use any base64 encoder available online, such as base64encode.org.
Dynamic prompt without a realizer
If it’s a prompt that contains dynamic values but doesn’t have an audio type specified, you should go back to the miniApp configuration page and add one. Otherwise it will be played with TTS. As such, these prompts will have warnings attached in the TSV file, so you would be able to spot them and update them if needed.
Summary
To recap, to use the custom prerecorded prompts feature successfully you need the following:
an audio type (realizer) specified for dynamic values in each of the prompts
separate recordings for each possible value to be used inside {{}} in each prompt
the correct name of the prerecorded audio file (base audioID +
.wav
extension)
Upload pre-recorded audio list
Maintainer
role is required in order to have this option available. Otherwise, contact our Customer Support by any convenient means described in the Omilia Care (Support Center) section.
After creating the WAV audio lists, it is possible to upload them back to the required miniApp.
Make sure the audio files are created in the correct format - ULAW.
Move all the WAV files to a single directory (no sub-directories) and compress it to a ZIP file.
Click the Upload prerecorded audio list button.
Add the ZIP file in the pop window and click the Upload button.
Available audio types (realizers)
date
for realizing values of dates in the formatYYYY-MM-DD
alphanumeric
for realizing values such asabcd1234
,1234
amount
for realizing values such as125.60_EUR
generic
for realizing any value
Custom Grammars
If an ASR custom grammar is available, it can be activated in the ASR field box. Follow the steps to enter a custom grammar:
Turn the Custom Grammar Toggle button On.
Enter the custom grammar name.
(Optional) If you require further customization for your grammar's behavior, turn on the Settings Toggle button and adjust the provided ASR properties.
Minimum silence break: Minimum time in milliseconds that qualify as end of speech indicator.
Max speech timeout: Threshold in milliseconds for the maximum time allowed for speech.
Contact customer support if a custom grammar is required.
End Menu
A custom grammar can be used to override the default one for end menu options and take over on new task prompts. To activate the end menu custom grammar, follow the steps:
Activate the Custom Grammar with the Toggle button.
Enter the custom grammar name in the Grammar field text box or click the Sync arrow repeat button in the ASR field to use the same custom grammar across all steps of the dialogue.