全部產品
Search
文件中心

Alibaba Cloud Model Studio:聲音複刻

更新時間:May 13, 2026

聲音複刻(Voice Cloning)只需提供一段 10~20 秒的音頻樣本,即可產生高度相似的定製音色,無需模型訓練。

概述

聲音複刻只需 10~20 秒音頻樣本即可產生高度相似的定製音色,無需模型訓練。適用於個人化語音助手、品牌專屬播報、有聲內容定製化等情境。

百鍊平台提供以下模型系列的聲音複刻能力:

  • CosyVoice:通過 DashScope SDK 或 HTTP API 建立音色,支援即時語音合成,可用於北京和新加坡地區。

  • Qwen-TTS:通過 HTTP API 建立音色,支援即時與非即時語音合成,可用於北京和新加坡地區。

如需瞭解各模型系列的詳細對比和選型建議,請參見語音合成

前提條件

  1. 配置 API Key並將其設定到環境變數

  2. 如果通過 DashScope SDK 調用,需要安裝最新版SDK

  3. 準備音頻檔案:音頻需符合音頻要求

快速開始

聲音複刻的使用分為以下三步:

  1. 準備音頻:準備一段符合音頻要求的音頻檔案。

  2. 建立音色:調用聲音複刻介面上傳音頻,系統會自動提取聲紋特徵並產生專屬音色。建立時必須通過target_model指定該音色綁定的語音合成模型。

  3. 使用音色合成語音:調用語音合成介面,傳入建立音色時返回的音色 ID。注意,語音合成模型必須與建立音色時指定的target_model一致,否則合成將失敗。

Qwen-TTS 聲音複刻

以下樣本示範完整的聲音複刻流程:先上傳音頻建立音色,再使用該音色進行語音合成。樣本中使用本地音頻檔案voice.mp3,運行時請替換為實際的檔案路徑。

重要

建立音色時的target_model必須與語音合成時使用的模型完全一致,否則合成將失敗。

Python

import os
import requests
import base64
import pathlib
import dashscope

# ======= 常量配置 =======
DEFAULT_TARGET_MODEL = "qwen3-tts-vc-2026-01-22"  # 聲音複刻、語音合成要使用相同的模型
DEFAULT_PREFERRED_NAME = "guanyu"
DEFAULT_AUDIO_MIME_TYPE = "audio/mpeg"
VOICE_FILE_PATH = "voice.mp3"  # 用於聲音複刻的本地音頻檔案的相對路徑


def create_voice(file_path: str,
                 target_model: str = DEFAULT_TARGET_MODEL,
                 preferred_name: str = DEFAULT_PREFERRED_NAME,
                 audio_mime_type: str = DEFAULT_AUDIO_MIME_TYPE) -> str:
    """
    建立音色,並返回 voice 參數
    """
    # 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key = "sk-xxx"
    api_key = os.getenv("DASHSCOPE_API_KEY")

    file_path_obj = pathlib.Path(file_path)
    if not file_path_obj.exists():
        raise FileNotFoundError(f"音頻檔案不存在: {file_path}")

    base64_str = base64.b64encode(file_path_obj.read_bytes()).decode()
    data_uri = f"data:{audio_mime_type};base64,{base64_str}"

    # 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
    url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization"
    payload = {
        "model": "qwen-voice-enrollment", # 不要修改該值
        "input": {
            "action": "create",
            "target_model": target_model,
            "preferred_name": preferred_name,
            "audio": {"data": data_uri}
        }
    }
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }

    resp = requests.post(url, json=payload, headers=headers)
    if resp.status_code != 200:
        raise RuntimeError(f"建立 voice 失敗: {resp.status_code}, {resp.text}")

    try:
        return resp.json()["output"]["voice"]
    except (KeyError, ValueError) as e:
        raise RuntimeError(f"解析 voice 響應失敗: {e}")


if __name__ == '__main__':
    # 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1
    dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

    text = "今天天氣怎麼樣?"
    response = dashscope.MultiModalConversation.call(
        model=DEFAULT_TARGET_MODEL,
        # 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key = "sk-xxx"
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        text=text,
        voice=create_voice(VOICE_FILE_PATH), # 將voice參數替換為複刻產生的專屬音色
        stream=False
    )
    print(response)

cURL

通過 cURL 進行聲音複刻分為兩步:先建立音色,再用該音色合成語音。

步驟一:建立音色

# 將 voice.mp3 替換為實際音頻檔案路徑
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
# 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key

AUDIO_BASE64=$(base64 -i voice.mp3)

curl -X POST 'https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "qwen-voice-enrollment",
    "input": {
        "action": "create",
        "target_model": "qwen3-tts-vc-2026-01-22",
        "preferred_name": "guanyu",
        "audio": {"data": "data:audio/mpeg;base64,'$AUDIO_BASE64'"}
    }
}'

