Package google.cloud.speech.v1

索引

适应

实现 Google Cloud Speech Adaptation API 的服务。

CreateCustomClass

rpc CreateCustomClass(CreateCustomClassRequest) returns (CustomClass)

创建自定义类。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

CreatePhraseSet

rpc CreatePhraseSet(CreatePhraseSetRequest) returns (PhraseSet)

创建一组短语提示。集合中的每个项都可以是单个字词,也可以是多字词短语。当您发送包含 PhraseSet 的调用时,识别模型会优先考虑 PhraseSet 中的项。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

DeleteCustomClass

rpc DeleteCustomClass(DeleteCustomClassRequest) returns (Empty)

删除自定义类。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

DeletePhraseSet

rpc DeletePhraseSet(DeletePhraseSetRequest) returns (Empty)

删除短语集。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

GetCustomClass

rpc GetCustomClass(GetCustomClassRequest) returns (CustomClass)

获取自定义类。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

GetPhraseSet

rpc GetPhraseSet(GetPhraseSetRequest) returns (PhraseSet)

获取短语集。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

ListCustomClasses

rpc ListCustomClasses(ListCustomClassesRequest) returns (ListCustomClassesResponse)

列出自定义类。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

ListPhraseSet

rpc ListPhraseSet(ListPhraseSetRequest) returns (ListPhraseSetResponse)

列出短语集。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

UpdateCustomClass

rpc UpdateCustomClass(UpdateCustomClassRequest) returns (CustomClass)

更新自定义类。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

UpdatePhraseSet

rpc UpdatePhraseSet(UpdatePhraseSetRequest) returns (PhraseSet)

更新短语集。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

语音

实施 Google Cloud Speech API 的服务。

LongRunningRecognize

rpc LongRunningRecognize(LongRunningRecognizeRequest) returns (Operation)

执行异步语音识别:通过 google.longrunning.Operations 接口接收结果。返回 Operation.error 或包含 LongRunningRecognizeResponse 消息的 Operation.response。如需详细了解异步语音识别,请参阅操作指南

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

识别

rpc Recognize(RecognizeRequest) returns (RecognizeResponse)

执行同步语音识别:在发送和处理完所有音频后接收结果。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

StreamingRecognize

rpc StreamingRecognize(StreamingRecognizeRequest) returns (StreamingRecognizeResponse)

执行双向流式语音识别:在发送音频时接收结果。此方法只能通过 gRPC API 使用,REST 不支持此方法。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview

CreateCustomClassRequest

客户端为 CreateCustomClass 方法发送的消息。

字段
parent

string

必需。将创建相应自定义类的父级资源。格式:

projects/{project}/locations/{location}/customClasses

Speech-to-Text 支持三个位置:globalus(美国北美)和 eu(欧洲)。如果您要调用 speech.googleapis.com 端点,请使用 global 位置。如需指定区域,请使用与 useu 位置值相匹配的区域端点

必须对指定的资源 parent 具有以下 IAM 权限才能进行授权:

  • speech.customClasses.create
custom_class_id

string

必需。要用于自定义类的 ID,该 ID 将成为自定义类资源名称的最后一个组成部分。

此值应限制为字母、数字和连字符,第一个字符必须是字母,最后一个字符必须是字母或数字,并且长度为 4-63 个字符。

custom_class

CustomClass

必需。要创建的自定义类。

CreatePhraseSetRequest

客户端为 CreatePhraseSet 方法发送的消息。

字段
parent

string

必需。将创建相应短语集的父级资源。格式:

projects/{project}/locations/{location}

Speech-to-Text 支持三个位置:globalus(美国北美)和 eu(欧洲)。如果您要调用 speech.googleapis.com 端点,请使用 global 位置。如需指定区域,请使用与 useu 位置值相匹配的区域端点

必须对指定的资源 parent 具有以下 IAM 权限才能进行授权:

  • speech.phraseSets.create
phrase_set_id

string

必需。要用于词组集的 ID,该 ID 将成为词组集资源名称的最后一个组成部分。

此值应限制为字母、数字和连字符,第一个字符必须是字母,最后一个字符必须是字母或数字,并且长度为 4-63 个字符。

phrase_set

PhraseSet

必需。要创建的短语集。

CustomClass

一组表示音频中可能出现的常见概念的字词或短语,例如客船名称列表。您可以将 CustomClass 项替换为在 PhraseSet 短语中设置的占位符。

字段
name

string

自定义类的资源名称。

custom_class_id

string

如果此自定义类是资源,则 custom_class_id 是 CustomClass 的资源 ID。区分大小写。

items[]

ClassItem

类项的集合。

kms_key_name

string

仅限输出。用于加密 ClassItem 内容的 KMS 密钥名称。格式应为 projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}

kms_key_version_name

string

仅限输出。用于加密 ClassItem 内容的 KMS 密钥版本名称。格式应为 projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}

uid

string

仅限输出。系统为 CustomClass 分配的唯一标识符。此字段未使用。

display_name

string

仅限输出。用户可设置的 CustomClass 的人类可读名称。不得超过 63 个字符。此字段未使用。

state

State

仅限输出。CustomClass 生命周期状态。此字段未使用。

delete_time

Timestamp

仅限输出。请求删除相应资源的时间。此字段未使用。

expire_time

Timestamp

仅限输出。相应资源将被清除的时间。此字段未使用。

annotations

map<string, string>

仅限输出。允许用户存储少量任意数据。键和值都不得超过 63 个字符。最多 100 条注释。此字段未使用。

etag

string

仅限输出。此校验和由服务器根据其他字段的值计算得出。可在更新、取消删除和删除请求中发送,以确保客户端在继续操作之前具有最新值。此字段未使用。

reconciling

bool

仅限输出。相应 CustomClass 是否正在更新。此字段未使用。

ClassItem

相应类别的商品。

字段
value

string

类商品的值。

定义了 CustomClass 生命周期的一系列状态。

