全部產品
Search
文件中心

Alibaba Cloud Model Studio:聲音設計

更新時間:Jul 08, 2026

聲音設計(Voice Design)無需音頻樣本,僅通過自然語言描述即可建立定製化音色。

概述

聲音設計適用於快速原型驗證、創意內容生產、遊戲角色配音等情境。阿里雲百鍊提供以下模型系列的聲音設計能力:

  • CosyVoice:支援即時語音合成,可用於北京地區(v3.5 系列和 v3 系列)。

  • Qwen-TTS:支援即時與非即時語音合成,聲音描述長度上限更高(2048 字元),可用於北京和新加坡地區。

如果您已有音頻樣本,請參見聲音複刻。如需瞭解模型選型建議,請參見語音合成

前提條件

快速開始

聲音設計的基本流程為:描述 → 建立 → 使用。

  1. 編寫聲音描述:用自然語言描述期望的聲音特質。詳細的編寫指南請參見編寫聲音描述

  2. 建立音色:調用聲音設計介面,系統根據描述產生音色並返回預覽音頻。建議試聽確認效果後再使用。

  3. 使用音色合成語音:調用語音合成介面,傳入音色 ID 進行語音合成。

CosyVoice 聲音設計

以下樣本示範如何通過文本描述建立 CosyVoice 音色並用於語音合成。

重要

CosyVoice 聲音設計僅支援北京地區(v3.5 系列和 v3 系列)。

步驟一:通過聲音描述建立音色

調用API,通過voice_prompt參數傳入聲音描述,preview_text參數指定預覽音頻朗讀的文本。

curl -X POST 'https://{WorkspaceId}.cn-beijing.maas.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.5-plus",
        "voice_prompt": "沉穩的中年男性播音員,音色低沉渾厚,富有磁性,語速平穩,吐字清晰,適合用於新聞播報或紀錄片解說。",
        "preview_text": "各位聽眾朋友,大家好,歡迎收聽晚間新聞。",
        "prefix": "announcer"
    },
    "parameters": {
        "sample_rate": 24000,
        "response_format": "wav"
    }
}'

步驟二:使用設計音色合成語音

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

# coding=utf-8

import dashscope
from dashscope.audio.tts_v2 import *
import os

# CosyVoice 聲音設計僅支援北京地區。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# 若沒有配置環境變數,請用阿里雲百鍊API Key將下行替換為:dashscope.api_key = "sk-xxx"
dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')

# CosyVoice 聲音設計僅支援北京地區,以下為華北2(北京)地區的配置,調用時請將"{WorkspaceId}"替換為真實的業務空間ID,各地區的配置不同。
dashscope.base_websocket_api_url='wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/inference'

# 聲音設計、語音合成要使用相同的模型
model = "cosyvoice-v3.5-plus"
# 將voice參數替換為聲音設計產生的專屬音色
voice = "voice_id"

# 執行個體化SpeechSynthesizer,並在構造方法中傳入模型(model)、音色(voice)等請求參數
synthesizer = SpeechSynthesizer(model=model, voice=voice)
# 發送待合成文本,擷取二進位音頻
audio = synthesizer.call("今天天氣怎麼樣?")
# 首次發送文本時需建立 WebSocket 串連,因此首包延遲會包含串連建立的耗時
print('[Metric] requestId為:{},首包延遲為:{}毫秒'.format(
    synthesizer.get_last_request_id(),
    synthesizer.get_first_package_delay()))

# 將音頻儲存至本地
with open('output.mp3', 'wb') as f:
    f.write(audio)

Qwen-TTS 聲音設計

以下樣本示範如何建立音色並用於語音合成。

說明

建議先試聽返回的預覽音頻,確認效果後再用於合成,以降低調用成本。

Python

import os
import requests
import dashscope

# ======= 常量配置 =======
DEFAULT_TARGET_MODEL = "qwen3-tts-vd-2026-01-26"  # 聲音設計、語音合成要使用相同的模型
DEFAULT_PREFERRED_NAME = "custom_voice"

# 聲音描述:用自然語言描述期望的聲音特質
VOICE_PROMPT = "年輕活潑的女性聲音,語速較快,帶有明顯的上揚語調,適合介紹時尚產品。"


def create_voice_by_design(voice_prompt: str,
                           target_model: str = DEFAULT_TARGET_MODEL,
                           preferred_name: str = DEFAULT_PREFERRED_NAME) -> 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")

    # 以下為新加坡地區的配置。
    url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization"
    payload = {
        "model": "qwen-voice-design",
        "input": {
            "action": "create",
            "target_model": target_model,
            "preferred_name": preferred_name,
            "voice_prompt": voice_prompt,
            "preview_text": "大家好,歡迎來到我們的直播間!今天給大家推薦的這款產品真的超級好用。"
        },
        "parameters": {
            "sample_rate": 24000,
            "response_format": "wav"
        }
    }
    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}")

    result = resp.json()
    preview_audio = result.get("output", {}).get("preview_audio")
    if preview_audio:
        import base64
        audio_data = base64.b64decode(preview_audio["data"])
        with open("preview_audio.wav", "wb") as f:
            f.write(audio_data)
        print(f"預覽音頻已儲存到 preview_audio.wav ({len(audio_data)} bytes)")

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


if __name__ == '__main__':
    # 以下為新加坡地區的配置。
    dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

    voice_id = create_voice_by_design(VOICE_PROMPT)
    print(f"建立的音色ID: {voice_id}")

    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=voice_id,
        stream=False
    )
    print(response)

cURL

步驟一:通過聲音描述建立音色

