9

TCP/IP からビットのオーディオ (モノラル) ストリームを受信するプログラムがあります。Mac OS X の音声 (音声認識) API が音声からテキストへの変換を実行できるかどうか疑問に思っています。

(最初にオーディオを .wav に保存し、オンザフライで変換するのとは対照的にそれを読んでもかまいません)。

公式ドキュメントをオンラインで読みましたが、少し混乱しています。そして、このトピックに関する良い例が見つかりませんでした。

また、Cocoa/Carbon/Java または Objective-C で行う必要がありますか?

誰かが光を当てることができますか?

ありがとう。

4

4 に答える 4

6

XCode をインストールすると、/Developer/Examples/Speech/Recognition の下にコピーされる多くの例があります。

音声認識用の Cocoa クラスはNSSpeechRecognizerです。私はそれを使用したことはありませんが、私が知る限り、音声認識では、自由形式の入力を渡すのではなく、エンジンが多数の選択肢から選択できるようにする文法を構築する必要があります。これはすべて、上記の例で説明されています。

于 2009-05-08T19:03:28.237 に答える
6

これはおそらく少し遅れますが、とにかくチャイムを鳴らします.

OS X の音声認識機能 (Carbon 側と Cocoa 側の両方) は、音声コマンド認識用です。つまり、音声システムの言語モデルに読み込まれた単語 (またはフレーズ、コマンド) を認識します。私は小さな辞書でいくつかのことを行いましたが、それはかなりうまく機能しますが、任意の音声を認識したい場合は、もっと面倒になるかもしれません.

OS X の音声 API が提供する機能は 1 対 1 ではないことに注意してください。Carbon のものは、実現していない機能を提供しますNSSpeechRecognizer(ドキュメントではこれについて言及されています)。

Cocoa については知りませんが、Carbon Speech Recognition Manager を使用すると、マイク以外の入力を指定できるので、サウンド ストリームは問題なく機能します。

于 2009-11-03T05:07:21.920 に答える
1

これがあなたが始めるための良いオライリーの記事です。

于 2009-05-07T23:47:30.957 に答える
1

ApplicationServices の SpeechSynthesis (10.0+) のいずれかを使用できます。

CFStringRef cfstr = CFStringCreateWithCString(NULL,"Hello World!", kCFStringEncodingMacRoman);
Str255 pstr;    
CFStringGetPascalString(cfstr, pstr, 255, kCFStringEncodingMacRoman);   
SpeakString(pstr);

または AppKit の NSSpeechSynthesizer (10.3+)

NSSpeechSynthesizer *synth = [[NSSpeechSynthesizer alloc] initWithVoice:@"com.apple.speech.synthesis.voice.Alex"];
[synth startSpeakingString:@"Hello world!"];
于 2010-07-07T12:58:51.453 に答える