Qwen 音声合成モデルは、人間のような多様な音声を提供します。これらの音声は複数の言語と方言をサポートし、単一の音声で多言語コンテンツを生成できます。モデルは自動的にトーンを調整し、複雑なテキストを流暢に処理します。
サポートされているモデル
Qwen3-TTS-Flash を推奨します。
Qwen3-TTS-Flash は 49 種類の音声を提供し、複数の言語と方言をサポートしています。
Qwen-TTS は最大 7 種類の音声を提供し、中国語と英語のみをサポートしています。
国際
国際デプロイメントモードでは、エンドポイントとデータストレージはシンガポールリージョンに配置されます。推論コンピューティングリソースは、中国本土を除き、グローバルに動的にスケジュールされます。
モデル名 | バージョン | 価格 | 最大入力文字数 | サポート言語 | 無料クォータ (注) |
qwen3-tts-flash 機能は qwen3-tts-flash-2025-09-18 と同じです。 | 安定版 | $0.10/10,000 文字 | 600 | 中国語 (標準語、北京語、上海語、四川語、南京語、陝西語、閩南語、天津語、広東語)、英語、スペイン語、ロシア語、イタリア語、フランス語、韓国語、日本語、ドイツ語、ポルトガル語 | 2025 年 11 月 13 日 00:00 より前に Alibaba Cloud Model Studio をアクティベートした場合:2,000 文字 2025 年 11 月 13 日 00:00 以降に Alibaba Cloud Model Studio をアクティベートした場合:10,000 文字 クォータは Alibaba Cloud Model Studio をアクティベートしてから 90 日間有効です。 |
qwen3-tts-flash-2025-11-27 | スナップショット | 10,000 文字 クォータは Alibaba Cloud Model Studio をアクティベートしてから 90 日間有効です。 | |||
qwen3-tts-flash-2025-09-18 | スナップショット | 2025 年 11 月 13 日 00:00 より前に Alibaba Cloud Model Studio をアクティベートした場合:2,000 文字 2025 年 11 月 13 日 00:00 以降に Alibaba Cloud Model Studio をアクティベートした場合:10,000 文字 クォータは Alibaba Cloud Model Studio をアクティベートしてから 90 日間有効です。 |
課金は入力文字数に基づきます。計算ルールは以下の通りです:
簡体字、繁体字、日本語の漢字、韓国語の漢字を含む各漢字は、2 文字としてカウントされます。
英字、句読点、スペースなどのその他の文字は、1 文字としてカウントされます。
中国本土
中国本土デプロイメントモードでは、エンドポイントとデータストレージは中国 (北京) リージョンに配置され、推論コンピューティングリソースは中国本土に制限されます。
Qwen3-TTS-Flash
モデル名 | バージョン | 価格 | 最大入力文字数 | サポート言語 | 無料クォータ (注) |
qwen3-tts-flash 機能は qwen3-tts-flash-2025-09-18 と同じです。 | 安定版 | $0.114682/10,000 文字 | 600 | 中国語 (標準語、北京語、上海語、四川語、南京語、陝西語、閩南語、天津語、広東語)、英語、スペイン語、ロシア語、イタリア語、フランス語、韓国語、日本語、ドイツ語、ポルトガル語 | 無料クォータなし |
qwen3-tts-flash-2025-11-27 | スナップショット | ||||
qwen3-tts-flash-2025-09-18 | スナップショット |
課金は入力文字数に基づきます。計算ルールは以下の通りです:
簡体字、繁体字、日本語の漢字、韓国語の漢字を含む各漢字は、2 文字としてカウントされます。
英字、句読点、スペースなどのその他の文字は、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-Flash | Qwen-TTS |
接続タイプ | Java/Python SDK、RESTful API | |
ストリーミング出力 | サポート | |
ストリーミング入力 | 非サポート | |
合成音声フォーマット |
| |
合成音声サンプルレート | 24 kHz | |
タイムスタンプ | 非サポート | |
言語 | 中国語 (標準語、北京語、上海語、四川語、南京語、陝西語、閩南語、天津語、広東語)、英語、スペイン語、ロシア語、イタリア語、フランス語、韓国語、日本語、ドイツ語、ポルトガル語。音声によって異なります。詳細については、「サポートされている音声」をご参照ください。 | 中国語 (標準語、北京語、上海語、四川語)、英語。モデルと音声によって異なります。詳細については、「サポートされている音声」をご参照ください。 |
音声クローン | 非サポート | |
SSML | 非サポート | |
はじめに
事前準備
API キーを作成し、API キーを環境変数としてエクスポート済みであること。
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 時間有効です。
Python
# 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 = "Today is a wonderful day to build something people love!"
# SpeechSynthesizer インターフェイスを使用する場合:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
model="qwen3-tts-flash",
# シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/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="English", # 正しい発音と自然なイントネーションを確保するために、テキストの言語と一致させることを推奨します。
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")// 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/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);
}
}cURL
# ======= 重要 =======
# これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation に置き換えてください
# シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/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
# 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 = "Today is a wonderful day to build something people love!"
response = dashscope.MultiModalConversation.call(
# シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/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="English", # 正しい発音と自然なイントネーションを確保するために、テキストの言語と一致させることを推奨します。
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 をインストール
// バージョン 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/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)
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 キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/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"
}
}'API リファレンス
詳細については、「音声合成 (Qwen-TTS)」をご参照ください。
サポートされている音声
サポートされている音声はモデルによって異なります。リクエストパラメーター voice を、表の `voice` パラメーター列の値に設定します。
よくある質問
Q:音声ファイルの URL はどのくらいの期間有効ですか?
A:音声ファイルの URL は 24 時間後に失効します。