步驟二:使用複刻音色合成語音

將上一步返回的voice值填入以下請求中。

# 將 YOUR_VOICE_ID 替換為上一步返回的 voice 值
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

curl -X POST 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "qwen3-tts-vc-2026-01-22",
    "input": {
        "text": "今天天氣怎麼樣?",
        "voice": "YOUR_VOICE_ID"
    }
}'

CosyVoice 聲音複刻

CosyVoice 聲音複刻通過專用的聲音複刻 API 進行操作,同樣遵循"建立音色 → 使用音色合成"的流程。

重要

CosyVoice 聲音複刻僅支援北京地區(v3.5/v2/v1 系列)和新加坡地區(v3 系列)。

步驟一:建立音色

調用聲音複刻 API 上傳音頻並建立音色。url參數傳入音頻檔案的可存取 URL 地址,prefix參數作為音色名稱首碼。

# 將 url 替換為實際音頻檔案的可訪問地址
# 以下為新加坡地區 URL,若使用北京地區的模型,需將 URL 替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
# 擷取 API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key

curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "voice-enrollment",
    "input": {
        "action": "create_voice",
        "target_model": "cosyvoice-v3-plus",
        "prefix": "myvoice",
        "url": "https://your-audio-url.wav",
        "language_hints": ["zh"]
    }
}'

步驟二:使用複刻音色合成語音

將上一步返回的voice值填入以下請求中。

# 將 YOUR_VOICE_ID 替換為上一步返回的 voice 值
# 以下為新加坡地區 URL,若使用北京地區的模型,需將 URL 替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer

curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "cosyvoice-v3-plus",
    "input": {
      "text": "今天天氣怎麼樣?",
      "voice": "YOUR_VOICE_ID",
      "format": "wav",
      "sample_rate": 24000
    }
}'

音頻要求

輸入音訊品質直接決定複刻效果。不同模型系列對音訊具體要求有所差異,請按照目標模型的要求準備音頻樣本。

CosyVoice

專案

要求

支援格式

WAV (16bit)、MP3、M4A

音頻時間長度

推薦 10~20 秒,最長不超過 60 秒

檔案大小

≤ 10 MB

採樣率

≥ 16 kHz

聲道

單聲道或雙聲道。雙聲道音頻僅處理首聲道,請確保首聲道包含有效人聲。

內容

音頻必須包含至少 5 秒連續清晰的朗讀內容(無背景音),其餘部分僅允許短暫停頓(≤ 2 秒)。整段音頻應避免出現背景音樂、環境噪音或其他人聲。請使用正常語速的說話音頻,不要上傳歌曲或唱歌錄音。

支援語言

因驅動音色的語音合成模型(通過 target_model 參數指定)而異:

  • cosyvoice-v2:中文(普通話)、英文

  • cosyvoice-v3-flash:中文(普通話、廣東話、東北話、甘肅話、貴州話、河南話、湖北話、江西話、閩南話、寧夏話、山西話、陝西話、山東話、上海話、四川話、天津話、雲南話)、英文、法語、德語、日語、韓語、俄語、葡萄牙語、泰語、印尼語、越南語

  • cosyvoice-v3-plus:中文(普通話)、英文、法語、德語、日語、韓語、俄語

  • cosyvoice-v3.5-plus、cosyvoice-v3.5-flash:中文(普通話、廣東話、河南話、湖北話、閩南話、寧夏話、陝西話、山東話、上海話、四川話)、英文、法語、德語、日語、韓語、俄語、葡萄牙語、泰語、印尼語、越南語

Qwen-TTS

專案

要求

支援格式

WAV (16bit)、MP3、M4A

音頻時間長度

推薦 10~20 秒,最長不超過 60 秒

檔案大小

< 10 MB

採樣率

≥ 24 kHz

聲道

單聲道

內容

音頻必須包含至少 3 秒連續清晰的朗讀內容(無背景音),其餘部分僅允許短暫停頓(≤ 2 秒)。整段音頻應避免出現背景音樂、環境噪音或其他人聲。請使用正常語速的說話音頻,不要上傳歌曲或唱歌錄音。

支援語言

中文、英文、德語、意大利語、葡萄牙語、西班牙語、日語、韓語、法語、俄語

說明

為獲得最佳複刻效果,建議參照錄音建議準備樣本。

錄音建議

高品質的輸入音頻是獲得優質複刻效果的基礎。以下從錄音裝置、錄音環境、錄音文案和操作流程四個方面提供建議。

錄音裝置

