Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /* speakup_dtlk.h - header file for speakups DoubleTalk driver. */
0003 
0004 #define SYNTH_IO_EXTENT 0x02
0005 #define SYNTH_CLEAR 0x18        /* stops speech */
0006     /* TTS Port Status Flags */
0007 #define TTS_READABLE    0x80    /* mask for bit which is nonzero if a
0008                  * byte can be read from the TTS port
0009                  */
0010 #define TTS_SPEAKING    0x40    /* mask for SYNC bit, which is nonzero
0011                  * while DoubleTalk is producing
0012                  * output with TTS, PCM or CVSD
0013                  * synthesizers or tone generators
0014                  * (that is, all but LPC)
0015                  */
0016 #define TTS_SPEAKING2   0x20    /* mask for SYNC2 bit,
0017                  * which falls to zero up to 0.4 sec
0018                  * before speech stops
0019                  */
0020 #define TTS_WRITABLE    0x10    /* mask for RDY bit, which when set to
0021                  * 1, indicates the TTS port is ready
0022                  * to accept a byte of data.  The RDY
0023                  * bit goes zero 2-3 usec after
0024                  * writing, and goes 1 again 180-190
0025                  * usec later.
0026                  */
0027 #define TTS_ALMOST_FULL 0x08    /* mask for AF bit: When set to 1,
0028                  * indicates that less than 300 bytes
0029                  * are available in the TTS input
0030                  * buffer. AF is always 0 in the PCM,
0031                  * TGN and CVSD modes.
0032                  */
0033 #define TTS_ALMOST_EMPTY 0x04   /* mask for AE bit: When set to 1,
0034                  * indicates that less than 300 bytes
0035                  * are remaining in DoubleTalk's input
0036                  * (TTS or PCM) buffer. AE is always 1
0037                  * in the TGN and CVSD modes.
0038                  */
0039 
0040                 /* data returned by Interrogate command */
0041 struct synth_settings {
0042     u_short serial_number;  /* 0-7Fh:0-7Fh */
0043     u_char rom_version[24]; /* null terminated string */
0044     u_char mode;        /* 0=Character; 1=Phoneme; 2=Text */
0045     u_char punc_level;  /* nB; 0-7 */
0046     u_char formant_freq;    /* nF; 0-9 */
0047     u_char pitch;       /* nP; 0-99 */
0048     u_char speed;       /* nS; 0-9 */
0049     u_char volume;      /* nV; 0-9 */
0050     u_char tone;        /* nX; 0-2 */
0051     u_char expression;  /* nE; 0-9 */
0052     u_char ext_dict_loaded; /* 1=exception dictionary loaded */
0053     u_char ext_dict_status; /* 1=exception dictionary enabled */
0054     u_char free_ram;    /* # pages (truncated) remaining for
0055                  * text buffer
0056                  */
0057     u_char articulation;    /* nA; 0-9 */
0058     u_char reverb;      /* nR; 0-9 */
0059     u_char eob;     /* 7Fh value indicating end of
0060                  * parameter block
0061                  */
0062     u_char has_indexing;    /* nonzero if indexing is implemented */
0063 };