Mixing Voices in Architect Flow

Hi there,

I'm developing a flow and I get two different voices when playing runtime data, but not for all type of information

In following example, the TTS, Date and Account are said with the same Male Voice(Alvaro Neural), but when playing the Amount (Currency Type), the voice changes to a Female one.

Could you please advice?

Regards

Playing Task.amount using the entire value option doesn't use TTS, it uses runtime data playback so you're hearing the system prompts resources play. Choose text to speech as the playback option if it's available (depending on what type it is). If it's not available, you need to convert the value to a string and play using TTS. For example ToAudioTTS(ToString(Task.amount))

Thanks Melissa,

I don't understand why if we select the language spanish from Spain (es-ES), that supports "runtime data playback", Genesys is using a different voice from selected to playback the data...

In addition to that and trying to solve the issue, I've tested a bunch of possibilities but cannot find the complete solution.

I've tested with and without cents and currency and I don't see the way to say the amount as and amount and with voice selected.

Best approach is the number 9, but depending on the amount value, it's said as a number (17545, 1875, 60.75) or digit by digit (1875.25, 9545.25)

Could you please help on that and suggest the way to get the "amount + currency" (or at least the amount) in spanish with the Neural Voice selected?

Best regards and thanks for your support

@Santiago_Serna I fully agree with you. It seems like an overlooked feature on Genesys Cloud part, but I'm sure they'll come up with a feature improvement later on and make all the variables inside Inbound flow playable using selected TTS.

For the time being, I found a workable solution.

You can use Bot Flow and send the call from the Inbound Flow to playback date or currency or anything else you need by the Bot. It then uses the Genesys TTS Enhanced voice that's selected on the Inbound flow to playback all variables you need.

To get the Bot to play Month DAY YEAR I use Communicate > Expression:
MakeDate(year(GetCurrentDateTimeUtc()),month(GetCurrentDateTimeUtc()),day(GetCurrentDateTimeUtc()))

To get the currency, you just need to pass to the bot a variable of type currency and then Communicate > Data > choose your currency variable and you'll have any option to play all digits, 1,2,3.. decimal points etc. It plays back using Enhanced TTS and it plays back the correct values 100.75 would be played as 100 dollars and 75 cents.

Thanks,

Patrik

Runtime data playback is not using TTS at all. If you go look at the system prompts, you will notice they have recordings in the language you are using. Those recordings are what you hear when you use runtime data playback.

The ToAudioTTS function and the data audio piece that you specify using Text to speech as the play back option uses your chosen TTS engine. All the other ToAudioX functions are using runtime data playback, which is those recorded system prompts.

You may override the system prompts with your own recordings if you want a different voice. You would need to create recordings for each one, that says the correct phrase, and upload it. If you want this to match a 3rd party TTS engine's voice, check with that provider to make sure you don't run into legal problems by doing so.
https://help.mypurecloud.com/articles/system-prompts/

If you don't want to override all the system prompts, your other option is to stick to only the ToAudioTTS function. You may have to manipulate the string to get your 3rd party TTS engine to say it how you want. For example "123.45" could be pronounced, "one two three four five", "one two three point four five", etc. If you want "one hundred twenty three and forty five", you will need to do things like insert the "hundred", "and", convert the 23 to "twenty three", etc yourself.

Your 3rd choice is to use a bot flow to play the string. Bot flows can play SSML using the ToCommunicationSsml function. You need to make sure you use SSML features that your 3rd party TTS engine supports.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.