以下為新加坡地區的配置。

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-design",
    "input": {
        "action": "create",
        "target_model": "qwen3-tts-vd-2026-01-26",
        "preferred_name": "custom_voice",
        "voice_prompt": "年輕活潑的女性聲音,語速較快,帶有明顯的上揚語調,適合介紹時尚產品。",
        "preview_text": "大家好,歡迎來到我們的直播間!今天給大家推薦的這款產品真的超級好用。"
    },
    "parameters": {
        "sample_rate": 24000,
        "response_format": "wav"
    }
}'

步驟二:使用設計音色合成語音

YOUR_VOICE_ID 替換為上一步返回的 voice 值。

以下為新加坡地區的配置。

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-vd-2026-01-26",
    "input": {
        "text": "大家好,歡迎來到我們的直播間!今天給大家推薦的這款產品真的超級好用。",
        "voice": "YOUR_VOICE_ID"
    }
}'

編寫聲音描述

聲音描述(voice_prompt)直接決定產生音色的效果。描述越清晰具體,產生結果越符合預期。

要求與限制

  • 長度限制voice_prompt的最大長度因模型而異:CosyVoice 不超過 500 個字元,Qwen-TTS 不超過 2048 個字元。

  • 支援語言:描述文本僅支援中文和英文。

核心原則

  1. 具體而非模糊:使用描繪聲音特質的詞語,如"低沉""清脆""語速偏快",避免"好聽""普通"等主觀或模糊的表述。

  2. 多維而非單一:好的描述通常涵蓋多個維度(如性別、年齡、情感等)。僅寫"女聲"過於寬泛,難以產生有特色的音色。

  3. 客觀而非主觀:聚焦聲音的物理和感知特徵。例如,用"音調偏高,帶有活力"代替"我最喜歡的聲音"。

  4. 原創而非模仿:描述聲音的特質,而非要求模仿特定人物(如名人、演員)。模型不支援模仿,且可能涉及著作權風險。

  5. 簡潔而非冗餘:避免重複的同義字或無意義的修飾,確保每個詞都有明確作用。

描述維度參考

建議組合以下維度描述聲音,維度越豐富,產生效果越精準。

維度

描述樣本

性別

男性、女性、中性

年齡

兒童 (5-12 歲)、青少年 (13-18 歲)、青年 (19-35 歲)、中年 (36-55 歲)、老年 (55 歲以上)

音調

高音、中音、低音、偏高、偏低

語速

快速、中速、緩慢、偏快、偏慢

情感

開朗、沉穩、溫柔、嚴肅、活潑、冷靜、治癒

特點

有磁性、清脆、沙啞、圓潤、甜美、渾厚、有力

用途

新聞播報、廣告配音、有聲書、動畫角色、語音助手、紀錄片解說

樣本

  • 標準播音風格:吐字清晰精準,字正腔圓

  • 年輕活潑的女性聲音,語速較快,帶有明顯的上揚語調,適合介紹時尚產品

  • 沉穩的中年男性,語速緩慢,音色低沉有磁性,適合朗讀新聞或紀錄片解說

  • 溫柔知性的女性,30 歲左右,語調平和,適合有聲書朗讀

  • 可愛的兒童聲音,大約 8 歲女孩,說話略帶稚氣,適合動畫角色配音

管理自訂音色

聲音設計支援查詢列表、查看詳情和刪除操作。API 介面和參數詳情請參見API 參考

配額與計費

音色配額與自動清理

  • 音色總數限制:每個阿里雲百鍊帳號下,CosyVoice 與 Qwen-TTS 分別最多可建立 1000 個自訂音色(兩類配額獨立計算)。

  • 自動清理規則:若單個音色在過去 1 年內未被用於任何語音合成請求,系統將自動刪除該音色。

計費規則

  • CosyVoice:建立音色免費。

  • Qwen-TTS:按 $0.2/個 計費,建立失敗不計費。

    免費額度(僅新加坡地區提供):

    • 阿里雲百鍊開通後 90 天內,可享 10 次免費音色建立機會。

    • 建立失敗不佔用免費次數。

    • 刪除音色不會恢複免費次數。

    • 免費額度用完或超出 90 天有效期間後,建立音色將按 $0.2/個 的價格計費。

支援的模型與地區

新加坡

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

  • Qwen-TTS

    • Qwen3-TTS-VD-Realtimeqwen3-tts-vd-realtime-2026-01-15(最新快照版)、qwen3-tts-vd-realtime-2025-12-16(快照版)

    • Qwen3-TTS-VD:qwen3-tts-vd-2026-01-26(最新快照版)

華北2(北京)

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

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

  • Qwen-TTS

    • Qwen3-TTS-VD-Realtimeqwen3-tts-vd-realtime-2026-01-15(最新快照版)、qwen3-tts-vd-realtime-2025-12-16(快照版)

    • Qwen3-TTS-VD:qwen3-tts-vd-2026-01-26(最新快照版)

說明
  • CosyVoice 聲音設計基於 FunAudioGen-VD 模型能力。

  • 相同描述文本(Prompt)設計的音色可能存在差異,建議多次產生後擇優使用。

API 參考

聲音設計API參考

常見問題

Q:相同的聲音描述每次產生的音色一樣嗎?

不一定。聲音設計具有隨機性,相同描述可能產生略有差異的音色。建議多次產生後試聽,擇優使用。

Q:聲音描述可以使用哪些語言?

目前聲音描述(voice_prompt)僅支援中文和英文,但產生的音色可用於合成多種語言的語音。

Q:聲音設計和聲音複刻有什麼區別?

聲音設計通過文本描述從零建立音色,無需音頻樣本,適合設計全新的聲音形象。聲音複刻基於真實音頻樣本複製音色,適合還原特定人物的聲音。詳情請參見聲音複刻