枚举
STATE_UNSPECIFIED 未指定状态。此值仅用于区分未设置的值。
ACTIVE 正常且有效状态。
DELETED 此 CustomClass 已被删除。

DeleteCustomClassRequest

客户端为 DeleteCustomClass 方法发送的消息。

字段
name

string

必需。要删除的自定义类的名称。格式:

projects/{project}/locations/{location}/customClasses/{custom_class}

Speech-to-Text 支持三个位置:globalus(美国北美)和 eu(欧洲)。如果您要调用 speech.googleapis.com 端点,请使用 global 位置。如需指定区域,请使用与 useu 位置值相匹配的区域端点

必须对指定的资源 name 具有以下 IAM 权限才能进行授权:

  • speech.customClasses.delete

DeletePhraseSetRequest

客户端为 DeletePhraseSet 方法发送的消息。

字段
name

string

必需。要删除的短语集的名称。格式:

projects/{project}/locations/{location}/phraseSets/{phrase_set}

必须对指定的资源 name 具有以下 IAM 权限才能进行授权:

  • speech.phraseSets.delete

GetCustomClassRequest

客户端为 GetCustomClass 方法发送的消息。

字段
name

string

必需。要检索的自定义类的名称。格式:

projects/{project}/locations/{location}/customClasses/{custom_class}

必须对指定的资源 name 具有以下 IAM 权限才能进行授权:

  • speech.customClasses.get

GetPhraseSetRequest

客户端为 GetPhraseSet 方法发送的消息。

字段
name

string

必需。要检索的短语集的名称。格式:

projects/{project}/locations/{location}/phraseSets/{phrase_set}

Speech-to-Text 支持三个位置:globalus(美国北美)和 eu(欧洲)。如果您要调用 speech.googleapis.com 端点,请使用 global 位置。如需指定区域,请使用与 useu 位置值相匹配的区域端点

必须对指定的资源 name 具有以下 IAM 权限才能进行授权:

  • speech.phraseSets.get

ListCustomClassesRequest

客户端为 ListCustomClasses 方法发送的消息。

字段
parent

string

必需。拥有此自定义类集合的父级。格式:

projects/{project}/locations/{location}/customClasses

Speech-to-Text 支持三个位置:globalus(美国北美)和 eu(欧洲)。如果您要调用 speech.googleapis.com 端点,请使用 global 位置。如需指定区域,请使用与 useu 位置值相匹配的区域端点

必须对指定的资源 parent 具有以下 IAM 权限才能进行授权:

  • speech.customClasses.list
page_size

int32

要返回的自定义类的数量上限。服务返回的值可能小于此值。如果未指定,则最多返回 50 个自定义类。最大值为 1,000;大于 1,000 的值将被强制转换为 1,000。

page_token

string

从之前的 ListCustomClass 调用接收的页面令牌。利用其进行后续页面检索。

进行分页时,提供给 ListCustomClass 的所有其他参数必须与提供页面令牌的调用匹配。

ListCustomClassesResponse

ListCustomClasses 方法返回给客户端的消息。

字段
custom_classes[]

CustomClass

自定义类。

next_page_token

string

可作为 page_token 发送并用于检索下一页的令牌。如果省略此字段,则不存在后续页面。

ListPhraseSetRequest

客户端为 ListPhraseSet 方法发送的消息。

字段
parent

string

必需。拥有此短语集集合的父级。格式:

projects/{project}/locations/{location}

Speech-to-Text 支持三个位置:globalus(美国北美)和 eu(欧洲)。如果您要调用 speech.googleapis.com 端点,请使用 global 位置。如需指定区域,请使用与 useu 位置值相匹配的区域端点

必须对指定的资源 parent 具有以下 IAM 权限才能进行授权:

  • speech.phraseSets.list
page_size

int32

要返回的短语集数量上限。服务返回的值可能小于此值。如果未指定,则最多返回 50 个短语集。最大值为 1,000;大于 1,000 的值将被强制转换为 1,000。

page_token

string

从之前的 ListPhraseSet 调用接收的页面令牌。利用其进行后续页面检索。

进行分页时,提供给 ListPhraseSet 的所有其他参数必须与提供页面令牌的调用匹配。

ListPhraseSetResponse

ListPhraseSet 方法返回给客户端的消息。

字段
phrase_sets[]

PhraseSet

短语集。

next_page_token

string

可作为 page_token 发送并用于检索下一页的令牌。如果省略此字段,则不存在后续页面。

LongRunningRecognizeMetadata

描述长时间运行的 LongRunningRecognize 调用的进度。这会包含在 google::longrunning::Operations 服务的 GetOperation 调用返回的 Operationmetadata 字段中。

字段
progress_percent

int32

到目前为止已处理的音频的大致百分比。音频已完全处理且结果可用时保证为 100。

start_time

Timestamp

收到请求的时间。

last_update_time

Timestamp

最近一次处理更新的时间。

uri

string

仅限输出。要转写的音频文件的 URI。如果音频是以字节内容的形式发送的,则为空。

LongRunningRecognizeRequest

客户端为 LongRunningRecognize 方法发送的顶级消息。

字段
config

RecognitionConfig

必需。向识别器提供指定如何处理请求的信息。

audio

RecognitionAudio

必需。要识别的音频数据。

output_config

TranscriptOutputConfig

可选。指定识别结果的可选目标。

LongRunningRecognizeResponse

LongRunningRecognize 方法返回给客户端的唯一消息。它包含零个或多个连续的 SpeechRecognitionResult 消息形式的结果。这会包含在 google::longrunning::Operations 服务的 GetOperation 调用返回的 Operationresult.response 字段中。

字段
results[]

SpeechRecognitionResult

对应于音频中几个连续部分的转录结果的连续列表。

total_billed_time

Duration

相应请求的已结算音频秒数(如有)。

output_config

TranscriptOutputConfig

请求中包含的原始输出配置(如果有)。

output_error

Status

如果转写输出失败,此字段会包含相关错误。

speech_adaptation_info

SpeechAdaptationInfo

提供有关响应中语音自适应行为的信息

request_id

int64

