Google cloud speech c#谷歌语音到文本api结果质量不好

Google cloud speech c#谷歌语音到文本api结果质量不好,google-cloud-speech,Google Cloud Speech,我正在使用语音api进行希伯来语的语音到文本转换。我正在使用带有api密钥的C#客户端库。在你的网站上效果很好,但在我的应用程序中,听写的质量要差得多 我从您的示例中获取了代码: Config = new RecognitionConfig() { Encoding = RecognitionConfig.Types.AudioEncoding.Linear16, SampleRateHertz = 16000, LanguageCode = (LangMode==Lan

我正在使用语音api进行希伯来语的语音到文本转换。我正在使用带有api密钥的C#客户端库。在你的网站上效果很好,但在我的应用程序中,听写的质量要差得多

我从您的示例中获取了代码:

Config = new RecognitionConfig()
{
    Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
    SampleRateHertz = 16000,
    LanguageCode = (LangMode==LanguageMode.Hebrew)?"he-IL": "en-US",
    //EnableWordTimeOffsets=true,
    MaxAlternatives = 1
},
InterimResults = true,
SingleUtterance = false
... 
if (result.IsFinal)
{
    foreach (var alternative in result.Alternatives)
    {
        ...
    }
}

为什么会这样?

你在用NAudio吗?我同意黛西的看法。我认为您需要使用完全相同的输入进行测试。几周前,我解决了这个问题,更改了一些NAudio参数,也许它可以帮助您;)

您是否通过网站和代码发送完全相同的文件?我希望结果是一样的。是的。这是通过麦克风进行的实时讲话。我说的是相同的文本,它们之间的差异都很显著。这可能是因为浏览器中麦克风的录制方式与C#中使用的方式不同。我建议您记录一个文件,并向站点和C#code提供完全相同的输入。这将是一个更可靠的测试。(然后您可以让我们也可以使用该文件进行测试。)waveIn=new waveIn();waveIn.BufferMillimes=缓冲区\单位毫秒;waveIn.WaveFormat=新的波形(16000,1);这就是WaveIn配置。。缓冲区\u毫秒常量我使用3000。这是请求配置: