TextToSpeech Module Updated - Need a little help and advice

Sounds like you’re making great progress! Just downloaded the latest to take a look. I’ll give you feedback once I get a chance to play with it.


I’ve had some problems with the release of this module since I thought that I fixed the dial-pattern matching to allow single and multiple extensions by changing “_X” to “_X.” but I think that I broke the module’s Direct Dial feature since the new “_X.” dial-pattern wants a minimum of 2-digits since “.” means one-or-more.

I have to release another fix to allow single or multiple dial-pattern matches. - 2009-11-24 - JakFrost

Fix: Fix for the previous fix since it allowed multiple-digit extension Direct Dialing but it broke single-digit extensions previously used the dial pattern “X." that requires multiple-digits and now using the correct pattern "[#0-9]!" for one or more digits and "” and “#” signs. - 2009-11-25 - JakFrost

Fix: Fixed Timeout ‘t’ extenstion events and set proper gotos for extensions. The logic was not thought out properly so it was broken.

Fix: Fixed the previous fix and removed the “[*#0-9]!" pattern since it short-circuits on single-digit entry and replaced it with the general ".” pattern to match everything, single-digit, multiple-digit, “*” and “#” and special “h” and “i” events. However the “.” pattern does not seem to match timeout “t” events that it is supposed to so there is a separate Timeout event goto also afterwards.

Note: I read that the “." pattern is not recommended and there are warnings produced when using it but it is absolutely the most appropriate usage for correct and forward-compatible pass-though of pressed keys and extensions from Text To Speech to IVR like destinations. The “!” pattern cannot be used for single or multiple matches because it short-circuits to the shortest match, not the longest match. Using multiple patterns such as "[#0-9]" and "_[#0-9].” is possible that it doesn’t pass through special extensions such as “i” or “h” that are not handled internally by Text To Speech module but are handled correctly by IVR. If there are complaints then the “_.” pattern can be switched to the two patters I mentioned before, but for now it is the proper pass-through solution since it is the shortest and neatest one.

I read the Nerd Vittles - Allison’s Text-to-Speech Trifecta: Cepstral, Asterisk 1.4 or 1.6, and FreePBX 2.4 that recommended Cepstral’s Allison voice. I downloaded this voice and listened well to it only to find that it had problems with pronunciation of common words, making them sound unnatural. I then tried the Diane voice which sounded better than Allison but it still had a in-human sound to it.

After some more testing I decided to give the little known Cepstral Callie voice a try and found that this is the best and most natural sounding human-like voice out of the bunch and now I heartily recommend Callie over the two other inferior alternatives. The speed of the voice is a little faster than the other two but it sounds much more natural.

I have the latest FreePBX/AsteriskNow dist ( Asterisk 1.4.28

And am wondering if I buy The Cepstral Aloison starter kit from Digium, will it be a simple process to get it to work? Or shoudl I not bother?


Simple is a matter of perspective. It installs and works fine.

I did not know Digium was reselling Cepstral products. Does the package include app_flite?

is app_flite a replacement for swift?
Because I can’t get swift to compile.

Here’s the Digium/Cepstral “Allison” link: http://www.digium.com/en/products/software/cepstral.php

I meant app_swift…That was a mistake.

Looks liek app_swift no longer needed with the SayText() and SayFile() applications.

Very slick.