与请求关联的 ID。这是仅针对给定请求的唯一 ID。

PhraseSet

为语音识别器提供“提示”以支持结果中的特定字词和短语。

字段
name

string

短语集的资源名称。

phrases[]

Phrase

字词和短语的列表。

boost

float

提示加成。正值会提高识别特定短语的概率,而不是其他发音类似的短语。提升越大,出现假正例识别的几率也越高。负提升值对应于反偏差。未启用反偏差功能,因此系统会直接忽略负向加权。虽然 boost 可以接受各种正值,但在大多数使用情形下,最好使用介于 0(不含)和 20 之间的值。我们建议您使用二分搜索方法来找到适合您使用情形的最佳值,并在请求中添加带提升和不带提升的短语。

kms_key_name

string

仅限输出。用于加密 PhraseSet 内容的 KMS 密钥名称。格式应为 projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}

kms_key_version_name

string

仅限输出。用于加密 PhraseSet 内容的 KMS 密钥版本名称。格式应为 projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}

uid

string

仅限输出。系统为 PhraseSet 分配的唯一标识符。此字段未使用。

display_name

string

仅限输出。用户可设置的 PhraseSet 人类可读名称。不得超过 63 个字符。此字段未使用。

state

State

仅限输出。CustomClass 生命周期状态。此字段未使用。

delete_time

Timestamp

仅限输出。请求删除相应资源的时间。此字段未使用。

expire_time

Timestamp

仅限输出。相应资源将被清除的时间。此字段未使用。

annotations

map<string, string>

仅限输出。允许用户存储少量任意数据。键和值都不得超过 63 个字符。最多 100 条注释。此字段未使用。

etag

string

仅限输出。此校验和由服务器根据其他字段的值计算得出。可在更新、取消删除和删除请求中发送,以确保客户端在继续操作之前具有最新值。此字段未使用。

reconciling

bool

仅限输出。相应 PhraseSet 是否正在更新。此字段未使用。

短语

包含字词和短语“提示”的短语,以便语音识别更有可能识别出它们。该字段可用于提高识别特定字词和短语的准确度,例如,在用户经常说出特定指令的情况下。该字段也可以用于向识别器的词汇表中添加更多字词。请参阅使用限制

列表项还可以包含预构建或自定义的类,这些类包含表示自然语言中常见概念的字词组。例如,使用预建的 $MONTH 类,而不是为一年中的每个月份提供短语提示(例如“我出生于 1 月”“我出生于 2 月”等),可以提高正确转录包含月份的音频的可能性(例如“我出生于 $month”)。如需引用预构建的类,请使用以 $ 开头的类符号,例如 $MONTH。如需引用在请求中内嵌定义的自定义类,请将该类的 custom_class_id 设置为对所有类资源和内嵌类而言唯一的字符串。然后,使用封装在 ${...} 中的类的 ID,例如“${my-months}”。如需引用自定义类资源,请使用封装在 ${} 中的类的 ID(例如 ${my-months})。

Speech-to-Text 支持三个位置:globalus(美国北美)和 eu(欧洲)。如果您要调用 speech.googleapis.com 端点,请使用 global 位置。如需指定区域,请使用与 useu 位置值相匹配的区域端点

字段
value

string

短语本身。

boost

float

提示加成。替换在短语集级别设置的提升值。正值会提高识别特定短语的概率,而不是其他发音类似的短语。提升越大,出现假正例识别的几率也越高。负值提升将直接被忽略。虽然 boost 可以接受各种正值,但对于大多数使用情形,最好使用介于 0 到 20 之间的值。我们建议您使用二分搜索方法来找到适合您使用情形的最佳值,并在请求中添加带提升和不带提升的短语。

定义了 CustomClass 生命周期的一系列状态。

枚举
STATE_UNSPECIFIED 未指定状态。此值仅用于区分未设置的值。
ACTIVE 正常且有效状态。
DELETED 此 CustomClass 已被删除。

RecognitionAudio

包含按 RecognitionConfig 中指定的方式编码的音频数据。必须提供 contenturi。同时提供两者或两者都不提供会返回 google.rpc.Code.INVALID_ARGUMENT。请参阅内容限制

字段
联合字段 audio_source。音频源,可以是内嵌内容,也可以是 Google Cloud Storage URI。audio_source 只能是下列其中一项:
content

bytes

RecognitionConfig 中所指定的方式编码的音频数据字节。注意:与所有字节字段一样,协议缓冲区使用纯二进制表示法,而 JSON 表示法使用 base64。

uri

string

指向一个文件的 URI,该文件包含 RecognitionConfig 中指定的音频数据字节。文件不得压缩(例如,不支持 gzip 格式的文件)。目前,仅支持 Google Cloud Storage URI,且必须使用以下格式指定:gs://bucket_name/object_name(其他 URI 格式返回 google.rpc.Code.INVALID_ARGUMENT)。如需了解详情,请参阅请求 URI

RecognitionConfig

向识别器提供指定如何处理请求的信息。

字段
encoding

AudioEncoding

在所有 RecognitionAudio 消息中发送的音频数据的编码。此字段对于 FLACWAV 音频文件而言不是必需的,但对所有其他音频格式而言是必需的。如需了解详情,请参阅 AudioEncoding

sample_rate_hertz

int32

在所有 RecognitionAudio 消息中发送的音频数据的采样率(单位为赫兹)。有效值包括:8000-48000。16000 是最佳选择。为获得最佳效果,请将音频源的采样率设置为 16000 Hz。如果无法实现,则请使用音频源的原生采样率(而不是重新采样)。此字段对于 FLAC 和 WAV 音频文件而言不是必需的,但对所有其他音频格式而言是必需的。如需了解详情,请参阅 AudioEncoding

audio_channel_count

int32

输入音频数据中的声道数量。仅适用于多声道音频识别。对 LINEAR16、OGG_OPUS 和 FLAC 而言有效值为 1-8。对 MULAW、AMR、AMR_WB 和 SPEEX_WITH_HEADER_BYTE 而言有效值只有 1。如果值为 0 或省略该值,则默认为一个声道(单声道)。注意:默认情况下只识别第一个声道。如需单独识别每个声道,请将 enable_separate_recognition_per_channel 设置为“true”。

