0

我正在使用以下代码通过麦克风将文本输入到 RichTextBox:

private void button1_Click(object sender, EventArgs e)
    {
        SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();
        Grammar dictationGrammar = new DictationGrammar();
        recognizer.LoadGrammar(dictationGrammar);
        try
        {
            MessageBox.Show("Ready to talk?", "Speak", MessageBoxButtons.OKCancel);
            recognizer.SetInputToDefaultAudioDevice();
            RecognitionResult result = recognizer.Recognize();
            richTextBoxPrintCtrl1.SelectedText = result.Text;
        }
        catch (InvalidOperationException exception)
        {
            MessageBox.Show("Could not recognize input from default audio device. Is a microphone or sound card available?", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        finally
        {
            recognizer.UnloadAllGrammars();


        }

但是,结果不是很准确。我想在我的应用程序中实现一个相当准确的语音到文本听写服务。有人知道我可以改进此代码的方法,或者知道实现语音到文本的任何其他方法吗?

提前致谢。

4

1 回答 1

2

显而易见的答案

最终,这取决于进入程序的声音质量。这几乎完全取决于硬件。改进硬件意味着更可靠的数据。所以真的,买一个更好的麦克风。

训练你的电脑

Microsoft PC 具有语音训练选项,因此计算机可以“习惯”您的声音。通过这个过程,计算机将能够以更高的准确度分析和识别您所说的单词。

于 2013-04-11T19:00:19.260 回答