Since I did not like Asterisk’s default Text2Speech program Festival due to its weird machine voice. Therefore with couple of suggestions I decided to use Cepstral TTS program which I found a lot better in demo and I found quite feasible according to my requirements. Then after I was looking for the Cepstral application module that I could integrate with my Asterisk 1.2.x, but unfortunately I have been facing so hard experience, I tried different Cepstral module but I haven’t had luck to make them properly work. Finally I found Swift module application that worked just fine for me. So I thought to share my thoughts with you guys as under:
[general]
voice=Katrin ; set german female voice as default, otherwise use system default
goto_exten=yes ; wether to jump to the extension when a key was pressed
buffer_size=65535 ; Number of bytes of audio data to buffer from the Swift libraries.
; 8192 (8kbytes ~1second) is a practical minimum
How-to Swift TTS make work with Asterisk:
In the first hand go to Cepstral website Cepstral Voices and download your favorite voice, in my case I liked David voice. If you have downloaded more than one voice, you can select any of them to be active from the swift.conf as mentioned in following example:
1. Download Swift module from the following link:
app_swift-0.9.tar.gz for Asterisk 1.2 (no longer maintained)
app_swift-0.9.1.tar.gz for Asterisk 1.4 2.
2. Extract the Swift package you just downloaded:
[root@daud ~]# tar -xzf app_swift-release.tgz
3. Change directory to swift and run the following command:
make install
for Asterisk 1.2 (no longer maintained) for Asterisk 1.4 2. Extract the Swift package you just downloaded:3. Change directory to swift and run the following command:
4. Simply restart asterisk and load the app_swift.so module with the following command:
load app_swift.so
5. Show application Swift
contratulation, you have successfully installed the Swift module and it should be ready to read your text in dialplan, as in example below:
6. open extensions.conf and put the following example to test it:
exten => s,1,Wait(2) ; give it 2 seconds to open the line
exten => s,2,Swift(This text is going to get spoken by the Swift engine to the caller)
exten => s,3,Swift(You can press buttons on your keypad at any time)
exten => 1,1,Swift(Diane^You’ve pressed 1) ; set to english female voice
exten => 5,1,Swift(Next message here) ; set to German male voice



Point #3 not very clear…