amos-professional/AMOSPro Sources/includes/devices/narrator.i

88 lines
2.7 KiB
OpenEdge ABL

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