# Application Programming Interface (API) Reference

# Appendices

# Appendix A. SMAPI Return Codes and Messages

These return codes and messages, defined in SMRC.H, are generated by the SMAPI.

## SMAPI Return Codes and Messages

The following list contains the return code values in numeric order for the SMAPI.

      -28         SM_API_RC_MIN_NAMES

      -27         SM_RC_ATTACH_MUTEX_SEM_FAILED
      -26         SM_RC_CREATE_MUTEX_SEM_FAILED
      -25         SM_RC_OPEN_QUEUE_FAILED
      -24         SM_RC_SUB_UNSET_ERROR
      -23         SM_RC_CLOSE_EVENT_SEM_FAILED
      -22         SM_RC_FREE_MEM_ERROR
      -21         SM_RC_QUEUE_CLOSE_ERROR
      -20         SM_RC_DEALLOCATING_SH_MEM
      -19         SM_RC_ASSOC_EVENT_SEM_FAILED
      -18         SM_RC_CREATE_EVENT_SEM_FAILED
      -17         SM_RC_CREATE_MBOX_FAILED
      -16         SM_RC_EALLBUSY
      -15         SM_RC_ENOACCEPT
      -14         SM_RC_EBADAPPNAME
      -13         SM_RC_EALLOC
      -12         SM_RC_ENOMEM
      -11         SM_RC_EBADHANDLE
      -10         SM_RC_ENOHANDLES
       -9         SM_RC_EMSGSIZE
       -8         SM_RC_EUNKMSG
       -7         SM_RC_ETIMEOUT
       -6         SM_RC_EUNEXP
       -5         SM_RC_EINVAL
       -4         SM_RC_ENOSERVER
       -3         SM_RC_ENOCONN
       -2         SM_RC_ENOMSG
       -1         SM_RC_EAPIVERSION
        0         SM_RC_OK
        1         SM_RC_NOT_VALID_REQUEST
        2         SM_RC_BAD_MODE
        3         SM_RC_NOT_WHILE_MIC_ON
        4         SM_RC_MIC_ALREADY_ON
        5         SM_RC_MIC_ALREADY_OFF
        6         SM_RC_MIC_ON_PENDING
        7         SM_RC_MIC_OFF_PENDING
        8         SM_RC_NOT_WHILE_PLAYING
       10         SM_RC_BAD_AUDIO
       11         SM_RC_RECORD_OPEN_ERROR
       12         SM_RC_PLAY_OPEN_ERROR
       13         SM_RC_AUDIO_IN_USE
       14         SM_RC_BAD_AUDIO_PROTOCOL
       15         SM_RC_AUDIO_TIMEOUT
       16         SM_RC_AUDIO_DISCONNECTED
       17         SM_RC_AUDIO_OVERRUN
       18         SM_RC_AUDIO_FORCED_MIC_OFF
       19         SM_RC_NO_MORE_AUDIO_FILES
       20         SM_RC_BAD_AP
       28         SM_API_RC_MAX_NAMES
       30         SM_RC_BAD_DECO
       40         SM_RC_BAD_ADDWORD
       41         SM_RC_ADDED
       42         SM_RC_NOT_ADDED
       43         SM_RC_MULTIPLE_SPELLINGS
       44         SM_RC_ILLEGAL_SPELLING
       45         SM_RC_ILLEGAL_SPOKENLIKE
       46         SM_RC_MISMATCHED_ACOUSTICS
       47         SM_RC_BAD_ACOUSTICS
       48         SM_RC_SPELLING_TOO_LONG
       49         SM_RC_ACOUSTICS_TOO_LONG
       50         SM_RC_ADDWORD_LIMIT_EXCEEDED
       60         SM_RC_SERVER_ERROR
       61         SM_RC_SERVER_MALLOC_ERROR
       62         SM_RC_SERVER_FILE_OPEN_ERROR
       63         SM_RC_SERVER_FILE_WRITE_ERROR
       64         SM_RC_SERVER_FILE_READ_ERROR
       65         SM_RC_SERVER_FILE_CLOSE_ERROR
       66         SM_RC_SERVER_PROCESS_ERROR
       67         SM_RC_SERVER_TERMINATED
       70         SM_RC_BAD_TAG
       71         SM_RC_BAD_UTTNO
       72         SM_RC_BAD_MESSAGE
       80         SM_RC_NOT_DELETED
       81         SM_RC_NOT_INVOCAB
       82         SM_RC_INVOCAB
       83         SM_RC_BAD_VOCAB
       84         SM_RC_MISSING_EXTERN
       90         SM_RC_BAD_USERID
       91         SM_RC_BAD_ENROLLID
       92         SM_RC_BAD_PASSWORD
       93         SM_RC_BAD_TASKID
       94         SM_RC_BAD_CLIENT
       95         SM_RC_USERID_EXISTS
       96         SM_RC_ENROLLID_EXISTS
       97         SM_RC_USERID_BUSY
       98         SM_RC_ENROLLID_BUSY
       99         SM_RC_BAD_SCRIPT
      100         SM_RC_BAD_DESCRIPTION
      101         SM_RC_ENROLLID_RUNNING
      102         SM_RC_ENROLLMENT_NOT_COMPLETE
      103         SM_RC_MISMATCHED_LANGUAGE
      104         SM_RC_MISMATCHED_ALPHABET
      105         SM_RC_MISMATCHED_SCRIPT
      106         SM_RC_BAD_LANGUAGE
      107         SM_RC_BAD_NAME
      108         SM_RC_INVALID_WINDOW_HANDLE
      110         SM_RC_BAD_ITEM
      111         SM_RC_BAD_VALUE
      120         SM_RC_BUSY_LAST_UTTERANCE
      121         SM_RC_BUSY_WORD_CORRECTION
      130         SM_RC_NO_SPACE
      131         SM_RC_NO_SPACE_INIT_RECO
      132         SM_RC_NO_SPACE_INIT_ENROLL
      133         SM_RC_NO_SPACE_TERM_ENROLL
      134         SM_RC_NO_SPACE_MIC_ON
      140         SM_RC_INVALID_PARM_MAX_LEN
      170         SM_RC_NO_FOCUS_APP
      171         SM_RC_FOCUS_GRANTED
      172         SM_RC_FOCUS_REQUEST_PENDING
      173         SM_RC_FOCUS_DENIED
      174         SM_RC_NAV_ALREADY_DEFINED
      175         SM_RC_NOT_IN_NOTIFY
      176         SM_RC_EXISTS_IN_NOTIFY
      178         SM_RC_INCOMPATIBLE_ENROLLMENT
      250         SM_RC_MAX_NAMES
     1000         SM_RC_NOT_YET

