本文介紹聲音複刻的Python SDK使用方法。
介面地址
SDK的介面地址需在初始化前設定為下方地址(包含WorkspaceId)。如需切換到其他地區,請修改 dashscope.base_http_api_url為對應地區的URL。
- 不同地區的 API Key 不同,呼叫時需使用對應地區的 API Key。
- 地區設定為全域設定,影響所有 DashScope SDK API 呼叫。
- 新加坡
- 華北2(北京)
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1調用時請將{WorkspaceId}替換為真實的Workspace ID。VoiceEnrollmentService 類
包路徑:dashscope.audio.tts_v2.VoiceEnrollmentService
功能:管理 Qwen-Audio-TTS、Qwen-Audio-Realtime 和 CosyVoice 複製音色的生命週期(建立、查詢、更新、刪除)。
構造方法
create_voice() - 建立音色
方法簽名:
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
| target_model | str | 是 | 驅動音色的目標模型。必須與後續使用該音色的模型一致,否則呼叫失敗。 |
| prefix | str | 是 | 音色名稱首碼,僅允許數字和英文字母,不超過10個字元。產生的音色名格式:{target_model}-{prefix}-{唯一標識}。 |
| url | str | 是 | 用於複刻音色的參考音訊,支援可公開存取的 URL 或 Base64 Data URI,例如 data:audio/wav;base64,...。 |
| language_hints | List[str] | 否 | 輔助模型識別樣本音訊語種,從而更準確地提取音色特徵,提升複刻效果。若設定的語種與實際音頻語種不符(例如為中文音頻設定 en),系統將忽略該設定並自動檢測語種。此參數為陣列,長度必須為 1。適用於 qwen-audio-3.1-tts-plus、qwen-audio-3.1-tts-flash、qwen-audio-3.0-tts-plus、qwen-audio-3.0-tts-flash、qwen-audio-3.1-realtime-plus、qwen-audio-3.0-realtime-plus、qwen-audio-3.0-realtime-flash、cosyvoice-v3.5-plus、cosyvoice-v3.5-flash、cosyvoice-v3-plus、cosyvoice-v3-flash。
點擊查看各模型支援的語言
|
| max_prompt_audio_length | float | 否 | 音頻預先處理後用於聲音複刻的參考音頻最大時間長度(秒)。取值範圍:[3.0, 30.0]。預設值:10.0。 適用於 qwen-audio-3.1-tts-plus、qwen-audio-3.1-tts-flash、qwen-audio-3.0-tts-plus、qwen-audio-3.0-tts-flash、qwen-audio-3.1-realtime-plus、qwen-audio-3.0-realtime-plus、qwen-audio-3.0-realtime-flash、cosyvoice-v3.5-plus、cosyvoice-v3.5-flash、cosyvoice-v3-flash。 |
| enable_preprocess | bool | 否 | 是否開啟音頻預先處理(降噪、音頻增強、音量規整)。有背景雜音時建議開啟;安靜環境建議關閉以最大程度還原音色。預設值:false。 適用於 qwen-audio-3.1-tts-plus、qwen-audio-3.1-tts-flash、qwen-audio-3.0-tts-plus、qwen-audio-3.0-tts-flash、qwen-audio-3.1-realtime-plus、qwen-audio-3.0-realtime-plus、qwen-audio-3.0-realtime-flash、cosyvoice-v3.5-plus、cosyvoice-v3.5-flash、cosyvoice-v3-flash。 |
| enable_volume_normalization | bool | 否 | 是否對用於聲音複刻的樣本音頻進行音量歸一化。通過關鍵字參數直接傳入。預設值為False。設定為True後,使用所建立音色合成的音頻,其音量可能與關閉該參數時建立的音色不同。 |
str,音色ID(voice_id)。
list_voices() - 查詢音色列表
方法簽名:
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
| prefix | str | 否 | 按音色名稱首碼篩選。 |
| page_index | int | 否 | 頁碼索引,預設0。 |
| page_size | int | 否 | 每頁條數,預設10。 |
list,音色列表。
query_voice() - 查詢音色詳情
方法簽名:
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
| voice_id | str | 是 | 要查詢的音色ID。 |
dict,音色詳情。
update_voice() - 更新音色
方法簽名:
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
| voice_id | str | 是 | 要更新的音色ID。 |
| url | str | 是 | 新的參考音訊,支援可公開存取的 URL 或 Base64 Data URI,例如 data:audio/wav;base64,...。 |
delete_voice() - 刪除音色
方法簽名:
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
| voice_id | str | 是 | 要刪除的音色ID。 |
範例程式碼
建立音色
url 賦值替換為以下程式碼,再呼叫 create_voice。更新音色時,也透過 update_voice 的 url 參數傳入 Data URI。將 sample.wav 替換為本機音訊路徑。