IFND DEVICES_NARRATOR_I DEVICES_NARRATOR_I SET 1 ** ** $Filename: devices/narrator.i $ ** $Release: 1.3 $ ** ** ** ** (C) Copyright 1985,1986,1987,1988 Commodore-Amiga, Inc. ** All Rights Reserved ** IFND EXEC_IO_I INCLUDE "exec/io.i" ENDC *-------- DEFAULT VALUES, USER PARMS, AND GENERAL CONSTANTS DEFPITCH EQU 110 ;DEFAULT PITCH DEFRATE EQU 150 ;DEFAULT RATE DEFVOL EQU 64 ;DEFAULT VOLUME (FULL) DEFFREQ EQU 22200 ;DEFAULT SAMPLING FREQUENCY NATURALF0 EQU 0 ;NATURAL F0 CONTOURS ROBOTICF0 EQU 1 ;MONOTONE F0 MALE EQU 0 ;MALE SPEAKER FEMALE EQU 1 ;FEMALE SPEAKER DEFSEX EQU MALE ;DEFAULT SEX DEFMODE EQU NATURALF0 ;DEFAULT MODE * Parameter bounds MINRATE EQU 40 ;MINIMUM SPEAKING RATE MAXRATE EQU 400 ;MAXIMUM SPEAKING RATE MINPITCH EQU 65 ;MINIMUM PITCH MAXPITCH EQU 320 ;MAXIMUM PITCH MINFREQ EQU 5000 ;MINIMUM SAMPLING FREQUENCY MAXFREQ EQU 28000 ;MAXIMUM SAMPLING FREQUENCY MINVOL EQU 0 ;MINIMUM VOLUME MAXVOL EQU 64 ;MAXIMUM VOLUME * Driver error codes ND_NotUsed EQU -1 ; ND_NoMem EQU -2 ;Can't allocate memory ND_NoAudLib EQU -3 ;Can't open audio device ND_MakeBad EQU -4 ;Error in MakeLibrary call ND_UnitErr EQU -5 ;Unit other than 0 ND_CantAlloc EQU -6 ;Can't allocate the audio channel ND_Unimpl EQU -7 ;Unimplemented command ND_NoWrite EQU -8 ;Read for mouth shape without write ND_Expunged EQU -9 ;Can't open, deferred expunge bit set ND_PhonErr EQU -20 ;Phoneme code spelling error ND_RateErr EQU -21 ;Rate out of bounds ND_PitchErr EQU -22 ;Pitch out of bounds ND_SexErr EQU -23 ;Sex not valid ND_ModeErr EQU -24 ;Mode not valid ND_FreqErr EQU -25 ;Sampling freq out of bounds ND_VolErr EQU -26 ;Volume out of bounds * ;------ Write IORequest block STRUCTURE NDI,IOSTD_SIZE UWORD NDI_RATE ;Speaking rate in words/minute UWORD NDI_PITCH ;Baseline pitch in Hertz UWORD NDI_MODE ;F0 mode UWORD NDI_SEX ;Speaker sex APTR NDI_CHMASKS ;Pointer to audio channel masks UWORD NDI_NUMMASKS ;Size of channel masks array UWORD NDI_VOLUME ;Channel volume UWORD NDI_SAMPFREQ ;Sampling frequency UBYTE NDI_MOUTHS ;Generate mouths? (Boolean value) UBYTE NDI_CHANMASK ;Actual channel mask used (internal use) UBYTE NDI_NUMCHAN ;Number of channels used (internal use) UBYTE NDI_PAD ;For alignment LABEL NDI_SIZE ;Size of Narrator IORequest block * ;------ Mouth read IORB STRUCTURE MRB,NDI_SIZE UBYTE MRB_WIDTH ;Mouth width UBYTE MRB_HEIGHT ;Mouth height UBYTE MRB_SHAPE ;Compressed shape (height/width) UBYTE MRB_PAD ;Alignment LABEL MRB_SIZE ENDC ; DEVICES_NARRATOR_I