enable_separate_recognition_per_channel

bool

要单独识别每个声道,需将该字段明确设置为 true,并且要求 audio_channel_count > 1。识别结果将包含 channel_tag 字段,以指明结果属于哪个声道。如果该字段不为 true,将仅识别第一个声道。系统会根据识别出的所有声道的累计时长收取请求费用:audio_channel_count 乘以音频时长。

language_code

string

必需。所提供音频的语言,以 BCP-47 语言标记形式表示。示例:“en-US”。如需查看当前支持的语言代码列表,请参阅语言支持

alternative_language_codes[]

string

包含最多 3 个额外 BCP-47 语言标记的列表,列出所提供音频的可能备用语言。请参阅语言支持以获取当前支持的语言代码列表。如果列出了备用语言,则识别结果将包含以检测到最可能使用的语言识别出的内容(包括主要的 language_code)。识别结果将包括音频中检测到的语言的语言标记。注意:此功能仅支持语音指令和语音搜索用例,在其他用例(例如电话呼叫转录)中性能可能因具体情况而异。

max_alternatives

int32

要返回的识别假设数上限。具体而言,每个 SpeechRecognitionResult 中的 SpeechRecognitionAlternative 消息数上限。服务器返回的数量可能少于 max_alternatives。有效值为 0-30。值为 01 时,将返回最多一个结果。如果省略,将最多返回一个。

profanity_filter

bool

如果设置为 true,服务器将尝试过滤出不文明用语,并用星号替换每个过滤出的字词中除首字母外的所有字符,例如“f***”。如果设置为 false 或省略该值,则不会过滤不文明用语。

adaptation

SpeechAdaptation

语音自适应配置可提高语音识别的准确性。如需了解详情,请参阅语音自适应文档。设置语音自适应后,它会取代 speech_contexts 字段。

transcript_normalization

TranscriptNormalization

可选。使用转写内容标准化功能自动将转写内容的部分内容替换为您选择的短语。对于 StreamingRecognize,此归一化仅适用于稳定的部分转写(稳定性 > 0.8)和最终转写。

speech_contexts[]

SpeechContext

SpeechContext 的数组。一种通过提供上下文来辅助语音识别的手段。如需了解详情,请参阅语音自适应

enable_word_time_offsets

bool

如果为 true,则首选结果将包含一个字词列表以及这些字词的开始和结束时间偏移(时间戳)。如果为 false,则不返回字词级的时间偏移信息。默认值为 false

enable_word_confidence

bool

如果为 true,则首选结果将包含一个字词列表以及这些字词的置信度。如果为 false,则不返回字词级的置信度信息。默认值为 false

enable_automatic_punctuation

bool

如果为“true”,则在识别结果假设中添加标点符号。此功能仅适用于部分语言。为其他语言的请求设置此选项根本不起作用。 默认值“false”不会在结果假设中添加标点符号。

enable_spoken_punctuation

BoolValue

通话的语音标点符号行为。如果未设置,则使用基于所选模型的默认行为,例如 command_and_search 会默认启用语音标点符号。如果为“true”,则在请求中将语音标点符号替换为相应的符号。例如,转写内容“how are you 英文问号”会变为“how are you?”。如需获得支持,请参阅 https://cloud.google.com/speech-to-text/docs/spoken-punctuation。如果为“false”,则不会替换语音标点符号。

enable_spoken_emojis

BoolValue

通话的语音表情符号行为。如果未设置,则使用基于所选模型的默认行为。如果为“true”,则针对请求添加语音表情符号格式。这会在最终转写内容中将语音表情符号替换为相应的 Unicode 符号。如果为“false”,则不会替换语音表情符号。

diarization_config

SpeakerDiarizationConfig

配置以启用讲话人区分功能并设置额外参数,从而使区分更适合您的应用。注意:启用此功能后,我们会针对每个连续的 STREAMING 响应,从音频开头开始发送排名最高的备选项中的所有字词。这样做是为了改进讲话人标记,以便模型逐渐学习识别对话中的讲话人。对于非流式请求,将仅在最终 SpeechRecognitionResult 的首选备用内容中提供讲话人分类结果。

metadata

RecognitionMetadata

与此请求相关的元数据。

model

string

要为给定请求选择的模型。请选择最适合您网域的模型,以获得最佳结果。如果未明确指定模型,则会根据 RecognitionConfig 中的参数自动选择模型。

型号 说明

latest_long

最适合长篇内容,例如媒体或对话。

latest_short

最适合短格式内容,例如指令或单发定向语音。

command_and_search

最适合语音指令或语音搜索等简短的查询。

phone_call

最适合来自电话呼叫的音频(通常以 8khz 的采样率录制)。

video

最适合来自视频的音频或有多人说话的音频。理想情况下,音频以 16khz 或更高的采样率录制。这是一个高于标准价格的高级模型。

default

最适合并不属于某一特定音频模型的音频。例如长音频。理想情况下,音频为高保真度格式,以 16khz 或更高的采样率录制。

medical_conversation

最适合来自医疗服务提供方与患者之间对话的音频。

medical_dictation

最适合来自医疗服务提供方的语音输入备注的音频。

use_enhanced

bool

设置为 true 可使用增强型模型进行语音识别。如果 use_enhanced 设置为 true 且未设置 model 字段,则如果音频有增强型模型,系统会选择合适的增强型模型。

如果 use_enhanced 为 true,但指定模型的增强型版本不存在,则系统会使用指定模型的标准版本来识别语音。

AudioEncoding

请求中发送的音频数据的编码。

除非设置了 audio_channel_countenable_separate_recognition_per_channel 字段,否则所有编码仅支持 1 声道(单声道)音频。

