声音复刻

更新时间:
复制为 MD 格式

通过声音复刻功能,可以基于原始音频快速生成定制化音色,并在 AI 实时互动工作流的 TTS 节点中使用。支持在控制台实时录制或上传音频创建音色,也可通过百炼 API 批量复刻声音。

操作流程概览

完成声音复刻并应用到 AI 实时互动的完整流程如下:

  1. 复刻声音并生成音色 ID:在 AI 实时互动控制台实时录制或上传音频创建音色,或通过百炼 API 批量复刻声音。

  2. 在工作流中配置 TTS 节点:使用生成的音色 ID,在工作流编辑器的 TTS 节点中配置百炼模型和音色参数。

前提条件

  • 已集成对应版本SDK。具体集成方式,请前往安装SDK

  • 已创建API Key。具体创建方式,请前往获取API Key

音频文件要求

无论选择实时录制还是上传音频,原始音频需满足以下要求:

  • 声道数:单声道或双声道

  • 采样率:16 kHz 及以上

  • 格式:WAV(16 bit)、MP3、M4A

  • 文件大小:10 MB 以内

  • 时长:10 秒以上

步骤一:复刻声音并生成音色 ID

AI 实时互动提供两种声音复刻方式,可根据使用场景选择:

复刻方式

适用场景

特点

方式一:在 AI 实时互动控制台复刻

小批量音色创建,需要实时录制或上传本地音频

无需编写代码,支持实时录制和试听合成

方式二:通过百炼 API 批量复刻

批量复刻场景,音频文件已存储在 OSS

适合自动化流程和批量处理

方式一:在 AI 实时互动控制台复刻

在控制台创建音色时,可选择实时录制或上传本地音频文件作为原始音频。创建完成后,系统会自动进行审核,审核通过后即可在工作流的 TTS 节点中使用。

创建音色

  1. 登录智能媒体服务控制台

  2. 在左侧导航栏,选择AI实时互动 > 声音复刻

  3. 单击创建音色按钮。页面右上角显示当前已创建音色数量和配额上限(最多 30 个音色)。

  4. 在创建音色页面,配置以下参数:

    • 音色名称:输入音色的自定义名称,便于后续在工作流中识别和选择。

    • 原始音频:选择音频来源方式:

      • 请先上传音频文件:从本地选择符合要求的音频文件上传。

      • 实时录制:点击录制按钮,通过麦克风实时录制音频(录制时长需满足 20 秒以上)。

    • 复刻模型:选择声音复刻所使用的模型。目前支持:

      • CosyVoice 系列:cosyvoice-v2cosyvoice-v3-flashcosyvoice-v3-plus

      各模型详细信息和能力对比,请参见实时语音合成-CosyVoice/Sambert实时语音合成-千问

  5. 单击提交按钮。系统开始处理音色复刻请求并进行审核。

  6. 在声音复刻列表页,查看音色状态:

    • 审核中:音色正在审核,暂时无法使用。

    • 审核通过:音色可正常使用。单击试听按钮,可试听合成效果。

    • 审核失败:音色未通过审核,无法使用。请检查音频内容是否符合服务协议。

  7. 审核通过后,记录列表页中的音色ID,用于后续在工作流 TTS 节点中配置。

列表页功能说明

  • 支持按音色名称或音色 ID 进行模糊搜索。

  • 每个账号最多创建 30 个音色,达到配额上限后无法继续创建,需删除不再使用的音色后才能新建。

方式二:通过百炼 API 批量复刻

如果需要批量复刻多个音色,或希望将声音复刻集成到自动化流程中,可以使用百炼平台的 API 接口。与方式一的主要区别在于:方式二适合音频文件已存储在 OSS 的场景,可通过代码批量处理,而方式一更适合小批量手动创建。

说明

需开通阿里云百炼服务。开通服务,请前往阿里云百炼控制台

上传音频到 OSS

准备好音频文件后,需将音频文件上传到 OSS 存储空间,操作步骤请参见操作方式

调用 API 生成音色 ID

以下示例代码展示如何调用百炼 API 上传音频文件并生成音色 ID:

import os
import dashscope
from dashscope.audio.tts_v2 import VoiceEnrollmentService, SpeechSynthesizer

# 从环境变量获取 API Key,避免硬编码
dashscope.api_key = os.getenv('DASHSCOPE_API_KEY')
url = "https://your-audio-file-url"  # 替换为 OSS 音频文件的公网 URL
prefix = 'prefix'  # 自定义音色前缀,用于标识音色来源
target_model = "cosyvoice-v2"  # 选择复刻模型

# 创建语音注册服务实例
service = VoiceEnrollmentService()

# 调用 create_voice 方法复刻声音,并生成 voice_id
voice_id = service.create_voice(target_model=target_model, prefix=prefix, url=url)
print(f"your voice id is {voice_id}")
# 输出示例:cosyvoice-prefix-xxxxx

调用完成后,请妥善保存返回的音色 ID(即 voice_id 字符串),以便在下一步的 AI 实时互动控制台中使用。通过 API 创建的音色也会显示在控制台的声音复刻列表页,可以在列表中查看其状态和进行管理。

支持的复刻模型

百炼平台目前支持以下声音复刻模型:

步骤二:在 AI 实时互动控制台配置 TTS 节点

完成声音复刻并获得音色 ID 后,需要在 AI 实时互动控制台的工作流中配置 TTS 节点,以使用复刻的音色。

配置步骤

  1. 登录智能媒体服务控制台

  2. 在左侧导航栏,选择工作流管理

  3. 找到需要配置的工作流,单击工作流名称进入工作流详情页。

  4. 单击右上角编辑按钮,进入工作流编辑器。

  5. 在工作流画布中,选择TTS 文字转语音节点。

  6. 在节点配置面板中,选择对应模型和配置参数。

  7. 单击保存按钮,完成 TTS 节点配置。

配置完成后,您的 AI 实时互动工作流即可使用复刻的音色进行语音合成。

常见问题与异常处理

审核失败处理

如果音色审核失败,请检查以下事项:

  • 音频内容是否符合服务协议(不包含违法违规内容)。

  • 音频文件是否符合技术要求(声道数、采样率、格式、文件大小、时长)。

  • 音频质量是否清晰,背景噪音是否过大。

配额限制

  • 每个账号最多创建 30 个音色。

  • 达到配额上限后,需删除不再使用的音色才能继续创建。