Google Distributed Cloud (GDC) 网闸隔离配置上的 Vertex AI Speech-to-Text 服务可识别音频文件中的语音。Speech-to-Text 使用其预训练的 API 将检测到的音频转换为文字转写。
本页面介绍了如何在 Distributed Cloud 上使用 Speech-to-Text API 将音频文件转写为文字。
准备工作
如需转写音频文件,请向管理员申请必要的权限。
申请 IAM 角色
如需使用默认 Speech-to-Text 模型转写音频,请与您的 IAM 项目管理员联系,请求在项目命名空间中授予 AI Speech Developer (ai-speech-developer) 角色。
如需详细了解此角色,请参阅准备 IAM 权限。
在开始使用 Speech-to-Text API 之前,您必须具有启用了 Speech-to-Text API 的项目,并且必须具有适当的凭据。您还可以安装客户端库,以便调用 API。如需了解详情,请参阅设置语音识别项目。
使用默认模型转写音频
Speech-to-Text 可执行语音识别。您直接在 API 请求中以内容形式发送要识别语音的音频文件。系统会在 API 响应中返回转写后的文本。
发出语音识别请求时,您必须提供 RecognitionConfig 配置对象。此对象会告知 API 如何处理音频数据以及您期望的输出类型。如果未在此配置对象中明确指定模型,Speech-to-Text 会选择默认模型。
如需了解详情,请参阅 Speech API 文档。
以下示例使用默认的 Speech-to-Text 模型转写音频文件中的语音:
Python
请按照以下步骤通过 Python 脚本使用 Speech-to-Text 服务来转写音频文件中的语音:
将以下代码添加到您创建的 Python 脚本中:
import base64 from google.cloud import speech_v1p1beta1 as speech import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience="https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def get_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return speech.SpeechClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) except Exception as e: print("Caught exception" + str(e)) raise e return creds def speech_func(creds): tc = get_client(creds) content="BASE64_ENCODED_AUDIO" audio = speech.RecognitionAudio( content=base64.standard_b64decode(content) ) config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.ENCODING, sample_rate_hertz=RATE_HERTZ, audio_channel_count=CHANNEL_COUNT, language_code="LANGUAGE_CODE", ) metadata = [("x-goog-user-project", "projects/PROJECT_ID")] resp = tc.recognize(config=config, audio=audio, metadata=metadata) print(resp) if __name__=="__main__": creds = main() speech_func(creds)替换以下内容:
ENDPOINT:您为组织使用的 Speech-to-Text 端点。如需了解详情,请查看服务状态和端点。PROJECT_ID:您的项目 ID。BASE64_ENCODED_AUDIO:以 Base64 表示法编码的音频数据字节。此字符串以类似于ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv的字符开头。如需了解详情,请参阅RecognitionAudio。ENCODING:请求中发送的音频数据的编码,例如LINEAR16。如需了解详情,请参阅AudioEncoding。RATE_HERTZ:请求中发送的音频数据的采样率(以赫兹为单位,8000-48000),例如16000。LINEAR16、FLAC和MULAW编码(包括 WAV 文件)必须提供此字段。如需了解详情,请参阅RecognitionConfig。LANGUAGE_CODE:所提供音频的语言,以 BCP-47 语言标记形式表示,例如en-US。请参阅支持的语言及其各自语言代码的列表。CHANNEL_COUNT:输入音频数据中的声道数 (1-8),例如单声道音频为1。对于LINEAR16、FLAC和MULAW编码,必须设置audio_channel_count。如需了解详情,请参阅RecognitionConfig。
保存 Python 脚本。
运行 Python 脚本以转写音频:
python SCRIPT_NAME将
SCRIPT_NAME替换为您为 Python 脚本指定的名称,例如speech.py。