Google 语音转文本文件大于 10MB
Google Speech to Text files bigger than 10MB
我正在尝试使用 Google Speech to Text 处理长文件 (~100MB)
但即使我使用 https://cloud.google.com/speech-to-text/docs/async-recognize
中的代码(改编)
我得到以下异常:
Status(StatusCode=InvalidArgument, Detail="Request payload size exceeds the limit: 10485760 bytes.")
到目前为止,这是我的代码:
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 的原因。
欢迎任何帮助。
您需要先将音频文件上传到 Google 存储。 https://cloud.google.com/speech-to-text/docs/async-recognize#speech-async-recognize-gcs-csharp
我没有足够的声誉来对 Daniel Brower 的问题添加评论,但答案是使用
RecognitionAudio.FromStorageUri("gs://my-bucket/my-file");
而不是
RecognitionAudio.FromFile(convertedFile));
我正在尝试使用 Google Speech to Text 处理长文件 (~100MB)
但即使我使用 https://cloud.google.com/speech-to-text/docs/async-recognize
中的代码(改编)我得到以下异常:
Status(StatusCode=InvalidArgument, Detail="Request payload size exceeds the limit: 10485760 bytes.")
到目前为止,这是我的代码:
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 的原因。
欢迎任何帮助。
您需要先将音频文件上传到 Google 存储。 https://cloud.google.com/speech-to-text/docs/async-recognize#speech-async-recognize-gcs-csharp
我没有足够的声誉来对 Daniel Brower 的问题添加评论,但答案是使用
RecognitionAudio.FromStorageUri("gs://my-bucket/my-file");
而不是
RecognitionAudio.FromFile(convertedFile));