1

ADCライブラリのNSSpeechRecognizerに気づき、非常に興味深いことがわかったので、それを試してみるために、コマンドをリッスンするだけの簡単なアプリケーションを準備し、認識されるとログに表示します。

使用されるコードは次のとおりです。

- (id)init {

    if (self = [super init]) {
        // Insert code here to initialize your application 
        NSArray *cmds = [NSArray arrayWithObjects:@"A",@"B", @"C",@"alpha",@"beta",@"vodka",@"wine",nil]; 
        recog = [[NSSpeechRecognizer alloc] init]; // recog is an ivar
        [recog setCommands:cmds];
        [recog setDelegate:self];
    }
    return self;
}

- (IBAction)listen:(id)sender
{   NSLog(@"listen:");
    if ([sender state] == NSOnState) { // listen
        [recog startListening];
    } else {
        [recog stopListening];
    }
}

- (void)speechRecognizer:(NSSpeechRecognizer *)sender didRecognizeCommand:(id)aCmd {
    NSLog(@"speechRecognizer: %@",(NSString *)aCmd);
}

登録されたコマンドに対して何度も試しましたが、デリゲートのログにメッセージを取得できませんでした:(

バックグラウンドには常にノイズがありました。これが理由でしょうか、それともコードで何か間違ったことをしたのでしょうか。

誰かが私にそれに対するいくつかの解決策を提案できますか?

ありがとう、

ミラジ

4

1 に答える 1

2

コードは今のところ問題ないようです。

NSSpeechRecognizer は少しトリッキーな場合があり、正しい言葉を聞くことを拒否します。別の言葉を試してみましたか?

デフォルトとして startListening を設定しようとしましたか?

少し前にちょっとしたチュートリアルを書きました。ドイツ語ですが、とにかく役立つか、翻訳ツールを使用してください。

http://cocoa-coding.de/spracherkennung/nsspeechrecognizer1.html

于 2010-02-12T15:13:25.183 に答える