次の方法で共有


SpeechRecognitionEngine コンストラクター

定義

SpeechRecognitionEngine クラスの新しいインスタンスを初期化します。

オーバーロード

名前 説明
SpeechRecognitionEngine()

システムの既定の音声認識エンジンを使用して、 SpeechRecognitionEngine クラスの新しいインスタンスを初期化します。

SpeechRecognitionEngine(CultureInfo)

指定したロケールの既定の音声認識エンジンを使用して、 SpeechRecognitionEngine クラスの新しいインスタンスを初期化します。

SpeechRecognitionEngine(RecognizerInfo)

RecognizerInfo オブジェクト内の情報を使用してSpeechRecognitionEngineの新しいインスタンスを初期化し、使用する認識エンジンを指定します。

SpeechRecognitionEngine(String)

使用する認識エンジンの名前を指定する文字列パラメーターを使用して、 SpeechRecognitionEngine クラスの新しいインスタンスを初期化します。

注釈

SpeechRecognitionEngine インスタンスは、次のいずれかから構築できます。

  • システムの既定の音声認識エンジン

  • 名前で指定する特定の音声認識エンジン

  • 指定したロケールの既定の音声認識エンジン

  • RecognizerInfo オブジェクトで指定した条件を満たす特定の認識エンジン。

音声認識エンジンが認識を開始する前に、少なくとも 1 つの音声認識文法を読み込み、認識エンジンの入力を構成する必要があります。

文法を読み込むには、 LoadGrammar または LoadGrammarAsync メソッドを呼び出します。

オーディオ入力を構成するには、次のいずれかの方法を使用します。

SpeechRecognitionEngine()

ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs

システムの既定の音声認識エンジンを使用して、 SpeechRecognitionEngine クラスの新しいインスタンスを初期化します。

public:
 SpeechRecognitionEngine();
public SpeechRecognitionEngine();
Public Sub New ()

注釈

音声認識エンジンが音声認識を開始するには、少なくとも 1 つの認識文法を読み込み、認識エンジンの入力を構成する必要があります。

文法を読み込むには、 LoadGrammar または LoadGrammarAsync メソッドを呼び出します。

オーディオ入力を構成するには、次のいずれかの方法を使用します。

適用対象

SpeechRecognitionEngine(CultureInfo)

ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs

指定したロケールの既定の音声認識エンジンを使用して、 SpeechRecognitionEngine クラスの新しいインスタンスを初期化します。

public:
 SpeechRecognitionEngine(System::Globalization::CultureInfo ^ culture);
public SpeechRecognitionEngine(System.Globalization.CultureInfo culture);
new System.Speech.Recognition.SpeechRecognitionEngine : System.Globalization.CultureInfo -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (culture As CultureInfo)

パラメーター

culture
CultureInfo

音声認識エンジンがサポートする必要があるロケール。

例外

インストールされている音声認識エンジンが指定されたロケールをサポートしていないか、インバリアント カルチャ culture

Culturenullです。

次の例は、基本的な音声認識を示し、en-US ロケールの音声認識エンジンを初期化するコンソール アプリケーションの一部を示しています。

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);
    }
  }
}

注釈

Microsoft Windows と System.Speech API は、すべての有効な言語/国コードを受け入れます。 CultureInfo引数で指定された言語を使用して音声認識を実行するには、その言語と国のコードをサポートする音声認識エンジンをインストールする必要があります。 Microsoft Windows 7 に付属する音声認識エンジンは、次の言語/国コードで動作します。

  • en-GB. 英語 (イギリス)

  • en-US. 英語 (米国)

  • de-DE. ドイツ語 (ドイツ)

  • es-ES. スペイン語 (スペイン)

  • fr-FR. フランス語 (フランス)

  • ja-JP. 日本語 (日本)

  • zh-CN。 中国語 (中国)

  • zh-TW. 中国語 (台湾)

"en"、"fr"、"es" などの 2 文字の言語コードも使用できます。

音声認識エンジンが認識を開始する前に、少なくとも 1 つの音声認識文法を読み込み、認識エンジンの入力を構成する必要があります。

