视频点播人声背景音分离(也称为“音频分离”或“音伴分离”)功能采用深度学习算法,能够精准地处理您输入的音视频文件,然后输出两个独立的音频文件:纯净的人声干声和完整的背景伴奏。该功能适用于卡拉 OK 伴奏制作、嘈杂环境下的人声增强、以及视频二次创作中音乐替换等场景。
本文将指导您如何通过调用视频点播 OpenAPI,实现人声和背景音的分离。
人声背景音分离功能基于先进的音频处理算法(如深度学习、频谱分析等)技术,通过对音频信号进行多维度分析,识别并捕捉人声与背景音在频谱、时域、音色等方面的差异,利用智能算法模型对两者进行分离。分离过程中,能够最大程度地保留人声和背景音各自的完整性和音质,确保分离后的人声干声清晰可辨,背景音自然流畅,为后续的音视频处理和应用提供高质量的音频素材。
项目 | 说明 |
|---|---|
输入文件格式 |
|
输出产物 |
|
使用人声背景音分离会产生以下费用:
调用 StartExecution 接口提交人声背景音分离任务。以下为任务的核心参数配置。关于完整的请求参数列表和详细说明,请参见 StartExecution API 参考。关键请求参数:
Input: 指定输入文件。
Type: 设置为 Vid 或 DirectUrl。Vid / DirectUrl: 提供待处理文件的 Vid 或 FileName 信息。Operation.Task: 定义要执行的任务。
Type: 必须设置为 AudioExtract,表示执行人声背景音分离任务。AudioExtract.Voice: 必须设置为 true,表示提取人声。请求示例:
POST https://vod.volcengineapi.com?Action=StartExecution&Version=2025-01-01 { "Input": { "Type": "Vid", "Vid": "v0d25cg10001***jcvqljht8dj05mde0" }, "Operation": { "Type": "Task", "Task": { "Type": "AudioExtract", "AudioExtract": { "Voice": true } } } }
成功提交后,系统将返回任务的唯一标识 RunId。请务必保存好此 ID,以便后续查询结果。
任务提交后,系统将在后台进行异步处理。您可以通过以下任一方式获取结果:
主动查询:调用 GetExecution 接口,并传入步骤 1 中获取的 RunId 来获取任务结果。
GET https://vod.volcengineapi.com?Action=GetExecution&Version=2025-01-01&RunId=hb:ebd05bee1f3873***f7316c742b5f
事件通知:
EventType 为 ExecutionComplete 的 HTTP POST 请求。当返回结果中的 Status 字段值为 Success 时,表示任务已成功完成。您可以在 Output.Task.AudioExtract 字段中找到分离后的产物信息。以下为产物相关的核心返回字段。
字段 | 类型 | 描述 |
|---|---|---|
| Float | 输入文件的时长,单位为秒。 |
| Object | 人声音频文件的信息。 |
| String | 人声音频文件的存储路径。 |
| String | 人声音频文件的大小,单位为字节。 |
| Object | 背景音频文件的信息。 |
| String | 背景音频文件的存储路径。 |
| String | 背景音频文件的大小,单位为字节。 |
以下是获取成功的人声背景音分离结果的示例:
{ "ResponseMetadata": { // ... 省略通用元数据 }, "Result": { "RunId": "hb:ebd05bee1f3873***f7316c742b5f", "Status": "Success", // ... 省略任务元数据、输入、操作等信息 "Output": { "Type": "Task", "Task": { "Type": "AudioExtract", "AudioExtract": { "Duration": 152.085, "Voice": { "Size": "2519064", "FileName": "speech.aac" }, "Background": { "Size": "2845721", "FileName": "background.aac" } } } } } }
在步骤 2:获取任务结果中,您已经获取到了输出音频文件的 FileName。接下来,您需要将其转换为公网可访问的 URL,以便于播放或下载。
说明
前提条件:在获取文件的公网 URL 之前,您必须为产物所在的点播空间添加并配置一个加速域名。所有 URL 都将基于此域名生成。
一个基础的访问 URL 由以下部分组成:[Protocol]://[PlaybackDomain]/[FileName]
[Protocol]:通常为 https 或 http。取决于您是否配置 SSL 证书。[PlaybackDomain]:您在点播控制台配置的加速域名。[FileName]:您从 GetExecution 结果中获取的产物 FileName。拼接示例:假设您的加速域名为 play.example.com,获取到的人声文件 FileName 为 speech.aac,那么拼接后的 URL 为:https://play.example.com/speech.aac
说明
为了防止资源被盗链,视频点播支持 URL 鉴权功能。如果您在视频点播控制台开启了 URL 鉴权,仅拼接基础 URL 还无法直接访问,您必须为其附加一个动态计算的鉴权参数(如 auth_key)。
https://play.example.com/speech.aac?auth_key=1732529334-0-0-a1b2c3d4e5f6...