## Speech Manager Return Codes and Messages

      200         SM_RC_SM_NOT_OPEN
      201         SM_RC_WRONG_SM_VERSION
      202         SM_RC_SM_NOT_ACTIVE_CLIENT
      203         SM_RC_SM_EINVAL_MSG_TYPE
      204         SM_RC_REPLY_NULL
      205         SM_RC_NO_MORE_CONNECTIONS
      206         SM_RC_NO_TOPLEVEL_WIDGET
      207         SM_RC_CONNECTION_CHANGED
      208         SM_RC_CALLBACK_LIST_CHANGED
      209         SM_RC_ASCII_ALREADY_SET
      210         SM_RC_NOTHING_TO_DISPATCH
      211         SM_RC_MAX_MSG_QUEUES_EXCEEDED
      214         SM_RC_OPEN_SYNCH_QUEUE_FAILED
      215         SM_RC_ALREADY_CONNECTED
      216         SM_RC_ALREADY_OPENED

## Status Codes and Messages

      100         SM_STAT_PLAY_START
      101         SM_STAT_PLAY_STOP
      102         SM_STAT_BAD_AUDIO
      103         SM_STAT_BAD_TAG
      104         SM_STAT_BAD_UTTERANCE
      105         SM_STAT_BAD_MESSAGE
      106         SM_STAT_ENROLLMENT_RECORDING
      107         SM_STAT_ENROLLMENT_RUNNING
      108         SM_STAT_ENROLLMENT_FAILED
      109         SM_STAT_ENROLLMENT_COMPLETE
      110         SM_STAT_ENROLLMENT_BUSY

## SMAPI Message Explanations

The following are explanations for the SMAPI messages.

SM_RC_ACOUSTICS_TOO_LONG
The acoustics specified are too long.

Explanation: The recording made for a specified word is longer than the phonetic representation of the requested word.

User response: Enter a phonetic spelling or record the word again.

