- HTTP 请求
- 请求正文
- 响应正文
- 授权范围
- SpeechRecognitionResult
- SpeechRecognitionAlternative
- WordInfo
- SpeechAdaptationInfo
- 试试看!
执行同步语音识别:在发送和处理完所有音频后接收结果。
HTTP 请求
POST https://speech.googleapis.com/v1p1beta1/speech:recognize
网址采用 gRPC 转码语法。
请求正文
请求正文中包含结构如下的数据:
| JSON 表示法 |
|---|
{ "config": { object ( |
| 字段 | |
|---|---|
config |
必需。向识别器提供指定如何处理请求的信息。 |
audio |
必需。要识别的音频数据。 |
响应正文
speech.recognize 方法返回给客户端的唯一消息。它包含零个或多个连续的 SpeechRecognitionResult 消息形式的结果。
如果成功,响应正文将包含结构如下的数据:
| JSON 表示法 |
|---|
{ "results": [ { object ( |
| 字段 | |
|---|---|
results[] |
对应于音频中几个连续部分的转录结果的连续列表。 |
totalBilledTime |
相应请求的已结算音频秒数(如有)。 该时长以秒为单位,最多包含九个小数位,以“ |
speechAdaptationInfo |
提供有关响应中自适应行为的信息 |
requestId |
与请求关联的 ID。这是仅针对给定请求的唯一 ID。 |
usingLegacyModels |
请求是否使用了旧版 ASR 模型(未自动迁移到使用 Conformer 模型)。 |
授权范围
需要以下 OAuth 范围:
https://www.googleapis.com/auth/cloud-platform
如需了解详情,请参阅 Authentication Overview。
SpeechRecognitionResult
对应于音频的一部分的语音识别结果。
| JSON 表示法 |
|---|
{
"alternatives": [
{
object ( |
| 字段 | |
|---|---|
alternatives[] |
可能包含一个或多个识别假设(最多为 |
channelTag |
对于多声道音频,这是与识别出的音频所属声道相对应的声道编号。如果 audioChannelCount = N,则其输出值的范围可以从“1”到“N”。 |
resultEndTime |
此结果的结束相对于音频开头的时间偏移。 该时长以秒为单位,最多包含九个小数位,以“ |
languageCode |
仅限输出。此结果中语言的 BCP-47 语言标记。检测到该语言代码表示音频中最有可能使用的是该语言。 |
SpeechRecognitionAlternative
备用假设(又称为 n 最佳列表)。
| JSON 表示法 |
|---|
{
"transcript": string,
"confidence": number,
"words": [
{
object ( |
| 字段 | |
|---|---|
transcript |
表示用户所说字词的转录文本。在用空格分隔字词的语言中,如果转写内容不是第一个结果,则可能包含前导空格。您可以连接每个结果以获得完整转写内容,而无需使用分隔符。 |
confidence |
介于 0.0 和 1.0 之间的置信度估计值。数字越高表示单词被正确识别的估计可能性越大。此字段仅针对非流式结果的首选备用内容或 |
words[] |
每个已识别字词的字词特定信息列表。注意:当 |
WordInfo
已识别字词的字词特定信息。
| JSON 表示法 |
|---|
{ "startTime": string, "endTime": string, "word": string, "confidence": number, "speakerTag": integer, "speakerLabel": string } |
| 字段 | |
|---|---|
startTime |
相对于音频开头的时间偏移,并且对应于所说字词的开头。此字段仅在 该时长以秒为单位,最多包含九个小数位,以“ |
endTime |
相对于音频开头的时间偏移,并且对应于所说字词的末尾。此字段仅在 该时长以秒为单位,最多包含九个小数位,以“ |
word |
对应于该组信息的字词。 |
confidence |
介于 0.0 和 1.0 之间的置信度估计值。数字越高表示单词被正确识别的估计可能性越大。此字段仅针对非流式结果的首选备用内容或 |
speakerTag |
仅限输出。为音频中的每个讲话人分配不同的整数值。此字段指定检测哪个讲话人说出了此字词。值范围从“1”到 diarizationSpeakerCount。当 enableSpeakerDiarization = 'true' 时设置 speakerTag(仅适用于首选备用内容)。注意:请改用 speakerLabel。 |
speakerLabel |
仅限输出。为音频中的每个唯一说话者分配的标签值。此字段用于指定检测到哪个讲话者说了这个字词。对于某些模型(如 medical_conversation),这可以是实际的说话者角色,例如“患者”或“提供方”,但通常情况下,这会是用于标识说话者的数字。此字段仅在 enableSpeakerDiarization = 'true' 时设置,且仅适用于首选备用内容。 |
SpeechAdaptationInfo
有关在结果中使用语音自适应的信息
| JSON 表示法 |
|---|
{ "adaptationTimeout": boolean, "timeoutMessage": string } |
| 字段 | |
|---|---|
adaptationTimeout |
应用语音自适应时是否超时。如果为 true,则自适应对响应转写内容没有影响。 |
timeoutMessage |
如果设置了此字段,则返回一条消息,指明语音转写请求的哪个部分超时。 |