- JSON 表示法
- AudioEncoding
- SpeechAdaptation
- ABNFGrammar
- TranscriptNormalization
- Entry
- SpeechContext
- SpeakerDiarizationConfig
- RecognitionMetadata
- InteractionType
- MicrophoneDistance
- OriginalMediaType
- RecordingDeviceType
向识别器提供指定如何处理请求的信息。
| JSON 表示法 |
|---|
{ "encoding": enum ( |
| 字段 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
encoding |
在所有 |
||||||||||||||||||
sampleRateHertz |
在所有 |
||||||||||||||||||
audioChannelCount |
输入音频数据中的声道数量。仅适用于多声道音频识别。对 LINEAR16、OGG_OPUS 和 FLAC 而言有效值为 |
||||||||||||||||||
enableSeparateRecognitionPerChannel |
要单独识别每个声道,需将该字段明确设置为 |
||||||||||||||||||
languageCode |
必需。所提供音频的语言,以 BCP-47 语言标记形式表示。示例:“en-US”。如需查看当前支持的语言代码列表,请参阅语言支持。 |
||||||||||||||||||
alternativeLanguageCodes[] |
包含最多 3 个额外 BCP-47 语言标记的列表,列出所提供音频的可能备用语言。请参阅语言支持以获取当前支持的语言代码列表。如果列出了备用语言,则识别结果将包含以检测到最可能使用的语言识别出的内容(包括主要的 languageCode)。识别结果将包括音频中检测到的语言的语言标记。注意:此功能仅支持语音指令和语音搜索用例,在其他用例(例如电话呼叫转录)中性能可能因具体情况而异。 |
||||||||||||||||||
maxAlternatives |
要返回的识别假设数上限。具体而言,每个 |
||||||||||||||||||
profanityFilter |
如果设置为 |
||||||||||||||||||
adaptation |
语音自适应配置可提高语音识别的准确性。如需了解详情,请参阅语音自适应文档。设置语音自适应后,它会取代 |
||||||||||||||||||
transcriptNormalization |
可选。使用转写内容标准化功能自动将转写内容的部分内容替换为您选择的短语。对于 StreamingRecognize,此归一化仅适用于稳定的部分转写(稳定性 > 0.8)和最终转写。 |
||||||||||||||||||
speechContexts[] |
|
||||||||||||||||||
enableWordTimeOffsets |
如果为 |
||||||||||||||||||
enableWordConfidence |
如果为 |
||||||||||||||||||
enableAutomaticPunctuation |
如果为“true”,则在识别结果假设中添加标点符号。此功能仅适用于部分语言。为其他语言的请求设置此选项根本不起作用。 默认值“false”不会在结果假设中添加标点符号。 |
||||||||||||||||||
enableSpokenPunctuation |
通话的语音标点符号行为。如果未设置,则使用基于所选模型的默认行为,例如 command_and_search 会默认启用语音标点符号。如果为“true”,则在请求中将语音标点符号替换为相应的符号。例如,转写内容“how are you 英文问号”会变为“how are you?”。如需获得支持,请参阅 https://cloud.google.com/speech-to-text/docs/spoken-punctuation。如果为“false”,则不会替换语音标点符号。 |
||||||||||||||||||
enableSpokenEmojis |
通话的语音表情符号行为。如果未设置,则使用基于所选模型的默认行为。如果为“true”,则针对请求添加语音表情符号格式。这会在最终转写内容中将语音表情符号替换为相应的 Unicode 符号。如果为“false”,则不会替换语音表情符号。 |
||||||||||||||||||
enableSpeakerDiarization |
如果为“true”,则使用 WordInfo 中提供的 speakerLabel 为识别结果的首选备选方案中的每个已识别的字词启用说话人检测。注意:请改用 diarizationConfig。 |
||||||||||||||||||
diarizationSpeakerCount |
如果设置,则指定对话中讲话人的估计数量。默认值为“2”。除非 enableSpeakerDiarization 设置为 true,否则会被忽略。注意:请改用 diarizationConfig。 |
||||||||||||||||||
diarizationConfig |
配置以启用讲话人区分功能并设置额外参数,从而使区分更适合您的应用。注意:启用此功能后,我们会针对每个连续的 STREAMING 响应,从音频开头开始发送排名最高的备选项中的所有字词。这样做是为了改进讲话人标记,以便模型逐渐学习识别对话中的讲话人。对于非流式请求,将仅在最终 SpeechRecognitionResult 的首选备用内容中提供讲话人分类结果。 |
||||||||||||||||||
metadata |
与此请求相关的元数据。 |
||||||||||||||||||
model |
要为给定请求选择的模型。请选择最适合您网域的模型,以获得最佳结果。如果未明确指定模型,则会根据 RecognitionConfig 中的参数自动选择模型。
|
||||||||||||||||||
useEnhanced |
设置为 true 可使用增强型模型进行语音识别。如果 如果 |
||||||||||||||||||
AudioEncoding
请求中发送的音频数据的编码。
除非设置了 audioChannelCount 和 enableSeparateRecognitionPerChannel 字段,否则所有编码仅支持 1 声道(单声道)音频。
为获得最佳结果,应使用无损编码(FLAC 或 LINEAR16)捕获和传输音频源。如果使用有损编解码器来捕获或传输音频,则会降低语音识别的准确性,尤其是在存在背景噪声的情况下。有损编解码器包括 MULAW、AMR、AMR_WB、OGG_OPUS、SPEEX_WITH_HEADER_BYTE、MP3 和 WEBM_OPUS。
FLAC 和 WAV 音频文件格式包括描述所含音频内容的文件头。您可以请求识别包含 WAV 或 LINEAR16 编码音频的 MULAW 文件。如果您在请求中发送 FLAC 或 WAV 音频文件格式,则无需指定 AudioEncoding;音频编码格式将根据文件头确定。如果在发送 FLAC 或 WAV 音频时指定 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 |
自适应多速率窄带编解码器。sampleRateHertz 必须是 8000。 |
AMR_WB |
自适应多速率宽带编解码器。sampleRateHertz 必须是 16000。 |
OGG_OPUS |
Ogg 容器中的 Opus 编码音频帧 (OggOpus)。sampleRateHertz 必须是以下值之一: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 宽带。sampleRateHertz 必须是 16000。 |
MP3 |
MP3 音频。MP3 编码是一项 Beta 版功能,仅在 v1p1beta1 中提供。支持所有标准 MP3 比特率(范围为 32-320 kbps)。使用此编码时,sampleRateHertz 必须与所用文件的采样率匹配。 |
WEBM_OPUS |
WebM 容器中的 Opus 编码音频帧 (WebM)。sampleRateHertz 必须是 8000、12000、16000、24000 或 48000 之一。 |
ALAW |
8 位采样,使用 G.711 PCMU/a-law 压缩 13 位音频采样。 |
SpeechAdaptation
语音自适应配置。
| JSON 表示法 |
|---|
{ "phraseSets": [ { object ( |
| 字段 | |
|---|---|
phraseSets[] |
短语集的集合。如需内嵌指定提示,请将短语集的 |
phraseSetReferences[] |
要使用的一组短语集资源名称。 |
customClasses[] |
自定义类的集合。如需内嵌指定类,请将类的 |
abnfGrammar |
增强巴科斯范式 (ABNF) 是一种由一组推导规则组成的标准化语法表示法。请参阅规范:https://www.w3.org/TR/speech-grammar |
ABNFGrammar
| JSON 表示法 |
|---|
{ "abnfStrings": [ string ] } |
| 字段 | |
|---|---|
abnfStrings[] |
ABNF 语法的所有声明和规则都分解为多个最终会串联在一起的字符串。 |
TranscriptNormalization
转写内容标准化配置。使用转写内容标准化功能自动将转写内容的部分内容替换为您选择的短语。对于 StreamingRecognize,此归一化仅适用于稳定的部分转写(稳定性 > 0.8)和最终转写。
| JSON 表示法 |
|---|
{
"entries": [
{
object ( |
| 字段 | |
|---|---|
entries[] |
替换条目的列表。我们将一次替换一个条目。例如,["cat" => "dog", "mountain cat" => "mountain dog"] 中的第二个条目永远不会被应用,因为我们始终会先处理第一个条目。最多 100 个条目。 |
条目
单个替换配置。
| JSON 表示法 |
|---|
{ "search": string, "replace": string, "caseSensitive": boolean } |
| 字段 | |
|---|---|
search |
要替换的内容。长度上限为 100 个字符。 |
replace |
要替换为的内容。长度上限为 100 个字符。 |
caseSensitive |
搜索是否区分大小写。 |
SpeechContext
为语音识别器提供“提示”以支持结果中的特定字词和短语。
| JSON 表示法 |
|---|
{ "phrases": [ string ], "boost": number } |
| 字段 | |
|---|---|
phrases[] |
包含字词和短语“提示”的字符串的列表,以便语音识别更有可能识别出它们。该字段可用于提高识别特定字词和短语的准确度,例如,在用户经常说出特定指令的情况下。该字段也可以用于向识别器的词汇表中添加更多字词。请参阅使用限制。 还可以将列表项设置为表示自然语言中常见概念的字词组的类。例如,使用 $MONTH 类可提高正确转录包含月份的音频的可能性,而无需为一年中的每个月都提供短语提示。 |
boost |
提示加成。正值会提高识别特定短语的概率,而不是其他发音类似的短语。提升越大,出现假正例识别的几率也越高。负提升值对应于反偏差。未启用反偏差功能,因此系统会直接忽略负向加权。虽然 |
SpeakerDiarizationConfig
用于启用讲话人区分功能的配置。
| JSON 表示法 |
|---|
{ "enableSpeakerDiarization": boolean, "minSpeakerCount": integer, "maxSpeakerCount": integer, "speakerTag": integer } |
| 字段 | |
|---|---|
enableSpeakerDiarization |
如果为“true”,则使用 WordInfo 中提供的 speakerLabel 为识别结果的首选备用内容中的每个已识别字词启用说话人检测。 |
minSpeakerCount |
对话中讲话人的数量下限。系统利用此范围可自动确定正确的讲话人数量,从而为您提供更高的灵活性。如果未设置,则默认值为 2。 |
maxSpeakerCount |
会话中讲话人的数量上限。系统利用此范围可自动确定正确的讲话人数量,从而为您提供更高的灵活性。如果未设置,则默认值为 6。 |
speakerTag |
仅限输出。未使用。 |
RecognitionMetadata
要识别的音频数据的描述。
| JSON 表示法 |
|---|
{ "interactionType": enum ( |
| 字段 | |
|---|---|
interactionType |
最能描述要识别的音频内容的用例。 |
industryNaicsCodeOfAudio |
此语音识别请求最接近的垂直行业。该字段最能体现音频中包含的主题。使用 6 位数的 NAICS 代码来确定行业垂直领域 - 请参阅 https://www.naics.com/search/。 |
microphoneDistance |
最能描述所识别音频的音频类型。 |
originalMediaType |
录制语音所用的原始媒体。 |
recordingDeviceType |
录制语音所用的设备类型。 |
recordingDeviceName |
用于制作录音的设备。例如:“Nexus 5X”、“Polycom SoundStation IP 6000”、“POTS”、“VoIP”或“心型指向麦克风”。 |
originalMimeType |
原始音频文件的 MIME 类型。例如 |
obfuscatedId |
用户经模糊处理(受隐私权保护)的 ID,用于确定使用该服务的唯一身份用户的数量。 |
audioTopic |
内容说明。例如,“2012 年联邦最高法院听证会的录音”。 |
InteractionType
可以描述音频识别请求的用例类别。
| 枚举 | |
|---|---|
INTERACTION_TYPE_UNSPECIFIED |
用例未知或者不是下面其他值之一。 |
DISCUSSION |
对话或讨论中的多个人。例如,在有两个或更多人积极参与的会议中。通常所有主要讲话人都在同一个房间(如果不在同一个房间,请参见 PHONE_CALL) |
PRESENTATION |
一个或多个人向他人演讲或演示幻灯片,通常是不间断的。 |
PHONE_CALL |
电话呼叫或视频会议,有两个或多个不在同一房间的人员积极参与。 |
VOICEMAIL |
录制的消息,供另一个人收听。 |
PROFESSIONALLY_PRODUCED |
专业制作的音频(例如电视节目、播客)。 |
VOICE_SEARCH |
将语音问题和查询转录为文本。 |
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 |
语音是在室内录制的。 |