Qwen 音声合成モデルは、人間のようなさまざまな音声を提供します。複数の言語と方言をサポートし、単一の音声で多言語のコンテンツを生成できます。システムは自動的にトーンを調整し、複雑なテキストを流暢に処理します。
サポートされているモデル
Qwen3-TTS を推奨します。
Qwen3-TTS は 17 種類の音声を提供し、複数の言語と方言をサポートしています。
Qwen-TTS は最大 7 種類の音声を提供し、中国語と英語のみをサポートしています。
インターナショナル (シンガポール)
モデル | バージョン | 単価 | 最大入力文字数 | サポートされている言語 | 無料クォータ(注) |
qwen3-tts-flash その機能は qwen3-tts-flash-2025-09-18 と同じです | 安定バージョン | $0.1/10,000 文字 | 600 | 中国語 (標準語、北京語、上海語、四川語、南京語、陝西語、閩南語、天津語、広東語)、英語、スペイン語、ロシア語、イタリア語、フランス語、韓国語、日本語、ドイツ語、ポルトガル語 | 各 2,000 文字 有効期間: Alibaba Cloud Model Studio をアクティベートしてから 90 日以内 |
qwen3-tts-flash-2025-09-18 | スナップショットバージョン |
Qwen3-TTS は入力文字数に基づいて課金されます。課金ルールは次のとおりです:
中国語 1 文字 = 2 文字
英字 1 文字、句読点 1 つ、またはスペース 1 つ = 1 文字
中国本土 (北京)
Qwen3-TTS
モデル | バージョン | 単価 | 最大入力文字数 | サポートされている言語 |
qwen3-tts-flash その機能は qwen3-tts-flash-2025-09-18 と同じです | 安定バージョン | $0.114682/10,000 文字 | 600 | 中国語 (標準語、北京語、上海語、四川語、南京語、陝西語、閩南語、天津語、広東語)、英語、スペイン語、ロシア語、イタリア語、フランス語、韓国語、日本語、ドイツ語、ポルトガル語 |
qwen3-tts-flash-2025-09-18 | スナップショットバージョン |
Qwen3-TTS は入力文字数に基づいて課金されます。課金ルールは次のとおりです:
中国語 1 文字 = 2 文字
英字 1 文字、句読点 1 つ、またはスペース 1 つ = 1 文字
Qwen-TTS
モデル | バージョン | コンテキストウィンドウ | 最大入力 | 最大出力 | 入力コスト | 出力コスト |
(トークン) | (1,000 トークンあたり) | |||||
qwen-tts その機能は qwen-tts-2025-04-10 と同じです | 安定バージョン | 8,192 | 512 | 7,680 | $0.230 | $1.434 |
qwen-tts-latest その機能は常に最新のスナップショットバージョンと同じです | 最新バージョン | |||||
qwen-tts-2025-05-22 | スナップショットバージョン | |||||
qwen-tts-2025-04-10 | ||||||
音声は 1 秒あたり 50 トークンのレートでトークンに変換されます。1 秒未満の音声は 50 トークンとしてカウントされます。
機能
機能 | Qwen3-TTS | Qwen-TTS |
接続タイプ | Python、Java、HTTP | |
ストリーミング出力 | サポートされています | |
ストリーミング入力 | サポートされていません | |
合成音声フォーマット |
| |
合成音声サンプルレート | 24 kHz | |
タイムスタンプ | サポートされていません | |
言語 | 中国語 (標準語、北京語、上海語、四川語、南京語、陝西語、閩南語、天津語、広東語)、英語、スペイン語、ロシア語、イタリア語、フランス語、韓国語、日本語、ドイツ語、ポルトガル語。音声によって異なります。詳細については、「サポートされている音声」をご参照ください。 | 中国語 (標準語、北京語、上海語、四川語)、英語。モデルと音声によって異なります。詳細については、「サポートされている音声」をご参照ください。 |
音声クローニング | サポートされていません | |
SSML | サポートされていません | |
使用方法
準備
DashScope SDK を使用するには、「SDK の最新バージョンをインストール」してください。DashScope Java SDK はバージョン 2.21.9 以降、DashScope Python SDK はバージョン 1.24.6 以降である必要があります。
説明DashScope Python SDK では、
SpeechSynthesizerインターフェイスはMultiModalConversationに置き換えられました。新しいインターフェイスを使用するには、インターフェイス名を置き換えるだけです。他のすべてのパラメーターは完全に互換性があります。
主要なパラメーター
text: テキストを指定します。voice: 使用する音声。language_type: 合成音声の言語。有効な値はChinese、English、German、Italian、Portuguese、Spanish、Japanese、Korean、French、Russian、およびAuto(デフォルト) です。
返された url を使用して、合成された音声を取得できます。URL は 24 時間有効です。
# DashScope SDK バージョン 1.24.6 以降
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 = "I want to recommend a T-shirt. It's incredibly stylish, and the color is very flattering. It's a perfect piece for any outfit. You can't go wrong with it. It's really beautiful and suits all body types, so anyone will look great wearing it. I highly recommend ordering one."
# SpeechSynthesizer インターフェイスを使用する場合: dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
model="qwen3-tts-flash",
# シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: api_key = "sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
text=text,
voice="Cherry",
language_type="Chinese", # 正しい発音と自然なイントネーションを確保するために、テキストの言語と一致させることを推奨します。
stream=False
)
print(response)// DashScope SDK バージョン 2.21.9 以降
// バージョン 2.20.7 以降は、Dylan、Jada、Sunny の音声をサポートしています。
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 {
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 キーは異なります。API キーを取得するには: https://www.alibabacloud.com/help/en/model-studio/get-api-key
// 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: .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") // 正しい発音と自然なイントネーションを確保するために、テキストの言語と一致させることを推奨します。
.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("\nAudio file downloaded to local path: downloaded_audio.wav");
} catch (Exception e) {
System.out.println("\nError downloading audio file: " + 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);
}
}# ======= 重要 =======
# これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください。
# シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには: https://www.alibabacloud.com/help/en/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": "I want to recommend a T-shirt. It'\''s incredibly stylish, and the color is very flattering. It'\''s a perfect piece for any outfit. You can'\''t go wrong with it. It'\''s really beautiful and suits all body types, so anyone will look great wearing it. I highly recommend ordering one.",
"voice": "Cherry",
"language_type": "Chinese"
}
}'リアルタイム再生
Qwen-TTS モデルは、Base64 フォーマットで音声データをストリーミングできます。最後のパケットには、完全な音声ファイルの URL が含まれています。
# DashScope SDK バージョン 1.24.6 以降
# coding=utf-8
#
# pyaudio のインストール手順:
# APPLE Mac OS X
# brew install portaudio
# pip install pyaudio
# Debian/Ubuntu
# sudo apt-get install python-pyaudio python3-pyaudio
# または
# 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 = "Hello, I am Qwen"
response = dashscope.MultiModalConversation.call(
# シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: api_key = "sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3-tts-flash",
text=text,
voice="Cherry",
language_type="Chinese", # 正しい発音と自然なイントネーションを確保するために、テキストの言語と一致させることを推奨します。
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()
// DashScope SDK の最新バージョンをインストールしてください
// バージョン 2.20.7 以降は、Dylan、Jada、Sunny の音声をサポートしています。
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 {
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 キーは異なります。API キーを取得するには: https://www.alibabacloud.com/help/en/model-studio/get-api-key
// 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: .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") // 正しい発音と自然なイントネーションを確保するために、テキストの言語と一致させることを推奨します。
.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, // フレームサイズ (ビット深度 / 8)
16000, // データ転送レート
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);
}
}
# ======= 重要 =======
# これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください。
# シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには: https://www.alibabacloud.com/help/en/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": "I want to recommend a T-shirt. It'\''s incredibly stylish, and the color is very flattering. It'\''s a perfect piece for any outfit. You can'\''t go wrong with it. It'\''s really beautiful and suits all body types, so anyone will look great wearing it. I highly recommend ordering one.",
"voice": "Cherry",
"language_type": "Chinese"
}
}'API リファレンス
詳細については、「音声合成 (Qwen-TTS)」をご参照ください。
サポートされている音声
サポートされている音声はモデルによって異なります。リクエストを行う際は、voice パラメーターを次の表の voice パラメーター列の対応する値に設定してください。
Qwen3-TTS
名前 |
| 音声効果 | 説明 | サポートされている言語 |
Cherry | Cherry | 陽気でフレンドリー、そして自然な若い女性の声。 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Ethan | Ethan | 標準中国語にわずかな北方訛り。明るく、温かく、エネルギッシュな声。 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Nofish | Nofish | そり舌音を使わないデザイナー。 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Jennifer | Jennifer | プレミアムで映画のようなアメリカ英語の女性の声。 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Ryan | Ryan | リアリズムと緊張感を伴う、リズミカルでドラマチックな声。 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Katerina | Katerina | 成熟したリズミカルな女性の声。 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Elias | Elias | 学術的な厳密さと明確なストーリーテリングで複雑なトピックを説明します。 | 中国語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Shanghai-Jada | Jada | 上海出身の活発な女性。 | 中国語 (上海語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Beijing-Dylan | Dylan | 北京の胡同で育ったティーンエイジャー。 | 中国語 (北京方言)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Sichuan-Sunny | Sunny | 四川出身の甘い女性の声。 | 中国語 (四川語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Nanjing-Li | Li | 忍耐強いヨガの先生。 | 中国語 (南京方言)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Shaanxi-Marcus | Marcus | 陝西省出身の誠実で深みのある声。 | 中国語 (陝西語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Man Nan-Roy | Roy | 閩南訛りのユーモラスで活発な若い男性の声。 | 中国語 (閩南語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Tianjin-Peter | Peter | 天津のクロストークにおけるツッコミ役の声。 | 中国語 (天津方言)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Cantonese-Rocky | Rocky | オンラインチャット向けの機知に富んだユーモラスな男性の声。 | 中国語 (広東語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Cantonese-Kiki | Kiki | 香港出身の甘い親友。 | 中国語 (広東語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 | |
Sichuan-Eric | Eric | 四川省成都出身の型にはまらない洗練された男性の声。 | 中国語 (四川語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語、タイ語 |
Qwen-TTS
qwen-tts、qwen-tts-2025-05-22、および qwen-tts-2025-04-10 でサポートされている音声:
名前
voiceパラメーター音声効果
説明
サポートされている言語
Cherry
Cherry
陽気でフレンドリー、そして純粋な若い女性。
中国語、英語
Serena
Serena
優しい若い女性。
中国語、英語
Ethan
Ethan
標準中国語にわずかな北方訛り。明るく、温かく、エネルギッシュな声。
中国語、英語
Chelsie
Chelsie
アニメ風のバーチャル彼女の声。
中国語、英語
qwen-tts-latest および qwen-tts-2025-05-22 でサポートされている音声:
名前
voiceパラメーター音声効果
説明
サポートされている言語
Cherry
Cherry
明るく、フレンドリーで自然な女性の声。
中国語、英語
Serena
Serena
優しい若い女性。
中国語、英語
Ethan
Ethan
標準中国語にわずかな北方訛り。明るく、温かく、エネルギッシュな声。
中国語、英語
Chelsie
Chelsie
アニメ風のバーチャル彼女の声。
中国語、英語
Sichuan-Sunny
Sunny
四川出身の甘く愛らしい女の子。
中国語 (四川語)、英語
Shanghai-Jada
Jada
上海訛りの活発でエネルギッシュな女性の声。
中国語 (上海語)、英語
Beijing-Dylan
Dylan
北京の胡同で育ったティーンエイジャー。
中国語 (北京方言)、英語
よくある質問
Q: 音声ファイルの URL の有効期間はどのくらいですか?
A: 音声ファイルの URL は 24 時間後に有効期限が切れます。
Q: Markdown 形式でテキストを入力できますか?
A: 現在、Markdown 形式はサポートされていません。まずテキストをプレーンテキストに変換してください。