SM_RC_ADDED
The specified word has been added to the speech vocabulary.

Explanation: The request to add a word was successfully completed.

User response: None

SM_RC_ADDWORD_LIMIT_EXCEEDED
The added-word limit has been reached.

Explanation: Only a specified number of words can be added to a speaker's vocabulary. The speech system has reached your added-word limit.

User response: Review your added words and delete the ones that are either unneeded or infrequently used.

SM_RC_ALREADY_CONNECTED
Already connected to speech engine.

Explanation: Either SmConnect() or SmOpen() was called after the application had already successfully connected to the engine.

User response: Correct the application programming error.

SM_RC_ALREADY_OPENED
Already opened for connection to speech engine.

Explanation: A second call to SmOpen() was made after the application had already successfully opened the local API data structure.

User response: Correct the application programming error.

SM_RC_ASSOC_EVENT_SEM_FAILED
An IPC error: Unable to associate semaphore.

Explanation: Unable to associate semaphore.

User response: Submit a problem report.

SM_RC_AUDIO_FORCED_MIC_OFF
The speech system has forced the microphone off.

Explanation: The speech system turned off the microphone unexpectedly. This event can occur if the speech system has an internal error or if the disk is full.

User response: Try the request again. Save the log files of the session and submit a problem report.

SM_RC_AUDIO_IN_USE
The speech system is already in use.

Explanation: The speech system is being used by another session.

User response: Correct the application programming error.

SM_RC_AUDIO_OVERRUN
The speech system has overrun its recording buffers.

Explanation: The speech system was not able to continue sending audio data because the recording buffers are full.

User response: Up to 100 seconds of audio can be stored in an internal audio memory buffer.

SM_RC_BAD_ACOUSTICS
Invalid acoustic data has been found.

Explanation: The recorded data was not found for the word requested to be added.

User response: Ensure that the disk is not full, which would cause files to be lost.

SM_RC_BAD_ADDWORD
The add-word process could not be initiated.

Explanation: The speech engine detected an error with the addword component.

User response: Save the log files of the session and submit a problem report.

SM_RC_BAD_AP
The system detected an error with the acoustic processor.

Explanation: The speech engine detected an error with the acoustic-processor component.

User response: Save the log files of the session and submit a problem report.

SM_RC_BAD_AUDIO
The system detected an error with the audio source.

Explanation: An application will get this return if there is a problem with the audio source (for example, if there is a problem loading code on the adapter card during initialization).

User response: Try the request again. If the problem persists, save the log files of the session, report the error, and restart.

SM_RC_BAD_DECO
The system detected an error with the speech engine.

Explanation: The speech engine detected an error with the decoding-processor component.

User response: Save the log files of the session and submit a problem report.

SM_RC_BAD_DESCRIPTION
An invalid description has been specified.

Explanation: An attempt was made to write an enrollment description containing a non-ASCII character or an enrollment description that exceeded the maximum length.

User response: Enter a description that is equal to or less than the maximum length and use only valid, printable ASCII characters.

SM_RC_BAD_ENROLLID
An invalid enrollment identifier has been specified.

Explanation: The enrollment ID for the specified speaker is not valid.

User response: Select a valid enrollment ID for the specified user ID.

SM_RC_BAD_ITEM
An invalid item name has been specified.

Explanation: An attempt was made to write an item name containing a non-ASCII character.

User response: Enter an item name using only valid, printable ASCII characters.

SM_RC_BAD_LANGUAGE
An invalid language has been specified, or this language is not installed.

Explanation: The requested language is not valid or is not installed.

User response: Specify a valid language for the installed speech engine.

SM_RC_BAD_MESSAGE
An invalid audio message name has been specified.

Explanation: An invalid audio message name was passed by the application to the SMAPI. This is an application programming error.

User response: Correct the application programming error.

SM_RC_BAD_MODE
The request is not valid in this speech engine mode.

Explanation: The speech engine was initialized for a mode that does not support the requested function. This is an application programming error.

User response: Correct the application programming error.

SM_RC_BAD_NAME
An invalid name tag has been specified.

Explanation: An attempt was made used to use an invalid name.

User response: Specify a valid name.

SM_RC_BAD_SCRIPT
A bad script has been specified, or no scripts are available.

Explanation: An attempt was made to use an invalid script for enrollment.

User response: Specify a valid script.

SM_RC_BAD_TAG
An invalid word tag value has been specified.

Explanation: An invalid tag value was passed by the application to the SMAPI. This is an application programming error.

User response: Correct the application programming error.

SM_RC_BAD_TASKID
A match could not be found for the specified domain ID.

Explanation: The domain ID is not valid.

User response: Select a valid domain ID.

SM_RC_BAD_USERID
A match could not be found for the specified user ID.

Explanation: The user ID is not valid.

User response: Select a valid user ID.

SM_RC_BAD_UTTNO
An invalid utterance number has been specified.

Explanation: An invalid utterance number was passed by the application to the SMAPI. This is an application programming error.

User response: Correct the application programming error.

SM_RC_BAD_VALUE
An invalid value has been specified.

Explanation: An attempt was made to write a value containing a non-ASCII character.

User response: Enter a value using only valid, printable ASCII characters.

SM_RC_BAD_VOCAB
The specified vocabulary is not valid.

Explanation: An invalid vocabulary name was passed by the application to the SMAPI. This is an application programming error.

User response: Correct the application programming error.

SM_RC_BUSY_LAST_UTTERANCE
The speech engine is busy processing the last utterance.

Explanation: An attempt was made to play a message or word before all the speech had been processed after an SmMicOff call.

User response: Wait a few seconds and repeat the request until you receive a response.

SM_RC_BUSY_WORD_CORRECTION
The speech engine is busy processing the last word correction.

Explanation: An attempt was made to correct a word and turn on the microphone before the previous request was completed.

User response: Wait a few seconds and repeat the request until you receive a response.

SM_RC_CALLBACK_LIST_CHANGED
The callback list has been changed during the execution of another callback.

Explanation: The callback list has been modified while executing a callback procedure.

User response: Correct the application programming error.

SM_RC_CONNECTION_CHANGED
New or closed connection when executing callback procedure.

Explanation: A new connection to the SMAPI was created or an old one was removed from within a callback procedure.

User response: Submit a problem report.

SM_RC_CREATE_EVENT_SEM_FAILED
An IPC error: Unable to create event semaphore.

Explanation: Unable to create event semaphore.

User response: Submit a problem report.

SM_RC_CREATE_MBOX_FAILED
An IPC error: Unable to create mbox.

Explanation: Unable to create mbox.

User response: Submit a problem report.

SM_RC_DEEALLOCATING_SH_MEM
Unable to deallocate shared memory.

Explanation: There is not sufficient memory for messages to pass between the SMAPI and the speech engine.

User response: Try the request again. If the problem persists, record the error and submit a problem report.

SM_RC_EALLBUSY
IBM VoiceType is busy.

Explanation: IBM VoiceType is busy.

User response: Try the request again. If the problem persists, record the error and submit a problem report.

SM_RC_EALLOC
Unable to allocate memory for speech engine messages.

Explanation: There is not sufficient memory for messages to pass between the SMAPI and the speech engine.

User response: Record the error and submit a problem report.

SM_RC_EAPIVERSION
Incorrect API version.

Explanation: The speech engine and the SMAPI are not compatible.

User response: Install a complete and compatible version.

SM_RC_EBADAPPNAME
An invalid application name has been specified.

Explanation: An invalid application name was specified for a session between the SMAPI and the speech engine.

User response: Correct the application programming error.

SM_RC_EBADHANDLE
Invalid handle passed to the speech engine.

Explanation: An invalid internal handle was used by the SMAPI.

User response: Correct the application programming error.

SM_RC_EINVAL
Invalid value passed to speech engine.

Explanation: The value passed from the application to the SMAPI could not be passed to the speech engine.

User response: Correct the application programming error.

SM_RC_ENOCONN
No connection to speech engine.

Explanation: The application is unable to establish a session with the speech engine; most likely, this is because the speech engine is not running.

User response: Restart the speech engine. If the system is running, verify that the level of the client software and the level of the speech engine are compatible.

SM_RC_ENOHANDLES
No handles for speech engine.

Explanation: An internal resource needed by the SMAPI is not available.

User response: Restart the speech engine.

SM_RC_ENOMEM
No memory available for speech engine.

Explanation: No memory is available for the speech engine communications process.

User response: Restart the speech engine.

SM_RC_ENOMSG
No message available from speech engine.

