我有一个 .wav 文件,其中包含文字" hello" 。
目标是阅读.wav文件并获取文本。我使用下面的代码
为此目的使用NAudiousing (WaveFileReader reader = new WaveFileReader("D:\\test.wav"))
{
byte[] buffer = new byte[reader.Length];
int read = reader.Read(buffer, 0, buffer.Length);
short[] sampleBuffer = new short[read / 2];
System.Buffer.BlockCopy(buffer, 0, sampleBuffer, 0, read);
}
在将数组转换回字符串时,我收到空白文本
var bytes = a.SelectMany(x => BitConverter.GetBytes(x)).ToArray();
var originalText = System.Text.Encoding.Unicode.GetString(bytes);
我错过了什么?请帮忙
答案 0 :(得分:1)
现在您已经澄清了您的问题(包括评论中的内容),这是一个有效的问题并且有答案!
Microsoft Speech Platform Use WAV File Input for Speech Recognition
该页面上的示例显示使用API输入WAV文件并输出如下文本:
The following are the contents of the grammar FlightDestination.grxml.
<?xml version="1.0" encoding="utf-8"?>
<grammar version="1.0" xml:lang="en-US" mode="voice" root="destination" xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0">
<rule id="destination">
<item> I want to fly to </item>
<ruleref uri="#city"/>
</rule>
<rule id="city">
<one-of>
<item> Boston </item>
<item> Madrid </item>
<item> London </item>
</one-of>
</rule>
</grammar>
这似乎正是您所寻找的。 p>
答案 1 :(得分:0)
我有一些非常好的指针,比如
然后
Speech Recognition with C# – Dictation and Custom grammar
然后
Speech Recognition and the System.Speech namespace
Creating your own custom Grammar, and filtering recognition based on confidence
这对我很有帮助。我理解这个概念及其实施方式。需要了解更多关于 Grammers和SpeechRecognitionEngine
的信息