Qwen 音声合成は、自然なイントネーションと表現豊かな配信により、人間らしい音声を提供します。中国語の方言を含む複数の言語および方言をサポートし、単一の音声で多言語出力が可能です。システムは自動的にトーンを調整し、複雑なテキストもスムーズに処理します。
主要機能
適用範囲
利用可能なモデル:
国際
国際デプロイモードでは、エンドポイントおよびデータストレージはシンガポールリージョンに配置されます。モデル推論のコンピューティングリソースは中国本土を除く世界中で動的にスケジュールされます。
以下のモデルを呼び出す際は、シンガポールリージョン用のAPI キーを選択してください。
Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash (安定版。現在は qwen3-tts-instruct-flash-2026-01-26 と同等)、qwen3-tts-instruct-flash-2026-01-26 (最新スナップショット版)
Qwen3-TTS-VD: qwen3-tts-vd-2026-01-26 (最新スナップショット版)
Qwen3-TTS-VC: qwen3-tts-vc-2026-01-22 (最新スナップショット版)
Qwen3-TTS-Flash: qwen3-tts-flash (安定版。現在は qwen3-tts-flash-2025-11-27 と同等)、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18
中国本土
中国本土デプロイモードでは、エンドポイントおよびデータストレージは中国 (北京) リージョンに配置されます。モデル推論のコンピューティングリソースは中国本土内に限定されます。
以下のモデルを呼び出す際は、中国 (北京) リージョン用のAPI キーを選択してください。
Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash (安定版。現在は qwen3-tts-instruct-flash-2026-01-26 と同等)、qwen3-tts-instruct-flash-2026-01-26 (最新スナップショット版)
Qwen3-TTS-VD: qwen3-tts-vd-2026-01-26 (最新スナップショット版)
Qwen3-TTS-VC: qwen3-tts-vc-2026-01-22 (最新スナップショット版)
Qwen3-TTS-Flash: qwen3-tts-flash (安定版。現在は qwen3-tts-flash-2025-11-27 と同等)、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18
Qwen-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 | コスト効率に優れています。幅広い音声の選択肢により、コンテンツの表現が豊かになります。 |
モデル機能比較をご参照ください。
はじめに
事前準備
API キーを構成し、環境変数としてエクスポートします。
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 = "今日は、人々が愛する何かを構築する素晴らしい日です!"
# SpeechSynthesizer インターフェイスの使用方法: dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
# 命令による制御機能を使用する場合は、モデルを qwen3-tts-instruct-flash に変更してください。
model="qwen3-tts-flash",
# シンガポールおよび中国 (北京) リージョンの API キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/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", # 正しい発音と自然なイントネーションのため、言語タイプをテキストの言語に合わせてください。
# 命令による制御機能を使用する場合は、次の行のコメントを解除し、モデルを 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 キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/model-studio/get-api-key
// 環境変数を構成していない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model(MODEL)
.text("今日は、人々が愛する何かを構築する素晴らしい日です!")
.voice(AudioParameters.Voice.CHERRY)
.languageType("English") // 正しい発音と自然なイントネーションのため、言語タイプをテキストの言語に合わせてください。
// 命令による制御機能を使用する場合は、次の行のコメントを解除し、モデルを 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 キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/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": "今日は、人々が愛する何かを構築する素晴らしい日です!",
"voice": "Cherry",
"language_type": "English"
}
}'ストリーミング出力
音声データは Base64 形式でストリーミングされます。最終データパケットには、完全な音声ファイルの URL が含まれます。
Python
# coding=utf-8
#
# 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 = "今日は、人々が愛する何かを構築する素晴らしい日です!"
response = dashscope.MultiModalConversation.call(
# シンガポールおよび中国 (北京) リージョンの API キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/model-studio/get-api-key
# 環境変数を構成していない場合は、次の行を Model Studio API キーに置き換えてください: api_key = "sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
# 命令による制御機能を使用する場合は、モデルを qwen3-tts-instruct-flash に変更してください。
model="qwen3-tts-flash",
text=text,
voice="Cherry",
language_type="English", # 正しい発音と自然なイントネーションのため、言語タイプをテキストの言語に合わせてください。
# 命令による制御機能を使用する場合は、次の行のコメントを解除し、モデルを 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 キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/model-studio/get-api-key
// 環境変数を構成していない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model(MODEL)
.text("今日は、人々が愛する何かを構築する素晴らしい日です!")
.voice(AudioParameters.Voice.CHERRY)
.languageType("English") // 正しい発音と自然なイントネーションのため、言語タイプをテキストの言語に合わせてください。
// 命令による制御機能を使用する場合は、次の行のコメントを解除し、モデルを 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, // フレームサイズ (ビット深度/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/ja/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": "今日は、人々が愛する何かを構築する素晴らしい日です!",
"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:
"""
音声を作成し、音声パラメーターを返します。
"""
# 環境変数を構成していない場合は、次の行を置き換えてください: 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}"
# シンガポールリージョンのエンドポイント。北京リージョンの場合は次を使用: 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"音声の作成に失敗しました: {resp.status_code}, {resp.text}")
try:
return resp.json()["output"]["voice"]
except (KeyError, ValueError) as e:
raise RuntimeError(f"音声応答の解析に失敗しました: {e}")
if __name__ == '__main__':
# シンガポールリージョンのエンドポイント。北京リージョンの場合は次を使用: 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 = "sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
text=text,
voice=create_voice(VOICE_FILE_PATH), # 音声パラメーターをクローニングによって生成されたカスタム音声に置き換えます
stream=False
)
print(response)Java
プロジェクトに Gson 依存関係を追加します。
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") // 音声パラメーターをクローニングによって生成されたカスタム音声に置き換えます
.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";
// データ 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 を呼び出します
public static String createVoice() throws Exception {
// シンガポールおよび北京リージョンの API キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/model-studio/get-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) + "\""
+ "}"
+ "}"
+ "}";
// シンガポールリージョンのエンドポイント。北京リージョンの場合は次を使用: 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 キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/model-studio/get-api-key
// 環境変数を構成していない場合は、次の行を置き換えてください: .apikey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model(TARGET_MODEL)
.text("今日の天気はどうですか?")
.parameter("voice", createVoice()) // 音声パラメーターをクローニングによって生成されたカスタム音声に置き換えます
.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 {
// シンガポールリージョンのエンドポイント。北京リージョンの場合は次を使用: 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 キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/model-studio/get-api-key # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください: api_key = "sk-xxx" api_key = os.getenv("DASHSCOPE_API_KEY") if not api_key: print("エラー: DASHSCOPE_API_KEY 環境変数が見つかりません。まず API キーを設定してください。") 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 '応答なし'}") 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
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") // 音声パラメーターを音声デザインによって生成されたカスタム音声に置き換えます .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 キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/model-studio/get-api-key // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください: 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パラメーターを音声デザインによって生成されたカスタム音声に置き換えています。単方向ストリーミング合成については、「音声合成 - Qwen」をご参照ください。重要な原則: 音声デザインに使用するモデル (
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 キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/model-studio/get-api-key # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください: api_key = "sk-xxx" api_key=os.getenv("DASHSCOPE_API_KEY"), text=text, voice="myvoice", # 音声パラメーターを音声デザインによって生成されたカスタム音声に置き換えます 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 キーは異なります。API キーの取得: https://www.alibabacloud.com/help/ja/model-studio/get-api-key // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx") .apiKey(System.getenv("DASHSCOPE_API_KEY")) .model(MODEL) .text("今日は、人々が愛する何かを構築する素晴らしい日です!") .parameter("voice", "myvoice") // 音声パラメーターを音声デザインによって生成されたカスタム音声に置き換えます .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); } }
命令コントロール
命令コントロールは、自然言語による記述を通じて、話し方の表現力を調整します。音声パラメーターを手動で調整することなく、ピッチ、スピード、感情、音色を調整できます。
サポート対象モデル: Qwen3-TTS-Instruct-Flash シリーズのみ。
使い方: instructions パラメーターを設定します。例えば、「ファッション製品の紹介に適した、比較的速いスピードで、はっきりとした上昇イントネーションで話す」のように設定します。
サポート言語: 命令テキストは中国語と英語のみをサポートします。
長さ制限: 最大 1,600 トークン。
利用シーン:
オーディオブックやラジオドラマの吹き替え
広告・プロモーションビデオの吹き替え
ゲームキャラクターやアニメーションの吹き替え
感情豊かなインテリジェント音声アシスタント
ドキュメンタリーやニュース放送
高品質な音声記述の作成方法:
基本原則:
具体的、かつ曖昧でないこと: 「深い」、「はっきりした」、「速いペース」など、具体的な音声特性を表す言葉を使用します。「良い」や「普通」といった主観的で情報価値のない言葉は避けてください。
多次元的、かつ一次元的でないこと: 良い記述は、ピッチ、スピード、感情など、複数のディメンションを組み合わせたものです。「高音」だけのような一次元的な記述は、範囲が広すぎて特徴的な効果を生み出すことができません。
客観的、かつ主観的でないこと: 個人的な好みではなく、音そのものの物理的および知覚的な特性に焦点を当てます。例えば、「私のお気に入りの音」ではなく、「高音でエネルギッシュ」のように記述します。
独創的、かつ模倣的でないこと: 有名人や俳優など、特定の人物の模倣をリクエストするのではなく、音声の特性を記述します。このようなリクエストは著作権リスクを伴うため、サポートされていません。
簡潔、かつ冗長でないこと: すべての言葉に意味があることを確認します。「とても、とても良い声」のように、同義語を繰り返したり、無意味な強調表現を使用したりすることは避けてください。
ディメンションリファレンス: 複数のディメンションを組み合わせて、より豊かな表現を実現します。
ディメンション
記述例
ピッチ
高、中、低、高音、低音
スピード
速い、普通、遅い、速いペース、遅いペース
感情
明るい、穏やか、優しい、真面目、活発、落ち着いた、癒し系
特徴
磁気のある、はっきりした、かすれた、まろやか、甘い、深い、力強い
用途
ニュース放送、広告ナレーション、オーディオブック、アニメーションキャラクター、音声アシスタント、ドキュメンタリーナレーション
例:
標準的な放送スタイル: 明瞭で正確な発音、丸みのある発声。
段階的な感情効果: 通常の会話から叫び声へと音量が急激に増加し、率直な性格で興奮しやすく、感情表現が豊か。
特殊な感情状態: すすり泣くようなトーンにより、発音がやや不明瞭でかすれ、泣き声に顕著な緊張感が伴う。
広告ナレーションスタイル: 高音、中程度のスピードで、エネルギーと魅力に満ちており、広告ナレーションに適している。
優しく癒し系のスタイル: ゆっくりとしたペースで、優しく甘いピッチ、そして思いやりのある友人のような、癒し系の温かいトーン。
API リファレンス
モデル機能の比較
機能 | Qwen3-TTS-Instruct-Flash | Qwen3-TTS-VD | Qwen3-TTS-VC | Qwen3-TTS-Flash | Qwen-TTS |
対応言語 | 音声(voice)によって異なります:中国語(標準語)、英語、スペイン語、ロシア語、イタリア語、フランス語、韓国語、日本語、ドイツ語、ポルトガル語 | 中国語(標準語)、英語、スペイン語、ロシア語、イタリア語、フランス語、韓国語、日本語、ドイツ語、ポルトガル語 | 音声(voice)によって異なります:中国語(標準語、上海語、北京方言、四川方言、南京方言、陝西方言、閩南語、天津方言)、広東語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 | 音声(voice)によって異なります:中国語(標準語、上海語、北京方言、四川方言)、英語 | |
音声フォーマット |
| ||||
音声サンプルレート | 24 kHz | ||||
ボイスクローン | |||||
ボイスデザイン | |||||
SSML | |||||
LaTeX | |||||
音量コントロール | 命令コントロール | ||||
話速コントロール | 命令コントロールを介して調整可能です。命令コントロール | ||||
ピッチコントロール | 命令コントロール | ||||
ビットレートコントロール | |||||
タイムスタンプ | |||||
命令コントロール | |||||
ストリーミング入力 | |||||
ストリーミング出力 | |||||
レート制限 | 分あたりのリクエスト数(RPM):180 | RPM:180 | RPM:180 | RPM はモデルによって異なります:
| RPM:10 分あたりのトークン数(TPM):入力および出力トークンを含む 100,000 |
接続方式 | Java/Python SDK、WebSocket API | ||||
料金 | 国際:$0.115 / 10,000 文字 中国本土:$0.115 / 10,000 文字 | 国際:$0.115 / 10,000 文字 中国本土:$0.115 / 10,000 文字 | 国際:$0.115 / 10,000 文字 中国本土:$0.115 / 10,000 文字 | 国際:$0.1 / 10,000 文字 中国本土:$0.114682 / 10,000 文字 | 中国本土:
トークン換算:音声 1 秒 = 50 トークン。1 秒未満の音声は 50 トークンとしてカウントされます。 |
サポートされているシステム音声
サポートされている音声はモデルによって異なります。音声リストの 音声パラメーター 列にある対応する値に、voice リクエストパラメーターを設定してください。
| 詳細 | サポート言語 | サポートモデル |
| 音声名: Cherry 説明: 明るく、前向きで、フレンドリで、ナチュラルな若い女性(女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Serena 説明: 優しい若い女性 (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Ethan 説明: 少し北方なまりのある標準中国語。明るく、温かく、エネルギッシュで生き生きとした声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Chelsie 説明:二次元の仮想ガールフレンド (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Momo 説明: 遊び心があり、いたずら好きで、元気が出るような声 (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Vivian [説明]: 自信に満ちた、かわいらしい、および少し気の強い(女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Moon 説明: 凛々しくハンサムな男性、 Yuebai (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Maia 説明: 知性と優しさの融合 (女性向け) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Kai 説明: 耳に心地よいオーディオスパのような声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Nofish 説明: そり舌音が発音できないデザイナーの声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Bella 説明: お酒を飲むが、酔ってもパンチを放つことはない少女(女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Jennifer 説明: 映画品質のプレミアムなアメリカ英語の女性音声 (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Ryan 説明: リズム感にあふれ、ドラマチックな表現力が爆発し、本物らしさと緊張感のバランスが取れた声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Katerina 説明: 豊かで記憶に残るリズムを持つ、成熟した女性の声 (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Aiden 説明: 料理が得意なアメリカ英語を話す若い男性の声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Eldric Sage 説明: 松の木のように風雪に耐え、鏡のように明晰な、穏やかで賢明な年長者の声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Mia 説明: 春の泉のように優しく、新雪のように素直な声 (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Mochi 説明: 子供のような無邪気さを残しつつも、知恵が光る、賢く機転の利く若者の声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Bellona 説明: キャラクターに命を吹き込む、パワフルでクリアな声。血が沸き立つほど心を揺さぶり、英雄的な壮大さと完璧な発音で、人間のあらゆる感情表現を捉えます。 | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Vincent 説明: ユニークなハスキーでスモーキーな声。一言で軍隊や英雄物語を彷彿とさせます (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Bunny 説明: 「可愛さ」が溢れる少女 (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Neil 説明: フラットなベースラインのイントネーションと、正確でクリアな発音。最もプロフェッショナルなニュースキャスターの声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Elias 説明: 学術的な厳密さを保ちながら、ストーリーテリング技術を用いて複雑な知識を分かりやすい学習モジュールに変える声 (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Arthur 説明: 時間とタバコの煙に染まった、素朴で飾り気のない声。村の物語や珍しい話をゆっくりと語りかけます (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Nini 説明: 甘い餅菓子のように、柔らかく甘えた声。「お兄ちゃん」という甘い呼びかけは、骨までとろけるようです (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Seren 説明: より早く眠りにつけるよう助ける、優しく心地よい声。おやすみなさい、良い夢を (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Pip 説明: 子供らしい好奇心に満ちた、遊び好きでいたずら好きな男の子の声。まるで、あの「しんちゃん」を彷彿とさせます (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Stella 説明: 普段は甘ったるく、ぼんやりした少女の声ですが、「月に代わっておしおきよ!」と叫ぶと、揺るぎない愛と正義を瞬時に放ちます (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Bodega 説明: 情熱的なスペイン人男性 | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Sonisa 説明: 明るく、社交的なラテンアメリカ出身の女性(女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Alek 説明: ロシアの魂のように冷たいが、ウールのコートの裏地のように温かい声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Dolce 説明: おおらかなイタリア人男性 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Sohee 説明: 温かく、陽気で、感情表現豊かな韓国のお姉さんの声 (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Ono Anna 説明: 快活で賢い幼馴染 (女性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Lenn 説明: 心は理性的、細部は反抗的。スーツを着てポストパンクを聴くドイツの若者の声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Emilien 説明: ロマンチックなフランスのお兄さんの声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Andre 説明: 魅力的で自然、かつ安定した男性の声 (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: Radio Gol 説明: サッカーの詩人、Radio Gol! 今日は私の名にかけてサッカーを実況します (男性) | 中国語 (標準語)、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: 上海 - Jada 説明: ペースが速く、エネルギッシュな上海のおばさんの声 (女性) | 上海語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: 北京 - Dylan 説明: 北京の胡同 (フートン) 育ちの青年 (男性) | 北京語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: 南京 - Li 説明: 落ち着いたヨガの先生(男性) | 南京語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: 陝西 - Marcus 説明: 広い顔、少ない言葉、誠実な心、深い声。本物の陝西の味わいです (男性) | 陝西語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: 閩南 - Roy 説明: ユーモラスで、率直、活発な台湾の男性の声 (男性) | 閩南語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: 天津 - Peter 説明: 天津スタイルの漫才、プロのツッコミ役 (男性) | 天津語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: 四川 - Sunny 説明: 心を溶かすほど甘い四川省出身の女性 (女性) | 四川語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: 四川 - Eric 説明: 日常生活で目立つ、成都出身の四川人男性 (男性) | 四川語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: 広東 - Rocky 説明: ユーモラスで機知に富んだ阿強 (A Qiang) がライブチャットを提供します (男性) | 広東語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
| 音声名: 広東 - Kiki 説明: 甘い性格の香港人の女の子で親友(女性) | 広東語、英語、フランス語、ドイツ語、ロシア語、イタリア語、スペイン語、ポルトガル語、日本語、韓国語 |
|
よくある質問
Q: 音声ファイル URL の有効期間はどのくらいですか?
A: 音声ファイル URL は24時間後に有効期限が切れます。