2

可能重复:
来自音频文件而不是麦克风的语音识别

我有这个程序,它使用麦克风设备进行语音识别。这是执行此操作的程序的一个简短片段。

但是,我打算做的不是使用麦克风设备,而是将声音文件传递给这个语音识别引擎,它实际上应该识别来自该音频文件的文本并重新调整结果。

    SpeechRecognitionEngine speechRecognitionEngine = new SpeechRecognitionEngine();
    List<Word> words = new List<Word>();
    public TestSpeech()
    {
        speechRecognitionEngine = createSpeechEngine("en-us");
        speechRecognitionEngine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(engine_SpeechRecognized);
        loadGrammarAndCommands();            

        speechRecognitionEngine.SetInputToDefaultAudioDevice();
        speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);
    }

我应该怎么做而不是speechRecognitionEngine.SetInputToDefaultAudioDevice();

用于从音频设备识别的语音识别桌面示例:http: //www.codeproject.com/Articles/380027/Csharp-Speech-to-Text

4

2 回答 2

3

为什么不试试SetInputToAudioStream()

于 2012-06-26T17:38:21.710 回答
0

解决方案:

您应该将输入模式配置为 wav:

// Configure the input to the recognizer.
recognizer.SetInputToWaveFile(@"c:\temp\SampleWAVInput.wav");

本文讨论如何使用 System.Speech 命名空间中的识别器识别音频文件。

其他注意事项:

  1. 您需要确保您的音频文件格式正确/受支持
  2. 您还应该查看 Microsoft Speech Platform 11(发布时的最新版本)。它具有最新的 Microsoft 语音技术,可以提高您尝试执行的任何操作的准确性。

您可以在此处阅读更多内容并通过 Google 搜索“Microsoft Speech Platform SDK 11 下载”来下载 SDK

祝你好运!

于 2012-06-27T08:21:09.127 回答