You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Speech API时长限制为65秒而非180分钟,如何获取180分钟时长?

解决Google Speech-to-Text 180分钟长音频识别问题

你这里的核心问题是混淆了Google Speech-to-Text两种不同API的限制:流式识别(Streaming Speech-to-Text)和异步批量识别(Asynchronous Batch Speech Recognition)。

流式API(也就是你现在用的streamingCall.WriteAsync所属的接口)本身设计用于实时短音频交互场景,所以有65秒的最大流时长限制——这是硬性设计约束,没法突破。而你看到的180分钟配额,是专门针对异步批量识别服务的,它就是为处理长音频文件而生的。

要实现180分钟的音频识别,你需要切换到异步批量识别方案,具体步骤如下:

1. 准备音频文件

异步批量识别要求音频文件存储在Google Cloud Storage(GCS),或者提供可公开访问的HTTP URL。如果你的音频是本地文件,先上传到GCS桶中(记得配置桶的权限,让Speech服务能读取到文件)。

2. 调用异步识别API

使用LongRunningRecognize接口(而非流式的StreamingRecognize)发起请求,这个接口会返回一个长运行操作(Long-Running Operation),你可以通过轮询获取结果,也可以设置回调通知。

以下是适配你技术栈的C#示例代码:

using Google.Cloud.Speech.V1;
using System;
using System.Threading.Tasks;
using System.Text;

public class LongAudioSpeechRecognition
{
    public static async Task<string> ProcessLongAudioAsync(string gcsAudioUri)
    {
        // 初始化Speech客户端
        var speechClient = SpeechClient.Create();

        // 根据你的音频实际情况配置参数(编码、采样率、语言等)
        var recognitionConfig = new RecognitionConfig
        {
            Encoding = RecognitionConfig.Types.AudioEncoding.Mp3,
            SampleRateHertz = 44100,
            LanguageCode = "zh-CN",
            EnableAutomaticPunctuation = true
        };

        // 指定GCS上的音频文件路径
        var recognitionAudio = RecognitionAudio.FromStorageUri(gcsAudioUri);

        // 发起异步识别请求
        var operation = await speechClient.LongRunningRecognizeAsync(recognitionConfig, recognitionAudio);
        Console.WriteLine("异步识别任务已提交,等待处理完成...");

        // 轮询直到任务完成(也可配置异步回调)
        var recognitionResult = await operation.PollUntilCompletedAsync();

        // 拼接完整识别结果
        var fullTranscript = new StringBuilder();
        foreach (var result in recognitionResult.Results)
        {
            foreach (var alternative in result.Alternatives)
            {
                fullTranscript.AppendLine(alternative.Transcript);
            }
        }

        return fullTranscript.ToString();
    }
}

3. 关于translate.google.com的"speak"功能

你提到的Translate的"speak"功能属于**文本转语音(Text-to-Speech, TTS)**服务,和语音转文本(Speech-to-Text)是完全不同的产品。TTS的流式API设计目标是实时输出长文本对应的音频流,所以没有类似65秒的限制,这和你当前的语音识别场景没有直接可比性。

额外注意事项

  • 确保你的GCP项目有足够的异步识别配额(默认配额已支持长音频处理,特殊需求可申请调整)。
  • 音频文件格式需符合Speech服务的要求(支持MP3、FLAC、WAV等格式,可参考官方文档确认)。

内容的提问来源于stack exchange,提问作者T.Todua

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:10:29