音声認識エンジンの言語を指定する

Windows アプリ SDK アプリで音声認識用にインストールされている言語を選択する方法について説明します。

Important

音声認識には MSIX パッケージ ID が必要です。 Windows.Media.SpeechRecognition API は、アプリがパッケージ ID (パッケージ化または外部の場所でパッケージ化) で実行されている場合にのみ使用できます。 パッケージ化されていないアプリでは、これらの API を使用できません。

主要API

Overview

既定では、音声認識エンジンは、インストールされているシステム言語を音声認識に使用します。 Windows.Globalization.LanguageオブジェクトをSpeechRecognizerコンストラクターに渡して、別の言語を選択します。

アプリでは、ユーザーのデバイスでサポートされている言語を使用する必要があります。 使用できる言語を決定するには、 SpeechRecognizer.SupportedTopicLanguages または SpeechRecognizer.SupportedGrammarLanguages プロパティを使用します。

認識言語を設定する

Language コンストラクターにSpeechRecognizer オブジェクトを渡して言語を指定します。

var language = new Windows.Globalization.Language("en-US");
var speechRecognizer = new Windows.Media.SpeechRecognition.SpeechRecognizer(language);

サポートされている言語を決定する

次の例は、サポートされているトピック言語を確認して表示する方法を示しています。

var topicLanguages = Windows.Media.SpeechRecognition.SpeechRecognizer.SupportedTopicLanguages;

foreach (var lang in topicLanguages)
{
    var languageTag = lang.LanguageTag;
    var displayName = lang.DisplayName;
    // Present these to the user for selection.
}

次の例では、使用できる文法言語を確認します。

var grammarLanguages = Windows.Media.SpeechRecognition.SpeechRecognizer.SupportedGrammarLanguages;

foreach (var lang in grammarLanguages)
{
    var languageTag = lang.LanguageTag;
    var displayName = lang.DisplayName;
}

Note

トピック言語 (ディクテーションと Web 検索) はオンライン サービスによって処理され、どの音声言語パックがローカルにインストールされているかに限定されません。 文法言語 (リストと SRGS の制約) はデバイス上で処理され、対応する音声言語パックをインストールする必要があります。