一、接口描述
接口说明:
·音频要求:16kHz/16bit/单声道 PCM 或 WAV;Base64 解码后 ≤ 2MB;PCM 裸数据 10s ≤ 时长 ≤ 45s。
·同一 (AppId, SdkAppId, SpeakerId) 重复注册时走 Upsert 语义:旧记录软删 + 新建一行,返回新的 VoiceprintId。业务方需以本次返回的 VoiceprintId 为准更新自己的映射。
·单账号声纹数量有上限(默认1000条,可升级增加),达到上限时返回 LimitExceeded.VoiceprintFull。
注意:说明:
注意:默认接口请求频率限制:20次/秒。
二、输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
| 参数名称 | 必选 | 类型 | 描述 |
| Action | 是 | String | 公共参数,本接口取值:RegisterTRTCVoicePrint。 |
| Version | 是 | String | 公共参数,本接口取值:2019-07-22。 |
| Region | 否 | String | 公共参数,本接口不需要传递此参数。 |
| SpeakerId | 是 | String | 业务方自定义的说话人唯一标识,同一 (AppId, SdkAppId, SpeakerId) 重复调用会覆盖旧声纹(软删旧记录 + 新建一行,返回新的 VoicePrintId)。示例值:usera |
| Data | 是 | String | 音频数据的 Base64 字符串。要求:16kHz/16bit/单声道 PCM 或 WAV;Base64 解码后大小 ≤ 2MB;PCM 裸数据时长 10s ≤ 时长 ≤ 45s(WAV 去掉 header 后按相同标准校验)。示例值:base64_encoded_audio_data |
| SdkAppId | 是 | String | SdkAppId。示例值:1400123456 |
| AudioFormat | 否 | String | 音频格式,可选 pcm 或 wav,大小写不敏感,不传默认为 pcm。示例值:pcm |
三、输出参数
| 参数名称 | 类型 | 描述 |
| VoicePrintId | String | 本次注册生成的声纹 ID,后续 Update/Delete/Verify 均以此为准。示例值:19dbe5b905b_1024998c2a534879a78c600f7850874a |
| SpeakerId | String | 回显的业务方 SpeakerId,由大小写英文字母、数字、下划线组成,长度在1到32字节之间。示例值:usera |
| EffectiveAudioDuration | Float | 本次注册音频中有效人声时长(秒)。示例值:25.4 |
| SNR | Float | 音频信噪比(dB),由声纹服务端评估给出。示例值:5.8 |
| Message | String | 结果描述,成功时为 voiceprint enrolled successfully。示例值:voiceprint enrolled successfully |
| RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
四、输入示例
POST / HTTP/1.1Host: trtc.tencentcloudapi.comContent-Type: application/jsonX-TC-Action: RegisterTRTCVoicePrint<公共请求参数>{ "SpeakerId": "usera", "Data": "base64_encoded_audio_data", "SdkAppId": "1400123456", "AudioFormat": "pcm"}
五、输出示例
{ "Response": { "EffectiveAudioDuration": 25.4, "Message": "voiceprint enrolled successfully", "RequestId": "2ba4e1f9-208c-4d37-9cdc-baa6d8f52a52", "SNR": 5.8, "SpeakerId": "usera", "VoicePrintId": "19dbe5b905b_1024998c2a534879a78c600f7850874a" }}
六、腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便你从同一入口查询及使用腾讯云提供的所有 API 服务。
七、API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
八、SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
·Tencent Cloud SDK 3.0 for Python: GitHub, Gitee
·Tencent Cloud SDK 3.0 for Java: GitHub, Gitee
·Tencent Cloud SDK 3.0 for PHP: GitHub, Gitee
·Tencent Cloud SDK 3.0 for Go: GitHub, Gitee
·Tencent Cloud SDK 3.0 for Node.js: GitHub, Gitee
·Tencent Cloud SDK 3.0 for .NET: GitHub, Gitee
·Tencent Cloud SDK 3.0 for C++: GitHub, Gitee
·Tencent Cloud SDK 3.0 for Ruby: GitHub, Gitee
九、命令行工具
·Tencent Cloud CLI 3.0
十、错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
| 错误码 | 描述 |
| AuthFailure.UnRealNameAuthenticated | 未完成实名认证,不允许此操作。 |
| AuthFailure.UnauthorizedOperation | CAM 鉴权失败。 |
| InternalError.FailAccessCOS | 访问 COS 对象存储失败。 |
| InternalError.FailAccessDatabase | 访问数据库失败。 |
| InternalError.InternalError | 内部错误,请重试。 |
| InvalidParameter.AudioFormat | 音频格式非法(仅支持 pcm/wav)或 Base64 解码失败。 |
| InvalidParameter.AudioTooLarge | 音频数据大小超过 2MB。 |
| InvalidParameter.AudioTooLong | 音频时长超过 45 秒。 |
| InvalidParameter.AudioTooShort | 音频有效时长不足 10 秒。 |
| InvalidParameterValue.ErrorInvalidAppid | AppId 无效。 |
| InvalidParameterValue.InvalidSdkAppId | 无效的 SdkAppId。 |
| InvalidParameterValue.InvalidSpeakerId | 无效的 SpeakerId(为空或格式非法)。 |
| LimitExceeded.VoicePrintFull | 声纹库数量已达上限。 |