[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]


   NAME
	CMD_WRITE - Send speech request to the narrator device


   SYNOPSIS
	Standard device command.


   FUNCTION
	Sends a phonetic string to the narrator device to be spoken
	and, optionally, is used to direct the narrator device to
	return mouth shape changes, and word and syllable sync events
	in response to read requests from the user.  The phonetic string
	consists of ASCII characters representing the individual phonemes.
	Refer to the narrator device chapter of the libraries and devices
	volume of the ROM Kernel Manual for detailed information.


   INPUTS
	User IORequest block (struct narrator_rb as defined in .h file).
	The OpenDevice call will initialize the IORequest block to a
	"standard male" voice.  If you want to change any parms, do so
	after the OpenDevice call and before the DoIO (or SendIO/WaitIO).
	For a complete description of the narrator_rb structure, see the
	narrator.h or .i include file.  Note that the OpenDevice call does
	not initialize all the fields needed by the narrator device.  The
	IORequest fields which must be set by the user before issuing the
	write request are:

	   io_Command - Set to CMD_WRITE
	   io_Data    - Pointer to phonetic string
	   io_Length  - Length of phonetic string
	   ch_masks   - Array of audio channel selection masks (see audio
			device documentation for description of this field)
	   nm_masks   - Number of audio channel selection masks

	   ****** NEW FOR V37 NARRATOR

	   flags - The bit NDB_NEWIORB must be set in the flags field if
		   any of the new features of the V37 narrator are used


	In addition to producing synthetic speech, the narrator device
	also provides features for synchronizing the speech to animation
	or other user defined events.  There are three types of events
	that the user can request.  They are mouth shape changes, start of
	new word, and start of new syllable.  Mouth shape changes are
	requested by setting the mouths field of the IORequest block to a
	non-zero value.  Word and syllable sync events are requested by
	setting the NDB_WORDSYNC and/or NDB_SYLSYNC bits in the flags field
	of the IORequest block.  Note that word and syllable sync only work
	in V37 and later versions of the narrator device.


   RESULTS
	The narrator device range checks and performs other validity
	checks for all input parms.  If any input is in error, the device
	sets the io_Error field of the IORequest block to an appropriate
	value (see include files for error codes).  If everything is in
	order, the narrator device will produce the speech and clear the
	io_Error field.  The io_Actual field is set to the length of the
	input string that was actually processed.  If the return code
	indicates a phoneme error (ND_PhonErr), io_Actual is the NEGATIVE
	of the position in the input string where the error occured.


   SEE ALSO
	Read command.
	Audio device documentation.
	Exec input/output documentation.