为获得最佳结果,应使用无损编码(FLACLINEAR16)捕获和传输音频源。如果使用有损编解码器来捕获或传输音频,则会降低语音识别的准确性,尤其是在存在背景噪声的情况下。有损编解码器包括 MULAWAMRAMR_WBOGG_OPUSSPEEX_WITH_HEADER_BYTEMP3WEBM_OPUS

FLACWAV 音频文件格式包括描述所含音频内容的文件头。您可以请求识别包含 WAVLINEAR16 编码音频的 MULAW 文件。如果您在请求中发送 FLACWAV 音频文件格式,则无需指定 AudioEncoding;音频编码格式将根据文件头确定。如果在发送 FLACWAV 音频时指定 AudioEncoding,则编码配置必须与音频文件头中描述的编码匹配;否则请求将返回 google.rpc.Code.INVALID_ARGUMENT 错误代码。

枚举
ENCODING_UNSPECIFIED 未指定。
LINEAR16 未压缩的 16 位有符号小端字节序采样(线性 PCM)。
FLAC 推荐的编码方式是 FLAC(免费无损音频编解码器),因为这种编码方式是无损的(因此丝毫不会影响到识别),并且所需带宽仅为 LINEAR16 的大致一半。FLAC 流编码支持 16 位和 24 位采样,但并不支持 STREAMINFO 中的所有字段。
MULAW 8 位采样,使用 G.711 PCMU/mu-law 压缩 14 位音频采样。
AMR 自适应多速率窄带编解码器。sample_rate_hertz 必须是 8000。
AMR_WB 自适应多速率宽带编解码器。sample_rate_hertz 必须是 16000。
OGG_OPUS Ogg 容器中的 Opus 编码音频帧 (OggOpus)。sample_rate_hertz 必须是以下值之一:8000、12000、16000、24000 或 48000。
SPEEX_WITH_HEADER_BYTE 尽管不推荐使用有损编码,但如果需要超低比特率编码,则 OGG_OPUS 要明显优于 Speex 编码。Cloud Speech API 支持的 Speex 编码在每个块中都有一个头字节,如在 MIME 类型 audio/x-speex-with-header-byte 中一样。它是 RFC 5574 中定义的 RTP Speex 编码的变体。流是一系列块,每个 RTP 包一个块。每个块均以包含块长度的字节开始(以字节为单位),后接一个或多个 Speex 数据帧,填充到 RFC 5574 中指定的整数个字节(八位字节)中。换句话说,每个 RTP 文件头均替换为包含块长度的单个字节。系统仅支持 Speex 宽带。sample_rate_hertz 必须是 16000。
MP3 MP3 音频。MP3 编码是一项 Beta 版功能,仅在 v1p1beta1 中提供。支持所有标准 MP3 比特率(范围为 32-320 kbps)。使用此编码时,sample_rate_hertz 必须与所用文件的采样率匹配。
WEBM_OPUS WebM 容器中的 Opus 编码音频帧 (WebM)。sample_rate_hertz 必须是 8000、12000、16000、24000 或 48000 之一。
ALAW 8 位采样,使用 G.711 PCMU/a-law 压缩 13 位音频采样。

RecognitionMetadata

要识别的音频数据的描述。

字段
interaction_type

InteractionType

最能描述要识别的音频内容的用例。

industry_naics_code_of_audio

uint32

此语音识别请求最接近的垂直行业。该字段最能体现音频中包含的主题。使用 6 位数的 NAICS 代码来确定行业垂直领域 - 请参阅 https://www.naics.com/search/

microphone_distance

MicrophoneDistance

最能描述所识别音频的音频类型。

original_media_type

OriginalMediaType

录制语音所用的原始媒体。

recording_device_type

RecordingDeviceType

录制语音所用的设备类型。

recording_device_name

string

用于制作录音的设备。例如:“Nexus 5X”、“Polycom SoundStation IP 6000”、“POTS”、“VoIP”或“心型指向麦克风”。

original_mime_type

string

原始音频文件的 MIME 类型。例如 audio/m4aaudio/x-alaw-basicaudio/mp3audio/3gpp。如需查看可能的音频 MIME 类型列表,请访问 http://www.iana.org/assignments/media-types/media-types.xhtml#audio

audio_topic

string

内容说明。例如,“2012 年联邦最高法院听证会的录音”。

InteractionType

可以描述音频识别请求的用例类别。

枚举
INTERACTION_TYPE_UNSPECIFIED 用例未知或者不是下面其他值之一。
DISCUSSION 对话或讨论中的多个人。例如,在有两个或更多人积极参与的会议中。通常所有主要讲话人都在同一个房间(如果不在同一个房间,请参见 PHONE_CALL)
PRESENTATION 一个或多个人向他人演讲或演示幻灯片,通常是不间断的。
PHONE_CALL 电话呼叫或视频会议,有两个或多个不在同一房间的人员积极参与。
VOICEMAIL 录制的消息,供另一个人收听。
PROFESSIONALLY_PRODUCED 专业制作的音频(例如电视节目、播客)。
VOICE_COMMAND 转录语音指令,例如用于控制设备。
DICTATION 将语音转录为文本以创建书面文档,例如文本消息、电子邮件或报告。

MicrophoneDistance

枚举描述音频文件的捕获设置类型。

枚举
MICROPHONE_DISTANCE_UNSPECIFIED 音频类型未知。
NEARFIELD 从近处的麦克风捕获音频。例如,电话、录音机或手持麦克风。通常,讲话人距离麦克风 1 米以内。
MIDFIELD 讲话人距离麦克风 3 米以内。
FARFIELD 讲话人距离麦克风超过 3 米。

OriginalMediaType

录制语音所用的原始媒体。

枚举
ORIGINAL_MEDIA_TYPE_UNSPECIFIED 未知的原始媒体类型。
AUDIO 语音数据是录制的音频。
VIDEO 语音数据最初是用视频录制的。

RecordingDeviceType

录制语音所用的设备类型。

