home *** CD-ROM | disk | FTP | other *** search
- #ifndef DEVICES_NARRATOR_H
- #define DEVICES_NARRATOR_H
- /*
- ** $VER: narrator.h 1.7 (12.3.91)
- ** Includes Release 40.15
- **
- ** V37 Narrator device C language include file
- **
- ** Copyright 1990, 1991 Joseph Katz/Mark Barton.
- ** All rights reserved.
- **
- ** This include file (narrator.h) may be freely distributed
- ** as long as the above copyright notice remains intact.
- **
- */
-
-
- #ifndef EXEC_IO_H
- #include "exec/io.h"
- #endif
-
-
- /* Device Options */
-
- #define NDB_NEWIORB 0 /* Use new extended IORB */
- #define NDB_WORDSYNC 1 /* Generate word sync messages */
- #define NDB_SYLSYNC 2 /* Generate syllable sync messages */
-
-
- #define NDF_NEWIORB (1 << NDB_NEWIORB)
- #define NDF_WORDSYNC (1 << NDB_WORDSYNC)
- #define NDF_SYLSYNC (1 << NDB_SYLSYNC)
-
-
-
- /* Error Codes */
-
- #define ND_NoMem -2 /* Can't allocate memory */
- #define ND_NoAudLib -3 /* Can't open audio device */
- #define ND_MakeBad -4 /* Error in MakeLibrary call */
- #define ND_UnitErr -5 /* Unit other than 0 */
- #define ND_CantAlloc -6 /* Can't allocate audio channel(s) */
- #define ND_Unimpl -7 /* Unimplemented command */
- #define ND_NoWrite -8 /* Read for mouth without write first */
- #define ND_Expunged -9 /* Can't open, deferred expunge bit set */
- #define ND_PhonErr -20 /* Phoneme code spelling error */
- #define ND_RateErr -21 /* Rate out of bounds */
- #define ND_PitchErr -22 /* Pitch out of bounds */
- #define ND_SexErr -23 /* Sex not valid */
- #define ND_ModeErr -24 /* Mode not valid */
- #define ND_FreqErr -25 /* Sampling frequency out of bounds */
- #define ND_VolErr -26 /* Volume out of bounds */
- #define ND_DCentErr -27 /* Degree of centralization out of bounds */
- #define ND_CentPhonErr -28 /* Invalid central phon */
-
-
-
- /* Input parameters and defaults */
-
- #define DEFPITCH 110 /* Default pitch */
- #define DEFRATE 150 /* Default speaking rate (wpm) */
- #define DEFVOL 64 /* Default volume (full) */
- #define DEFFREQ 22200 /* Default sampling frequency (Hz) */
- #define MALE 0 /* Male vocal tract */
- #define FEMALE 1 /* Female vocal tract */
- #define NATURALF0 0 /* Natural pitch contours */
- #define ROBOTICF0 1 /* Monotone pitch */
- #define MANUALF0 2 /* Manual setting of pitch contours */
- #define DEFSEX MALE /* Default sex */
- #define DEFMODE NATURALF0 /* Default mode */
- #define DEFARTIC 100 /* 100% articulation (normal) */
- #define DEFCENTRAL 0 /* No centralization */
- #define DEFF0PERT 0 /* No F0 Perturbation */
- #define DEFF0ENTHUS 32 /* Default F0 enthusiasm (in 32nds) */
- #define DEFPRIORITY 100 /* Default speaking priority */
-
-
- /* Parameter bounds */
-
- #define MINRATE 40 /* Minimum speaking rate */
- #define MAXRATE 400 /* Maximum speaking rate */
- #define MINPITCH 65 /* Minimum pitch */
- #define MAXPITCH 320 /* Maximum pitch */
- #define MINFREQ 5000 /* Minimum sampling frequency */
- #define MAXFREQ 28000 /* Maximum sampling frequency */
- #define MINVOL 0 /* Minimum volume */
- #define MAXVOL 64 /* Maximum volume */
- #define MINCENT 0 /* Minimum degree of centralization */
- #define MAXCENT 100 /* Maximum degree of centralization */
-
-
- /* Standard Write request */
-
- struct narrator_rb {
- struct IOStdReq message; /* Standard IORB */
- UWORD rate; /* Speaking rate (words/minute) */
- UWORD pitch; /* Baseline pitch in Hertz */
- UWORD mode; /* Pitch mode */
- UWORD sex; /* Sex of voice */
- UBYTE *ch_masks; /* Pointer to audio alloc maps */
- UWORD nm_masks; /* Number of audio alloc maps */
- UWORD volume; /* Volume. 0 (off) thru 64 */
- UWORD sampfreq; /* Audio sampling freq */
- UBYTE mouths; /* If non-zero, generate mouths */
- UBYTE chanmask; /* Which ch mask used (internal)*/
- UBYTE numchan; /* Num ch masks used (internal) */
- UBYTE flags; /* New feature flags */
- UBYTE F0enthusiasm; /* F0 excursion factor */
- UBYTE F0perturb; /* Amount of F0 perturbation */
- BYTE F1adj; /* F1 adjustment in ±5% steps */
- BYTE F2adj; /* F2 adjustment in ±5% steps */
- BYTE F3adj; /* F3 adjustment in ±5% steps */
- BYTE A1adj; /* A1 adjustment in decibels */
- BYTE A2adj; /* A2 adjustment in decibels */
- BYTE A3adj; /* A3 adjustment in decibels */
- UBYTE articulate; /* Transition time multiplier */
- UBYTE centralize; /* Degree of vowel centralization */
- char *centphon; /* Pointer to central ASCII phon */
- BYTE AVbias; /* AV bias */
- BYTE AFbias; /* AF bias */
- BYTE priority; /* Priority while speaking */
- BYTE pad1; /* For alignment */
- };
-
-
-
- /* Standard Read request */
-
- struct mouth_rb {
- struct narrator_rb voice; /* Speech IORB */
- UBYTE width; /* Width (returned value) */
- UBYTE height; /* Height (returned value) */
- UBYTE shape; /* Internal use, do not modify */
- UBYTE sync; /* Returned sync events */
- };
-
-
-
- #endif /* DEVICES_NARRATOR_H */
-