Acapela Telecom Linux – Reference Manual

Acapela Telecom for Linux Reference manual

Ref. : 4488-TEC-DOC-BELE227M

Belgium

Sweden

France

33, boulevard Dolez

Englundavagen 7

3939, la Lauragaise

B-7000 Mons

PO Box 1328

BP 758

T+32(0)65 37 42 75

S-171 26 Solna

31683 Labège Cedex

F+32(0)65 37 42 76

T+46(0)8 799 86 00

T+33(0)5 62 24 71 00

F+46(0)8 799 86 01

F+33(0)5 62 24 71 01

Mail : [email protected] Web : http://www.acapela-group.com

1.

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

Document revisions

Version

Date

Subject

Author(s)

A

2001-11-30

Initial version

BL

B

2002-02-21

V3.101 (V3.10 Sp 1)

BL

Command line and interactive command update, V2 emulation support C

2002-04-19

V4.000 (2002 core TTS release)

BL

Dutch support added. NVIF added. D

2002-09-11

V4.100

BL

Non interactive mode support added.

E

2004-06-16

V5.100

NP

F

2005-05-20

V5.200

RD

G

2005-11-21

V5.250

EF

H

2005-02-20

V5.251

RD

I

2006-07-28

V6.000 New TCP/IP communication protocol

RD

J

2006-11-09

Add info to start Acapela Telecom as a service

RD

K

2007-05-25

V6.100

RD

L

2008/03/31

V6.200 New voices : Ania (Polish), Eliska (Czech), Sanna (Finnish), Elin (Swedish) New language : Polish

RD

M

2008/09/24

V6.300 New voices : Dimitris (Greek), Alyona (Russian), Ipek (Turkish), Rachel (British), Olav (Norwegian), Vittorio (Italian) New languages : Russian, Greek

RD

2/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

Table of contents

1. Introduction_____________________________________________6 1.1. About this document____________________________________________6 2. Installation______________________________________________7 2.1. Checklist_____________________________________________________7 2.2. Prerequisites__________________________________________________7 2.3. Installation___________________________________________________7 2.3.1. Linux installation.........................................................................................................7 2.3.1.1 Step 1: mount CD/DVD-ROM ..................................................................................7 2.3.1.2 Step 2: Install Acapela Telecom™ ............................................................................7 2.3.1.3 RPM package hints.................................................................................................8 2.3.2. Finalising the installation..............................................................................................8 2.3.2.1 Step 4: Configure protection mechanism...................................................................8 2.3.2.2 Step 5: Launch Acapela Telecom™ ..........................................................................9

2.4. Configuration file_______________________________________________9 2.4.1. The comdevice field.....................................................................................................9 2.4.1.1 Software key......................................................................................................10 2.4.1.2 USB key..............................................................................................................10 2.4.1.3 Serial key ...........................................................................................................10 2.4.2. The LOCALKEY field....................................................................................................10 2.4.3. The Data field...........................................................................................................10 2.4.4. The Log field.............................................................................................................10 2.4.5. The LogFile field........................................................................................................10 2.4.6. The LogLevel field......................................................................................................11

2.5. Upgrading the software__________________________________________11 2.5.1. New release..............................................................................................................11 2.5.2. Increasing the number of channels..............................................................................11

3. Product overview_________________________________________12 3.1. Architecture __________________________________________________12 3.1.1. Communication protocol, TCP/IP ports..........................................................................13 3.1.1.1 Command port.....................................................................................................13 3.1.1.2 Data port.............................................................................................................13 3.1.2. TTS thread handling...................................................................................................14

3.2. Acapela Telecom™ license scheme_________________________________14 3.2.1. Number of simultaneously used channels......................................................................14 3.2.1.1 Default real time rate control.................................................................................14 3.2.1.2 Batch mode real time rate control...........................................................................15

3.3. Sound generation output format___________________________________15 4. Acapela Telecom™ user interface_____________________________17 4.1. Description___________________________________________________17 3/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

4.2. Command line options__________________________________________18 4.3. Interactive commands__________________________________________18 4.3.1. Non interactive mode.................................................................................................19

