home *** CD-ROM | disk | FTP | other *** search
/ CLIX - Fazer Clix Custa Nix / CLIX-CD.cdr / mac / lib / Mac / SpeechRecognition.pm < prev    next >
Text File  |  1998-04-05  |  13KB  |  538 lines

  1. =head1 NAME
  2.  
  3. Mac::SpeechRecognition - Provide interface to Speech Recognition Manager
  4.  
  5. =head1 SYNOPSIS
  6.  
  7.     use Mac::SpeechRecognition;
  8.  
  9. =head1 DESCRIPTION
  10.  
  11. Access to Inside Macintosh is essential for proper use of these functions.
  12. Explanations of terms, processes and procedures are provided there.
  13. Any attempt to use these functions without guidance can cause severe errors in 
  14. your machine, including corruption of data. B<You have been warned.>
  15.  
  16. =cut
  17. use strict;
  18.  
  19. package Mac::SpeechRecognition;
  20.  
  21. BEGIN {
  22.     use Exporter   ();
  23.     use DynaLoader ();
  24.     
  25.     use vars qw(@ISA @EXPORT);
  26.     
  27.     @ISA = qw(Exporter DynaLoader);
  28.     @EXPORT = qw(
  29.         SROpenRecognitionSystem
  30.         SRCloseRecognitionSystem
  31.         SRSetProperty
  32.         SRGetProperty
  33.         SRReleaseObject
  34.         SRGetReference
  35.         SRNewRecognizer
  36.         SRStartListening
  37.         SRStopListening
  38.         SRSetLanguageModel
  39.         SRGetLanguageModel
  40.         SRContinueRecognition
  41.         SRCancelRecognition
  42.         SRIdle
  43.         SRNewLanguageModel
  44.         SRNewPath
  45.         SRNewPhrase
  46.         SRNewWord
  47.         SRPutLanguageObjectIntoHandle
  48.         SRPutLanguageObjectIntoDataFile
  49.         SRNewLanguageObjectFromHandle
  50.         SRNewLanguageObjectFromDataFile
  51.         SREmptyLanguageObject
  52.         SRChangeLanguageObject
  53.         SRAddLanguageObject
  54.         SRAddText
  55.         SRRemoveLanguageObject
  56.         SRCountItems
  57.         SRGetIndexedItem
  58.         SRSetIndexedItem
  59.         SRRemoveIndexedItem
  60.         SRDrawText
  61.         SRDrawRecognizedText
  62.         SRSpeakText
  63.         SRSpeakAndDrawText
  64.         SRStopSpeech
  65.         SRSpeechBusy
  66.         SRProcessBegin
  67.         SRProcessEnd
  68.         SRMakeSpeechObject
  69.         gestaltSpeechRecognitionVersion
  70.         gestaltSpeechRecognitionAttr
  71.         gestaltDesktopSpeechRecognition
  72.         gestaltTelephoneSpeechRecognition
  73.         kSRNotAvailable
  74.         kSRInternalError
  75.         kSRComponentNotFound
  76.         kSROutOfMemory
  77.         kSRNotASpeechObject
  78.         kSRBadParameter
  79.         kSRParamOutOfRange
  80.         kSRBadSelector
  81.         kSRBufferTooSmall
  82.         kSRNotARecSystem
  83.         kSRFeedbackNotAvail
  84.         kSRCantSetProperty
  85.         kSRCantGetProperty
  86.         kSRCantSetDuringRecognition
  87.         kSRAlreadyListening
  88.         kSRNotListeningState
  89.         kSRModelMismatch
  90.         kSRNoClientLanguageModel
  91.         kSRNoPendingUtterances
  92.         kSRRecognitionCanceled
  93.         kSRRecognitionDone
  94.         kSROtherRecAlreadyModal
  95.         kSRHasNoSubItems
  96.         kSRSubItemNotFound
  97.         kSRLanguageModelTooBig
  98.         kSRAlreadyReleased
  99.         kSRAlreadyFinished
  100.         kSRWordNotFound
  101.         kSRNotFinishedWithRejection
  102.         kSRExpansionTooDeep
  103.         kSRTooManyElements
  104.         kSRCantAdd
  105.         kSRSndInSourceDisconnected
  106.         kSRCantReadLanguageObject
  107.         kSRNotImplementedYet
  108.         kSRDefaultRecognitionSystemID
  109.         kSRFeedbackAndListeningModes
  110.         kSRRejectedWord
  111.         kSRCleanupOnClientExit
  112.         kSRNoFeedbackNoListenModes
  113.         kSRHasFeedbackHasListenModes
  114.         kSRNoFeedbackHasListenModes
  115.         kSRDefaultSpeechSource
  116.         kSRLiveDesktopSpeechSource
  117.         kSRCanned22kHzSpeechSource
  118.         kSRNotifyRecognitionBeginning
  119.         kSRNotifyRecognitionDone
  120.         kAESpeechSuite
  121.         kAESpeechDone
  122.         kAESpeechDetected
  123.         keySRRecognizer
  124.         keySRSpeechResult
  125.         keySRSpeechStatus
  126.         typeSRRecognizer
  127.         typeSRSpeechResult
  128.         kSRNotificationParam
  129.         kSRCallBackParam
  130.         kSRSearchStatusParam
  131.         kSRAutoFinishingParam
  132.         kSRForegroundOnly
  133.         kSRBlockBackground
  134.         kSRBlockModally
  135.         kSRWantsResultTextDrawn
  136.         kSRWantsAutoFBGestures
  137.         kSRSoundInVolume
  138.         kSRReadAudioFSSpec
  139.         kSRCancelOnSoundOut
  140.         kSRSpeedVsAccuracyParam
  141.         kSRUseToggleListen
  142.         kSRUsePushToTalk
  143.         kSRListenKeyMode
  144.         kSRListenKeyCombo
  145.         kSRListenKeyName
  146.         kSRKeyWord
  147.         kSRKeyExpected
  148.         kSRIdleRecognizer
  149.         kSRSearchInProgress
  150.         kSRSearchWaitForAllClients
  151.         kSRMustCancelSearch
  152.         kSRPendingSearch
  153.         kSRTEXTFormat
  154.         kSRPhraseFormat
  155.         kSRPathFormat
  156.         kSRLanguageModelFormat
  157.         kSRSpelling
  158.         kSRLMObjType
  159.         kSRRefCon
  160.         kSROptional
  161.         kSREnabled
  162.         kSRRepeatable
  163.         kSRRejectable
  164.         kSRRejectionLevel
  165.         kSRLanguageModelType
  166.         kSRPathType
  167.         kSRPhraseType
  168.         kSRWordType
  169.         kSRDefaultRejectionLevel
  170.     );
  171. }
  172.  
  173. bootstrap Mac::SpeechRecognition;
  174.  
  175. =head2 Constants
  176.  
  177. =over 4
  178.  
  179. =item gestaltSpeechRecognitionVersion
  180.  
  181. =item gestaltSpeechRecognitionAttr
  182.  
  183. =cut
  184. sub gestaltSpeechRecognitionVersion () {     'srtb'; }
  185. sub gestaltSpeechRecognitionAttr () {     'srta'; }
  186.  
  187.  
  188. =item gestaltDesktopSpeechRecognition
  189.  
  190. =item gestaltTelephoneSpeechRecognition
  191.  
  192. =cut
  193. sub gestaltDesktopSpeechRecognition () {    1 << 0; }
  194. sub gestaltTelephoneSpeechRecognition () {    1 << 1; }
  195.  
  196.  
  197. =item kSRNotAvailable
  198.  
  199. =item kSRInternalError
  200.  
  201. =item kSRComponentNotFound
  202.  
  203. =item kSROutOfMemory
  204.  
  205. =item kSRNotASpeechObject
  206.  
  207. =item kSRBadParameter
  208.  
  209. =item kSRParamOutOfRange
  210.  
  211. =item kSRBadSelector
  212.  
  213. =item kSRBufferTooSmall
  214.  
  215. =item kSRNotARecSystem
  216.  
  217. =item kSRFeedbackNotAvail
  218.  
  219. =item kSRCantSetProperty
  220.  
  221. =item kSRCantGetProperty
  222.  
  223. =item kSRCantSetDuringRecognition
  224.  
  225. =item kSRAlreadyListening
  226.  
  227. =item kSRNotListeningState
  228.  
  229. =item kSRModelMismatch
  230.  
  231. =item kSRNoClientLanguageModel
  232.  
  233. =item kSRNoPendingUtterances
  234.  
  235. =item kSRRecognitionCanceled
  236.  
  237. =item kSRRecognitionDone
  238.  
  239. =item kSROtherRecAlreadyModal
  240.  
  241. =item kSRHasNoSubItems
  242.  
  243. =item kSRSubItemNotFound
  244.  
  245. =item kSRLanguageModelTooBig
  246.  
  247. =item kSRAlreadyReleased
  248.  
  249. =item kSRAlreadyFinished
  250.  
  251. =item kSRWordNotFound
  252.  
  253. =item kSRNotFinishedWithRejection
  254.  
  255. =item kSRExpansionTooDeep
  256.  
  257. =item kSRTooManyElements
  258.  
  259. =item kSRCantAdd
  260.  
  261. =item kSRSndInSourceDisconnected
  262.  
  263. =item kSRCantReadLanguageObject
  264.  
  265. =item kSRNotImplementedYet
  266.  
  267. =cut
  268. sub kSRNotAvailable ()             {      -5100; }
  269. sub kSRInternalError ()            {      -5101; }
  270. sub kSRComponentNotFound ()        {      -5102; }
  271. sub kSROutOfMemory ()              {      -5103; }
  272. sub kSRNotASpeechObject ()         {      -5104; }
  273. sub kSRBadParameter ()             {      -5105; }
  274. sub kSRParamOutOfRange ()          {      -5106; }
  275. sub kSRBadSelector ()              {      -5107; }
  276. sub kSRBufferTooSmall ()           {      -5108; }
  277. sub kSRNotARecSystem ()            {      -5109; }
  278. sub kSRFeedbackNotAvail ()         {      -5110; }
  279. sub kSRCantSetProperty ()          {      -5111; }
  280. sub kSRCantGetProperty ()          {      -5112; }
  281. sub kSRCantSetDuringRecognition () {      -5113; }
  282. sub kSRAlreadyListening ()         {      -5114; }
  283. sub kSRNotListeningState ()        {      -5115; }
  284. sub kSRModelMismatch ()            {      -5116; }
  285. sub kSRNoClientLanguageModel ()    {      -5117; }
  286. sub kSRNoPendingUtterances ()      {      -5118; }
  287. sub kSRRecognitionCanceled ()      {      -5119; }
  288. sub kSRRecognitionDone ()          {      -5120; }
  289. sub kSROtherRecAlreadyModal ()     {      -5121; }
  290. sub kSRHasNoSubItems ()            {      -5122; }
  291. sub kSRSubItemNotFound ()          {      -5123; }
  292. sub kSRLanguageModelTooBig ()      {      -5124; }
  293. sub kSRAlreadyReleased ()          {      -5125; }
  294. sub kSRAlreadyFinished ()          {      -5126; }
  295. sub kSRWordNotFound ()             {      -5127; }
  296. sub kSRNotFinishedWithRejection () {      -5128; }
  297. sub kSRExpansionTooDeep ()         {      -5129; }
  298. sub kSRTooManyElements ()          {      -5130; }
  299. sub kSRCantAdd ()                  {      -5131; }
  300. sub kSRSndInSourceDisconnected ()  {      -5132; }
  301. sub kSRCantReadLanguageObject ()   {      -5133; }
  302. sub kSRNotImplementedYet ()        {      -5199; }
  303.  
  304.  
  305. =item kSRDefaultRecognitionSystemID
  306.  
  307. =cut
  308. sub kSRDefaultRecognitionSystemID () {          0; }
  309.  
  310.  
  311. =item kSRFeedbackAndListeningModes
  312.  
  313. =item kSRRejectedWord
  314.  
  315. =item kSRCleanupOnClientExit
  316.  
  317. =cut
  318. sub kSRFeedbackAndListeningModes () {     'fbwn'; }
  319. sub kSRRejectedWord ()             {     'rejq'; }
  320. sub kSRCleanupOnClientExit ()      {     'clup'; }
  321.  
  322.  
  323. =item kSRNoFeedbackNoListenModes
  324.  
  325. =item kSRHasFeedbackHasListenModes
  326.  
  327. =item kSRNoFeedbackHasListenModes
  328.  
  329. =cut
  330. sub kSRNoFeedbackNoListenModes ()  {          0; }
  331. sub kSRHasFeedbackHasListenModes () {          1; }
  332. sub kSRNoFeedbackHasListenModes () {          2; }
  333.  
  334.  
  335. =item kSRDefaultSpeechSource
  336.  
  337. =item kSRLiveDesktopSpeechSource
  338.  
  339. =item kSRCanned22kHzSpeechSource
  340.  
  341. =cut
  342. sub kSRDefaultSpeechSource ()      {          0; }
  343. sub kSRLiveDesktopSpeechSource ()  {     'dklv'; }
  344. sub kSRCanned22kHzSpeechSource ()  {     'ca22'; }
  345.  
  346.  
  347. =item kSRNotifyRecognitionBeginning
  348.  
  349. =item kSRNotifyRecognitionDone
  350.  
  351. =cut
  352. sub kSRNotifyRecognitionBeginning () {    1 << 0; }
  353. sub kSRNotifyRecognitionDone ()    {    1 << 1; }
  354.  
  355.  
  356. =item kAESpeechSuite
  357.  
  358. =item kAESpeechDone
  359.  
  360. =item kAESpeechDetected
  361.  
  362. =item keySRRecognizer
  363.  
  364. =item keySRSpeechResult
  365.  
  366. =item keySRSpeechStatus
  367.  
  368. =item typeSRRecognizer
  369.  
  370. =item typeSRSpeechResult
  371.  
  372. =item kSRNotificationParam
  373.  
  374. =item kSRCallBackParam
  375.  
  376. =item kSRSearchStatusParam
  377.  
  378. =item kSRAutoFinishingParam
  379.  
  380. =item kSRForegroundOnly
  381.  
  382. =item kSRBlockBackground
  383.  
  384. =item kSRBlockModally
  385.  
  386. =item kSRWantsResultTextDrawn
  387.  
  388. =item kSRWantsAutoFBGestures
  389.  
  390. =item kSRSoundInVolume
  391.  
  392. =item kSRReadAudioFSSpec
  393.  
  394. =item kSRCancelOnSoundOut
  395.  
  396. =item kSRSpeedVsAccuracyParam
  397.  
  398. =cut
  399. sub kAESpeechSuite ()              {     'sprc'; }
  400. sub kAESpeechDone ()               {     'srsd'; }
  401. sub kAESpeechDetected ()           {     'srbd'; }
  402. sub keySRRecognizer ()             {     'krec'; }
  403. sub keySRSpeechResult ()           {     'kspr'; }
  404. sub keySRSpeechStatus ()           {     'ksst'; }
  405. sub typeSRRecognizer ()            {     'trec'; }
  406. sub typeSRSpeechResult ()          {     'tspr'; }
  407. sub kSRNotificationParam ()        {     'noti'; }
  408. sub kSRCallBackParam ()            {     'call'; }
  409. sub kSRSearchStatusParam ()        {     'stat'; }
  410. sub kSRAutoFinishingParam ()       {     'afin'; }
  411. sub kSRForegroundOnly ()           {     'fgon'; }
  412. sub kSRBlockBackground ()          {     'blbg'; }
  413. sub kSRBlockModally ()             {     'blmd'; }
  414. sub kSRWantsResultTextDrawn ()     {     'txfb'; }
  415. sub kSRWantsAutoFBGestures ()      {     'dfbr'; }
  416. sub kSRSoundInVolume ()            {     'volu'; }
  417. sub kSRReadAudioFSSpec ()          {     'aurd'; }
  418. sub kSRCancelOnSoundOut ()         {     'caso'; }
  419. sub kSRSpeedVsAccuracyParam ()     {     'sped'; }
  420.  
  421.  
  422. =item kSRUseToggleListen
  423.  
  424. =item kSRUsePushToTalk
  425.  
  426. =cut
  427. sub kSRUseToggleListen ()          {          0; }
  428. sub kSRUsePushToTalk ()            {          1; }
  429.  
  430.  
  431. =item kSRListenKeyMode
  432.  
  433. =item kSRListenKeyCombo
  434.  
  435. =item kSRListenKeyName
  436.  
  437. =item kSRKeyWord
  438.  
  439. =item kSRKeyExpected
  440.  
  441. =cut
  442. sub kSRListenKeyMode ()            {     'lkmd'; }
  443. sub kSRListenKeyCombo ()           {     'lkey'; }
  444. sub kSRListenKeyName ()            {     'lnam'; }
  445. sub kSRKeyWord ()                  {     'kwrd'; }
  446. sub kSRKeyExpected ()              {     'kexp'; }
  447.  
  448.  
  449. =item kSRIdleRecognizer
  450.  
  451. =item kSRSearchInProgress
  452.  
  453. =item kSRSearchWaitForAllClients
  454.  
  455. =item kSRMustCancelSearch
  456.  
  457. =item kSRPendingSearch
  458.  
  459. =cut
  460. sub kSRIdleRecognizer ()           {    1 << 0; }
  461. sub kSRSearchInProgress ()         {    1 << 1; }
  462. sub kSRSearchWaitForAllClients ()  {    1 << 2; }
  463. sub kSRMustCancelSearch ()         {    1 << 3; }
  464. sub kSRPendingSearch ()            {    1 << 4; }
  465.  
  466.  
  467. =item kSRTEXTFormat
  468.  
  469. =item kSRPhraseFormat
  470.  
  471. =item kSRPathFormat
  472.  
  473. =item kSRLanguageModelFormat
  474.  
  475. =item kSRSpelling
  476.  
  477. =item kSRLMObjType
  478.  
  479. =item kSRRefCon
  480.  
  481. =item kSROptional
  482.  
  483. =item kSREnabled
  484.  
  485. =item kSRRepeatable
  486.  
  487. =item kSRRejectable
  488.  
  489. =item kSRRejectionLevel
  490.  
  491. =item kSRLanguageModelType
  492.  
  493. =item kSRPathType
  494.  
  495. =item kSRPhraseType
  496.  
  497. =item kSRWordType
  498.  
  499. =cut
  500. sub kSRTEXTFormat ()               {     'TEXT'; }
  501. sub kSRPhraseFormat ()             {     'lmph'; }
  502. sub kSRPathFormat ()               {     'lmpt'; }
  503. sub kSRLanguageModelFormat ()      {     'lmfm'; }
  504. sub kSRSpelling ()                 {     'spel'; }
  505. sub kSRLMObjType ()                {     'lmtp'; }
  506. sub kSRRefCon ()                   {     'refc'; }
  507. sub kSROptional ()                 {     'optl'; }
  508. sub kSREnabled ()                  {     'enbl'; }
  509. sub kSRRepeatable ()               {     'rptb'; }
  510. sub kSRRejectable ()               {     'rjbl'; }
  511. sub kSRRejectionLevel ()           {     'rjct'; }
  512. sub kSRLanguageModelType ()        {     'lmob'; }
  513. sub kSRPathType ()                 {     'path'; }
  514. sub kSRPhraseType ()               {     'phra'; }
  515. sub kSRWordType ()                 {     'word'; }
  516.  
  517.  
  518. =item kSRDefaultRejectionLevel
  519.  
  520. =cut
  521. sub kSRDefaultRejectionLevel ()    {         50; }
  522.  
  523. =back
  524.  
  525. =include SpeechRecognition.xs
  526.  
  527. =head1 BUGS/LIMITATIONS
  528.  
  529. =head1 AUTHOR(S)
  530.  
  531. Matthias Ulrich Neeracher <neeri@iis.ee.ethz.ch> Author
  532.  
  533. =cut
  534.  
  535. 1;
  536.  
  537. __END__
  538.