gpt4 book ai didi

c# - 设置输入到波形文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:18 25 4
gpt4 key购买 nike

我是 c# 的新手,目前正在从事一个项目,该项目涉及我使用音频文件作为输入并将其写入文本。我有使用 system.speech 的代码。我从 http://blog.thomascsherman.com/2009/08/getting-started-with-windows-voice-recognition/ 得到这段代码它可以编译,但我在运行时遇到了麻烦。一旦我运行它,代码就会崩溃,控制台会显示“找不到输入文件”。我意识到输入文件的路径是什么,我知道该文件在该文件夹中。请在这件事上给予我帮助。我正在粘贴下面的代码。

使用系统;使用 System.IO;使用系统语音;使用 System.Speech.Recognition;使用 System.Speech.AudioFormat;

公开课你好{

public static void Main()
{
Hello hello= new Hello();
hello.doStuff();


}



private void doStuff()
{
SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
sre.SpeechHypothesized += new EventHandler<SpeechHypothesizedEventArgs>(sre_SpeechHypothesized);
sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
sre.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(sre_RecognizeCompleted);
sre.AudioSignalProblemOccurred += new EventHandler<AudioSignalProblemOccurredEventArgs>(sre_AudioSignalProblemOccurred);
sre.SpeechDetected += new EventHandler<SpeechDetectedEventArgs>(sre_SpeechDetected);
sre.SpeechRecognitionRejected += new EventHandler<SpeechRecognitionRejectedEventArgs>(sre_SpeechRecognitionRejected);



DictationGrammar dg = new DictationGrammar();
sre.LoadGrammar(dg);


sre.SetInputToWaveFile("hello.wav");
sre.EndSilenceTimeout = new TimeSpan(0, 0, 2);


sre.RecognizeAsync();
}

void sre_SpeechHypothesized(object sender, SpeechHypothesizedEventArgs e)
{
Console.WriteLine(e.Result.Text);
}
void sre_AudioSignalProblemOccurred(object sender, AudioSignalProblemOccurredEventArgs e)
{
Console.WriteLine(e.AudioSignalProblem.ToString());
}

void sre_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)
{
Console.WriteLine("Rejected!");
}

void sre_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
{
Console.WriteLine("Recognition Complete!");
}

void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine(e.Result.Text);
}

void sre_SpeechDetected(object sender, SpeechDetectedEventArgs e)
{
Console.WriteLine("Speech Detected!");
}


}

最佳答案

首先,尝试设置绝对路径(即@"C:/my/file/is/here/hello.wav")以确定问题出在该路径还是其他地方。

另请注意,Release 和 Debug 版本有不同的文件夹,这有时会造成混淆。确保文件确实位于正确的文件夹中(要测试这是否是问题所在,首先将 hello.wav 放入 Release 和 Debug 文件夹中)。

关于c# - 设置输入到波形文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4667473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com