可使用手機、數字錄音筆、專業錄音機等。建議使用支援高採樣率(≥ 24 kHz)錄音的裝置,以滿足音頻要求。

錄音環境

場地

  • 建議在 10 平方米以內的小型封閉空間錄音。

  • 優先選擇配有吸音材料(如吸音棉、地毯、窗帘)的房間。

  • 避免空曠大廳、會議室、教室等高混響場所。

噪音控制

  • 室外噪音:關閉門窗,避免交通、施工等幹擾。

  • 室內噪音:關閉空調、風扇、日光燈鎮流器等裝置;可通過手機錄製環境音並放大播放,識別潛在噪音源。

混響控制

  • 混響會導致聲音模糊、清晰度下降。

  • 減少光滑表面反射:拉上窗帘、開啟衣櫃門、鋪放衣物或床單覆蓋案頭/櫃面。

  • 利用不規則物體(如書架、軟包傢具)實現聲波漫反射。

錄音文案

  • 內容無特殊限制,建議與目標應用情境一致。

  • 避免短句(如"你好"、"是的"),應使用完整句子。

  • 保持語義連貫,朗讀時避免頻繁停頓(建議至少連續 3 秒無中斷)。

  • 錄音的開頭和結尾部分應保持與中間段落一致的語速,避免因開頭或結尾語速過快導致複刻後語音合成時出現卡頓現象。

  • 可加入適當情緒表達(如溫暖、親切、嚴肅),避免機械朗讀。

  • 不包含禁用語(如政治、色情、暴力相關內容),否則會導致複刻失敗。

操作建議

以普通臥室為例:

  1. 關閉門窗,隔絕外部噪音。

  2. 關閉空調、電扇等電器。

  3. 拉上窗帘,減少玻璃反射。

  4. 在案頭鋪放衣物或毛毯,降低案頭反射。

  5. 提前熟悉文案,設定角色語氣,自然演繹。

  6. 與錄音裝置保持約 10 厘米距離,避免噴麥或訊號過弱。

管理自訂音色

音色建立完成後,您可以通過 API 對已有音色進行查詢和管理(Qwen-TTS 和 CosyVoice 支援)。

  • 查詢音色列表:擷取當前帳號下所有自訂音色的列表。

  • 查詢音色詳情:查看指定音色的詳細資料,如建立時間、綁定的語音合成模型等。

  • 刪除音色:刪除不再需要的自訂音色,釋放配額。

各模型的 API 介面和參數詳情請參見API 參考

適用範圍

不同服務部署範圍支援的模型不同:

國際

服務部署範圍為國際時,模型推理計算資源在全球範圍內動態調度(不含中國內地);待用資料儲存於您所選的地區。該部署範圍支援的地區:新加坡。

調用以下模型時,請選擇新加坡地區的API Key

  • CosyVoice:cosyvoice-v3-plus、cosyvoice-v3-flash

  • Qwen-TTS

    • 千問3-TTS-VC-Realtimeqwen3-tts-vc-realtime-2026-01-15(最新快照版)、qwen3-tts-vc-realtime-2025-11-27(快照版)

    • 千問3-TTS-VC:qwen3-tts-vc-2026-01-22(最新快照版)

中國內地

服務部署範圍為中國內地時,模型推理計算資源僅限於中國內地;待用資料儲存於您所選的地區。該部署範圍支援的地區:華北2(北京)。

調用以下模型時,請選擇北京地區的API Key

  • CosyVoice:cosyvoice-v3.5-plus、cosyvoice-v3.5-flash、cosyvoice-v3-plus、cosyvoice-v3-flash、cosyvoice-v2

  • Qwen-TTS

    • 千問3-TTS-VC-Realtimeqwen3-tts-vc-realtime-2026-01-15(最新快照版)、qwen3-tts-vc-realtime-2025-11-27(快照版)

    • 千問3-TTS-VC:qwen3-tts-vc-2026-01-22(最新快照版)

API 參考

聲音複刻

常見問題

Q:建立音色後可以用於不同的語音合成模型嗎?

不可以。音色在建立時通過target_model綁定到特定的語音合成模型,不能跨模型使用。如果您需要在多個模型上使用同一段音訊聲音,請為每個模型分別建立音色。

Q:複刻音色的有效期間是多久?

Qwen-TTS 和 CosyVoice 建立的音色預設長期有效,但長時間未使用的音色可能會被系統清理。建議妥善儲存音色 ID,需要時可通過查詢介面確認音色是否仍然可用。

Q:音頻品質不好會影響複刻效果嗎?

會的。輸入音訊品質直接影響複刻效果。背景雜音、混響、多人聲等問題都會降低複刻音色的相似性和自然度。建議參照音頻要求錄音建議準備樣本。