使用我在youtube视频中找到的代码(不知道我是否能够发布):
if (File.Exists("audio.raw"))
{
var speech = SpeechClient.Create();
var response = speech.Recognize(new RecognitionConfig()
{
Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
SampleRateHertz = 16000,
LanguageCode = "iw",
}, RecognitionAudio.FromFile("audio.raw"));
textBox1.Text = "";
foreach (var result in response.Results)
{
foreach (var alternative in result.Alternatives)
{
textBox1.Text = textBox1.Text + " " + alternative.Transcript;
}
}
if(textBox1.Text.Length == 0)
textBox1.Text = "No Data ";
StreamingMicRecognizeAsync(10);
}
else
{
textBox1.Text = "Audio File Missing ";
}我能够创建一个基于google的语音识别。
然而,我无法找到这样的方法来创建语法,因此我正在寻找建议。
如何为google创建语法过滤?
是否有人做了一个项目,或者已经做了一些apis (例如:输入一个主字符串“1”、“2”、“3”,然后输入例如"tu“,它会输出”2“,如果你输入”今天“,它就会输出不符合微软语法的东西等等)
我读过关于SpeechContexts的文章,但它只在c#中读过,我真的找不到有用的东西。
有什么建议吗?
编辑:
另外,我如何脱机使用它?会很棒的..。或者至少让它快点。
我尝试了流媒体选项,但它一点也不准确。
发布于 2017-05-31 08:58:36
假设您只想将SpeechContext添加到请求中,只需将实例添加到RecognitionConfig的SpeechContexts属性:
var context = new SpeechContext { Phrases = { "first", "second" } };
var config = new RecognitionConfig()
{
Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
SampleRateHertz = 16000,
LanguageCode = "iw",
SpeechContexts = { context }
};(通常,表示映射和列表的protobuf中的属性是只读的,但是您可以添加它们--或者显式调用Add,或者使用上面的集合初始化器。)
https://stackoverflow.com/questions/44279219
复制相似问题