VoiceGuide IVR Software Main Page
Jump to content

Acapela TTS Arabic with Voice Guide

Recommended Posts

Dear VoiceGuide,

I am using VoiceGuide Enterprises+Dialer.

I am going to  install acapela tts on server.I want to SAPI TTS to read the text of English and Arabic based on selection from user(Example:Press 1 for Arabic,press 2 for English) once user press 1 script will go on as Arabic scenario.

Let me know how can i set up the above scenario as well as if i placing Arabic text its showing as "????" please check the image below

Log.PNG

Share this post


Link to post

Can you please try placing the Arabic text in a text file (with a ".txt" suffix) and then specifying that .txt file as the 'Sound file to be play'.

If a text file is specified in the ”Sound file to be play” text box then VoiceGuide will read in the text file and will speak (TTS) the contents of that file.

We are working on version of script designer that will allow you to use Arabic etc languages in the "Text-to-Speak" etc. text boxes.

Share this post


Link to post

Ok I will place  Arabic text in  .txt file but any configuration needed for TTS.

Share this post


Link to post

The default TTS engine to use by the system is set in VG.INI, in section [TTS]. Please see here for more information:

https://www.voiceguide.com/vghelp/source/html/config_tts.htm

If you have multiple TTS languages from same vendor then it is usually possible to switch languages by including tags in the text to indicate what language TTS should be used. Please refer to your TTS supplier's documentation.

Share this post


Link to post

Hi ,

I want to set SAPI Engine type dynamically based on languages selection.

Welcome to Company,Press 1 for Arabic,Press 2 for English,

once the user press1,

i want to set $RV[tts_EngineType]= Arabic

if press 2,

$RV[tts_EngineType]=English

Let me know how can i handle this 

Share this post


Link to post

Acapela supports SSML tags (Speech Synthesis Markup Language) in the text to be spoken.

So in the text to TTS you can select which of the installed voices is to be used. See example below.

Pretty much all TTS providers support SSML. You can refer to your TTS providers documentation for details of what features of SSML they support.

SSML example:

<speak>
    <voice name="Kendra"><lang xml:lang="en-US">Hello, I'm Kendra.</lang></voice>
    <voice name="Brian"><lang xml:lang="en-GB">And I am Brian.</lang></voice>	
    <voice name="Kendra"><lang xml:lang="en-US">This is Kendra again!</lang></voice>.
</speak>

 

Share this post


Link to post

You are asking me to placed this text in Text To Speech right? if in that case Arabic language wont work.

8 minutes ago, SupportTeam said:

<speak> <voice name="Kendra"><lang xml:lang="en-US">Hello, I'm Kendra.</lang></voice> <voice name="Brian"><lang xml:lang="en-GB">And I am Brian.</lang></voice> <voice name="Kendra"><lang xml:lang="en-US">This is Kendra again!</lang></voice>. </speak>

So i already have installed TTS for Arabic as well as English based on the selection i want to continue my script.

So it will be helpful for me to provide a syntax for Setting TTS dynamically .

Share this post


Link to post

Please check the Attach document TTS Support SSML 

let me know how can i use this in VoiceGuide also any configuration need to be done in VG file if i am using SSML.

SSML-Support.pdf

Share this post


Link to post

Attached document shows that both <voice> and <lang> SSML tags are supported. See page 8 of the document that was attached in preceding post.

Share this post


Link to post

Ok but how to use them where to place those SSML Tag in IVR

We need to set SAPI ENGINE if using SSML TAG

Share this post


Link to post

The SSML tags are used in the text that is sent to the TTS engine.

The default SAPI engine would be set to one of the Acapela engines, and then the SSML tags in the text to be spoken can be used to switch between the engines.

 

Share this post


Link to post

Please check the images attach.

First i have set a default SAPI TTS in VG then i place a SSML tag in text file  but its only speaking default one not the other one.

VoiceGuideVG.PNG

TestIVR.txt

welcome.PNG

Share this post


Link to post

You should contact Acapela support for confirmation on how they need the SSML tags specified.

Were any examples provided by Acapela that demonstrate SSML use?

Acapela documentation says that they support:

SSML v1.0  - https://www.w3.org/TR/speech-synthesis/

and

SSML v1.1 - https://www.w3.org/TR/speech-synthesis11/

so maybe yo need to change your current:

<speak>
<voice name="Leila">اهلا كيف انت</voice>
<voice name="Sharon">Welcome To global Arabian modern application</voice>  
</speak>

to:

<?xml version="1.0"?>
<speak version="1.1" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.w3.org/2001/10/synthesis
                 http://www.w3.org/TR/speech-synthesis11/synthesis.xsd"
       xml:lang="en-US">   
<voice name="Leila">اهلا كيف انت</voice>
<voice name="Sharon">Welcome To global Arabian modern application</voice>  
</speak>

to fully adhere to the SSML v1.1 specification. But most TTS providers do not require all theses headers to be specified.

Some would work without the <speak> tag, so all that you would need in the .txt file would be:

<voice name="Leila">اهلا كيف انت</voice>
<voice name="Sharon">Welcome To global Arabian modern application</voice>  

You just have to use whatever they support.

 

Also, note that your current TTS text is the same for every call. For static files its recommended to use the .WAV files instead of having the system generate speech using TTS on every call. This way you will avoid the slight delay that happens with TTS generation.

VoiceGuide saves the TTS generated sound files in VoiceGuide's \temp\ subdirectory, so if some TTS is static then you can use any of the files saved there as files to be used on future calls.  (copy file you will use to new location first).

Share this post


Link to post

This version of VoiceGuide now supports changing of TTS engine during VoiceGuide callflow:

[link removed. changes included in v7.6.5 onwards]

Setting of TTS engine is done by assigning the name of TTS engine to this Result Variable:

$RV[TTS_SAPI_Engine]

This assignment can be made using an Evaluate Expression module, or using any other method that allows setting of Result Variables.

Here is a VoiceGuide callflow that demonstrates usage, and screenshot of the callflow as it looks like in the Script Designer:

test_tts_rv.vgs

test_tts_rv_screenshot_1.png

 

To change from one release of VoiceGuide v7 to another:

1. Stop VoiceGuide Service and exit all VoiceGuide programs. (eg Script Designer, Line Status Monitor, etc) and all other programs.

2. Run the VoiceGuide install and install into same directory as existing installation. (Do NOT uninstall the previous VoiceGuide installation).

3. Start VoiceGuide service.

Running a VoiceGuide install over the top of an existing install will NOT overwrite existing configuration or license files (Config.xml, ConfigLine.xml, VG.INI, etc) and will not remove any of users script or sound files, and will not remove any log files etc.

Edited by SupportTeam
Link Removed

Share this post


Link to post

Ok i  will test this scenario.

I truly appreciate your support.Thanks

Share this post


Link to post

Dear VoiceGuide,

Please check the attach file wan to confirm this file is  "U-Law 8 khz 8 it Mono".

I generated this file using Acapela TTS.

ThankyouEnglish.wav

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×