首页 > 解决方案 > System.Speech.Recognition - 设置 SpeechRecognitionEngine 返回 SAPI 音素而不是 IPA

问题描述

我正在编写一个 .Net 核心(3.1)库,并正在使用该System.Speech.Recognition库将一个人录制的语音中的不同单词分解为他们的构成音素。

我的(工作)代码示例如下:

using System.Speech.Recognition;

...

public void GetPhonemes()
{
    // Create an in-process speech recognizer for the en-US locale.  
    using (var recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))
    using (var reader = createStream())
    {
        GrammarBuilder gBuilder = new GrammarBuilder(RequestedStatement);
        var grammar = new Grammar(gBuilder);
        recognizer.LoadGrammar(grammar);

        // Configure input to the speech recognizer.
        var format = getSpeechAudioFormatInfo(reader);
        recognizer.SetInputToAudioStream(reader, format);

        // Start synchronous speech recognition.  
        var result = recognizer.Recognize();

        foreach (var word in result.Words)
        {
            ... Do something with the recognized words & phonemes
        }
    }
}

我的问题是返回ipaSpeechRecognitionEngine格式的音素,而不是我想要的sapi格式(使用此 Microsoft 参考中描述的格式)。

有没有办法以sapi格式SpeechRecognitionEngine返回音素?如果没有,是否有一个易于使用的转换器?

标签: c#.net-corespeech-recognitionsapiphoneme

解决方案


推荐阅读