我正在尝试使用Google API将语音转换为文本,有一个测试页面https://cloud.google.com/speech-to-text/,您可以在其中验证您的音频是否已转换为文本,我正在介绍我的音频,并且如果此页面成为A, TEXT,但我正在使用程序中的服务,但无法执行该操作,显示以下错误: “损坏的文件再次发送音频:状态(状态代码= InvalidArgument,详细信息= \”无效的识别\'config \':错误的采样率赫兹。\“)”
我的代码如下:
string pathAudio = CreateAudio(Base64Audio);
var speech = SpeechClient.Create();
var response = speech.Recognize(new RecognitionConfig()
{
Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
LanguageCode = "es-MX",
}, RecognitionAudio.FromFile(pathAudio));
foreach (var result in response.Results)
{
foreach (var alternative in result.Alternatives)
{
resultado = alternative.Transcript;
}
}
return resultado;
他们有一些想法可能会发生。
答案 0 :(得分:1)
sampleRateHertz-(必需)指定所提供音频的采样率(以赫兹为单位)。 (有关采样率的更多信息,请参见下面的采样率。)对于文件标题中包含采样率的FLAC和WAV文件,sampleRateHertz字段是可选的。
因此问题可能是缺少的SampleRateHertz
配置属性,但是如果您尝试发送WAV文件(或FLAC),则Base64Audio
或{{1}可能有问题}方法-由于API显然无法检测采样率。