Explanation: A request was made to the speech engine but no response was received. A communications error or a speech engine error prevented the speech engine from responding to the application request.

User response: Report the error and try the request again.

SM_RC_ENOSERVER
Unable to find an available speech engine.

Explanation: All speech engines are being used by other users.

User response: Wait a few minutes and try again to establish a session.

SM_RC_ENROLLID_BUSY
Enrollment is busy.

Explanation: The enrollment ID is still being processed.

User response: An attempt was made to use an enrollment ID that was locked. Try to use the enrollment ID later.

SM_RC_ENROLLID_EXISTS
The specified enrollment identifier already exists.

Explanation: An attempt was made to specify an enrollment ID that already exists for the specified user ID.

User response: Provide a unique enrollment ID to the enrollment program.

SM_RC_ENROLLID_RUNNING
The enrollment data set specified is being processed.

Explanation: A fully recorded enrollment data set is being processed and will be available for dictation when it has been processed.

User response: None.

SM_RC_ENROLLMENT_NOT_COMPLETE
Enrollment has not completed for this identifier.

Explanation: An enrollment data set that is still being processed offline was specified for decoding.

User response: Try to use the enrollment data set for dictating after the offline processing is completed.

SM_RC_FREE_MEM_ERROR
An IPC error: Error freeing memory.

Explanation: Error freeing memory.

User response: Submit a problem report.

SM_RC_EXISTS_IN_NOTIFY
Application is already in specified group

Explanation: An application asks to enable a notification group in which the application is already registered.

User response: None.

SM_RC_FOCUS_DENIED
A focus request has been denied.

Explanation: The current application with speech focus has "grabbed" the focus and changes are being blocked by the engine.

User response: None.

SM_RC_FOCUS_GRANTED
The application already has the speech focus.

Explanation: The requesting application has already been granted speech focus and an asynchronous notification message will not be sent by the engine.

User response: None.

SM_RC_INCOMPATIBLE_ENROLLMENT
Enrollment was not compatible with the current engine.

Explanation: An enrollment created for a previous release may not be supported on the current engine.

User response: Re-enroll.

SM_RC_ILLEGAL_SPOKENLIKE
An invalid spoken-like spelling has been specified.

Explanation: For a given language, certain ASCII characters are not valid.

User response: Provide a valid spoken-like spelling for the language you are using.

SM_RC_ILLEGAL_SPELLING
An invalid spelling has been specified.

Explanation: For a given language, certain ASCII characters are not valid.

User response: Provide a valid spelling for the language you are using.

SM_RC_INVALID_PARM_MAX_LEN
The specified parameter exceeds the maximum length.

Explanation: The specified parameter exceeds the maximum length permitted by the speech engine.

User response: Specify the parameter again.

SM_RC_INVOCAB
The specified word is in the speech engine vocabulary.

Explanation: The specified word already exists in the speech engine vocabulary.

User response: None.

SM_RC_MIC_ALREADY_OFF
The microphone is already off.

Explanation: A request was made to turn off the microphone, but it is already off.

User response: None.

SM_RC_MIC_ALREADY_ON
The microphone is already on.

Explanation: A request was made to turn on the microphone, but it is already on. This is an application programming error.

User response: Correct the application programming error.

SM_RC_MIC_OFF_PENDING
A microphone-off request is already in progress.

Explanation: A request was made to turn off the microphone while it was in the process of being turned off. This is an application programming error.

User response: Correct the application programming error.

SM_RC_MIC_ON_PENDING
A microphone-on request is already in progress.

Explanation: A request was made to turn on the microphone while it was in the process of being turned on. This is an application programming error.

User response: Correct the application programming error.

SM_RC_MISMATCHED_ACOUSTICS
An acoustics mismatch has been found.

Explanation: The recording does not match the spelling provided for the added word.

User response: Try recording the word again, or specify a spelling that phonetically matches the requested word.

SM_RC_MISMATCHED_ALPHABET
The domain and enrollment identifier specified are in different alphabets.

Explanation: The domain specified is not for the same alphabet as the enrollment ID.

User response: Specify a valid domain for the alphabet in which you want to dictate.

SM_RC_MISMATCHED_LANGUAGE
The domain and enrollment identifier specified are in different languages.

Explanation: The specified domain is not for the same language as the enrollment ID.