文法を読み込むには、 LoadGrammar または LoadGrammarAsync メソッドを呼び出します。

オーディオ入力を構成するには、次のいずれかの方法を使用します。

適用対象

SpeechRecognitionEngine(RecognizerInfo)

ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs

RecognizerInfo オブジェクト内の情報を使用してSpeechRecognitionEngineの新しいインスタンスを初期化し、使用する認識エンジンを指定します。

public:
 SpeechRecognitionEngine(System::Speech::Recognition::RecognizerInfo ^ recognizerInfo);
public SpeechRecognitionEngine(System.Speech.Recognition.RecognizerInfo recognizerInfo);
new System.Speech.Recognition.SpeechRecognitionEngine : System.Speech.Recognition.RecognizerInfo -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (recognizerInfo As RecognizerInfo)

パラメーター

recognizerInfo
RecognizerInfo

特定の音声認識エンジンの情報。

次の例は、基本的な音声認識を示し、英語をサポートする音声認識エンジンを初期化するコンソール アプリケーションの一部を示しています。

 using System;
using System.Speech.Recognition;

namespace SpeechRecognitionApp
{
  class Program
  {
    static void Main(string[] args)
    {

      // Select a speech recognizer that supports English.
      RecognizerInfo info = null;
      foreach (RecognizerInfo ri in SpeechRecognitionEngine.InstalledRecognizers())
      {
        if (ri.Culture.TwoLetterISOLanguageName.Equals("en"))
        {
          info = ri;
          break;
        }
      }
      if (info == null) return;

      // Create the selected recognizer.
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine(info))
      {

        // 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 メソッドを使用します。

音声認識エンジンが認識を開始する前に、少なくとも 1 つの音声認識文法を読み込み、認識エンジンの入力を構成する必要があります。

文法を読み込むには、 LoadGrammar または LoadGrammarAsync メソッドを呼び出します。

オーディオ入力を構成するには、次のいずれかの方法を使用します。

適用対象

SpeechRecognitionEngine(String)

ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs
ソース:
SpeechRecognitionEngine.cs

使用する認識エンジンの名前を指定する文字列パラメーターを使用して、 SpeechRecognitionEngine クラスの新しいインスタンスを初期化します。

public:
 SpeechRecognitionEngine(System::String ^ recognizerId);
public SpeechRecognitionEngine(string recognizerId);
new System.Speech.Recognition.SpeechRecognitionEngine : string -> System.Speech.Recognition.SpeechRecognitionEngine
Public Sub New (recognizerId As String)

パラメーター

recognizerId
String

使用する音声認識エンジンのトークン名。

例外

そのトークン名を持つ音声認識エンジンがインストールされていないか、空の文字列 ("") recognizerId

recognizerIdnullです。

次の例は、基本的な音声認識を示し、Windows 用 Speech Recognizer 8.0 (英語 - 米国) のインスタンスを作成するコンソール アプリケーションの一部を示しています。

using System;
using System.Speech.Recognition;

namespace SpeechRecognitionApp
{
  class Program
  {
    static void Main(string[] args)
    {

      // Create an instance of the Microsoft Speech Recognizer 8.0 for
      // Windows (English - US).
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine("MS-1033-80-DESK"))
      {

        // Create and load a dictation grammar.
        recognizer.LoadGrammar(new DictationGrammar());

        // Add a handler for the speech recognized event.
        recognizer.SpeechRecognized += new EventHandler(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);
    }
  }
}

注釈

認識エンジンのトークン名は、認識エンジンのRecognizerInfo プロパティによって返されるRecognizerInfo オブジェクトのId プロパティの値です。 インストールされているすべての認識エンジンのコレクションを取得するには、静的 InstalledRecognizers メソッドを使用します。

音声認識エンジンが認識を開始する前に、少なくとも 1 つの音声認識文法を読み込み、認識エンジンの入力を構成する必要があります。

文法を読み込むには、 LoadGrammar または LoadGrammarAsync メソッドを呼び出します。

オーディオ入力を構成するには、次のいずれかの方法を使用します。

適用対象