hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/* SPDX-License-Identifier: GPL-2.0 */
/* speakup_dtlk.h - header file for speakups DoubleTalk driver. */
 
#define SYNTH_IO_EXTENT    0x02
#define SYNTH_CLEAR    0x18        /* stops speech */
   /* TTS Port Status Flags */
#define TTS_READABLE    0x80    /* mask for bit which is nonzero if a
                * byte can be read from the TTS port
                */
#define TTS_SPEAKING    0x40    /* mask for SYNC bit, which is nonzero
                * while DoubleTalk is producing
                * output with TTS, PCM or CVSD
                * synthesizers or tone generators
                * (that is, all but LPC)
                */
#define TTS_SPEAKING2    0x20    /* mask for SYNC2 bit,
                * which falls to zero up to 0.4 sec
                * before speech stops
                */
#define TTS_WRITABLE    0x10    /* mask for RDY bit, which when set to
                * 1, indicates the TTS port is ready
                * to accept a byte of data.  The RDY
                * bit goes zero 2-3 usec after
                * writing, and goes 1 again 180-190
                * usec later.
                */
#define TTS_ALMOST_FULL    0x08    /* mask for AF bit: When set to 1,
                * indicates that less than 300 bytes
                * are available in the TTS input
                * buffer. AF is always 0 in the PCM,
                * TGN and CVSD modes.
                */
#define TTS_ALMOST_EMPTY 0x04    /* mask for AE bit: When set to 1,
                * indicates that less than 300 bytes
                * are remaining in DoubleTalk's input
                * (TTS or PCM) buffer. AE is always 1
                * in the TGN and CVSD modes.
                */
 
               /* data returned by Interrogate command */
struct synth_settings {
   u_short serial_number;    /* 0-7Fh:0-7Fh */
   u_char rom_version[24]; /* null terminated string */
   u_char mode;        /* 0=Character; 1=Phoneme; 2=Text */
   u_char punc_level;    /* nB; 0-7 */
   u_char formant_freq;    /* nF; 0-9 */
   u_char pitch;        /* nP; 0-99 */
   u_char speed;        /* nS; 0-9 */
   u_char volume;        /* nV; 0-9 */
   u_char tone;        /* nX; 0-2 */
   u_char expression;    /* nE; 0-9 */
   u_char ext_dict_loaded; /* 1=exception dictionary loaded */
   u_char ext_dict_status; /* 1=exception dictionary enabled */
   u_char free_ram;    /* # pages (truncated) remaining for
                * text buffer
                */
   u_char articulation;    /* nA; 0-9 */
   u_char reverb;        /* nR; 0-9 */
   u_char eob;        /* 7Fh value indicating end of
                * parameter block
                */
   u_char has_indexing;    /* nonzero if indexing is implemented */
};