1

私は音声認識と新技術を使ったユーザー調査を行っています。実験室でのテスト中に、プログラムしたインターフェイスを使用して、口述されたすべてのテキストを表示する必要があります。

現在、C#で代替の全文を取得できますが、1つの単語を取得する必要があります。たとえば、誰かが「こんにちは、私の名前はアンドリューです」と言った場合、完全な代替語ではなく、「こんにちは」、「私の」、「名前」、「is」、「アンドリュー」の代替語を取得したいと思います。文。

これが私が使用しているハンドラーのコードスニペットです。

public void OnSpeechRecognition(int StreamNumber, object StreamPosition, SpeechRecognitionType RecognitionType, ISpeechRecoResult Result)
{
    int NUM_OF_ALTERNATES = 5; // Number of alternates sentences to be read
    string recognizedSentence = Result.PhraseInfo.GetText(0, -1, true);

    // Get alternate sentences
    ISpeechPhraseAlternates phraseAlternates = Result.Alternates(NUM_OF_ALTERNATES);
}

どんなアイデアでも大歓迎です。

4

1 に答える 1

2

Result.Alternates呼び出しで要素数とインデックスを指定する必要があります。

例えば、

public void OnSpeechRecognition(int StreamNumber, object StreamPosition, SpeechRecognitionType RecognitionType, ISpeechRecoResult Result)
{
    int NUM_OF_ALTERNATES = 5; // Number of alternates sentences to be read
    string recognizedSentence = Result.PhraseInfo.GetText(0, -1, true);

    // Get alternate sentences
    int elementCount = Result.PhraseInfo.Elements.Count();
    for (int i = 0; i < elementCount; ++i)
    {
          ISpeechPhraseAlternates phraseAlternates = Result.Alternates(NUM_OF_ALTERNATES, i, 1);
    }
}
于 2013-02-01T18:38:54.023 に答える