Asterisk/Digium Cepstral README Rev 1.1 ------------------------------- [Download Procedure] The Allison voice, res_cepstral binary, and register utility may be downloaded from the following sites: Allison Voice, 32-bit http://downloads.cepstral.com/cepstral/i386-linux/Cepstral_Allison-8kHz_i386-linux_5.1.0.tar.gz Allison Voice, 64-bit http://downloads.cepstral.com/cepstral/x86-64-linux/Cepstral_Allison-8kHz_x86-64-linux_5.1.0.tar.gz res_cepstral http://downloads.digium.com/pub/telephony/res_cepstral/ NOTE: Choose version matching your Asterisk version and appropriate architecture 32/64-bit. Even though Asterisk Business Edition installations already include res_cepstral, users will need to download this updated version of res_cepstral for proper functionality. Asterisk Business Edition B.x users should use Asterisk 1.2 version. Asterisk Business Edition C.x users should use Asterisk 1.4 version. Register Utility http://downloads.digium.com/pub/register [Installation Procedure] Refer to the General Notes section if you have any problems regarding res_cepstral. 1) Refer to the Download Procedure section in order to obtain the correct res_cepstral binary, Allison voice, and register utility for your system. These step-by-step instructions are assuming that the res_cepstral binary, Allison voice, and the register utility have been downloaded to the root home directory of your Asterisk server. 2) Uncompress the Allison voice tarball. * Command Line Example * tar -xzvf Cepstral_Allison-8kHz_i386-linux_5.1.0.tar.gz 3) Install the Allison voice. Accepting the defaults for each option given will work. * Command Line Example * cd Cepstral_Allison-8kHz_i386-linux_5.1.0 ./install.sh 4) Configure dynamic linker run time bindings to include the newly installed swift libraries: * Command Line Example * echo "/opt/swift/lib" > /etc/ld.so.conf.d/swift.conf ldconfig 5) Copy the downloaded res_cepstral shared object binary to the Asterisk modules directory. Asterisk Business Edition customers, may backup their existing res_cepstral.so file prior to the copy: * Command Line Example * cp res_cepstral.so /usr/lib/asterisk/modules/ 6) Change the permissions of the /root/register file to r-x------. Change the user and group ownership of the /root/register file to "root". * Command Line Example * chmod 500 /root/register chown root.root /root/register 7) Internet access is required from your Asterisk server in order to register your Cepstral product key for licensed use. Outgoing network traffic on TCP port 443 (SSL) must be allowed in order for the register utility to successfully communicate with Digium's license server and complete the registration process. The registration utility will prompt you for your Cepstral license key. * Command Line Example * /root/register 8) Asterisk must be restarted in order to load your new res_cepstral licensed voice and/or ports. * Command Line Example * asterisk -rx "restart now" 9) Verify that the number of Cepstral licensed ports and/or voices available to Asterisk matches the number ports and/or voices of that you purchased. This can be verified by issuing "cepstral show licenses" in the Asterisk CLI. Take into consideration any previous Cepstral licensed ports and/or voices that you may have already had registered to your Asterisk server before verifying this number. * Command Line Example * asterisk -rvvv *CLI> cepstral show licenses Cepstral Licensing Information ============================== Allison Voice Enabled: yes Total licensed ports: 14 10) To use the Allison voice with res_cepstral from the Asterisk dialplan you will need to add something similar to the following to an extension in your extensions.conf: exten => 123,1,Set(VOICE=Allison-8kHz) exten => 123,n,SayText(Thank you for buying the the Allison Cepstral voice) 11) Follow the instructions provided in the Backup Procedure section. [Usage] SayText(text[|options]) Says the text 'text' using the Cepstral TTS engine and returns -1 on hangup or 0 otherwise. If option 'i' is specified, the user may interrupt the text with a digit, and it will be intepreted as the beginning of an extension. If the option 'n' is specified, the line will not be answered if it isn't up. SayFile(file[|options]) Says the file 'file' using the Cepstral TTS engine and returns -1 on hangup or 0 otherwise. If option 'i' is specified, the user may interrupt the file with a digit, and it will be intepreted as the beginning of an extension. If the option 'n' is specified, the line will not be answered if it isn't up. [Backup Procedure] *** It is extremely important that you backup all of the files located in the *** *** /var/lib/asterisk/licenses directory. This directory contains the Host-ID *** *** specific license files for your system. These license files are tied to the *** *** MAC address of all the ethernet devices installed in your system. Creating a *** *** backup of this directory will allow you to restore your res_cepstral license *** *** file in case you need to reinstall your operating system. This will help *** *** prevent you from needing to contact Digium to request authorization to *** *** increment your Cepstral key and from needing to purchase a new Cepstral key *** *** if you exceed the maximum number of Cepstral key increments allowed. *** [General Notes] - Multiple Cepstral keys may be registered to the same Asterisk server. This will allow you to increase the total number of available Cepstal licensed ports and/or voices on your Asterisk server. New Cepstral keys may be registered to your Asterisk server using the same instructions provided in the Installation Procedure section. There will be an additional res_cepstral license file generated in the /var/lib/asterisk/licenses directory for each Cepstral key that is successfully registered to your Asterisk server. It is extremely important that you follow the instructions provided in Backup Procedure section whenever a new Cepstral key is successfully registered to your Asterisk server. - A Cepstral key must be re-registered if any of the Ethernet devices in your Asterisk server are changed, added, or removed. The unique res_cepstral license file which is located in your /var/lib/asterisk/licenses directory is tied to the MAC address of all the Ethernet devices installed in your system. A Cepstral key can only be re-registered once without authorization from Digium. Digium must be contacted by phone in order to request authorization to have your Cepstral key incremented. Digium reserves the right to deny authorization for having a Cepstral key incremented. - It is not required or suggested to specify a load line in the /etc/asterisk/modules.conf for the res_cepstral.so file. Asterisk will automatically load it using the autoload option. The autoload option is set on by default. [Frequently Asked Questions] - How can I alter my text to control how the Cepstral voice reads it? You can use SSML - the Speech Synthesis Markup Language. For more information about using SSML with Cepstral voices, please visit http://www.cepstral.com/cgi-bin/support?page=ssml - What do I do if a word isn't pronounced correctly? Word pronunciations are specified in the lexicon. Pronunciations for words not known to the lexicon are generated using a statistical model. Many words have more than one possible pronunciation. These words are known as homonyms or homographs. The Swift engine tries to disambiguate, or guess which of the possible pronunciations is correct. For example, the word "read" can be either a present- or past-tense verb. "I like to read books" -> should be pronounced "reed" "I read that book last week" -> should be pronounced "red" Pronunciation of the word "graduate," on the other hand, depends on whether it is a verb or a noun. "Congratulations to the graduates of 2004" -> should be pronounced "gra-dyu-its" "He will go to medical school after he graduates" -> should be pronounced "gra-dyu-eyts" Depending on your application, you may wish to force one pronunciation to be chosen. This can be done by creating or editing the lexicon.txt file. You can also customize pronunciations by adding them to lexicon.txt. The typical location for lexicon.txt is /opt/swift/voices/Allison-8kHz/lexicon.txt Another way to change how a word is pronounced is to embed pronunciations as you would wish them spoken into the text, using SSML. Note, that once an entry is added to the lexicon file, all occurrences of that word will be pronounced using the specified phonemes. Visit http://www.cepstral.com/cgi-bin/support?page=lexicon for more information. - How can I enter embedded pronunciations of words in-line with text? res_cepstral supports the Speech Synthesis Markup Language (SSML) as the default input mode for the synthesizer, with our own phoneme set for specifying pronunciations. With this you can put in-line pronunciations, and other mark-up defined in SSML. Our phonetic alphabet is the one that you also use when making entries into a swift voice dictionary (lexicon.txt). Example: Welcome to Cepstral. Visit http://www.w3.org/TR/speech-synthesis/ for more information. - How do I use the real-time special effects? The easiest way to set effects globally is to save the individual parameters in a text file called 'default.sfx' and save that in the voice's data directory (see below). Then the voice will automatically use that SFX file when it speaks. The voice data directory (with Allison's voice, for example) is typically at: /opt/swift/voices/Allison-8kHz/default.sfx There are several sample SFX files included with our voices which can be used as a starting point for creating your own effects. Also, if you're an audiophile and feel comfortable in a virtual rack environment, feel free to use Cepstral's SpeechFX Rack to create SFX files which Swift can use. Visit http://demos.cepstral.com/cepstral/demos/sfx/rack.cgi for more information. - How do I make a voice louder? Using the technique described in the SFX section, create a file called 'default.sfx' and save that file in the voice's data directory. Then add the following line to the 'default.sfx' file: GAIN 2 The range can be from 0 to infinity, with 1 being the default. The value is a multiplier. "GAIN 2" is twice as loud as default, and "GAIN .5" is half as loud as default. You may have to play with the levels to get it just right, since some voices may pop if the signal becomes too strong. ---------------------------- Contact the Digium Technical Support Department by phone, either toll free at 1-877-DIGIUM1 (1-877-344-4861) or locally at 1-256-428-6000, if you have any questions or concerns. You may also contact Digium Technical Support by visiting http://www.digium.com/support.