SpeechRecognitionEngine クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
インプロセス音声認識エンジンにアクセスしてエンジンを管理するための手段を提供します。
public ref class SpeechRecognitionEngine : IDisposable
public class SpeechRecognitionEngine : IDisposable
type SpeechRecognitionEngine = class
interface IDisposable
Public Class SpeechRecognitionEngine
Implements IDisposable
- 継承
-
SpeechRecognitionEngine
- 実装
例
次の例は、基本的な音声認識を示すコンソール アプリケーションの一部を示しています。 この例では メソッドのモードをMultiple
RecognizeAsync使用するため、コンソール ウィンドウを閉じるかデバッグを停止するまで認識を実行します。
using System;
using System.Speech.Recognition;
namespace SpeechRecognitionApp
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (
SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo("en-US")))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
}
注釈
インストールされている任意の音声認識エンジンに対して、このクラスのインスタンスを作成できます。 インストールされている認識エンジンに関する情報を取得するには、静的 InstalledRecognizers メソッドを使用します。
このクラスは、音声認識エンジンをインプロセスで実行するためのクラスであり、次のように音声認識のさまざまな側面を制御します。
インプロセス音声認識エンジンを作成するには、いずれかのコンストラクターを SpeechRecognitionEngine 使用します。
音声認識文法を管理するには、 メソッド、および UnloadAllGrammars プロパティをGrammars使用UnloadGrammarLoadGrammarLoadGrammarAsyncします。
認識エンジンへの入力を構成するには、または メソッドをSetInputToAudioStreamSetInputToWaveFileSetInputToDefaultAudioDeviceSetInputToNull使用します。SetInputToWaveStream
音声認識を実行するには、 メソッドまたは RecognizeAsync メソッドを使用しますRecognize。
認識で無音または予期しない入力を処理する方法を変更するには、、InitialSilenceTimeoutEndSilenceTimeout、、および の各プロパティをEndSilenceTimeoutAmbiguous使用BabbleTimeoutします。
認識エンジンが返す代替の数を変更するには、 プロパティを MaxAlternates 使用します。 認識エンジンは、認識結果を RecognitionResult オブジェクトで返します。
認識エンジンへの変更を同期するには、 メソッドを使用します RequestRecognizerUpdate 。 認識エンジンは、複数のスレッドを使用してタスクを実行します。
認識エンジンへの入力をエミュレートするには、 メソッドと EmulateRecognizeAsync メソッドをEmulateRecognize使用します。
オブジェクトは SpeechRecognitionEngine 、オブジェクトをインスタンス化したプロセスのみを使用するためのオブジェクトです。 これに対し、 は SpeechRecognizer 、それを使用する任意のアプリケーションと 1 つの認識エンジンを共有します。
Note
音声認識エンジンへの最後の参照を解放する前に、必ず を呼び出 Dispose してください。 それ以外の場合、ガベージ コレクターが認識エンジン オブジェクトの Finalize
メソッドを呼び出すまで、使用しているリソースは解放されません。
コンストラクター
SpeechRecognitionEngine() |
システムの既定の音声認識エンジンを使用して、SpeechRecognitionEngine クラスの新しいインスタンスを初期化します。 |
SpeechRecognitionEngine(CultureInfo) |
指定したロケールの既定の音声認識エンジンを使用して、SpeechRecognitionEngine クラスの新しいインスタンスを初期化します。 |
SpeechRecognitionEngine(RecognizerInfo) |
使用する認識エンジンを指定する SpeechRecognitionEngine オブジェクトの情報を使用して、RecognizerInfo クラスの新しいインスタンスを初期化します。 |
SpeechRecognitionEngine(String) |
使用する認識エンジンの名前を指定する文字列パラメーターを使用して、SpeechRecognitionEngine クラスの新しいインスタンスを初期化します。 |
プロパティ
AudioFormat |
SpeechRecognitionEngine によって受け取られるオーディオの形式を取得します。 |
AudioLevel |
SpeechRecognitionEngine によって受け取られるオーディオのレベルを取得します。 |
AudioPosition |
SpeechRecognitionEngine に入力を提供しているデバイスによって生成されているオーディオ ストリーム内の現在の位置を取得します。 |
AudioState |
SpeechRecognitionEngine によって受け取られるオーディオの状態を取得します。 |
BabbleTimeout |
SpeechRecognitionEngine が認識を終了する前にバックグラウンド ノイズのみを含む入力を受け入れる時間間隔を取得または設定します。 |
EndSilenceTimeout |
SpeechRecognitionEngine が明確な入力の最後に認識操作を終了する前に受け入れる無音状態の間隔を取得または設定します。 |
EndSilenceTimeoutAmbiguous |
SpeechRecognitionEngine が不明確な入力の最後に認識操作を終了する前に受け入れる無音状態の間隔を取得または設定します。 |
Grammars |
この Grammar インスタンスに読み込まれる SpeechRecognitionEngine オブジェクトのコレクションを取得します。 |
InitialSilenceTimeout |
SpeechRecognitionEngine が認識を終了する前に無音状態のみを含む入力を受け入れる時間間隔を取得または設定します。 |
MaxAlternates |
SpeechRecognitionEngine が各認識操作に対して返す代替認識結果の最大数を取得または設定します。 |
RecognizerAudioPosition |
処理中のオーディオ入力内の SpeechRecognitionEngine の現在の位置を取得します。 |
RecognizerInfo |
SpeechRecognitionEngine の現在のインスタンスに関する情報を取得します。 |
メソッド
Dispose() |
SpeechRecognitionEngine オブジェクトを破棄します。 |
Dispose(Boolean) |
SpeechRecognitionEngine オブジェクトを破棄し、セッション中に使用するリソースを解放します。 |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
同期音声認識にオーディオではなくテキストを使用して、音声認識エンジンに対する特定の語の入力をエミュレートし、語と読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。 |
EmulateRecognize(String) |
同期音声認識に音声ではなくテキストを使用して、音声認識エンジンに対する語句の入力をエミュレートします。 |
EmulateRecognize(String, CompareOptions) |
同期音声認識にオーディオではなくテキストを使用して、音声認識エンジンに対するフレーズの入力をエミュレートし、フレーズと読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。 |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
非同期音声認識にオーディオではなく RecognizedWordUnit の配列を使用して、共有された音声認識エンジンに対する特定の語の入力をエミュレートし、語と読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。 |
EmulateRecognizeAsync(String) |
非同期音声認識に音声ではなくテキストを使用して、音声認識エンジンに対する語句の入力をエミュレートします。 |
EmulateRecognizeAsync(String, CompareOptions) |
非同期音声認識にオーディオではなくテキストを使用して、音声認識エンジンに対するフレーズの入力をエミュレートし、フレーズと読み込まれている音声認識文法との間で認識エンジンが Unicode 比較をどのように行うかを指定します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
InstalledRecognizers() |
現在のシステムにインストールされているすべての音声認識に関する情報を返します。 |
LoadGrammar(Grammar) |
Grammar オブジェクトを同期的に読み込みます。 |
LoadGrammarAsync(Grammar) |
非同期的に音声認識文法を読み込みます。 |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
QueryRecognizerSetting(String) |
レコグナイザーの設定の値を返します。 |
Recognize() |
同期音声認識操作を実行します。 |
Recognize(TimeSpan) |
指定した最初のサイレント状態のタイムアウト期間の同期音声認識の操作を実行します。 |
RecognizeAsync() |
単一の非同期音声認識操作を実行します。 |
RecognizeAsync(RecognizeMode) |
1 つ以上の非同期音声認識操作を実行します。 |
RecognizeAsyncCancel() |
現在の認識操作の完了を待たずに非同期認識を終了します。 |
RecognizeAsyncStop() |
現在の認識操作の完了後に非同期認識を停止します。 |
RequestRecognizerUpdate() |
認識エンジンが状態の更新を停止することを要求します。 |
RequestRecognizerUpdate(Object) |
認識エンジンが状態の更新を停止し、関連イベントのユーザー トークンを提供することを要求します。 |
RequestRecognizerUpdate(Object, TimeSpan) |
認識エンジンが状態の更新を停止し、関連イベントのオフセットとユーザー トークンを提供することを要求します。 |
SetInputToAudioStream(Stream, SpeechAudioFormatInfo) |
SpeechRecognitionEngine オブジェクトを、オーディオ ストリームからの入力を受け取るように構成します。 |
SetInputToDefaultAudioDevice() |
SpeechRecognitionEngine オブジェクトを、既定のオーディオ デバイスからの入力を受け取るように構成します。 |
SetInputToNull() |
音声レコグナイザーに対する入力を無効にします。 |
SetInputToWaveFile(String) |
SpeechRecognitionEngine オブジェクトを、WAVE オーディオ形式 (.wav) ファイルからの入力を受け取るように構成します。 |
SetInputToWaveStream(Stream) |
SpeechRecognitionEngine オブジェクトを、WAVE オーディオ形式 (.wav) データを含むストリームからの入力を受け取るように構成します。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
UnloadAllGrammars() |
すべての Grammar オブジェクトを認識エンジンから削除します。 |
UnloadGrammar(Grammar) |
Grammar インスタンスから、指定された SpeechRecognitionEngine オブジェクトをアンロードします。 |
UpdateRecognizerSetting(String, Int32) |
SpeechRecognitionEngine の指定された設定を、指定された整数値で更新します。 |
UpdateRecognizerSetting(String, String) |
指定された音声認識エンジンの設定を、指定された文字列値で更新します。 |
イベント
AudioLevelUpdated |
SpeechRecognitionEngine がオーディオ入力のレベルを報告すると発生します。 |
AudioSignalProblemOccurred |
SpeechRecognitionEngine がオーディオ信号の問題を検出したときに発生します。 |
AudioStateChanged |
オーディオの状態変化が SpeechRecognitionEngine によって受け取られるときに発生します。 |
EmulateRecognizeCompleted |
SpeechRecognitionEngine がエミュレートされた入力の非同期認識操作を終了すると発生します。 |
LoadGrammarCompleted |
SpeechRecognitionEngine が Grammar オブジェクトの非同期読み込みを終了するときに発生します。 |
RecognizeCompleted |
SpeechRecognitionEngine が非同期認識操作を終了すると発生します。 |
RecognizerUpdateReached |
変更を受け入れるために実行中の SpeechRecognitionEngine を一時停止すると発生します。 |
SpeechDetected |
SpeechRecognitionEngine が音声として識別できる入力を検出すると発生します。 |
SpeechHypothesized |
SpeechRecognitionEngine が文法の複数の完全な語句のコンポーネントである可能性がある単語を認識した場合に発生します。 |
SpeechRecognitionRejected |
SpeechRecognitionEngine が読み込み済みで有効な Grammar オブジェクトのどのリストにも一致しない入力を受け取ると、発生します。 |
SpeechRecognized |
SpeechRecognitionEngine が読み込み済みで有効な Grammar オブジェクトのいずれかのリストに一致する入力を受け取ると、発生します。 |
適用対象
こちらもご覧ください
.NET