Google Speech to Text文件大于10MB

时间:2018-11-27 20:42:55

标签: c# google-cloud-speech

我正在尝试将Google Speech to Text用于长文件(〜100MB)

但是,即使我正在使用https://cloud.google.com/speech-to-text/docs/async-recognize中的代码(改编)

我收到以下异常:

  

状态(StatusCode = InvalidArgument,Detail =“请求有效负载大小超出了限制:10485760字节。”)

到目前为止,这是我的代码:

string convertedFile = WavUtils.WavUtils.EncodeToWav(filename);
Dictionary<string, long> wavData = WavUtils.WavUtils.GetWAVData(convertedFile);

var speech = SpeechClient.Create();
var longOperation = speech.LongRunningRecognize(
  new RecognitionConfig()
  {
    Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
    SampleRateHertz = (int)wavData["sampleRateHz"],
    LanguageCode = LanguageCodes.English.UnitedStates
  },
  RecognitionAudio.FromFile(convertedFile));
longOperation = longOperation.PollUntilCompleted();

var response = longOperation.Result;
foreach (var result in response.Results)
{
  foreach (var alternative in result.Alternatives)
  {
    Console.WriteLine(alternative.Transcript);
  }
}

即使使用LongRunningRecognize,最大文件大小真的是10MB吗?

原始文件实际上是录制的网络广播中的MP3。 但是从我阅读的内容来看,Google Speech to Text不支持MP3作为输入。这就是为什么我将其转换为Wav。

任何帮助都将受到欢迎。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

我的声誉不足,无法为Daniel Brower的问题添加评论,但是答案是使用

RecognitionAudio.FromStorageUri("gs://my-bucket/my-file"); 

代替

RecognitionAudio.FromFile(convertedFile));