枚举
RECORDING_DEVICE_TYPE_UNSPECIFIED 未知录音设备。
SMARTPHONE 语音是用智能手机录制的。
PC 语音是用个人计算机或平板电脑录制的。
PHONE_LINE 语音是用有线电话录制的。
VEHICLE 语音是在车内录制的。
OTHER_OUTDOOR_DEVICE 语音是在户外录制的。
OTHER_INDOOR_DEVICE 语音是在室内录制的。

RecognizeRequest

客户端为 Recognize 方法发送的顶级消息。

字段
config

RecognitionConfig

必需。向识别器提供指定如何处理请求的信息。

audio

RecognitionAudio

必需。要识别的音频数据。

RecognizeResponse

Recognize 方法返回给客户端的唯一消息。它包含零个或多个连续的 SpeechRecognitionResult 消息形式的结果。

字段
results[]

SpeechRecognitionResult

对应于音频中几个连续部分的转录结果的连续列表。

total_billed_time

Duration

相应请求的已结算音频秒数(如有)。

speech_adaptation_info

SpeechAdaptationInfo

提供有关响应中自适应行为的信息

request_id

int64

与请求关联的 ID。这是仅针对给定请求的唯一 ID。

using_legacy_models

bool

请求是否使用了旧版 ASR 模型(未自动迁移到使用 Conformer 模型)。

SpeakerDiarizationConfig

用于启用讲话人区分功能的配置。

字段
enable_speaker_diarization

bool

如果为“true”,则使用 WordInfo 中提供的 speaker_label 为识别结果的首选备选方案中的每个已识别的字词启用说话人检测。

min_speaker_count

int32

对话中讲话人的数量下限。系统利用此范围可自动确定正确的讲话人数量,从而为您提供更高的灵活性。如果未设置,则默认值为 2。

max_speaker_count

int32

会话中讲话人的数量上限。系统利用此范围可自动确定正确的讲话人数量,从而为您提供更高的灵活性。如果未设置,则默认值为 6。

speaker_tag
(deprecated)

int32

仅限输出。未使用。

SpeechAdaptation

语音自适应配置。

字段
phrase_sets[]

PhraseSet

短语集的集合。如需内嵌指定提示,请将短语集的 name 留空,并填写其余字段。任何短语集都可以使用任何自定义类。

phrase_set_references[]

string

要使用的一组短语集资源名称。

custom_classes[]

CustomClass

自定义类的集合。如需内嵌指定类,请将类的 name 留空,然后填写其余字段,并为其指定唯一的 custom_class_id。通过 custom_class_id 在短语提示中引用内嵌定义的类。

abnf_grammar

ABNFGrammar

增强巴科斯范式 (ABNF) 是一种由一组推导规则组成的标准化语法表示法。请参阅规范:https://www.w3.org/TR/speech-grammar

ABNFGrammar

字段
abnf_strings[]

string

ABNF 语法的所有声明和规则都分解为多个最终会串联在一起的字符串。

SpeechAdaptationInfo

有关在结果中使用语音自适应的信息

字段
adaptation_timeout

bool

应用语音自适应时是否超时。如果为 true,则自适应对响应转写内容没有影响。

timeout_message

string

如果设置了此字段,则返回一条消息,指明语音转写请求的哪个部分超时。

SpeechContext

为语音识别器提供“提示”以支持结果中的特定字词和短语。

字段
phrases[]

string

包含字词和短语“提示”的字符串的列表,以便语音识别更有可能识别出它们。该字段可用于提高识别特定字词和短语的准确度,例如,在用户经常说出特定指令的情况下。该字段也可以用于向识别器的词汇表中添加更多字词。请参阅使用限制

还可以将列表项设置为表示自然语言中常见概念的字词组的类。例如,使用 $MONTH 类可提高正确转录包含月份的音频的可能性,而无需为一年中的每个月都提供短语提示。

boost

float

提示加成。正值会提高识别特定短语的概率,而不是其他发音类似的短语。提升越大,出现假正例识别的几率也越高。负提升值对应于反偏差。未启用反偏差功能,因此系统会直接忽略负向加权。虽然 boost 可以接受各种正值,但对于大多数使用情形,最好使用介于 0 到 20 之间的值。建议您使用二分搜索方法来找到适合您使用情形的最佳值。

SpeechRecognitionAlternative

备用假设(又称为 n 最佳列表)。

字段
transcript

string

表示用户所说字词的转录文本。在用空格分隔字词的语言中,如果转写内容不是第一个结果,则可能包含前导空格。您可以连接每个结果以获得完整转写内容,而无需使用分隔符。

confidence

float

介于 0.0 和 1.0 之间的置信度估计值。数字越高表示单词被正确识别的估计可能性越大。此字段仅针对非流式结果的首选备用内容或 is_final=true 的流式结果设置。此字段不能保证准确无误,也不能保证总会为用户提供。默认值 0.0 是一个标记值,表示未设置 confidence

words[]

WordInfo

每个已识别字词的字词特定信息列表。注意:当 enable_speaker_diarization 为 true 时,您将看到音频开头的所有字词。

SpeechRecognitionResult

对应于音频的一部分的语音识别结果。

字段
alternatives[]

SpeechRecognitionAlternative

可能包含一个或多个识别假设(最多为 max_alternatives 中指定的最大值)。这些备用内容由识别器按照准确性进行排序,最前面的(第一个)备用内容是最有可能的。

channel_tag

int32

对于多声道音频,这是与识别出的音频所属声道相对应的声道编号。对于 audio_channel_count = N,其输出值的范围可以从“1”到“N”。

result_end_time

Duration

此结果的结束相对于音频开头的时间偏移。

language_code

string

仅限输出。此结果中语言的 BCP-47 语言标记。检测到该语言代码表示音频中最有可能使用的是该语言。

StreamingRecognitionConfig

向识别器提供指定如何处理请求的信息。

字段
config

RecognitionConfig

必需。向识别器提供指定如何处理请求的信息。

single_utterance

bool

如果为 false 或省略,识别器将执行连续识别(即使用户暂停说话也继续等待和处理音频),直到客户端关闭输入流 (gRPC API) 或达到最大时间限制。可能会返回 is_final 标志设置为 true 的多个 StreamingRecognitionResult

