Using other text-to-speech engine

Question:

Why Voicent Gateway does not support other SAPI based text-to-speech engine?

Answer:

There are both technical and licensing issues:

1). Technically, a SAPI-based TTS engine can generate voice given a block of text. To use it over the telephone, you need additional functions from Voicent Gateway. These functions include dynamically manage TTS audio streams with pre-recorded audio streams; serve the TTS audio streams simultaneous to multiple channels (TTS engine server); caching TTS audios to reduce CPU usage, etc. All these functions are not part of the TTS engine.

This part of the TTS functionality, including the Paul & Kate voices, is an add-on product to Voicent Gateway. It is sold separately.

2). TTS engine and voices are normally priced according to whether it is a desktop version or server version. Most vendors, including Voicent, charge a lot more for server version than desktop version. We are not selling the desktop TTS engine as a separate product. Since without the server functionalities, this TTS engine cannot be used to make phone calls.

3). Licensing wise, some big name vendors specifically prevent us from enabling their TTS engines. So if a Voicent customer buys their TTS engine through other companies, we are not allowed to enable it. In order to enable their TTS engines, we have to license their server version, which costs a lot more than Voicent TTS engine for telephone.

4). You can use your existing TTS engine to generate an audio file. Then use that audio file to play over the phone. But you will not be able to dynamically generate the audio using other TTS engines.

Posted in Appointment Reminder, Auto Dialer, Gateway, General, Product Usage |

AutoReminder: appointment reminder integration

Question:

How can I setup a centrally located (co-located) dialer that will confirm appointments for multiple doctors offices (different locations)? Can I accomplish this with the Voicent Auto reminder. Or do I need to buy the SDK? Each office will have its own unique message. How can I integrate with SQL / MySQL?

Answer:

Yes, you can accomplish that with AutoReminder. Here is a few suggestions:

1). Run Auto reminder in a central location. Turn on the web access interface so the software will
act as a web server. Details are listed in the following web page.

http://www.voicent.com/devnet/reminder_integ.htm

2). You can use the Message Designer to design a customized message template for each location. When a new appointment reminder call request is created, specify the message template name (Message ID).

3). You can keep track of all appointments in your own application that uses mysql. For example, a new appointment from one of the location is sent to your own application, and data are saved in mysql. You then send the information to auto remidner through the http interface. After the specified call time, you can query the auto reminder for the call status. Save the status in the mysql database.

Question:

How do I receive the key presses the caller made? How can I use these functions to
gather a touch response number and possibly transfer them to a live operator on key press? Do any of the integration methods (Perl, JS, whatever) support the described features?

Answer:

4). With Auto Reminder integration, you do not directly gather touch tone responses. The touch tone response is handled by the Message Designer. For example, if you designate “press 1″ as “confirmed appointment”, you can query the appointment confirmation status to see if an appointment is confirmed.

5). For call transfer with a touch key, it is accomplished the same way as 4). You desinate a key for call transfer, and when the person received the call presses that key, the call is transferred. Your program can query the confirmation status to see if the call is transferred or not.

6). As you can see, you do not directly control the key and how the message is played. Your program simply sends new appointment call request to autoreminder, and later on query the call status and confirmation status. It is very much language independent.

7). What you designed with the Message Designer is a message template. The template might contain variables such as the person’s name, appointment time, etc. These variables will be substituted by the actual values of each phone call.

If you want further customization, then you should consider using the Voicent Gateway directly. You will need to write your own VoiceXML files, and handle key press status, etc. For more information, please see:

Voicent Gateway Tutorial

Voicent Gateway Outbound Call Tutorial

Posted in Appointment Reminder, Developer, Product Usage |

Why there is initial delay for outbound calls

The initial delay is caused by:

1). Modem/computer delay when playing the audio file

There is little room to improve. This has more to do with audio stream going through the IO bus and to the modem and to the phone line.

2). Live human and answering machine detection.

When the phone is answered, it could be a live person or answering machine. The system needs some time to detect the situation based on collected statistics. This detection requires up to a few (3) seconds.

3). Application delays

If you develop an application based on Voicent Gateway, and your initial VoiceXML file is dynamically generated, there might be delays there too.

The Text-to-speech engine takes some time to generate an audio stream. So it is recommended to convert text to audio offline as much as possible. Voicent Gateway actually pre-generate the initial text to audio before the call is made, so for a single line system, this does not contribute too much time to the initial delay. But for a muti-line system, the text-to-speech will slow down the overall system due to its large computational requirement.

4). Really slow and old computer

Most of today’s computers are fine for Voicent applications, especially for a single line system. For multi-line system, you do need a decent computer. You can use Windows task manager to see whether your computer is using too much CPU and memory during outbound calls. Please also check the FAQ for what type of the system you need.

-

So in general, there will be 2-3 seconds initial delays. And for most people, the system will start to play the message after he/she says the second hello.

The following is a special situation that you can set to reduce the delays:

If you do not care about answering machine, you can bypass the human vs answering machine detection. So the system can play the message as soon as it recognizes any human voice. The drawback is that the sytem will treat all answering machine as live human pickup, and all answering machine messages will be cut off at the beginning.

Posted in Appointment Reminder, Auto Dialer, Developer, Gateway |