AI MediaKit 的语音端点识别工具,能够自动定位您输入的音频或视频文件中有效语音的起止时间,将人声和静音、背景噪声等无效片段区分开来,返回一个包含所有有效人声片段起止时间戳的列表,为后续识别、分析、剪辑和训练提供更干净的音频输入。
本篇开发指南将引导您:
通过语音端点识别工具,您可以实现以下效果:
输入的音频 | 识别出的有效语音片段 |
|---|---|
|
本场景演示如何从一段包含人声、静音和背景音的音频文件中,识别出所有包含有效人声的片段及其起止时间。
语音端点识别是一个异步任务,完整调用流程如下:
POST /api/v1/tools/detect-voice-activity 提交任务后,API 将返回一个任务 ID (task_id)。status 变为 completed;或者使用事件回调自动接收任务状态变化。result 字段,即可在 voice_segments 数组中获取每段视频的分析结果。您需要调用提交语音端点识别任务 API。可直接复制以下 cURL 命令提交请求。
curl -X POST 'https://mediakit.cn-beijing.volces.com/api/v1/tools/detect-voice-activity' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {Your_API_Key}' \ --data '{ "audio_url": "https://vod-ai-test.tos-cn-beijing.volces.com/demo/demo_audio_noisy_monologue_wind_bgm.wav" }'
说明
需替换参数:
{Your_API_Key} 替换为您的有效 API Key。audio_url:示例中已提供可直接用于测试的演示音频 URL,您也可以将其替换为您自己的音频地址。您也可以使用 video_url 参数来处理视频文件。请求成功后,您会收到如下包含 task_id 的响应,请保存此 ID 用于后续查询。
{ "success": true, "task_id": "amk-tool-detect-voice-activity-123456789", "request_id": "20240521100000ABCDEFG12345" }
您需要轮询查询任务信息 API,直到任务状态 status 变为 completed。
curl -X GET 'https://mediakit.cn-beijing.volces.com/api/v1/tasks/{task_id}' \ --header 'Authorization: Bearer {Your_API_Key}'
说明
需替换参数:将 URL 末尾的 {task_id} 替换为第 1 步返回的任务 ID。
当任务成功完成后,您将收到如下响应。result.voice_segments 是一个对象数组,其中每个对象都包含 start_time 和 end_time 字段,代表一个有效语音片段的起止时间(单位为秒)。
{ "success": true, "task_id": "amk-tool-detect-voice-activity-786355206146", "task_type": "detect-voice-activity", "status": "completed", "result": { "duration": 94.68, "segment_count": 27, "voice_segments": [ {"start_time": 5.52, "end_time": 7.28}, {"start_time": 7.52, "end_time": 8.56}, {"start_time": 9.68, "end_time": 10.96}, {"start_time": 11.44, "end_time": 12.48}, {"start_time": 13.68, "end_time": 14.72}, {"start_time": 15.04, "end_time": 15.76}, {"start_time": 17.92, "end_time": 19.12}, {"start_time": 22.72, "end_time": 23.84}, {"start_time": 26.4, "end_time": 27.44}, {"start_time": 29.52, "end_time": 30.24}, {"start_time": 32.4, "end_time": 34.08}, {"start_time": 34.8, "end_time": 36}, {"start_time": 37.2, "end_time": 38.16}, {"start_time": 40.24, "end_time": 41.36}, {"start_time": 42.56, "end_time": 43.28}, {"start_time": 47.44, "end_time": 48.72}, {"start_time": 49.6, "end_time": 50.56}, {"start_time": 52.16, "end_time": 53.36}, {"start_time": 55.2, "end_time": 56.96}, {"start_time": 59.28, "end_time": 60.64}, {"start_time": 61.36, "end_time": 62.4}, {"start_time": 71.76, "end_time": 73.2}, {"start_time": 73.76, "end_time": 75.04}, {"start_time": 77.52, "end_time": 78.32}, {"start_time": 80.24, "end_time": 81.44}, {"start_time": 86.56, "end_time": 87.2}, {"start_time": 89.76, "end_time": 91.68} ] }, "expires_at": 1788888888, "created_at": 1788666666, "finished_at": 1788666777, "request_id": "202607091640268A72AFA8623C4A0E68C6" }
限制项 | 说明 |
|---|---|
输入文件 |
|