French accent mark

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

  • Author
  • Message
Offline

gork

  • Posts: 9
  • Joined: Wed Feb 07, 2018 4:09 pm

French accent mark

PostWed Feb 20, 2019 12:34 am

I am currently having issues with the french language due to the apostrophe or accent mark. This character causes errors when sent to the RealSpeak TTS engine. This only happens in French. I can send the apostrophe in English to show possession. I searched these forums and found someone else had the same issue many years ago. the solution for them was to escape the apostrophe. So I simply added code to escape all apostrophes before sending to the TTS engine. This fixes the issue and no longer blows up but the french pronunciation is terrible! I went looking in the logs for an answer to why... While looking I noticed an area where it is pronounced properly. here is what I found in the logs...

GOOD:
<?xml version='1.0'?><speak xml:lang="fr-FR"><prosody rate="-8%"><voice name="Virginie"><speak>Veuillez composer maintenant les deux premiers chiffres du numéro de l&apos;unité de gestion de la faune représentant votre premier choix. Si votre unité de gestion de la faune comprend plus d&apos;une sous-unité, on vous demandera un peu plus tard de mentionner la sous-unité de votre choix.</speak></voice></prosody></speak>

BAD:
<?xml version='1.0'?><speak xml:lang="fr-FR"><prosody rate="-8%"><voice name="Virginie"><speak>
Vous avez composé l\&apos;unité de gestion de la faune, suivante, 2 , 0 , </speak></voice></prosody></speak>

I notice that the bad pronunciation has the \ character still! the place that pronounces it properly does not... what would cause the \ to remain sometimes and not others?
Offline

support

  • Posts: 3627
  • Joined: Mon Jun 02, 2003 3:47 pm
  • Location: Boston, MA

Re: French accent mark

PostWed Feb 20, 2019 10:08 am

Hello,

Rather than escaping the apostrophe/accent mark like "l\'unité", we would recommend you instead replace every instance of ' with &apos; -- this is the best way to ensure that your prompts will be pronounced correctly every time. Please let us know if you have any further questions.

Regards,
Plum Support
Offline

gork

  • Posts: 9
  • Joined: Wed Feb 07, 2018 4:09 pm

Re: French accent mark

PostFri Feb 22, 2019 8:52 am

I modified my code to replace ' with &apos; as suggested and I am back to the original problem. The log shows ' even though I replace with &apos; log below...

Fri 22 Feb 2019 08:40:59.177 AM EST (400051;002;1550842758) [vxi] EVENT: VXI::assign_element(name="waitPrompt" expr = "'Pour acheter votre permis de chasse au chevreuil et participer au tirage pour la chasse au chevreuil sans bois, vous devez avoir le numéro de quinze chiffres d'une Carte Plein air valide, une carte de crédit Visa ou MasterCard valide, et le numéro de l'unité de gestion de la faune que vous avez choisie. Veuillez avoir votre Carte Plein air et votre carte de crédit à portée de la main. Si vous avez déjà acheté un permis de chasse au chevreuil cette année, vous ne pouvez pas utiliser ce système téléphonique.'")
Fri 22 Feb 2019 08:40:59.177 AM EST (400051;002;1550842758) [jsi] ERROR: missing ; before statement line 1
Fri 22 Feb 2019 08:40:59.178 AM EST (400051;002;1550842758) [jsi] ERROR: SyntaxError: missing ; before statement line 1
Offline

support

  • Posts: 3627
  • Joined: Mon Jun 02, 2003 3:47 pm
  • Location: Boston, MA

Re: French accent mark

PostMon Feb 25, 2019 9:52 am

Hi,

There are a few different ways you can go about escaping a ' when assigning a prompt to a variable. First, you can define your attributes with double quotes, and include your prompt in single quotes with the ' escaped:

Code: Select all
<var name="waitPrompt" expr="'Pour acheter votre permis de chasse au chevreuil et participer au tirage pour la chasse au chevreuil sans bois, vous devez avoir le numéro de quinze chiffres d\'une Carte Plein air valide, une carte de crédit Visa ou MasterCard valide, et le numéro de l\'unité de gestion de la faune que vous avez choisie. Veuillez avoir votre Carte Plein air et votre carte de crédit à portée de la main. Si vous avez déjà acheté un permis de chasse au chevreuil cette année, vous ne pouvez pas utiliser ce système téléphonique.'"/>


You can also choose to define your attributes in single quotes, and include your prompt in double quotes with the ' inserted as &apos; :

Code: Select all
<var name='waitPrompt' expr='"Pour acheter votre permis de chasse au chevreuil et participer au tirage pour la chasse au chevreuil sans bois, vous devez avoir le numéro de quinze chiffres d&apos;une Carte Plein air valide, une carte de crédit Visa ou MasterCard valide, et le numéro de l&apos;unité de gestion de la faune que vous avez choisie. Veuillez avoir votre Carte Plein air et votre carte de crédit à portée de la main. Si vous avez déjà acheté un permis de chasse au chevreuil cette année, vous ne pouvez pas utiliser ce système téléphonique."'/>


For cases where the prompt is not being assigned to a variable and is directly in between prompt tags, you should always use &apos; :

Code: Select all
<prompt>Pour acheter votre permis de chasse au chevreuil et participer au tirage pour la chasse au chevreuil sans bois, vous devez avoir le numéro de quinze chiffres d&apos;une Carte Plein air valide, une carte de crédit Visa ou MasterCard valide, et le numéro de l&apos;unité de gestion de la faune que vous avez choisie. Veuillez avoir votre Carte Plein air et votre carte de crédit à portée de la main. Si vous avez déjà acheté un permis de chasse au chevreuil cette année, vous ne pouvez pas utiliser ce système téléphonique.</prompt>


