	TTL	'$Header: narrator.i,v 32.1 86/01/22 00:25:26 sam Exp $'
**********************************************************************
*                                                                    *
*   Copyright 1986, Commodore-Amiga Inc.   All rights reserved.      *
*   No part of this program may be reproduced, transmitted,          *
*   transcribed, stored in retrieval system, or translated into      *
*   any language or computer language, in any form or by any         *
*   means, electronic, mechanical, magnetic, optical, chemical,      *
*   manual or otherwise, without the prior written permission of     *
*   Commodore-Amiga Incorporated, 983 University Ave. Building #D,   *
*   Los Gatos, California, 95030                                     *
*                                                                    *
**********************************************************************
*
* $Header: narrator.i,v 32.1 86/01/22 00:25:26 sam Exp $
*
* $Locker:  $
*
* $Log:	narrator.i,v $
* Revision 32.1  86/01/22  00:25:26  sam
* placed under source control
* 
*
**********************************************************************
	IFND	DEVICES_NARRATOR_I
DEVICES_NARRATOR_I	SET	1

	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