User response: Specify a valid domain for the language in which you want to dictate.

SM_RC_MISMATCHED_SCRIPT
The script specified does not match the previously specified script.

Explanation: A partially recorded enrollment used a script that is different from the one currently specified.

User response: Use the script specified in the last session to continue the enrollment session.

SM_RC_MISSING_EXTERN
A required external vocabulary does not exist.

Explanation: An external vocabulary referenced in a grammar has not been defined.

User response: None.

SM_RC_MULTIPLE_SPELLINGS
Multiple spellings specified.

Explanation: More than one spelling was specified for an added-word or more than one tag was specified. This is an application programming error.

User response: Correct the application programming error.

SM_RC_NAV_ALREADY_DEFINED
Navigator application already defined.

Explanation: A second application has attempted to assert the navigator field.

User response: None.

SM_RC_NO_FOCUS_APP
No application has the speech focus.

Explanation: A request has been made to turn the microphone on, but no application has speech focus.

User response: Request speech focus for an application.

SM_RC_NO_MORE_CONNECTIONS
Duplicate SmOpen call.

Explanation: The SmOpen function was called again without previously closing the connection to the SMAPI through SmClose.

User response: This is an application programming error.

SM_RC_NO_SPACE
No space is left on the disk.

Explanation: No space is left on the disk.

User response: None.

SM_RC_NO_SPACE_INIT_ENROLL
No space is left on the disk for an enrollment session.

Explanation: Not enough disk space is available to record the next sentence during enrollment.

User response: Restart the speech engine.

SM_RC_NO_SPACE_INIT_RECO
No space is left on the disk for a recognition session.

Explanation: Not enough disk space is available to record the next sentence during dictation.

User response: None.

SM_RC_NO_SPACE_MIC_ON
No space is left on the disk for PCM.

Explanation: No space is left on the disk for PCM.

User response: None.

SM_RC_NO_SPACE_TERM_ENROLL
Not enough disk space to complete training.

Explanation: Not enough disk space available to complete training.

User response: Restart the speech engine.

SM_RC_NOT_ADDED
The specified word has not been added to the speech engine vocabulary.

Explanation: The add-word request was not successfully completed. For a given language, a request to add a word might fail.

User response: Try a new recording of the word or provide a phonetic spelling.

SM_RC_NOT_DELETED
The speech engine was unable to delete the specified added word.

Explanation: The speech engine attempted to delete a word that is not in the specified vocabulary.

User response: Correct the application programming error.

SM_RC_NOT_IN_NOTIFY
Application is not in the specified group.

Explanation: An application asks to disable a notification group in which the application is not registered.

User response: None.

SM_RC_NOT_INVOCAB
The specified word is not in the speech engine vocabulary.

Explanation: The specified word does not exist in the speech engine vocabulary.

User response: None.

SM_RC_NOT_VALID_REQUEST
The engine is not in the proper state to handle this request.

Explanation: The engine is not in the proper state to handle this request.

User response: Correct the application programming error.

SM_RC_NOT_WHILE_MIC_ON
The given request is not valid while the microphone is on.

Explanation: Some requests are not valid when the microphone is on. This is an application programming error.

User response: Turn off the microphone before making the request.

SM_RC_NOT_WHILE_PLAYING
The given request is not valid while playing audio.

Explanation: Some requests are not valid while audio is playing. This is an application programming error.

User response: Wait until the audio has finished playing before making this request.

SM_RC_NOT_YET
SMAPI function call not supported.

Explanation: The application made a function call that is not supported by the installed SMAPI. The supporting function in the speech engine is not present. All applications must match the installed SMAPI.

User response: If a new application is installed, ensure that it matches the installed SMAPI or install the required SMAPI and upgrade the existing applications.

SM_RC_OK
Successful completion.

Explanation: The most recent application request to the SMAPI was successfully completed.

User response: None.

SM_RC_OPEN_SYNCH_QUEUE_FAILED
SmOpen failed to get required resources.

Explanation: A system problem occurred during the SmOpen call when certain system resources are allocated.

User response: Try the request again. If the problem persists, report the error and restart the speech system. Save the log files of the session and submit a problem report on the speech engine.

SM_RC_PLAY_OPEN_ERROR
The system was unable to open the play device.