We would recommend you always use one of these three methods in order for your accent mark and pronunciation to remain consistent throughout the application.

Regards,
Plum Support
Offline

gork

  • Posts: 9
  • Joined: Wed Feb 07, 2018 4:09 pm

Re: French accent mark

PostThu Mar 21, 2019 4:04 pm

Now I am having an issue with it skipping over a part of the sentence... here is part of the log where the issue happens:

...
Thu 21 Mar 2019 03:50:34.494 PM EDT (300053;004;1553197776) [prompt] EVENT: Audio segment added to prompt queue from TTS application/synthesis+ssml for:
---------
<?xml version='1.0'?><speak xml:lang="fr-FR"><prosody rate="-8%"><voice name="Virginie"><speak>&quot;Vous avez choisi de participer au tirage à l&apos;orignal ,,, Pour acheter un permis de chasse à l&apos;orignal et vous inscrire au tirage, vous devez avoir le numéro de quinze chiffres d&apos;une Carte Plein air valide, une carte Visa, débit Visa, MasterCard ou débit MasterCard valide, et soit votre code de chasse de trois chiffres ou votre numéro de référence de groupe de 7 chiffres. Si vous n&apos;avez pas cette information, veuillez vous reporter à l&apos;édition courante du Résumé des réglements de la chasse avant de rappeler. Si vous avez déjà acheté un permis de chasse d&apos;orignal pour cette année, vous ne pouvez pas utiliser ce système.&quot;
</speak></voice></prosody></speak>
---------
Thu 21 Mar 2019 03:50:34.770 PM EDT (300053;004;1553197776) [prompt] EVENT: Newly queued prompts are now being played
...

The log shows the entire message but it doesn't voice all of it. It drops: "édition courante du Résumé des réglements de la chasse avant de rappeler. Si vous avez déjà acheté un permis de chasse d"
Offline

support

  • Posts: 3627
  • Joined: Mon Jun 02, 2003 3:47 pm
  • Location: Boston, MA

Re: French accent mark

PostFri Mar 22, 2019 3:23 pm

Hello,

Our engineers are looking into this.
We will keep you updated on this issue.

Regards,
Plum Support
Offline

support

  • Posts: 3627
  • Joined: Mon Jun 02, 2003 3:47 pm
  • Location: Boston, MA

Re: French accent mark

PostMon Mar 25, 2019 3:01 pm

Hello,

After further testing we have determined that this is a limitation of the RealSpeak TTS engine. We have tested your code with Vocalizer 6, a newer Nuance TTS engine that has similar characteristics, and have not experienced any issues. We are currently alpha testing Vocalizer 6 within our infrastructure, but we anticipate it being available for beta testing across our infrastructure in approximately 1 month, and would recommend you try using it with your code at this time. We apologize for this inconvenience.

Regards,
Plum Support
Offline

gork

  • Posts: 9
  • Joined: Wed Feb 07, 2018 4:09 pm

Re: French accent mark

PostMon Mar 25, 2019 3:11 pm

Can you explain what is happening or give any advice on how to avoid this issue in the short term? I need this working in production next week.
Offline

support

  • Posts: 3627
  • Joined: Mon Jun 02, 2003 3:47 pm
  • Location: Boston, MA

Re: French accent mark

PostTue Mar 26, 2019 8:34 am

Hello,

In the short term we would recommend breaking up your code like this:

Code: Select all
<?xml version="1.0"?>
<vxml version="2.0">
<form>
 <block>
  <prompt bargein = "false">
   <speak xml:lang="fr-FR"> <prosody rate="-8%"> <voice name="Virginie">
     Vous avez choisi de participer au tirage à l&apos;orignal ,,, Pour acheter un permis de chasse à l&apos;orignal et vous nscrire
     au tirage, vous devez avoir le numéro de quinze chiffres d&apos;une Carte Plein air valide, une carte Visa, débit Visa,
     MasterCard ou débit MasterCard valide, et soit votre code de chasse de trois chiffres ou votre numéro de référence de
     groupe de 7 chiffres.
   </voice>
   </prosody>
   </speak>
  </prompt>
 </block>
 <block>
  <prompt bargein = "false">
   <speak xml:lang="fr-FR"> <prosody rate="-8%"> <voice name="Virginie">
     Si vous n&apos;avez pas cette information, veuillez vous reporter à l&apos;édition courante du Résumé des réglements de la
     chasse avant de rappeler. Si vous avez déjà acheté un permis de chasse d&apos;orignal pour cette année, vous ne pouvez
     pas utiliser ce système.
   </voice>
   </prosody>
   </speak>
  </prompt>
 </block>
</form>
</vxml>


We have tested and confirmed that this works correctly with the RealSpeak TTS engine.

Regards,
Plum Support
Offline

gork

  • Posts: 9
  • Joined: Wed Feb 07, 2018 4:09 pm

Re: French accent mark

PostTue Mar 26, 2019 12:45 pm

Thank you for the suggestion but I am concerned with the root issue and how to avoid it. Our client has control over the messages that our product voices. The messages are stored in a database and the client has access through a webpage to alter them. I need to understand the issue so I can put safeguards in place to avoid it going forward. Is it simply the number of accent marks in a single message?

Thanks!
Offline

support

  • Posts: 3627
  • Joined: Mon Jun 02, 2003 3:47 pm
  • Location: Boston, MA

Re: French accent mark

PostWed Mar 27, 2019 9:52 am

Hello,

We believe the root issue is the amount of "&apos;" within each individual prompt.
This can be avoided by limiting the use to 2-3 per prompt.
We apologize for this inconvenience.

Regards,
Plum Support

Return to Plum DEV Q&A

Who is online

Users browsing this forum: Google [Bot] and 1 guest