語音合成-千問提供多種擬人音色,支援多語言及方言,並可在同一音色下輸出多語言內容。系統可自適應語氣,流暢處理複雜文本。
核心功能
適用範圍
支援的模型:
國際
服務部署範圍為國際時,資料存放區位於新加坡接入地區,模型推理計算資源在全球範圍內動態調度(不含中國內地)。
調用以下模型時,請選擇新加坡地區的API Key:
千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash(穩定版,當前等同qwen3-tts-instruct-flash-2026-01-26)、qwen3-tts-instruct-flash-2026-01-26(最新快照版)
千問3-TTS-VD:qwen3-tts-vd-2026-01-26(最新快照版)
千問3-TTS-VC:qwen3-tts-vc-2026-01-22(最新快照版)
千問3-TTS-Flash:qwen3-tts-flash(穩定版,當前等同qwen3-tts-flash-2025-11-27)、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18
中國內地
服務部署範圍為中國內地時,資料存放區位於北京接入地區,模型推理計算資源僅限於中國內地。
調用以下模型時,請選擇北京地區的API Key:
千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash(穩定版,當前等同qwen3-tts-instruct-flash-2026-01-26)、qwen3-tts-instruct-flash-2026-01-26(最新快照版)
千問3-TTS-VD:qwen3-tts-vd-2026-01-26(最新快照版)
千問3-TTS-VC:qwen3-tts-vc-2026-01-22(最新快照版)
千問3-TTS-Flash:qwen3-tts-flash(穩定版,當前等同qwen3-tts-flash-2025-11-27)、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18
千問-TTS:qwen-tts(穩定版,當前等同qwen-tts-2025-04-10)、qwen-tts-latest(最新版,當前等同qwen-tts-2025-05-22)、qwen-tts-2025-05-22(快照版)、qwen-tts-2025-04-10(快照版)
更多資訊請參見模型列表
模型選型
情境 | 推薦模型 | 推薦理由 |
品牌形象、專屬聲音、擴充系統音色等語音定製(基於文本描述) | qwen3-tts-vd-2026-01-26 | 支援聲音設計,無需音頻樣本,通過文本描述建立定製化音色,適合從零開始設計品牌專屬聲音 |
品牌形象、專屬聲音、擴充系統音色等語音定製(基於音頻樣本) | qwen3-tts-vc-2026-01-22 | 支援聲音複刻,基於真實音頻樣本快速複刻音色,打造擬人化品牌聲紋,確保音色高度還原與一致性 |
情感化內容生產(有聲書、廣播劇、遊戲/動畫配音) | qwen3-tts-instruct-flash | 支援指令控制,通過自然語言描述精確控制音調、語速、情感、角色性格,適合需要豐富表現力和角色塑造的情境 |
移動端導航/通知播報 | qwen3-tts-flash | 按字元計費簡單透明,適合短文本高頻調用情境 |
線上教育課件配音 | qwen3-tts-flash | 支援多語種與方言,滿足地區化教學需求 |
有聲讀物批量生產 | qwen3-tts-flash | 成本可控,多音色選擇豐富內容表現力 |
更多說明請參見模型功能特性對比
快速開始
準備工作
如果通過 DashScope SDK 進行調用,需要安裝最新版SDK。DashScope Java SDK 版本需要不低於 2.21.9,DashScope Python SDK 版本需要不低於 1.24.6。
說明DashScope Python SDK中的
SpeechSynthesizer介面已統一為MultiModalConversation,使用新介面只需替換介面名稱即可,其他參數完全相容。
使用系統音色進行語音合成
以下樣本示範如何使用系統音色進行語音合成。
非流式輸出
通過返回的url來擷取合成的語音。URL 有效期間為24 小時。
Python
import os
import dashscope
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
text = "Today is a wonderful day to build something people love!"
# SpeechSynthesizer介面使用方法:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
# 如需使用指令控制功能,請將model替換為qwen3-tts-instruct-flash
model="qwen3-tts-flash",
# 新加坡地區和北京地區的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="Cherry",
language_type="English", # 建議與文本語種一致,以獲得正確的發音和自然的語調。
# 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
# instructions='語速較快,帶有明顯的上揚語調,適合介紹時尚產品。',
# optimize_instructions=True,
stream=False
)
print(response)Java
需要匯入Gson依賴,若是使用Maven或者Gradle,添加依賴方式如下:
Maven
在pom.xml中添加如下內容:
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.13.1</version>
</dependency>Gradle
在build.gradle中添加如下內容:
// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation("com.google.code.gson:gson:2.13.1")import com.alibaba.dashscope.aigc.multimodalconversation.AudioParameters;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.protocol.Protocol;
import com.alibaba.dashscope.utils.Constants;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
public class Main {
// 如需使用指令控制功能,請將MODEL替換為qwen3-tts-instruct-flash
private static final String MODEL = "qwen3-tts-flash";
public static void call() throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
// 若沒有配置環境變數,請用百鍊API Key將下行替換為:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model(MODEL)
.text("Today is a wonderful day to build something people love!")
.voice(AudioParameters.Voice.CHERRY)
.languageType("English") // 建議與文本語種一致,以獲得正確的發音和自然的語調。
// 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
// .parameter("instructions","語速較快,帶有明顯的上揚語調,適合介紹時尚產品。")
// .parameter("optimize_instructions",true)
.build();
MultiModalConversationResult result = conv.call(param);
String audioUrl = result.getOutput().getAudio().getUrl();
System.out.print(audioUrl);
// 下載音頻檔案到本地
try (InputStream in = new URL(audioUrl).openStream();
FileOutputStream out = new FileOutputStream("downloaded_audio.wav")) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
}
System.out.println("\n音頻檔案已下載到本地: downloaded_audio.wav");
} catch (Exception e) {
System.out.println("\n下載音頻檔案時出錯: " + e.getMessage());
}
}
public static void main(String[] args) {
// 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
try {
call();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}cURL
# ======= 重要提示 =======
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# === 執行時請刪除該注釋 ===
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-flash",
"input": {
"text": "Today is a wonderful day to build something people love!",
"voice": "Cherry",
"language_type": "English"
}
}'流式輸出
可以流式地將音頻資料以 Base64 格式進行輸出,此時最後一個資料包中包含完整音訊 URL。
Python
# coding=utf-8
#
# Installation instructions for pyaudio:
# APPLE Mac OS X
# brew install portaudio
# pip install pyaudio
# Debian/Ubuntu
# sudo apt-get install python-pyaudio python3-pyaudio
# or
# pip install pyaudio
# CentOS
# sudo yum install -y portaudio portaudio-devel && pip install pyaudio
# Microsoft Windows
# python -m pip install pyaudio
import os
import dashscope
import pyaudio
import time
import base64
import numpy as np
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
p = pyaudio.PyAudio()
# 建立音頻流
stream = p.open(format=pyaudio.paInt16,
channels=1,
rate=24000,
output=True)
text = "Today is a wonderful day to build something people love!"
response = dashscope.MultiModalConversation.call(
# 新加坡地區和北京地區的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"),
# 如需使用指令控制功能,請將model替換為qwen3-tts-instruct-flash
model="qwen3-tts-flash",
text=text,
voice="Cherry",
language_type="English", # 建議與文本語種一致,以獲得正確的發音和自然的語調。
# 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
# instructions='語速較快,帶有明顯的上揚語調,適合介紹時尚產品。',
# optimize_instructions=True,
stream=True
)
for chunk in response:
if chunk.output is not None:
audio = chunk.output.audio
if audio.data is not None:
wav_bytes = base64.b64decode(audio.data)
audio_np = np.frombuffer(wav_bytes, dtype=np.int16)
# 直接播放音頻資料
stream.write(audio_np.tobytes())
if chunk.output.finish_reason == "stop":
print("finish at: {} ", chunk.output.audio.expires_at)
time.sleep(0.8)
# 清理資源
stream.stop_stream()
stream.close()
p.terminate()
Java
需要匯入Gson依賴,若是使用Maven或者Gradle,添加依賴方式如下:
Maven
在pom.xml中添加如下內容:
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.13.1</version>
</dependency>Gradle
在build.gradle中添加如下內容:
// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation("com.google.code.gson:gson:2.13.1")// 請安裝 DashScope SDK 的最新版本
import com.alibaba.dashscope.aigc.multimodalconversation.AudioParameters;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.protocol.Protocol;
import com.alibaba.dashscope.utils.Constants;
import io.reactivex.Flowable;
import javax.sound.sampled.*;
import java.util.Base64;
public class Main {
// 如需使用指令控制功能,請將MODEL替換為qwen3-tts-instruct-flash
private static final String MODEL = "qwen3-tts-flash";
public static void streamCall() throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
// 若沒有配置環境變數,請用百鍊API Key將下行替換為:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model(MODEL)
.text("Today is a wonderful day to build something people love!")
.voice(AudioParameters.Voice.CHERRY)
.languageType("English") // 建議與文本語種一致,以獲得正確的發音和自然的語調。
// 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
// .parameter("instructions","語速較快,帶有明顯的上揚語調,適合介紹時尚產品。")
// .parameter("optimize_instructions",true)
.build();
Flowable<MultiModalConversationResult> result = conv.streamCall(param);
result.blockingForEach(r -> {
try {
// 1. 擷取Base64編碼的音頻資料
String base64Data = r.getOutput().getAudio().getData();
byte[] audioBytes = Base64.getDecoder().decode(base64Data);
// 2. 配置音頻格式(根據API返回的音頻格式調整)
AudioFormat format = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED,
24000, // 採樣率(需與API返回格式一致)
16, // 採樣位元
1, // 聲道數
2, // 幀大小(位元/位元組數)
24000, // 資料轉送率(需與採樣率一致)
false // 是否壓縮
);
// 3. 即時播放音頻資料
DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
try (SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info)) {
if (line != null) {
line.open(format);
line.start();
line.write(audioBytes, 0, audioBytes.length);
line.drain();
}
}
} catch (LineUnavailableException e) {
e.printStackTrace();
}
});
}
public static void main(String[] args) {
// 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
try {
streamCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
cURL
# ======= 重要提示 =======
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# === 執行時請刪除該注釋 ===
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' \
-H 'X-DashScope-SSE: enable' \
-d '{
"model": "qwen3-tts-flash",
"input": {
"text": "Today is a wonderful day to build something people love!",
"voice": "Cherry",
"language_type": "Chinese"
}
}'使用聲音複刻音色進行語音合成
聲音複刻服務不提供預覽音頻。需將複刻產生的音色應用於語音合成後,才能試聽並評估效果。
以下樣本示範了如何在語音合成中使用聲音複刻產生的專屬音色,實現與原音高度相似的輸出效果。這裡參考了使用系統音色進行語音合成DashScope SDK的“非流式輸出”範例程式碼,將voice參數替換為複刻產生的專屬音色進行語音合成。
關鍵原則:聲音複刻時使用的模型 (
target_model) 必須與後續進行語音合成時使用的模型 (model) 保持一致,否則會導致合成失敗。樣本使用本地音頻檔案
voice.mp3進行聲音複刻,運行代碼時,請注意替換。
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 = "今天天氣怎麼樣?"
# SpeechSynthesizer介面使用方法:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
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)Java
需要匯入Gson依賴,若是使用Maven或者Gradle,添加依賴方式如下:
Maven
在pom.xml中添加如下內容:
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.13.1</version>
</dependency>Gradle
在build.gradle中添加如下內容:
// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation("com.google.code.gson:gson:2.13.1")使用聲音複刻產生的專屬音色進行語音合成時,必須按照如下方式設定音色:
MultiModalConversationParam param = MultiModalConversationParam.builder()
.parameter("voice", "your_voice") // 將voice參數替換為複刻產生的專屬音色
.build();import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.utils.Constants;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.file.*;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Main {
// ===== 常量定義 =====
// 聲音複刻、語音合成要使用相同的模型
private static final String TARGET_MODEL = "qwen3-tts-vc-2026-01-22";
private static final String PREFERRED_NAME = "guanyu";
// 用於聲音複刻的本地音頻檔案的相對路徑
private static final String AUDIO_FILE = "voice.mp3";
private static final String AUDIO_MIME_TYPE = "audio/mpeg";
// 產生 data URI
public static String toDataUrl(String filePath) throws IOException {
byte[] bytes = Files.readAllBytes(Paths.get(filePath));
String encoded = Base64.getEncoder().encodeToString(bytes);
return "data:" + AUDIO_MIME_TYPE + ";base64," + encoded;
}
// 調用 API 建立 voice
public static String createVoice() throws Exception {
// 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
// 若沒有配置環境變數,請用百鍊API Key將下行替換為:String apiKey = "sk-xxx"
String apiKey = System.getenv("DASHSCOPE_API_KEY");
String jsonPayload =
"{"
+ "\"model\": \"qwen-voice-enrollment\"," // 不要修改該值
+ "\"input\": {"
+ "\"action\": \"create\","
+ "\"target_model\": \"" + TARGET_MODEL + "\","
+ "\"preferred_name\": \"" + PREFERRED_NAME + "\","
+ "\"audio\": {"
+ "\"data\": \"" + toDataUrl(AUDIO_FILE) + "\""
+ "}"
+ "}"
+ "}";
// 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
String url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization";
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Authorization", "Bearer " + apiKey);
con.setRequestProperty("Content-Type", "application/json");
con.setDoOutput(true);
try (OutputStream os = con.getOutputStream()) {
os.write(jsonPayload.getBytes(StandardCharsets.UTF_8));
}
int status = con.getResponseCode();
System.out.println("HTTP 狀態代碼: " + status);
try (BufferedReader br = new BufferedReader(
new InputStreamReader(status >= 200 && status < 300 ? con.getInputStream() : con.getErrorStream(),
StandardCharsets.UTF_8))) {
StringBuilder response = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
response.append(line);
}
System.out.println("返回內容: " + response);
if (status == 200) {
JsonObject jsonObj = new Gson().fromJson(response.toString(), JsonObject.class);
return jsonObj.getAsJsonObject("output").get("voice").getAsString();
}
throw new IOException("建立語音失敗: " + status + " - " + response);
}
}
public static void call() throws Exception {
MultiModalConversation conv = new MultiModalConversation();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
// 若沒有配置環境變數,請用百鍊API Key將下行替換為:.apikey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model(TARGET_MODEL)
.text("今天天氣怎麼樣?")
.parameter("voice", createVoice()) // 將voice參數替換為複刻產生的專屬音色
.build();
MultiModalConversationResult result = conv.call(param);
String audioUrl = result.getOutput().getAudio().getUrl();
System.out.print(audioUrl);
// 下載音頻檔案到本地
try (InputStream in = new URL(audioUrl).openStream();
FileOutputStream out = new FileOutputStream("downloaded_audio.wav")) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
}
System.out.println("\n音頻檔案已下載到本地: downloaded_audio.wav");
} catch (Exception e) {
System.out.println("\n下載音頻檔案時出錯: " + e.getMessage());
}
}
public static void main(String[] args) {
try {
// 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
call();
} catch (Exception e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}使用聲音設計音色進行語音合成
使用聲音設計功能時,服務會返回預覽音頻資料。建議先試聽該預覽音頻,確認效果符合預期後再用於語音合成,降低調用成本。
產生專屬音色並試聽效果,若對效果滿意,進行下一步;否則重建。
Python
import requests import base64 import os def create_voice_and_play(): # 新加坡和北京地區的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") if not api_key: print("錯誤: 未找到DASHSCOPE_API_KEY環境變數,請先設定API Key") return None, None, None # 準備請求資料 headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } data = { "model": "qwen-voice-design", "input": { "action": "create", "target_model": "qwen3-tts-vd-2026-01-26", "voice_prompt": "A composed middle-aged male announcer with a deep, rich and magnetic voice, a steady speaking speed and clear articulation, is suitable for news broadcasting or documentary commentary.", "preview_text": "Dear listeners, hello everyone. Welcome to the evening news.", "preferred_name": "announcer", "language": "en" }, "parameters": { "sample_rate": 24000, "response_format": "wav" } } # 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization" try: # 發送請求 response = requests.post( url, headers=headers, json=data, timeout=60 # 添加逾時設定 ) if response.status_code == 200: result = response.json() # 擷取音色名稱 voice_name = result["output"]["voice"] print(f"音色名稱: {voice_name}") # 擷取預覽音頻資料 base64_audio = result["output"]["preview_audio"]["data"] # 解碼Base64音頻資料 audio_bytes = base64.b64decode(base64_audio) # 儲存音頻檔案到本地 filename = f"{voice_name}_preview.wav" # 將音頻資料寫入本地檔案 with open(filename, 'wb') as f: f.write(audio_bytes) print(f"音頻已儲存到本地檔案: {filename}") print(f"檔案路徑: {os.path.abspath(filename)}") return voice_name, audio_bytes, filename else: print(f"請求失敗,狀態代碼: {response.status_code}") print(f"響應內容: {response.text}") return None, None, None except requests.exceptions.RequestException as e: print(f"網路請求發生錯誤: {e}") return None, None, None except KeyError as e: print(f"響應資料格式錯誤,缺少必要的欄位: {e}") print(f"響應內容: {response.text if 'response' in locals() else 'No response'}") return None, None, None except Exception as e: print(f"發生未知錯誤: {e}") return None, None, None if __name__ == "__main__": print("開始建立語音...") voice_name, audio_data, saved_filename = create_voice_and_play() if voice_name: print(f"\n成功建立音色 '{voice_name}'") print(f"音頻檔案已儲存: '{saved_filename}'") print(f"檔案大小: {os.path.getsize(saved_filename)} 位元組") else: print("\n音色建立失敗")Java
需要匯入Gson依賴,若是使用Maven或者Gradle,添加依賴方式如下:
Maven
在
pom.xml中添加如下內容:<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.13.1</version> </dependency>Gradle
在
build.gradle中添加如下內容:// https://mvnrepository.com/artifact/com.google.code.gson/gson implementation("com.google.code.gson:gson:2.13.1")重要使用聲音設計產生的專屬音色進行語音合成時,必須按照如下方式設定音色:
MultiModalConversationParam param = MultiModalConversationParam.builder() .parameter("voice", "your_voice") // 將voice參數替換為聲音設計產生的專屬音色 .build();import com.google.gson.JsonObject; import com.google.gson.JsonParser; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.util.Base64; public class Main { public static void main(String[] args) { Main example = new Main(); example.createVoice(); } public void createVoice() { // 新加坡和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key // 若沒有配置環境變數,請用百鍊API Key將下行替換為:String apiKey = "sk-xxx" String apiKey = System.getenv("DASHSCOPE_API_KEY"); // 建立JSON請求體字串 String jsonBody = "{\n" + " \"model\": \"qwen-voice-design\",\n" + " \"input\": {\n" + " \"action\": \"create\",\n" + " \"target_model\": \"qwen3-tts-vd-2026-01-26\",\n" + " \"voice_prompt\": \"A composed middle-aged male announcer with a deep, rich and magnetic voice, a steady speaking speed and clear articulation, is suitable for news broadcasting or documentary commentary.\",\n" + " \"preview_text\": \"Dear listeners, hello everyone. Welcome to the evening news.\",\n" + " \"preferred_name\": \"announcer\",\n" + " \"language\": \"en\"\n" + " },\n" + " \"parameters\": {\n" + " \"sample_rate\": 24000,\n" + " \"response_format\": \"wav\"\n" + " }\n" + "}"; HttpURLConnection connection = null; try { // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization URL url = new URL("https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization"); connection = (HttpURLConnection) url.openConnection(); // 佈建要求方法和頭部 connection.setRequestMethod("POST"); connection.setRequestProperty("Authorization", "Bearer " + apiKey); connection.setRequestProperty("Content-Type", "application/json"); connection.setDoOutput(true); connection.setDoInput(true); // 發送請求體 try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonBody.getBytes("UTF-8"); os.write(input, 0, input.length); os.flush(); } // 擷取響應 int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { // 讀取響應內容 StringBuilder response = new StringBuilder(); try (BufferedReader br = new BufferedReader( new InputStreamReader(connection.getInputStream(), "UTF-8"))) { String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } } // 解析JSON響應 JsonObject jsonResponse = JsonParser.parseString(response.toString()).getAsJsonObject(); JsonObject outputObj = jsonResponse.getAsJsonObject("output"); JsonObject previewAudioObj = outputObj.getAsJsonObject("preview_audio"); // 擷取音色名稱 String voiceName = outputObj.get("voice").getAsString(); System.out.println("音色名稱: " + voiceName); // 擷取Base64編碼的音頻資料 String base64Audio = previewAudioObj.get("data").getAsString(); // 解碼Base64音頻資料 byte[] audioBytes = Base64.getDecoder().decode(base64Audio); // 儲存音頻到本地檔案 String filename = voiceName + "_preview.wav"; saveAudioToFile(audioBytes, filename); System.out.println("音頻已儲存到本地檔案: " + filename); } else { // 讀取錯誤響應 StringBuilder errorResponse = new StringBuilder(); try (BufferedReader br = new BufferedReader( new InputStreamReader(connection.getErrorStream(), "UTF-8"))) { String responseLine; while ((responseLine = br.readLine()) != null) { errorResponse.append(responseLine.trim()); } } System.out.println("請求失敗,狀態代碼: " + responseCode); System.out.println("錯誤響應: " + errorResponse.toString()); } } catch (Exception e) { System.err.println("請求發生錯誤: " + e.getMessage()); e.printStackTrace(); } finally { if (connection != null) { connection.disconnect(); } } } private void saveAudioToFile(byte[] audioBytes, String filename) { try { File file = new File(filename); try (FileOutputStream fos = new FileOutputStream(file)) { fos.write(audioBytes); } System.out.println("音頻已儲存到: " + file.getAbsolutePath()); } catch (IOException e) { System.err.println("儲存音頻檔案時發生錯誤: " + e.getMessage()); e.printStackTrace(); } } }使用上一步產生的專屬音色進行語音合成(非流式合成)。
這裡參考了使用系統音色進行語音合成DashScope SDK的“非流式輸出”範例程式碼,將
voice參數替換為聲音設計產生的專屬音色進行語音合成。單向流式合成請參見語音合成-千問。關鍵原則:聲音設計時使用的模型 (
target_model) 必須與後續進行語音合成時使用的模型 (model) 保持一致,否則會導致合成失敗。Python
import os import dashscope if __name__ == '__main__': # 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1 dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' text = "今天天氣怎麼樣?" # SpeechSynthesizer介面使用方法:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...) response = dashscope.MultiModalConversation.call( model="qwen3-tts-vd-2026-01-26", # 新加坡和北京地區的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="myvoice", # 將voice參數替換為聲音設計產生的專屬音色 stream=False ) print(response)Java
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation; import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam; import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult; import com.alibaba.dashscope.exception.ApiException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.alibaba.dashscope.exception.UploadFileException; import com.alibaba.dashscope.utils.Constants; import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; public class Main { private static final String MODEL = "qwen3-tts-vd-2026-01-26"; public static void call() throws ApiException, NoApiKeyException, UploadFileException { MultiModalConversation conv = new MultiModalConversation(); MultiModalConversationParam param = MultiModalConversationParam.builder() // 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key // 若沒有配置環境變數,請用百鍊API Key將下行替換為:.apiKey("sk-xxx") .apiKey(System.getenv("DASHSCOPE_API_KEY")) .model(MODEL) .text("Today is a wonderful day to build something people love!") .parameter("voice", "myvoice") // 將voice參數替換為聲音設計產生的專屬音色 .build(); MultiModalConversationResult result = conv.call(param); String audioUrl = result.getOutput().getAudio().getUrl(); System.out.print(audioUrl); // 下載音頻檔案到本地 try (InputStream in = new URL(audioUrl).openStream(); FileOutputStream out = new FileOutputStream("downloaded_audio.wav")) { byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = in.read(buffer)) != -1) { out.write(buffer, 0, bytesRead); } System.out.println("\n音頻檔案已下載到本地: downloaded_audio.wav"); } catch (Exception e) { System.out.println("\n下載音頻檔案時出錯: " + e.getMessage()); } } public static void main(String[] args) { try { // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1 Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1"; call(); } catch (ApiException | NoApiKeyException | UploadFileException e) { System.out.println(e.getMessage()); } System.exit(0); } }
指令控制
指令控制是一項進階語音合成功能,通過自然語言描述的方式精確控制語音的表達效果。您可以使用簡單的文字描述,讓合成語音呈現出特定的音調、語速、情感、音色特點,無需調整複雜的音頻參數。
支援的模型:僅支援千問3-TTS-Instruct-Flash系列模型。
使用方式:通過instructions參數指定指令內容,例如“語速較快,帶有明顯的上揚語調,適合介紹時尚產品”。
支援語言:描述文本僅支援中文和英文。
長度限制:長度不得超過 1600 Token。
適用情境:
有聲書和廣播劇配音
廣告和宣傳片配音
遊戲角色和動畫配音
情感化的智能語音助手
紀錄片和新聞播報
如何編寫高品質的聲音描述:
核心原則:
具體而非模糊:使用能夠描繪具體聲音特質的詞語,如“低沉”、“清脆”、“語速偏快”。避免使用“好聽”、“普通”等主觀且缺乏資訊量的詞彙。
多維而非單一:優秀的描述通常結合多個維度(如下文所述的音調、語速、情感等)。單一維度描述(如僅“高音”)過於寬泛,難以產生特色鮮明的效果。
客觀而非主觀:專註於聲音本身的物理和感知特徵,而不是個人的喜好。例如,用“音調偏高,帶有活力”代替“我最喜歡的聲音”。
原創而非模仿:請描述聲音的特質,而不是要求模仿特定人物(如名人、演員)。此類請求涉及著作權風險且模型不支援直接模仿。
簡潔而非冗餘:確保每個詞都有其意義。避免重複使用同義字或無意義的強調詞(如“非常非常棒的聲音”)。
描述維度參考:可以組合多個維度,創造更豐富的表達效果。
維度
描述樣本
音調
高音、中音、低音、偏高、偏低
語速
快速、中速、緩慢、偏快、偏慢
情感
開朗、沉穩、溫柔、嚴肅、活潑、冷靜、治癒
特點
有磁性、清脆、沙啞、圓潤、甜美、渾厚、有力
用途
新聞播報、廣告配音、有聲書、動畫角色、語音助手、紀錄片解說
樣本:
標準播音風格:吐字清晰精準,字正腔圓
情緒遞進效果:音量由正常對話迅速增強至高喊,性格直率,情緒易激動且外露
特殊情感狀態:哭腔導致發音略微含糊,略顯沙啞,帶有明顯哭腔的緊張感
廣告配音風格:音調偏高,語速中等,充滿活力和感染力,適合廣告配音
溫柔治癒風格:語速偏慢,音調溫柔甜美,語氣治癒溫暖,像貼心朋友般關懷
API 參考
模型功能特性對比
功能/特性 | 千問3-TTS-Instruct-Flash | 千問3-TTS-VD | 千問3-TTS-VC | 千問3-TTS-Flash | 千問-TTS |
支援語言 | 因音色而異:中文(普通話)、英文、西班牙語、俄語、意大利語、法語、韓語、日語、德語、葡萄牙語 | 中文(普通話)、英文、西班牙語、俄語、意大利語、法語、韓語、日語、德語、葡萄牙語 | 因音色而異:中文(普通話、上海話、北京話、四川話、南京話、陝西話、閩南語、天津話)、粵語、英文、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 | 因音色而異:中文(普通話、上海話、北京話、四川話)、英文 | |
音頻格式 |
| ||||
音頻採樣率 | 24kHz | ||||
聲音複刻 | |||||
聲音設計 | |||||
SSML | |||||
LaTeX | |||||
音量大小 | 可通過指令控制調節 | ||||
語速調節 | 可通過指令控制調節 | ||||
語調(音高)調節 | 可通過指令控制調節 | ||||
碼率調節 | |||||
時間戳記 | |||||
指令控制(Instruct) | |||||
流式輸入 | |||||
流式輸出 | |||||
限流 | 每分鐘調用次數(RPM):180 | 每分鐘調用次數(RPM):180 | 每分鐘調用次數(RPM):180 | 每分鐘調用次數(RPM)因模型而異:
| 每分鐘調用次數(RPM):10 每分鐘消耗Token數(TPM,含輸入與輸出Token):100,000 |
接入方式 | Java/Python SDK、WebSocket API | ||||
價格 | 國際:$0.115/萬字元 中國內地:$0.115/萬字元 | 國際:$0.115/萬字元 中國內地:$0.115/萬字元 | 國際:$0.115/萬字元 中國內地:$0.115/萬字元 | 國際:$0.1/萬字元 中國內地:$0.114682/萬字元 | 中國內地:
音頻轉換為 Token 的規則:每1秒的音頻對應 50個 Token ;若音頻時間長度不足1秒,則按 50個 Token 計算 |
支援的系統音色
不同模型支援的音色有所差異,使用時將請求參數voice設定為音色列表中voice參數列對應的值。
| 詳情 | 支援語種 | 支援模型 |
| 音色名:芊悅 描述:陽光積極、親切自然小姐姐(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:蘇瑤 描述:溫柔小姐姐(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:晨煦 描述:標準普通話,帶部分北方口音。陽光、溫暖、活力、朝氣(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:千雪 描述:二次元虛擬女友(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:茉兔 描述:撒嬌搞怪,逗你開心(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:十三 描述:拽拽的、可愛的小暴躁(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:月白 描述:率性帥氣的月白(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:四月 描述:知性與溫柔的碰撞(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:凱 描述:耳朵的一場SPA(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:不吃魚 描述:不會翹舌音的設計師(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:萌寶 描述:喝酒不打醉拳的小蘿莉(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:詹妮弗 描述:品牌級、電影質感般美語女聲(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:甜茶 描述:節奏拉滿,戲感炸裂,真實與張力共舞(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:卡捷琳娜 描述:禦姐音色,韻律回味十足(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:艾登 描述:精通廚藝的美語大男孩(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:滄明子 描述:沉穩睿智的老者,滄桑如松卻心明如鏡(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:乖小妹 描述:溫順如春水,乖巧如初雪(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:沙小彌 描述:聰明伶俐的小大人,童真未泯卻早慧如禪(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:燕錚鶯 描述:聲音洪亮,吐字清晰,人物鮮活,聽得人熱血沸騰;金戈鐵馬入夢來,字正腔圓間盡顯千面人聲的江湖(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:田叔 描述:一口獨特的沙啞煙嗓,一開口便道盡了千軍萬馬與江湖豪情(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:萌小姬 描述:“萌屬性”爆棚的小蘿莉(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:阿聞 描述:平直的基準語調,字正腔圓的咬字發音,這就是最專業的新聞主持人(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:墨講師 描述:既保持學科嚴謹性,又通過敘事技巧將複雜知識轉化為可消化的認知模組(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:徐大爺 描述:被歲月和旱煙浸泡過的質樸嗓音,不疾不徐地搖開了滿村的奇聞異事(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:鄰家妹妹 描述:糯米糍一樣又軟又黏的嗓音,那一聲聲拉長了的“哥哥”,甜得能把人的骨頭都叫酥了(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:小婉 描述:溫和舒緩的聲線,助你更快地進入睡眠,晚安,好夢(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:頑屁小孩 描述:調皮搗蛋卻充滿童真的他來了,這是你記憶中的小新嗎(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:少女阿月 描述:平時是甜到發膩的迷糊少女音,但在喊出“代表月亮消滅你”時,瞬間充滿不容置疑的愛與正義(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:博德加 描述:熱情的西班牙大叔(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:索尼莎 描述:熱情開朗的拉美大姐(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:阿列克 描述:一開口,是戰鬥民族的冷,也是毛呢大衣下的暖(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:多爾切 描述:慵懶的意大利大叔(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:素熙 描述:溫柔開朗,情緒豐富的韓國歐尼(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:小野杏 描述:鬼靈精怪的青梅竹馬(女性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:萊恩 描述:理性是底色,叛逆藏在細節裡——穿西裝也聽後龐克的德國青年(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:埃米爾安 描述:浪漫的法國大哥哥(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:安德雷 描述:聲音磁性,自然舒服、沉穩男生(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:拉迪奧·戈爾 描述:足球詩人Rádio Gol!今天我要用名字為你們解說足球(男性) | 中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:上海-阿珍 描述:風風火火的滬上阿姐(女性) | 中文(上海話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:北京-曉東 描述:北京胡同裡長大的少年(男性) | 中文(北京話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:南京-老李 描述:耐心的瑜伽老師(男性) | 中文(南京話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:陝西-秦川 描述:面寬話短,心實聲沉——老陝的味道(男性) | 中文(陝西話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:閩南-阿傑 描述:詼諧直爽、市井活潑的台灣哥仔形象(男性) | 中文(閩南語)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:天津-李彼得 描述:天津相聲,專業捧哏(男性) | 中文(天津話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:四川-晴兒 描述:甜到你心裡的川妹子(女性) | 中文(四川話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:四川-程川 描述:一個跳脫市井的四川成都男子(男性) | 中文(四川話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:粵語-阿強 描述:幽默風趣的阿強,線上陪聊(男性) | 中文(粵語)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
| 音色名:粵語-阿清 描述:甜美的港妹閨蜜(女性) | 中文(粵語)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語 |
|
常見問題
Q:音頻檔案連結的有效期間是多久?
A:24小時後音頻檔案連結將失效。