Explanation: The speech engine was not able to open the play device. Another application is using the IBM VoiceType Dictation Adapter or the device driver was replaced by another application.

User response: Try the request again. If the problem persists, report the error and restart the speech system. Save the log files of the session and submit a problem report on the speech engine.

SM_RC_QUEUE_CLOSE_ERROR
An IPC error: Error closing queue.

Explanation: Error closing queue.

User response: Try the request again. If the problem persists, submit a problem report.

SM_RC_RECORD_OPEN_ERROR
The system was unable to open the recording device.

Explanation: The speech engine was not able to open the recording device. Another application is using the IBM VoiceType Dictation Adapter or the device driver was replaced by another application.

User response: Try the request again. If the problem persists, report the error and restart the speech system. Save the log files of the session and submit a problem report on the speech engine.

SM_RC_REPLY_NULL
NULL reply parameter.

Explanation: The pointer to the reply structure that was given to one of the reply message functions is NULL.

User response: Correct the application programming error.

SM_RC_SERVER_ERROR
The speech engine detected an internal error.

Explanation: The speech engine has detected an internal error.

User response: Save the log files of the session. Ensure that sufficient disk space is available for the system. Restart the speech engine.

SM_RC_SERVER_FILE_CLOSE_ERROR
The speech engine has an internal close error.

Explanation: The speech engine was not able to close one of its files.

It is possible that, because of the additional applications running on the speech engine, the maximum number of open file handles, the microprocessor limits, or the page space limits have been reached.

User response: Save the log files of the session. Ensure that sufficient disk space is available for the system. Restart the speech engine.

SM_RC_SERVER_FILE_OPEN_ERROR
The speech engine has an internal open error.

Explanation: The speech engine was not able to open one of its files.

It is possible that, because of the additional applications running on the speech engine, the maximum number of open file handles, the microprocessor limits, or the page space limits have been reached.

User response: Save the log files of the session. Ensure that sufficient disk space is available for the system. Restart the speech engine.

SM_RC_SERVER_FILE_READ_ERROR
The speech engine has an internal read error.

Explanation: The speech engine was not able to read one of its files.

It is possible that, because of the additional applications running on the speech engine, the maximum number of open file handles, the microprocessor limits, or the page space limits have been reached.

User response: Save the log files of the session. Ensure that sufficient disk space is available for the system. Restart the speech engine.

SM_RC_SERVER_FILE_WRITE_ERROR
The speech engine has an internal write error.

Explanation: The speech engine was not able to write one of its files.

It is possible that, because of the additional applications running on the speech engine, the maximum number of open file handles, the microprocessor limits, or the page space limits have been reached.

User response: Save the log files of the session. Ensure that sufficient disk space is available for the system. Restart the speech engine.

SM_RC_SERVER_MALLOC_ERROR
The speech engine has an internal malloc error.

Explanation: The speech engine was not able to allocate memory for its process.

User response: Save the log files of the session. Ensure that sufficient memory is available for the system. Restart the speech engine.

SM_RC_SERVER_PROCESS_ERROR
The speech engine has an internal process error.

Explanation: The speech engine had an unrecoverable error.

It is possible that, because of the additional applications running on the speech engine, the maximum number of open file handles, the microprocessor limits, or the page space limits have been reached.

User response: Save the log files of the session. Ensure that sufficient disk space is available for the system. Restart the speech engine.

SM_RC_SERVER_TERMINATED
Speech engine terminated.

Explanation: The speech engine has stopped.

User response: Save the log files of the session and restart the speech engine.

SM_RC_SM_EINVAL_MSG_TYPE
Invalid message type.

Explanation: This is a program logic error. The program has used an access function against an invalid message type.

User response: Use an access function that is valid for the message type.

SM_RC_SM_NOT_ACTIVE_CLIENT
The speech-aware application is not active.

Explanation: The speech-aware application is not active.

User response: Correct the application programming error.

SM_RC_SM_NOT_OPEN
Application has not opened SMAPI using an SmOpen call.

Explanation: The speech application has not been opened by an SmOpen call.

User response: Correct the application programming error.

SM_RC_SUB_UNSET_ERROR
An IPC error: Error unsetting memory.

Explanation: The speech application has not been opened by an SmOpen call.

User response: Correct the application programming error.

SM_RC_SPELLING_TOO_LONG
The spelling specified is too long.

