我正在编写一个 .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
返回音素?如果没有,是否有一个易于使用的转换器?