本页面介绍了如何将特定的机器学习模型用于发送到 Speech-to-Text 的音频转录请求。
选择合适的转写模型
Speech-to-Text 会将输入与多个机器学习模型中的一个进行比较,以检测音频片段中的字词。每个模型都通过分析数百万个示例(在此是指大量实际的人物说话录音)进行过训练。
Speech-to-Text 具有众多专业模型,这些模型均通过特定来源的音频进行过训练。当将这些模型用来处理与它们所训练的数据类型类似的音频数据时,可以提供更好的结果。
下表显示了可用于 Speech-to-Text V2 API 的转写模型。
模型名称 | 说明 |
---|---|
chirp_3 |
使用 Google 最新一代多语言自动语音识别 (ASR) 专用生成式模型,这些模型旨在根据反馈和体验满足用户的需求。Chirp 3 的准确率和速度比之前的 Chirp 模型有所提升,并提供讲话人区分和自动检测语言功能。 |
chirp_2 |
使用由我们的大语言模型 (LLM) 技术提供支持的通用大型语音模型 (USM),进行流式传输和批量处理,以及不同语言内容和多语言功能的转写和翻译。 |
telephony |
此模型用于源自音频通话的音频,通常以 8 kHz 的采样率录制。非常适合客户服务、电话会议和自动化自助服务终端应用。 |
选择用于音频转录的模型
如需转写短音频片段(时长不超过 60 秒),最简单的方法是使用同步识别。它会处理您的音频,并在处理完所有音频后以单个响应的形式返回完整的转写结果。
Python
from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech
# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"
# Instantiates a client
client = SpeechClient()
# Reads a file as bytes
with open("resources/audio.wav", "rb") as f:
audio_content = f.read()
config = cloud_speech.RecognitionConfig(
auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
language_codes=["en-US"],
model="chirp_3",
)
request = cloud_speech.RecognizeRequest(
recognizer=f"projects/{PROJECT_ID}/locations/global/recognizers/_",
config=config,
content=audio_content,
)
# Transcribes the audio into text
response = client.recognize(request=request)
for result in response.results:
print(f"Transcript: {result.alternatives[0].transcript}")
如需转写时长超过 60 秒的音频文件或实时转写音频,您可以使用以下方法之一:
- 批量识别:非常适合转写存储在 Cloud Storage 存储桶中的长音频文件(时长从几分钟到几小时不等)。这是一项异步操作。如需详细了解批量识别,请参阅批量识别。
- 流式识别:非常适合实时采集和转写音频,例如来自麦克风馈送或直播的音频。如需详细了解流式传输识别,请参阅流式传输识别。