5. Developing an application___________________________________20 5.1. Basic principles________________________________________________20 5.2. NSCAPI______________________________________________________20 5.2.1. API reference............................................................................................................21 5.2.2. Note about binary dependencies .................................................................................21

6. Troubleshooting__________________________________________22 6.1. Hardware key problems_________________________________________22 6.1.1. Selecting the USB/serial port......................................................................................22 6.1.2. Configuring the serial port..........................................................................................22 6.1.3. Other problems.........................................................................................................22

6.2. Execution problems_____________________________________________22 6.2.1. Common problems.....................................................................................................22

6.3. Support and online resources_____________________________________23 7. Appendix A: Package Contents_______________________________24 7.1. Documentation files____________________________________________24 7.2. TTS data files & NLP____________________________________________25 7.3. Information files _______________________________________________25 7.4. Program files _________________________________________________25 7.5. Library and headers files_________________________________________26 7.6. Sample source code files________________________________________26 8. Appendix B: Starting Acapela Telecom™ as a service______________27 9. Appendix C : Enabling lip-syncing informations__________________28 10. Appendix D : Enabling TTS log______________________________29

4/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

Figures and tables Figure 1: sample configuration file______________________________9 Figure 2: software architecture________________________________12 Figure 3: Sample monitoring window____________________________16 Figure 4 : Line status description_______________________________17 Figure 5 : command line options_______________________________17 Figure 6 : Acapela Telecom™ commands_________________________18 Figure 7: reference documents_________________________________24

5/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

1. Introduction Acapela Telecom™ offers a complete multi-channel and multilingual real-time solution that converts readable texts into natural sounding speech.

1.1. About this document •

Chapter 2 of this document explains how to install Acapela Telecom™ on a Linux system.



Chapter 3 describes the software and its components.



Chapter 4 explains different ways to use the software.



Chapter 5 explain how to develop an application.



Chapter 6 brings solutions to common problems.



Chapter 7 details the package contents.

6/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

2. Installation 2.1. Checklist The product is composed of : 

One DVD-ROM labelled Acapela Telecom TTS for Linux



One hardware key (dongle) for USB port

2.2. Prerequisites Your Linux system must meet the following hardware requirements : 

CD/DVD-ROM unit,



At least 256 mega-bytes of physical memory,



At least 200 mega-bytes of free disk space (depends of the number of voices installed),



A free USB port (or serial port (9600 bps, 8 bits, 1 stop, no parity) if you use SERIAL hardware key provided with previous version).

The operating system must be one of the following: 

RedHat Enterprise 3 or 4,



Linux O/S with kernel version 2.4 or upper with the RPM utility installed.

Installing RPM packages, mounting the CD-ROM drive or executing some shell scripts requires super user privileges. Therefore, you may need the assistance of your system administrator.

2.3. Installation 2.3.1. Linux installation 2.3.1.1 Step 1: mount CD/DVD-ROM 1. Insert the Acapela Telecom™ DVD in the appropriate drive, 2. Mount the CD/DVD-ROM (generally mount /cdrom or mount /mnt/cdrom), 3. Make the root directory of the CD/DVD-ROM your current directory. 2.3.1.2 Step 2: Install Acapela Telecom™ 1. With administrator privileges, run shell script : install-RPM.sh, 2. Follow the instructions. You will be given the choice to selectively install the Acapela Telecom server software, some or all of the voice data files, the NSCAPI client interface library, the NSCAPI KDE demo and sample source code, 7/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

3. You can alternatively use the rpm utility to install indivudually a package : rpm -i bin/acapela-telecom-xxx.rpm 4. To remove Acapela Telecom™ from your system, run shell script: uninstall-RPM.sh, 5. When the installation is completed, two directories are created : 

/etc/opt/Acapela/TelecomTTS containing initialisation files.



/opt/Acapela/TelecomTTS containing every other Acapela Telecom™ files. (Acapela Telecom™ main directory)

2.3.1.3 RPM package hints Commands

Effect

rpm –I

Install .

rpm –e

Uninstall .

rpm –qpl

List all files contained in .

rpm –qpi

