home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CLIX - Fazer Clix Custa Nix
/
CLIX-CD.cdr
/
mac
/
lib
/
Mac
/
SpeechRecognition.pm
< prev
next >
Wrap
Text File
|
1998-04-05
|
13KB
|
538 lines
=head1 NAME
Mac::SpeechRecognition - Provide interface to Speech Recognition Manager
=head1 SYNOPSIS
use Mac::SpeechRecognition;
=head1 DESCRIPTION
Access to Inside Macintosh is essential for proper use of these functions.
Explanations of terms, processes and procedures are provided there.
Any attempt to use these functions without guidance can cause severe errors in
your machine, including corruption of data. B<You have been warned.>
=cut
use strict;
package Mac::SpeechRecognition;
BEGIN {
use Exporter ();
use DynaLoader ();
use vars qw(@ISA @EXPORT);
@ISA = qw(Exporter DynaLoader);
@EXPORT = qw(
SROpenRecognitionSystem
SRCloseRecognitionSystem
SRSetProperty
SRGetProperty
SRReleaseObject
SRGetReference
SRNewRecognizer
SRStartListening
SRStopListening
SRSetLanguageModel
SRGetLanguageModel
SRContinueRecognition
SRCancelRecognition
SRIdle
SRNewLanguageModel
SRNewPath
SRNewPhrase
SRNewWord
SRPutLanguageObjectIntoHandle
SRPutLanguageObjectIntoDataFile
SRNewLanguageObjectFromHandle
SRNewLanguageObjectFromDataFile
SREmptyLanguageObject
SRChangeLanguageObject
SRAddLanguageObject
SRAddText
SRRemoveLanguageObject
SRCountItems
SRGetIndexedItem
SRSetIndexedItem
SRRemoveIndexedItem
SRDrawText
SRDrawRecognizedText
SRSpeakText
SRSpeakAndDrawText
SRStopSpeech
SRSpeechBusy
SRProcessBegin
SRProcessEnd
SRMakeSpeechObject
gestaltSpeechRecognitionVersion
gestaltSpeechRecognitionAttr
gestaltDesktopSpeechRecognition
gestaltTelephoneSpeechRecognition
kSRNotAvailable
kSRInternalError
kSRComponentNotFound
kSROutOfMemory
kSRNotASpeechObject
kSRBadParameter
kSRParamOutOfRange
kSRBadSelector
kSRBufferTooSmall
kSRNotARecSystem
kSRFeedbackNotAvail
kSRCantSetProperty
kSRCantGetProperty
kSRCantSetDuringRecognition
kSRAlreadyListening
kSRNotListeningState
kSRModelMismatch
kSRNoClientLanguageModel
kSRNoPendingUtterances
kSRRecognitionCanceled
kSRRecognitionDone
kSROtherRecAlreadyModal
kSRHasNoSubItems
kSRSubItemNotFound
kSRLanguageModelTooBig
kSRAlreadyReleased
kSRAlreadyFinished
kSRWordNotFound
kSRNotFinishedWithRejection
kSRExpansionTooDeep
kSRTooManyElements
kSRCantAdd
kSRSndInSourceDisconnected
kSRCantReadLanguageObject
kSRNotImplementedYet
kSRDefaultRecognitionSystemID
kSRFeedbackAndListeningModes
kSRRejectedWord
kSRCleanupOnClientExit
kSRNoFeedbackNoListenModes
kSRHasFeedbackHasListenModes
kSRNoFeedbackHasListenModes
kSRDefaultSpeechSource
kSRLiveDesktopSpeechSource
kSRCanned22kHzSpeechSource
kSRNotifyRecognitionBeginning
kSRNotifyRecognitionDone
kAESpeechSuite
kAESpeechDone
kAESpeechDetected
keySRRecognizer
keySRSpeechResult
keySRSpeechStatus
typeSRRecognizer
typeSRSpeechResult
kSRNotificationParam
kSRCallBackParam
kSRSearchStatusParam
kSRAutoFinishingParam
kSRForegroundOnly
kSRBlockBackground
kSRBlockModally
kSRWantsResultTextDrawn
kSRWantsAutoFBGestures
kSRSoundInVolume
kSRReadAudioFSSpec
kSRCancelOnSoundOut
kSRSpeedVsAccuracyParam
kSRUseToggleListen
kSRUsePushToTalk
kSRListenKeyMode
kSRListenKeyCombo
kSRListenKeyName
kSRKeyWord
kSRKeyExpected
kSRIdleRecognizer
kSRSearchInProgress
kSRSearchWaitForAllClients
kSRMustCancelSearch
kSRPendingSearch
kSRTEXTFormat
kSRPhraseFormat
kSRPathFormat
kSRLanguageModelFormat
kSRSpelling
kSRLMObjType
kSRRefCon
kSROptional
kSREnabled
kSRRepeatable
kSRRejectable
kSRRejectionLevel
kSRLanguageModelType
kSRPathType
kSRPhraseType
kSRWordType
kSRDefaultRejectionLevel
);
}
bootstrap Mac::SpeechRecognition;
=head2 Constants
=over 4
=item gestaltSpeechRecognitionVersion
=item gestaltSpeechRecognitionAttr
=cut
sub gestaltSpeechRecognitionVersion () { 'srtb'; }
sub gestaltSpeechRecognitionAttr () { 'srta'; }
=item gestaltDesktopSpeechRecognition
=item gestaltTelephoneSpeechRecognition
=cut
sub gestaltDesktopSpeechRecognition () { 1 << 0; }
sub gestaltTelephoneSpeechRecognition () { 1 << 1; }
=item kSRNotAvailable
=item kSRInternalError
=item kSRComponentNotFound
=item kSROutOfMemory
=item kSRNotASpeechObject
=item kSRBadParameter
=item kSRParamOutOfRange
=item kSRBadSelector
=item kSRBufferTooSmall
=item kSRNotARecSystem
=item kSRFeedbackNotAvail
=item kSRCantSetProperty
=item kSRCantGetProperty
=item kSRCantSetDuringRecognition
=item kSRAlreadyListening
=item kSRNotListeningState
=item kSRModelMismatch
=item kSRNoClientLanguageModel
=item kSRNoPendingUtterances
=item kSRRecognitionCanceled
=item kSRRecognitionDone
=item kSROtherRecAlreadyModal
=item kSRHasNoSubItems
=item kSRSubItemNotFound
=item kSRLanguageModelTooBig
=item kSRAlreadyReleased
=item kSRAlreadyFinished
=item kSRWordNotFound
=item kSRNotFinishedWithRejection
=item kSRExpansionTooDeep
=item kSRTooManyElements
=item kSRCantAdd
=item kSRSndInSourceDisconnected
=item kSRCantReadLanguageObject
=item kSRNotImplementedYet
=cut
sub kSRNotAvailable () { -5100; }
sub kSRInternalError () { -5101; }
sub kSRComponentNotFound () { -5102; }
sub kSROutOfMemory () { -5103; }
sub kSRNotASpeechObject () { -5104; }
sub kSRBadParameter () { -5105; }
sub kSRParamOutOfRange () { -5106; }
sub kSRBadSelector () { -5107; }
sub kSRBufferTooSmall () { -5108; }
sub kSRNotARecSystem () { -5109; }
sub kSRFeedbackNotAvail () { -5110; }
sub kSRCantSetProperty () { -5111; }
sub kSRCantGetProperty () { -5112; }
sub kSRCantSetDuringRecognition () { -5113; }
sub kSRAlreadyListening () { -5114; }
sub kSRNotListeningState () { -5115; }
sub kSRModelMismatch () { -5116; }
sub kSRNoClientLanguageModel () { -5117; }
sub kSRNoPendingUtterances () { -5118; }
sub kSRRecognitionCanceled () { -5119; }
sub kSRRecognitionDone () { -5120; }
sub kSROtherRecAlreadyModal () { -5121; }
sub kSRHasNoSubItems () { -5122; }
sub kSRSubItemNotFound () { -5123; }
sub kSRLanguageModelTooBig () { -5124; }
sub kSRAlreadyReleased () { -5125; }
sub kSRAlreadyFinished () { -5126; }
sub kSRWordNotFound () { -5127; }
sub kSRNotFinishedWithRejection () { -5128; }
sub kSRExpansionTooDeep () { -5129; }
sub kSRTooManyElements () { -5130; }
sub kSRCantAdd () { -5131; }
sub kSRSndInSourceDisconnected () { -5132; }
sub kSRCantReadLanguageObject () { -5133; }
sub kSRNotImplementedYet () { -5199; }
=item kSRDefaultRecognitionSystemID
=cut
sub kSRDefaultRecognitionSystemID () { 0; }
=item kSRFeedbackAndListeningModes
=item kSRRejectedWord
=item kSRCleanupOnClientExit
=cut
sub kSRFeedbackAndListeningModes () { 'fbwn'; }
sub kSRRejectedWord () { 'rejq'; }
sub kSRCleanupOnClientExit () { 'clup'; }
=item kSRNoFeedbackNoListenModes
=item kSRHasFeedbackHasListenModes
=item kSRNoFeedbackHasListenModes
=cut
sub kSRNoFeedbackNoListenModes () { 0; }
sub kSRHasFeedbackHasListenModes () { 1; }
sub kSRNoFeedbackHasListenModes () { 2; }
=item kSRDefaultSpeechSource
=item kSRLiveDesktopSpeechSource
=item kSRCanned22kHzSpeechSource
=cut
sub kSRDefaultSpeechSource () { 0; }
sub kSRLiveDesktopSpeechSource () { 'dklv'; }
sub kSRCanned22kHzSpeechSource () { 'ca22'; }
=item kSRNotifyRecognitionBeginning
=item kSRNotifyRecognitionDone
=cut
sub kSRNotifyRecognitionBeginning () { 1 << 0; }
sub kSRNotifyRecognitionDone () { 1 << 1; }
=item kAESpeechSuite
=item kAESpeechDone
=item kAESpeechDetected
=item keySRRecognizer
=item keySRSpeechResult
=item keySRSpeechStatus
=item typeSRRecognizer
=item typeSRSpeechResult
=item kSRNotificationParam
=item kSRCallBackParam
=item kSRSearchStatusParam
=item kSRAutoFinishingParam
=item kSRForegroundOnly
=item kSRBlockBackground
=item kSRBlockModally
=item kSRWantsResultTextDrawn
=item kSRWantsAutoFBGestures
=item kSRSoundInVolume
=item kSRReadAudioFSSpec
=item kSRCancelOnSoundOut
=item kSRSpeedVsAccuracyParam
=cut
sub kAESpeechSuite () { 'sprc'; }
sub kAESpeechDone () { 'srsd'; }
sub kAESpeechDetected () { 'srbd'; }
sub keySRRecognizer () { 'krec'; }
sub keySRSpeechResult () { 'kspr'; }
sub keySRSpeechStatus () { 'ksst'; }
sub typeSRRecognizer () { 'trec'; }
sub typeSRSpeechResult () { 'tspr'; }
sub kSRNotificationParam () { 'noti'; }
sub kSRCallBackParam () { 'call'; }
sub kSRSearchStatusParam () { 'stat'; }
sub kSRAutoFinishingParam () { 'afin'; }
sub kSRForegroundOnly () { 'fgon'; }
sub kSRBlockBackground () { 'blbg'; }
sub kSRBlockModally () { 'blmd'; }
sub kSRWantsResultTextDrawn () { 'txfb'; }
sub kSRWantsAutoFBGestures () { 'dfbr'; }
sub kSRSoundInVolume () { 'volu'; }
sub kSRReadAudioFSSpec () { 'aurd'; }
sub kSRCancelOnSoundOut () { 'caso'; }
sub kSRSpeedVsAccuracyParam () { 'sped'; }
=item kSRUseToggleListen
=item kSRUsePushToTalk
=cut
sub kSRUseToggleListen () { 0; }
sub kSRUsePushToTalk () { 1; }
=item kSRListenKeyMode
=item kSRListenKeyCombo
=item kSRListenKeyName
=item kSRKeyWord
=item kSRKeyExpected
=cut
sub kSRListenKeyMode () { 'lkmd'; }
sub kSRListenKeyCombo () { 'lkey'; }
sub kSRListenKeyName () { 'lnam'; }
sub kSRKeyWord () { 'kwrd'; }
sub kSRKeyExpected () { 'kexp'; }
=item kSRIdleRecognizer
=item kSRSearchInProgress
=item kSRSearchWaitForAllClients
=item kSRMustCancelSearch
=item kSRPendingSearch
=cut
sub kSRIdleRecognizer () { 1 << 0; }
sub kSRSearchInProgress () { 1 << 1; }
sub kSRSearchWaitForAllClients () { 1 << 2; }
sub kSRMustCancelSearch () { 1 << 3; }
sub kSRPendingSearch () { 1 << 4; }
=item kSRTEXTFormat
=item kSRPhraseFormat
=item kSRPathFormat
=item kSRLanguageModelFormat
=item kSRSpelling
=item kSRLMObjType
=item kSRRefCon
=item kSROptional
=item kSREnabled
=item kSRRepeatable
=item kSRRejectable
=item kSRRejectionLevel
=item kSRLanguageModelType
=item kSRPathType
=item kSRPhraseType
=item kSRWordType
=cut
sub kSRTEXTFormat () { 'TEXT'; }
sub kSRPhraseFormat () { 'lmph'; }
sub kSRPathFormat () { 'lmpt'; }
sub kSRLanguageModelFormat () { 'lmfm'; }
sub kSRSpelling () { 'spel'; }
sub kSRLMObjType () { 'lmtp'; }
sub kSRRefCon () { 'refc'; }
sub kSROptional () { 'optl'; }
sub kSREnabled () { 'enbl'; }
sub kSRRepeatable () { 'rptb'; }
sub kSRRejectable () { 'rjbl'; }
sub kSRRejectionLevel () { 'rjct'; }
sub kSRLanguageModelType () { 'lmob'; }
sub kSRPathType () { 'path'; }
sub kSRPhraseType () { 'phra'; }
sub kSRWordType () { 'word'; }
=item kSRDefaultRejectionLevel
=cut
sub kSRDefaultRejectionLevel () { 50; }
=back
=include SpeechRecognition.xs
=head1 BUGS/LIMITATIONS
=head1 AUTHOR(S)
Matthias Ulrich Neeracher <neeri@iis.ee.ethz.ch> Author
=cut
1;
__END__