如果为 true,则识别器将检测单独一条话语。如果它检测到用户已暂停或停止说话,将返回 END_OF_SINGLE_UTTERANCE 事件并停止识别。它将返回最多一个 is_final 标志设置为 trueStreamingRecognitionResult

single_utterance 字段只能与指定的模型搭配使用,否则系统会抛出错误。RecognitionConfig 中的 model 字段必须设置为:

  • command_and_search
  • phone_call 和附加字段 useEnhanced=true
  • model 字段未定义。在这种情况下,API 会根据您在 RecognitionConfig 中设置的任何其他参数自动选择模型。
interim_results

bool

如果为 true,则会在临时结果(暂定假设)可用时返回临时结果(这些临时结果用 is_final=false 标志表示)。如果值为 false 或省略,则仅返回 is_final=true 个结果。

enable_voice_activity_events

bool

如果值为 true,则系统会在检测到语音活动语音事件时立即返回包含这些事件的响应。

voice_activity_timeout

VoiceActivityTimeout

如果设置了此值,服务器会在发送最后一个 VOICE_ACTIVITY 语音事件后,经过指定时长后自动关闭数据流。voice_activity_events 字段也必须设置为 true。

VoiceActivityTimeout

可针对语音活动设置超时的事件。

字段
speech_start_timeout

Duration

如果未开始说话,则使数据流超时的时长。

speech_end_timeout

Duration

在语音结束之后,将流设为超时的时长。

StreamingRecognitionResult

对应于当前正在处理的音频的一部分的流式语音识别结果。

字段
alternatives[]

SpeechRecognitionAlternative

可能包含一个或多个识别假设(最多为 max_alternatives 中指定的最大值)。这些备用内容由识别器按照准确性进行排序,最前面的(第一个)备用内容是最有可能的。

is_final

bool

如果为 false,则此 StreamingRecognitionResult 表示可能会更改的临时结果。如果为 true,则表示语音服务返回此特定 StreamingRecognitionResult 的最后时间,识别器不会针对该部分转写内容和相应音频返回任何进一步的假设。

stability

float

对识别器不会改变对此临时结果的猜测的可能性估计。值范围为 0.0(完全不稳定)到 1.0(完全稳定)。此字段仅适用于临时结果 (is_final=false)。默认值 0.0 是一个标记值,表示未设置 stability

result_end_time

Duration

此结果的结束相对于音频开头的时间偏移。

channel_tag

int32

对于多声道音频,这是与识别出的音频所属声道相对应的声道编号。对于 audio_channel_count = N,其输出值的范围可以从“1”到“N”。

language_code

string

仅限输出。此结果中语言的 BCP-47 语言标记。检测到该语言代码表示音频中最有可能使用的是该语言。

StreamingRecognizeRequest

客户端为 StreamingRecognize 方法发送的顶级消息。此时会发送多条 StreamingRecognizeRequest 消息。第一条消息必须包含 streaming_config 消息,且不得包含 audio_content。所有后续消息都必须包含 audio_content,且不得包含 streaming_config 消息。

字段
联合字段 streaming_request。流式传输请求,可以是流式传输配置或音频内容。streaming_request 只能是下列其中一项:
streaming_config

StreamingRecognitionConfig

向识别器提供指定如何处理请求的信息。 第一条 StreamingRecognizeRequest 消息必须包含 streaming_config 消息。

audio_content

bytes

要识别的音频数据。连续的音频数据块在连续的 StreamingRecognizeRequest 消息中发送。第一个 StreamingRecognizeRequest 消息不得包含 audio_content 数据,所有后续 StreamingRecognizeRequest 消息必须包含 audio_content 数据。必须按照 RecognitionConfig 所指定的方式对音频字节进行编码。注意:与所有字节字段一样,协议缓冲区使用纯二进制表示法(而不是 base64)。请参阅内容限制

StreamingRecognizeResponse

StreamingRecognizeResponseStreamingRecognize 返回给客户端的唯一消息。一系列零个或零个以上 StreamingRecognizeResponse 消息将流式传输回客户端。如果没有可识别的音频,并且 single_utterance 设置为 false,则不会向客户端流式返回任何消息。

以下示例展示了处理音频时可能返回的一系列 StreamingRecognizeResponse

  1. results { alternatives { transcript: "tube" } stability: 0.01 }

  2. results { alternatives { transcript: "to be a" } stability: 0.01 }

  3. results { alternatives { transcript: "to be" } stability: 0.9 } results { alternatives { transcript: " or not to be" } stability: 0.01 }

  4. results { alternatives { transcript: "to be or not to be" confidence: 0.92 } alternatives { transcript: "to bee or not to bee" } is_final: true }

  5. results { alternatives { transcript: " that's" } stability: 0.01 }

  6. results { alternatives { transcript: " that is" } stability: 0.9 } results { alternatives { transcript: " the question" } stability: 0.01 }

  7. results { alternatives { transcript: " that is the question" confidence: 0.98 } alternatives { transcript: " that was the question" } is_final: true }

注意:

  • 在上述响应中,只有两条响应(第 4 条和第 7 条)包含最终结果,由 is_final: true 表示。将这些响应连接在一起即可获得完整的转录内容:“to be or not to be that is the question”。

  • 其他响应包含临时 results。第 3 条和第 6 条包含两个临时 results:第一部分稳定性高,不太可能改变;第二部分稳定性低,很可能会改变。界面设计人员可能会选择仅显示高稳定性 results

  • 上面显示的特定 stabilityconfidence 值仅用于说明目的。实际值可能会有所不同。

  • 在每个响应中,只会设置以下字段之一:errorspeech_event_type 或一个或多个(重复)results

字段
error

Status

如果设置了此字段,则返回 google.rpc.Status 消息,指定操作发生的错误。

results[]

StreamingRecognitionResult

