Go to the documentation of this file.
29 #define DRV_VERSION "2.11"
30 #define SYNTH_CLEAR 0x18
31 #define PROCSPEECH '\r'
36 static struct var_t vars[] = {
39 {
RATE, .u.n = {
"\x05[r%d]", 10, 0, 20, 100, -10,
NULL } },
40 {
PITCH, .u.n = {
"\x05[f%d]", 80, 39, 4500, 0, 0,
NULL } },
41 {
VOL, .u.n = {
"\x05[g%d]", 21, 0, 40, 0, 0,
NULL } },
42 {
TONE, .u.n = {
"\x05[s%d]", 9, 0, 63, 0, 0, 0 } },
43 {
PUNCT, .u.n = {
"\x05[A%c]", 0, 0, 3, 0, 0,
"nmsa" } },
81 static struct attribute *synth_attrs[] = {
82 &caps_start_attribute.
attr,
83 &caps_stop_attribute.
attr,
84 &pitch_attribute.
attr,
85 &punct_attribute.
attr,
89 &delay_time_attribute.
attr,
90 &direct_attribute.
attr,
91 &full_time_attribute.
attr,
92 &jiffy_delta_attribute.
attr,
93 &trigger_time_attribute.
attr,
100 .long_name =
"Audapter",
101 .init =
"\x05[D1]\x05[Ol]",
111 .probe = synth_probe,
115 .flush = synth_flush,
117 .synth_adjust =
NULL,
118 .read_buff_add =
NULL,
127 .attrs = synth_attrs,
144 static void synth_version(
struct spk_synth *synth)
146 unsigned char test = 0;
147 char synth_id[40] =
"";
150 if (synth_id[test] ==
'A') {
154 }
while (synth_id[test] !=
'\n' && test < 32);
155 synth_id[++
test] = 0x00;
157 if (synth_id[0] ==
'A')
161 static int synth_probe(
struct spk_synth *synth)
167 synth_version(synth);
168 synth->
alive = !failed;
178 static int __init audptr_init(
void)
183 static void __exit audptr_exit(
void)