首页
学习
活动
专区
圈层
工具
发布

语法
EN

Stack Overflow用户
提问于 2017-05-31 08:13:31
回答 1查看 868关注 0票数 4

使用我在youtube视频中找到的代码(不知道我是否能够发布):

代码语言:javascript
复制
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#中读过,我真的找不到有用的东西。

有什么建议吗?

编辑:

另外,我如何脱机使用它?会很棒的..。或者至少让它快点。

我尝试了流媒体选项,但它一点也不准确。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-31 08:58:36

假设您只想将SpeechContext添加到请求中,只需将实例添加到RecognitionConfigSpeechContexts属性:

代码语言:javascript
复制
var context = new SpeechContext { Phrases = { "first", "second" } };
var config = new RecognitionConfig()
{
    Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
    SampleRateHertz = 16000,
    LanguageCode = "iw",
    SpeechContexts = { context }
};

(通常,表示映射和列表的protobuf中的属性是只读的,但是您可以添加它们--或者显式调用Add,或者使用上面的集合初始化器。)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44279219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档