该重复列表包含零个或零个以上结果,这些结果对应于当前正在处理的音频的连续部分。它包含零个或一个 is_final=true 结果(新结算的部分),后跟零个或多个 is_final=false 个结果(临时结果)。

speech_event_type

SpeechEventType

表示语音事件的类型。

speech_event_time

Duration

音频开头与发出事件之时的时间偏移。

total_billed_time

Duration

相应视频流的音频秒数(如果适用,则为已结算的音频秒数)。仅当这是流中的最后一个响应时才设置。

speech_adaptation_info

SpeechAdaptationInfo

提供有关响应中自适应行为的信息

request_id

int64

与请求关联的 ID。这是仅针对给定请求的唯一 ID。

SpeechEventType

表示语音事件的类型。

枚举
SPEECH_EVENT_UNSPECIFIED 未指定语音事件。
END_OF_SINGLE_UTTERANCE 该事件表明服务器已经检测到用户所说话语结束,并且预计不会有额外的语音。因此,服务器不会处理额外的音频(尽管后续可能会返回额外的结果)。客户端应停止发送额外的音频数据,半关闭 gRPC 连接,并等待其他结果,直至服务器关闭 gRPC 连接为止。仅当 single_utterance 设置为 true 时才发送此事件,否则不使用此事件。
SPEECH_ACTIVITY_BEGIN 此事件表示服务器已检测到数据流中人类语音活动的开始。如果语音在整个数据流中反复开始和停止,则此事件可能会多次返回。仅当 voice_activity_events 设置为 true 时,系统才会发送此事件。
SPEECH_ACTIVITY_END 此事件表示服务器已检测到数据流中人类语音活动的结束。如果语音在整个数据流中反复开始和停止,则此事件可能会多次返回。仅当 voice_activity_events 设置为 true 时,系统才会发送此事件。
SPEECH_ACTIVITY_TIMEOUT 此事件表示用户设置的语音活动开始或结束超时时间已过。收到此事件后,客户端应发送半关闭。系统不会再处理任何音频。

TranscriptNormalization

转写内容标准化配置。使用转写内容标准化功能自动将转写内容的部分内容替换为您选择的短语。对于 StreamingRecognize,此归一化仅适用于稳定的部分转写(稳定性 > 0.8)和最终转写。

字段
entries[]

Entry

替换条目的列表。我们将一次替换一个条目。例如,["cat" => "dog", "mountain cat" => "mountain dog"] 中的第二个条目永远不会被应用,因为我们始终会先处理第一个条目。最多 100 个条目。

条目

单个替换配置。

字段
search

string

要替换的内容。长度上限为 100 个字符。

replace

string

要替换为的内容。长度上限为 100 个字符。

case_sensitive

bool

搜索是否区分大小写。

TranscriptOutputConfig

指定识别结果的可选目标。

字段

联合字段 output_type

output_type 只能是下列其中一项:

gcs_uri

string

指定识别结果的 Cloud Storage URI。必须采用以下格式指定:gs://bucket_name/object_name,并且相应存储桶必须已存在。

UpdateCustomClassRequest

客户端为 UpdateCustomClass 方法发送的消息。

字段
custom_class

CustomClass

必需。要更新的自定义类。

自定义类的 name 字段用于标识要更新的自定义类。格式:

projects/{project}/locations/{location}/customClasses/{custom_class}

Speech-to-Text 支持三个位置:globalus(美国北美)和 eu(欧洲)。如果您要调用 speech.googleapis.com 端点,请使用 global 位置。如需指定区域,请使用与 useu 位置值相匹配的区域端点

必须对指定的资源 customClass 具有以下 IAM 权限才能进行授权:

  • speech.customClasses.update
update_mask

FieldMask

要更新的字段的列表。

UpdatePhraseSetRequest

客户端为 UpdatePhraseSet 方法发送的消息。

字段
phrase_set

PhraseSet

必需。要更新的短语集。

短语集的 name 字段用于标识要更新的集合。格式:

projects/{project}/locations/{location}/phraseSets/{phrase_set}

Speech-to-Text 支持三个位置:globalus(美国北美)和 eu(欧洲)。如果您要调用 speech.googleapis.com 端点,请使用 global 位置。如需指定区域,请使用与 useu 位置值相匹配的区域端点

必须对指定的资源 phraseSet 具有以下 IAM 权限才能进行授权:

  • speech.phraseSets.update
update_mask

FieldMask

要更新的字段的列表。

WordInfo

已识别字词的字词特定信息。

字段
start_time

Duration

相对于音频开头的时间偏移,并且对应于所说字词的开头。此字段仅在 enable_word_time_offsets=true 时设置,且仅适用于首选假设。这是一项实验性功能,时间偏移的准确性可能会有所不同。

end_time

Duration

相对于音频开头的时间偏移,并且对应于所说字词的末尾。此字段仅在 enable_word_time_offsets=true 时设置,且仅适用于首选假设。这是一项实验性功能,时间偏移的准确性可能会有所不同。

word

string

对应于该组信息的字词。

confidence

float

介于 0.0 和 1.0 之间的置信度估计值。数字越高表示单词被正确识别的估计可能性越大。此字段仅针对非流式结果的首选备用内容或 is_final=true 的流式结果设置。此字段不能保证准确无误,也不能保证总会为用户提供。默认值 0.0 是一个标记值,表示未设置 confidence

speaker_tag
(deprecated)

int32

仅限输出。为音频中的每个讲话人分配不同的整数值。此字段指定检测哪个讲话人说出了此字词。值范围从“1”到 diarization_speaker_count。当 enable_speaker_diarization = 'true' 时设置 speaker_tag(仅适用于首选备用内容)。注意:请改用 speaker_label。

speaker_label

string

仅限输出。为音频中的每个唯一说话者分配的标签值。此字段用于指定检测到哪个讲话者说了这个字词。对于某些模型(如 medical_conversation),这可以是实际的说话者角色,例如“患者”或“提供方”,但通常情况下,这会是用于标识说话者的数字。仅当 enable_speaker_diarization = 'true' 时,此字段才会被设置,并且仅适用于首选备用内容。