Explanation: The specified word is too long.

User response: The spelling of the specified word is phonetically longer than the recording made for the word. Enter a phonetic spelling or record the word again.

SM_RC_USERID_BUSY
User identifier is busy.

Explanation: An attempt was made to use a user ID that was locked by another client workstation or application.

User response: Try to use the user ID later.

SM_RC_USERID_EXISTS
User identifier already exists.

Explanation: An attempt was made to add a user ID that already exists on the speech engine.

User response: Provide a unique user ID to the program.

SM_RC_WRONG_SM_VERSION
Incompatible versions of compiled/dynamically linked SMAPI.

Explanation: The version of the SMAPI with which the application has been compiled is different from that of the installed run-time libraries.

User response: Compile your application with the same version of the API currently installed on your computer.

SM_STAT_BAD_AUDIO
Bad audio.

Explanation: The connection to the audio source was lost during playback.

User response: Try the request again.

SM_STAT_BAD_MESSAGE
Bad message.

Explanation: An invalid message was specified for playback. This is an application programming error.

User response: Try again with a valid message.

SM_STAT_BAD_TAG
Bad tag.

Explanation: An invalid word tag was specified for playback. This is an application programming error.

User response: Try again with a valid word tag.

SM_STAT_BAD_UTTERANCE
Bad utterance.

Explanation: An invalid utterance was specified for playback. This is an application programming error.

User response: Try again with a valid utterance.

SM_STAT_ENROLLMENT_BUSY
Enroll ID is busy.

Explanation: This enroll ID is locked through use from a different machine.

User response: Try to use the enroll ID later.

SM_STAT_ENROLLMENT_COMPLETE
Enrollment complete.

Explanation: Training completed successfully for this enroll ID. This is informational only.

User response: None.

SM_STAT_ENROLLMENT_FAILED
Enrollment failed.

Explanation: The training process failed for this enroll ID.

User response: Refer to help for Enrollment.

SM_STAT_ENROLLMENT_RECORDING
Enrollment recording.

Explanation: The user is recording the enrollment script for this enroll ID. This is informational only.

User response: None.

SM_STAT_ENROLLMENT_RUNNING
Enrollment running.

Explanation: The engine is running training for this enroll ID. This is informational only.

User response: None.

SM_STAT_PLAY_START
Audio play started.

Explanation: The message, word, or utterance has started playing. This is informational only.

User response: None.

SM_STAT_PLAY_STOP
Audio play stopped.

Explanation: The message, word, or utterance has stopped playing. This is informational only.

User response: None.

## router.msg Log

Logs used for debugging are disabled by default. Logging is controlled by the value setting of the parameter api_log_level in the following VoiceType Dictation host-drive file:

    (IBMVType)\spch_bin\engine.cfg

This file should be used for debugging and diagnostics. The content of the file is not defined as a public interface.

The value settings for logging are:

0 | Disables logging
1 | Message headers
2 | Message headers + content
3 | Message headers + content + internal engine messages
>3 | Reserved.

After this logging parameter has been changed the engine must be restarted before the new parameter value can take effect.

Logs of interest are located in the following IBM VoiceType host-drive directory:

    (vt\spch_run)

The log file, router.msg, includes a trace of IBM VoiceType SMAPI calls. Differences between SMAPI names in this log file and the documentation include the following:

- "SPCH_" prefix in the log file and "Sm" prefix in the documentation.

- Underscore("_") is used in the log file, but not in the documentation.

An explanation of reply message structures that can be logged but will not be seen by the application include the following:

SM_INIT_DATABASE_REPLY | Response to an asynchronous SmConnect that is establishing a database session but is presented to the application as a SM_CONNECT_REPLY reply message structure.
SM_INIT_RECOGNIZER_REPLY | Response to an asynchronous SmConnect that is establishing a recognition session but is presented to the application as a SM_CONNECT_REPLY reply message structure.
SM_TERMINATE_DATABASE_REPLY | Response to an asynchronous SmDisconnect that is disconnecting from the speech engine during a database session but is presented to the application as a SM_DISCONNECT_REPLY reply message structure.
SM_TERMINATE_RECOGNIZER_REPLY | Response to an asynchronous SmDisconnect that is disconnecting from the speech engine during a recognition session but is presented to the application as a SM_DISCONNECT_REPLY reply message structure.

[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]