Display information about .

rpm –qf

Indicate which package belongs to.

rpm –Va

Verify all packages installed.

rpm –qa

List all packages installed.

rpm –qa | grep speechcube

List all Acapela Telecom™ packages installed.

2.3.2. Finalising the installation 2.3.2.1 Step 4: Configure protection mechanism Acapela Telecom can be protected by 2 differents license system : 

software key (based on MAC address), that is default license system,



hardware key (Rainbow Sentinel USB key (or serial key). 2.3.2.1.1 Software key

1. Edit configuration file : /etc/opt/Acapela/TelecomTTS/nscube.conf as described in Configuration file to specify software key license system. Sofware key is based on MAC address and is specific to a computer. To get the MAC address value for the computer on which Acapela Telecom™ is running, use utility : /opt/Acapela/TelecomTTS/bin/macaddr.

8/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

2.3.2.1.2 Hardware key 1. Plug the dongle (hardware key) in a free USB or serial port of your server station. 2. Edit configuration file : /etc/opt/Acapela/TelecomTTS/nscube.conf as described in Configuration file to specify on which port the hardware key is connected. 2.3.2.2 Step 5: Launch Acapela Telecom™ 1. Type: cd /opt/Acapela/TelecomTTS/bin, 2. The Acapela Telecom™ is ready to run, 3. If you use USB hardware key, you must run Rainbow Sentinel daemon before launching Acapela Telecom by running : ./load_demon.sh start 4. To launch Acapela Telecom, type : ./acatel_srv 5. Press the ‘q’ key to exit.

2.4. Configuration file A configuration file is created at setup time. It contains Acapela Telecom™ initialization parameters. This file is named : /etc/opt/Acapela/TelecomTTS/nscube.conf. Figure 1: Sample configuration file [DONGLE] comdevice= LOCALKEY= [PATH] Data=/opt/Acapela/TelecomTTS/data Log=/var/opt/Acapela/TelecomTTS/log [LOG] LogFile=nscube.log LogLevel=1 2.4.1. The comdevice field In [DONGLE] section : comdevice=license system The comdevice key defines the used license system : 

MAC address based software key,



hardware key (comdevice is the port name on which is plugged the hardware key : comdevice=device name

9/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

2.4.1.1

Software key

With software key protection, you don't need a hardware key. The license system is : LOCALKEY (see The LOCALKEY field). This is the default license system. 2.4.1.2 USB key The device name is : USB. 2.4.1.3 Serial key The device name is one of the common device names for serial ports : /dev/cua0 /dev/cua1 /dev/ttyS0 /dev/ttyS1 NOTE : Sentinel Serial key is always supported. 2.4.2. The LOCALKEY field In [DONGLE] section : LOCALKEY=software key string When Software key protection is chosen, LOCALKEY field contains software key string based on MAC address. 2.4.3. The Data field In [PATH] section : Data= Contains the full path of the directory where the Acapela Telecom™ voice data files have been installed. 2.4.4. The Log field In [PATH] section : Log= Contains the full path of the directory where the Acapela Telecom™ will write log files. 2.4.5. The LogFile field In [LOG] section : LogFile= contains the name of the server log file (file is created in directory defined by [PATH]/Log key. 10/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

2.4.6. The LogLevel field In [LOG] section : LogLevel= defines the log level. values :

0 1 2 3 4

no log full logs initialisation, warning and error logs warning and error logs error logs only

2.5. Upgrading the software 2.5.1. New release Converting text into speech is a complex process the results of which are very subjective. We are constantly improving our products thanks not only to our intensive test procedures but also to our customers feedback. At least one major release per year is made available to our customers : we highly recommend you to install it. For information on how to get the updated versions, visit : http://support.acapela-group.com

or contact our sales. 2.5.2. Increasing the number of channels When you order a Acapela Telecom™, you have to specify the number of channels and the supported languages (see Acapela Telecom™ license scheme). If you later need more channels or new languages, you will have to conform to the following procedure: 1. Order the supplementary channels/languages (do not forget to indicate the serial number written on the hardware key), 2. Acapela sends you a file commonly named licelan.txt, 3. Copy this file in the main Acapela Telecom™ bin directory, 4. Run acatel_srv -u, 5. Follow the instructions, 6. Your hardware key is re-programmed with the right channels and languages.

11/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

3. Product overview Acapela Telecom™ for Linux is a streaming multilingual and multi-channel client/server Text To Speech system. It is composed of two main parts. •

The text-to-speech server (acatel_srv) performs the text to speech synthesis.



The NSC API client interface (library: libnscube.a / libnscube.so) allows applications to use the Acapela Telecom™ server.

The Acapela Telecom™ server allows multiple applications to connect from multiple client hosts (cross platform client/server is also supported) and to synthesize multiple texts with different languages/voices at the same time. (Depending on the licences, see Acapela Telecom™ license scheme ). The performance of Acapela Telecom™ server is tightly coupled to your physical network and its available bandwidth. If you can not guarantee the usage of the network link between your Acapela Telecom™ server host and the remote client hosts, it is recommended that you use it to do non real-time TTS such as batch sound file generation or that your client application(s) and your Acapela Telecom server reside on the same host.

3.1. Architecture Figure 2 shows the general Acapela Telecom™ organization: Figure 2: software architecture

Acapela Telecom server host

T C P I P

acatel_srv

12/29

libnscube

N S C A P I

Client app. Client host Client Clienthost app. Client host

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

3.1.1. Communication protocol, TCP/IP ports Since V6.000, Acapela Telecom™ has introduced an important change into communication protocol (TCP/IP ports used by server) in comparison with previous version. In previous version, the communication protocol between server and NSCAPI client used : •

one port (command port) to listen to remote clients and receive commands from NSCAPI client; its default value was 6666 and can be modified by -p option of server command line,



one port (data port) to send datas to NSCAPI client; this port was dynamically allocated by system (with value > 1200) and was different for each TTS channel; this behaviour required (as used ports were not known a priori) to open all ports in output with number >= 1200.

In V6.000 and more, the communication protocol doesn't change the working of command port, but introduces the capability to give to the data port the same behaviour than command port, i.e. the data port value can be fixed to a given single value: its defaut value is 6665, and can be modified by an option of the server command line. NOTE : Since V6.000, server is able to work in both (old and new) communication protocol : the choice of protocol is made by NSCAPI client (see Acapela NSCAPI Reference Manual). So V6.000+ server working remains compatible with old versions NSCAPI client. 3.1.1.1 Command port This port is used by server to listens to remote clients and receives TTS commands from NSCAPI client. Its default valus is : 6666. Its value can be changed : 1. by server command line options -p or -p1 (see Command line options). 2. by server configuration file : /etc/opt/Acapela/TelecomTTS/nscube.conf [CFG] CmdPort= 3.1.1.2 Data port This port is used by server to listens to remote clients and receives TTS commands from NSCAPI client. Its default value is : 6665. Its value can be changed : 1. by server command line options -p2 (see Command line options). 2. by server configuration file : /etc/opt/Acapela/TelecomTTS/nscube.conf [CFG] DataPort=

13/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

3.1.2. TTS thread handling Acapela Telecom™ V6.100 has introduced a new TTS thread handling mechanism. In normal case, when a TTS channel isn closed, the corresponding TTS thread performs unitialisation and close itself. In some cases, TTS thread may stay “hung”. To avoid this, server periodically checks TTS threads for which a closing has been requested. If after a given time (default is 60 sec), the TTS thread has not exited gracefully, the server kills it.

3.2. Acapela Telecom™ license scheme Acapela Telecom™ is protected by a hardware USB or serial key, labelled by a seven (serial) or three (USB) digit number used to identify the serial number. A key contains two informations used by the TTS server : 1. the maximum number of channels allowed, 2. the languages permissions. The language protection of the Acapela Telecom™ means, if a language is allowed, that all the voices for this language are allowed. Example : when US English is allowed, Aaron, Laura, Ryan, Heather, Mary, William, John and Jane voices are allowed. 3.2.1. Number of simultaneously used channels 3.2.1.1 Default real time rate control Acapela Telecom™ is a real-time oriented TTS server; it allows several simultaneous TTS channels to output synthetic voice directly on telephony board ports for example. Q: When a number of channels N is specified, what does it mean? A: Acapela Telecom™ can simultaneously generate N voice channels without interruptions in the sound. Q: What is the difference when the Acapela Telecom™ is used to generate the synthetic voice in an audio file? A: A sound file can be generated faster than its duration. Here, the maximum number of channels becomes a flow limitation. Example: 4 channels allowed and all channels generate the same audio file (say 80 seconds long).

14/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

4 channels allowed 100 80 (%)

channel 1

60

Channel 2

40

Channel 3

20

Channel 4

0 1 in use

2 in use

4 in use

1 channel in use : All the computing power is used by this channel, and the audio file will be generated 4 times faster than the duration of the file (20 seconds). 2 channels in use : The computing power is shared between the two channels, and both audio files will be generated 2 times faster than the duration of the file (40 seconds). 4 channels in use : all the channels have to share the computing power, and the audio files will only be available after 80 seconds. more channels in use (n): The time needed to generate the audio files will be greater than the file duration. (80/4*n seconds). 3.2.1.2 Batch mode real time rate control For batch (file generation) oriented application we provide an alternative license scheme. When started with the -b or –ulrtp command line option the Acapela Telecom™ server will generate the speech signal at the maximum possible speed, and so the audio output will be available as soon as possible on a given machine, then it will sleep before allowing the next synthesis on this channel. The sleep time will depend on the maximum number of channels N and on the duration of the last generated speech signal (the sleep time will be: total duration of the generated speech signal / N). In this mode the Acapela Telecom™ will only allow N channels loaded at the same time. It will reject any further channel request. (see: NSCAPI NSC_ERR_CONNREJECT error). This mode is not recommended due to its inherent limitations : - No more than N channels loaded at a time - Difficulties for an application to know when the next synthesis will be possible.

3.3. Sound generation output format Acapela Telecom™ delivers following sound format : ●

Raw PCM (without header) 8kHz/22kHz



Raw A Law (without header)



Raw µ Law (without header)

In 8kHz, each voice is available in the 3 sound format : ●

A Law voices are identified by “ka” suffix in voice name, or ALaw in ModeName, 15/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M ●

µ Law voices are identified by “kmu” suffix in voice name, or MuLaw in ModeName.

16/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

4. Acapela Telecom™ user interface 4.1. Description The Acapela Telecom™ server (nscube) offers a text based user interface. It displays by default a monitoring window allowing the user to view the current status of the server. Figure 3 shows a typical display. Figure 3: Sample monitoring window



The first line is the interactive command prompt,



The second line displays the current channel number in use and the maximum number of allowed channels (read from the hardware key depending on your current license),



The third line displays the language permmissions (read from the hardware key depending on your current license). It is displayed in abbreviated form : 2 letters code for the language followed by 2 letters for the technology : Uk(HQ) means Uk English HQ voices allowed.



Then each line in the monitoring window displays the following information about one TTS channel :

Figure 4 : Line status description

17/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

Voice

Name of the voice in use

-

TTS status

Client

Net Status

OutputRate

-

Client’s application host address.

- Connected

Speech output rate given in : milliseconds of signal generated per second.

Initialising Ready Speaking Ending Ended Error

- Error

4.2. Command line options Syntax: ./nscube [–h] | [-v] | [-p port] | [-i] | [-d delay] | [-b] Figure 5 : command line options Command

Description

-h

Displays a quick help and exit.

-v

Displays version and copyright information and exit.

-p or -p1

Changes the default TCP port number on which the Acapela Telecom™ server is listening for client connection and is receiving TTS commands from NSCAPI client.

-p2

Changes the default TCP port number on which Acapela Telecom™ server is sending data to NSCAPI client.

-i

Disables the monitoring user interface. In this mode the Acapela Telecom™ server does not output anything to stdout.

-u

Update the hardware key according to the license key taken from a licelan.txt file.

-d

Set the monitoring user interface auto refresh delay (in ms, default is 1000)

-b / -ulrtp

Set realtime rate control to batch mode (3.2.1.2)

4.3. Interactive commands While running in interactive mode (default). The Acapela Telecom™ server handles several keyboard commands. In this mode a single key hit is needed for input validation.

Figure 6 : Acapela Telecom™ commands Command

Description

h

Help on interface commands. 18/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

a

Display version/licence/copyright & voices list information About Acapela Telecom™.

c

Display server configuration.

ESC

Back from Help or About command mode.

+/-

Changes refresh delay.

r

Toggle auto-refresh mode (default is on one display refresh per second).

SPACE

Force refresh now. (while auto-refresh is disabled).

N

Enter query max number of line mode: Allows modifying the maximum number of line displayed on refresh. The default is equal to the initial size of the console used to launch the server. While in this mode the user enters the new maximum lines number then type ENTER.

n

Display the next ‘N‘status lines (if enough connections are available).

p

Display the previous ‘N‘ status lines (if enough connections are available).

s

Shutdown the server (waiting for active connections to finish, and rejecting any new connection request with NSCAPI error NSC_ERR_CONNREJECT).

q

Quit the server, (killing all current connections). 4.3.1. Non interactive mode

Starting with 4.100 version, while in non interactive mode (-i command line option). The server read no more input from stdin so the ‘q’ interactive command is no more recognized. To allow proper termination control, the server now supports two signals (sent by kill command for example) -

SIGTERM:

equivalent to shutdown (‘s’ interactive command)

-

SIGINT:

equivalent to quit (‘q’ interactive command)

19/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

5. Developing an application 5.1. Basic principles To use the text-to-speech services of Acapela Telecom™ server in an application, you need to implement the client/server protocol using a client interface library. Under Linux we currently provide the Acapela Telecom™ NSCAPI api for this. It is installed from the acapela-telecom-nscapi package. And it is the only required part of the Acapela Telecom™ packages on a client host in order to be able to use Acapela Telecom™ server remotely.1 This API is intended to be used in C & C++ programs. Note for Windows users Acapela Telecom™ for Windows is provided with 3 client interfaces: -

Acapela Telecom NSCAPI,

-

Microsoft SAPI 4 and

-

Microsoft SAPI 5.

All those three interfaces may be used to connect a Windows client application to an Acapela Telecom™ UNIX server (with the exception of cross byte ordering connection 2 which is only supported using NSCAPI).

5.2. NSCAPI This API is intended to be used in C/C++ programs. After installation of the speechcube-nscapi package: -

The NSCAPI header file is installed in /opt/Acapela/TelecomTTS/include directory.

-

The NSAPI libraries libnscube.a / libnscube.so (static and dynamic versions) are installed in /opt/Acapela/TelecomTTS/lib

You will have to include “nscube.h” in your C/C++ sources and link your application with one of the supplied library. A typical GNU compiler sequence can be: gcc –I/opt/Acapela/TelecomTTS/include –o mysource.o –c mysource.c g++ -o myprog /opt/Acapela/TelecomTTS/lib/libnscube.o –lsocket –lnsl –lposix4 (or – lrt depending on OS version)

1or on the Acapela Telecom™ server host itself to use it locally 2Client application running on Intel platform connected to a Acapela Telecom™ server running on a Sparc

platform for example.

20/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

While it is not necessary to compile your application with a C++ compiler you need to link with C++ standard libraries so it is easier to use g++ for the link step as it will transparently add the necessary startup code and default libraries. You may also check the sample source code and makefile provided in /opt/Acapela/TelecomTTS/sample directory. 5.2.1. API reference Acapela Telecom™ NSCAPI is fully described in a separated document. (4488-tec-docbele-192.pdf). Please refer to it for detailed information. 5.2.2. Note about binary dependencies To achieve good cross platform compatibility the NSCAPI libraries have been built using the GNU GCC compiler under all operating system environments. It is therefore recommended to use this compiler to build the application. Anyway libnscube depends on libstdc++ and lib_gcc therefore these gnu libraries are required. They may be installed, as well as the compiler, as part of the operating system installation under Linux or separately (Sun Solaris 8 Companion CD, also available at http://www.sunfreeware.com) under Solaris. More information on the gnu tools can be found at: http://gcc.gnu.org http://gcc.gnu.org/libstdc++

21/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

6. Troubleshooting 6.1. Hardware key problems 6.1.1. Selecting the USB/serial port Read paragraph 2.4.1 : The comdevice field to know exactly which port to select in /etc/opt/Acapela/TelecomTTS /nscube.conf. 6.1.2. Configuring the serial port The serial port to which the hardware key is connected must be set to 9600 baud, 8 bits, 1 stop-bit, no parity. To configure a serial port, use the Unix command stty. 6.1.3. Other problems For systems with non-standard RS232 connections, gender converters may be needed to connect the hardware key. 9-pin serial ports also require a 9-pin to 25-pin adapter in order to connect the hardware key. Contact us in such a case.

6.2. Execution problems 6.2.1. Common problems

Problem

Solution

The Acapela Telecom™ exits returning -1, displaying initialization error.

The hardware key is disconnected or not properly configured, or the USB daemon (for USB key) is not running

nscube fail to start returning error -5, displaying:

There is other application already listening on the nscube TCP port.

“Sockets error could not bind to specified address”



The hardware key MUST be plugged on the server side and on the same serial port specified in #COMDEVICE (§2.4.1).

The serial port MUST be readable & writable by every Acapela Telecom™ User. The access rights of the serial port should always be 0666. •

Quit the other application

Or change the default listening Acapela Telecom™ TCP port (see , and any client application. This problem might also appear if nscube is killed or exits abnormally, or in case of client application still running while restarting nscube. You can check for port usage using UNIX command: netstat –n Even without a running client or server there might be some delay before the system lets a new application bind to the address. (default 22/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

4 minutes on Solaris for example) You can check this default time-out using: ndd –get /dev/tcp tcp_time_wait_interval

6.3. Support and online resources Acapela Group technical support can be reached at: http://support.acapela-group.com

Any problem not described in the above pages should be reported there. After registration this site gives access to: •

Technical documentation (sorted by products)



Application notes (sorted by products)



FAQs



Software (latest versions, upgrades, demos)



Access to the FTP site



3rd party links of interest

For general information check our main address: http://www.acapela-group.com

New voices can be tested online at: http://demo.acapela-group.com/

23/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

7. Appendix A: Package Contents This section briefly describes the files included in the package.

7.1. Documentation files Location: doc subdirectory of the Acapela Telecom™ CD-ROM. The following documents are in Adobe PDF format. HTML versions of these documents are also readable online from our web site: http://support.acapela-group.com. Figure 7: reference documents Reference

Contents

Package

4488-tec-doc-bele-227.pdf

Acapela Telecom™ reference manual for UNIX.

acapela-telecom

4488-tec-doc-bele-192.pdf

NSCAPI reference manual.

acapela-telecomnscapi

4412-tec-doc-rodo-231.pdf

MIME pre-processing manual.

acapela-telecommimepp

0626-lsv-doc-phce-279.pdf

SSML reference manual

acapela-telecom

0634-lsv-nom-phce-285

JSML reference manual

acapela-telecom

British.pdf British-ivx.pdf

British TTS reference manuals

CD-ROM

USEnglish.pdf

American TTS reference manual

CD-ROM

Brazilian.pdf

Brazilian TTS reference manual

CD-ROM

French.pdf French-ivx.pdf

French TTS reference manuals

CD-ROM

CanadianFrench.pdf

Canadian French TTS reference manual

CD-ROM

German.pdf German-ivx.pdf

German TTS reference manual

CD-ROM

Spanish.pdf

Spanish TTS reference manual

CD-ROM

USSpanish.pdf

US Spanish TTS reference manual

CD-ROM

Dutch.pdf

Dutch TTS reference manual

CD-ROM

Italian.pdf Italian-ivx.pdf

Italian TTS reference manuals

CD-ROM

Arabic.pdf

Arabic TTS reference manual

CD-ROM

BelgianDutch.pdf

Belgian Dutch TTS reference manual

CD-ROM

24/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

Reference

Contents

Package

Swedish.pdf Swedish-ivx.pdf

Swedish TTS reference manual

CD-ROM

Norwegian.pdf Norwegian-ivx.pdf

Norwegian TTS reference manual

CD-ROM

Portuguese.pdf

Portuguese TTS reference manual

CD-ROM

Czech.pdf

Czech TTS reference manual

CD-ROM

Danish.pdf Danish-ivx.pdf

Danish TTS reference manual

CD-ROM

Finnish.pdf Finnish-ivx.pdf

Finnish TTS reference manual

CD-ROM

Polish.pdf

Polsih TTS reference manual

CD-ROM

Icelandic-ivx.pdf

Icelandic TTS reference manual

CD-ROM

Turkish.pdf

Turkish TTS reference manual

CD-ROM

Greek.pdf

Greek TTS reference manual

CD-ROM

Russian.pdf

Russian TTS reference manual

CD-ROM

7.2. TTS data files & NLP Installation location: 1. data subdirectory (common data files). 2. acattts/engines subdirectory (NLP & voice data files)

7.3. Information files Installation location: Acapela Telecom™ main directory. File

Contents

Package

read.me.server

Last minute information about Acapela Telecom™ and version history

acapela-telecom

read.me.nscapi

Last minute information about NSCAPI and version history

acapela-telecom-nscapi

7.4. Program files Installation location: bin subdirectory. File

Contents

Package

acatel_srv

main Acapela Telecom™ server executable.

acapela-telecom

25/29

Acapela Telecom for Linux

Date :

Reference manual

24/09/08

4488-TEC-DOC-BELE227M

File

Contents

Package

nscstat

Acapela Telecom™ status check utility

acapela-telecom

demo

(Linux Only) Graphical interactive Acapela Telecom demonstration application (Requires KDE 2.2)

acapela-telecom-nscapi

usbdaemon

Rainbow Sentinel USB daemon

acapela-telecom

load_demon.sh

Shell script for start/stop USB daemon

acapela-telecom

Installation location: /etc/init.d directory. File

Contents

Package

acatel_srvd

Acapela Telecom™ service script.

acapela-telecom

7.5. Library and headers files Installation location: lib & include subdirectory. File

Contents

Package

nscube.h

NSCAPI C/C++ header file to include in application integrating Acapela Telecom™ services.

acapela-telecomnscapi

libnscube.so

Dynamic linked version of the NSCAPI library. To link with application integrating Acapela Telecom™ services.

acapela-telecomnscapi

libnscube.a

Static library version of the NSAPI. To alternatively link with application integrating Acapela Telecom™ services.

acapela-telecomnscapi

7.6. Sample source code files Installation location: sample subdirectory. File

Contents

Package

test.c

Basic mono-channel sample program

acapela-telecom-nscapi

Makefile

Make file to build the test program.

acapela-telecom-nscapi

26/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

8. Appendix B: Starting Acapela Telecom™ as a service A daemon called : acatel_srvd is installed in /etc/init.d to launch Acapela Telecom as a service. Syntax : acatel_srvd start|stop|restart|status start stop restart status

start the service stop the service restart the service displays service status

To start Acapela Telecom service at system initialisation, you can add it to service list using the following command (Red Hat Linux): chkconfig --add acatel_srvd

27/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

9. Appendix C : Enabling lip-syncing informations To reduce data traffic between server & client, lip-syncing sending is disabled in server. To enable it, add following section/entry, in server configuration file : /etc/opt/Acapela/TelecomTTS/nscube.conf : [WAVEOUT] NotifPhoSync=1

28/29

Acapela Telecom for Linux Reference manual

Date :

24/09/08

4488-TEC-DOC-BELE227M

10. Appendix D : Enabling TTS log To enable log for a given voice : 1. edit corresponding inf file (for ex. heather8k.inf for heather8k voice) in /data subdirectory, 2. in section [COMMAND], add key : LogFile= where is the name of the log file (without path and extension). Extension : .log is automatically appended to name. File is created in directory defined by [PATH]/Log key in nscube.conf file.

29/29