すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:音声デザイン

最終更新日:Jun 26, 2026

音声デザインでは、音声サンプルを用意することなく、自然言語の記述だけでカスタム音声を作成できます。

概要

音声デザインは、ラピッドプロトタイピング、クリエイティブコンテンツ制作、ゲームキャラクターのボイスオーバーに適しています。Alibaba Cloud Model Studio は、次のモデルファミリーを通じて音声デザインを提供します。

  • CosyVoice: リアルタイムの音声合成をサポートします。北京リージョン (v3.5 シリーズおよび v3 シリーズ) で利用可能です。

  • Qwen-TTS:リアルタイムおよび非リアルタイムの音声合成をサポートし、より大きな音声記述の文字数制限 (2,048 文字) を提供します。北京およびシンガポールリージョンで利用できます。

音声サンプルをすでにお持ちの場合は、音声クローニングをご参照ください。モデル選定のガイダンスについては、音声合成をご参照ください。

前提条件

クイックスタート

音声デザインは、記述、作成、利用という 3 ステップのワークフローです。

  1. 音声記述の作成:自然言語で、目的の音声特性を記述します。詳細なガイダンスについては、音声記述の作成をご参照ください。

  2. 音声の作成:音声デザイン API を呼び出します。システムは記述に基づいて音声を生成し、プレビュー音声クリップを返します。本番で音声を使用する前に、プレビュー音声を試聴してください。

  3. 作成した音声で音声合成:音声 ID を指定して音声合成 API を呼び出し、音声を生成します。

CosyVoice 音声デザイン

次の例は、テキストの記述から CosyVoice の音声を作成し、音声合成に使用する方法を示します。

重要

CosyVoice 音声デザインは、北京リージョン (v3.5 および v3 シリーズ) でのみ利用できます。

ステップ 1:記述から音声を作成

API は、音声の説明を指定する voice_prompt と、プレビュー音声で読み上げられるテキストを指定する preview_text の 2 つのパラメーターを指定して呼び出します。

curl -X POST 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/tts/customization' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "voice-enrollment",
    "input": {
        "action": "create_voice",
        "target_model": "cosyvoice-v3.5-plus",
        "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.",
        "prefix": "announcer"
    },
    "parameters": {
        "sample_rate": 24000,
        "response_format": "wav"
    }
}'

ステップ 2:作成した音声で音声合成

次のリクエストでは、前の手順で返されたvoice_id の値を使用します。

# coding=utf-8

import dashscope
from dashscope.audio.tts_v2 import *
import os

# シンガポールリージョンと北京リージョンでは API キーが異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
# 環境変数を設定していない場合は、次の行を Model Studio の API キーに置き換えてください:dashscope.api_key = "sk-xxx"
dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')

# 北京リージョンの URL。
dashscope.base_websocket_api_url='wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/inference'

# 音声デザインと音声合成で同じモデルを使用します
model = "cosyvoice-v3.5-plus"
# voice パラメータを、音声デザインで生成したカスタム音声に置き換えます
voice = "voice_id"

# コンストラクターに model、voice、その他のリクエストパラメータを渡して SpeechSynthesizer をインスタンス化します
synthesizer = SpeechSynthesizer(model=model, voice=voice)
# 合成するテキストを送信し、バイナリ音声を取得します
audio = synthesizer.call("What is the weather like today?")
# 初回のテキスト送信時には WebSocket 接続の確立が必要なため、初回パケットのレイテンシには接続セットアップ時間が含まれます
print('[Metric] requestId: {}, first-package latency: {} ms'.format(
    synthesizer.get_last_request_id(),
    synthesizer.get_first_package_delay()))

# 音声をローカルファイルに保存します
with open('output.mp3', 'wb') as f:
    f.write(audio)

Qwen-TTS 音声デザイン

次の例は、音声を作成して音声合成に使用する方法を示します。

説明

不要な API コストを避けるため、音声合成に使用する前にプレビュー音声を試聴し、結果を検証してください。

Python

import os
import requests
import dashscope

# ======= 定数 =======
DEFAULT_TARGET_MODEL = "qwen3-tts-vd-2026-01-26"  # 音声デザインと音声合成で同じモデルを使用します
DEFAULT_PREFERRED_NAME = "custom_voice"

# 音声記述:自然言語で目的の音声特性を記述します
VOICE_PROMPT = "A young and lively female voice with a fast speaking rate and a noticeably rising intonation, suitable for introducing fashion products."

def create_voice_by_design(voice_prompt: str,
                           target_model: str = DEFAULT_TARGET_MODEL,
                           preferred_name: str = DEFAULT_PREFERRED_NAME) -> str:
    """
    音声記述からカスタム音声を作成し、voice パラメータを返します。
    """
    # シンガポールリージョンと北京リージョンでは 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")

    # シンガポールリージョンの URL。WorkspaceId を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
    url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/tts/customization"
    payload = {
        "model": "qwen-voice-design",
        "input": {
            "action": "create",
            "target_model": target_model,
            "preferred_name": preferred_name,
            "voice_prompt": voice_prompt,
            "preview_text": "Hello everyone, welcome to our live stream! The product we are recommending today is truly amazing."
        },
        "parameters": {
            "sample_rate": 24000,
            "response_format": "wav"
        }
    }
    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"Failed to create voice: {resp.status_code}, {resp.text}")

    result = resp.json()
    # プレビュー音声を取得します (任意:プレビューを再生して結果を確認します)
    preview_audio = result.get("output", {}).get("preview_audio")
    if preview_audio:
        import base64
        audio_data = base64.b64decode(preview_audio["data"])
        with open("preview_audio.wav", "wb") as f:
            f.write(audio_data)
        print(f"Preview audio saved to preview_audio.wav ({len(audio_data)} bytes)")

    try:
        # voice パラメータを返します
        return result["output"]["voice"]
    except (KeyError, ValueError) as e:
        raise RuntimeError(f"Failed to parse voice response: {e}")

if __name__ == '__main__':
    # シンガポールリージョンの URL。WorkspaceId を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
    dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

    voice_id = create_voice_by_design(VOICE_PROMPT)
    print(f"Created voice ID: {voice_id}")

    text = "Hello everyone, welcome to our live stream! The product we are recommending today is truly amazing."
    response = dashscope.MultiModalConversation.call(
        model=DEFAULT_TARGET_MODEL,
        # シンガポールリージョンと北京リージョンでは 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=voice_id,
        stream=False
    )
    print(response)

cURL

ステップ 1:記述から音声を作成

シンガポールリージョンの URL。WorkspaceId を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。

curl -X POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/tts/customization' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "qwen-voice-design",
    "input": {
        "action": "create",
        "target_model": "qwen3-tts-vd-2026-01-26",
        "preferred_name": "custom_voice",
        "voice_prompt": "A young and lively female voice with a fast speaking rate and a noticeably rising intonation, suitable for introducing fashion products.",
        "preview_text": "Hello everyone, welcome to our live stream! The product we are recommending today is truly amazing."
    },
    "parameters": {
        "sample_rate": 24000,
        "response_format": "wav"
    }
}'

ステップ 2:作成した音声で音声合成

YOUR_VOICE_IDを、前の手順で返された voice の値に置き換えます。

シンガポールリージョンの URL。WorkspaceId を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。

curl -X POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "qwen3-tts-vd-2026-01-26",
    "input": {
        "text": "Hello everyone, welcome to our live stream! The product we are recommending today is truly amazing.",
        "voice": "YOUR_VOICE_ID"
    }
}'

音声記述の作成

音声の説明 (voice_prompt) は、生成される音声の品質を決定します。説明が具体的かつ詳細であるほど、結果はより期待に沿ったものになります。

要件と制限

  • 文字数制限: voice_prompt の最大文字数はモデルによって異なり、CosyVoice では最大 500 文字、Qwen-TTS では最大 2,048 文字です。

  • 対応言語:音声記述は中国語と英語のみに対応しています。

重要な原則

  1. 曖昧にせず、具体的に:"deep"、"crisp"、"fast-paced" のように、音声の品質を表す語を使用してください。"nice" や "normal" のような主観的または曖昧な語は避けてください。

  2. 単一ではなく、多次元に:良い記述は、複数の次元 (性別、年齢、感情など) をカバーします。"female voice" のみでは範囲が広すぎて、特徴のある結果を得にくくなります。

  3. 主観ではなく、客観的に:音声の物理的・知覚的な特性に焦点を当ててください。たとえば "my favorite voice" ではなく、"high-pitched with an energetic tone" のように記述してください。

  4. 模倣ではなく、オリジナルに:特定の人物 (著名人や俳優など) の模倣を求めるのではなく、音声の品質を記述してください。モデルは模倣をサポートしておらず、こうした要求は著作権上の懸念を招く可能性があります。

  5. 冗長にせず、簡潔に:同義語の繰り返しや、意味のない修飾語の追加は避けてください。すべての語が明確な目的を持つようにしてください。

記述の次元

次の次元を組み合わせて音声を記述してください。含める次元が多いほど、結果の精度が高くなります。

次元

性別

Male、female、neutral

年齢

Child (5-12)、teenager (13-18)、young adult (19-35)、middle-aged (36-55)、senior (55+)

ピッチ

High、medium、low、slightly high、slightly low

話速

Fast、medium、slow、slightly fast、slightly slow

感情

Cheerful、calm、gentle、serious、lively、composed、soothing

特性

Resonant、crisp、husky、mellow、sweet、deep、powerful

ユースケース

News broadcast、advertising、audiobook、animation character、voice assistant、documentary narration

  • 標準的な放送スタイル:明瞭で正確な発音、完璧な滑舌

  • 若く生き生きとした女性の声。テンポが速く、語尾上がりが目立つ。ファッション商品の紹介に適する

  • 落ち着いていてテンポの遅い中年男性の声。低く響く声。ニュースの読み上げやドキュメンタリーのナレーションに適する

  • 穏やかで思慮深い女性。30歳前後。抑揚が少ない。オーディオブックの朗読に適する

  • かわいらしい子どもの声。8歳くらいの女の子。やや幼い話し方。アニメキャラクターのボイスオーバーに適する

カスタム音声の管理

音声デザインは、音声の一覧表示、音声詳細の表示、音声の削除をサポートしています。API エンドポイントとパラメータの詳細については、「APIリファレンス」をご参照ください。

クォータと課金

音声クォータと自動クリーンアップ

音声の総数上限:Alibaba Cloud Model Studio アカウントごとに、CosyVoice のカスタム音声は 1,000 件、Qwen-TTS のカスタム音声は 1,000 件まで作成できます。2 つのクォータはそれぞれ独立しています。

自動クリーンアップ:1 年間、いずれの音声合成リクエストでも使用されなかった音声は、システムによって自動的に削除されます。

課金ルール

  • CosyVoice:音声作成は無料です。

  • Qwen-TTS:音声作成は 1 件あたりUSD 0.2 です。作成に失敗した場合は課金されません。

    無料クォータ (Singapore リージョンのみ):

    • Alibaba Cloud Model Studio の有効化後、最初の 90 日間、10 件まで無料で音声を作成できます。

    • 作成に失敗した場合、無料クォータは消費されません。

    • 音声を削除しても、無料クォータは復元されません。

    • 無料クォータを使い切った場合、または 90 日間の期間が終了した場合は、音声作成は 1 件あたりUSD 0.2 で課金されます。

対応モデルとリージョン

Singapore

次のモデルを呼び出すには、シンガポールリージョンのAPIキーを選択してください。

  • Qwen-TTS

    • Qwen3-TTS-VD-Realtime:qwen3-tts-vd-realtime-2026-01-15 (最新スナップショット)、qwen3-tts-vd-realtime-2025-12-16 (スナップショット)

    • Qwen3-TTS-VD:qwen3-tts-vd-2026-01-26 (最新スナップショット)

China (Beijing)

次のモデルを呼び出すには、北京リージョンのAPIキーを選択してください。

  • CosyVoice:cosyvoice-v3.5-plus、cosyvoice-v3.5-flash、cosyvoice-v3-plus、cosyvoice-v3-flash

  • Qwen-TTS

    • Qwen3-TTS-VD-Realtime:qwen3-tts-vd-realtime-2026-01-15 (最新スナップショット)、qwen3-tts-vd-realtime-2025-12-16 (スナップショット)

    • Qwen3-TTS-VD:qwen3-tts-vd-2026-01-26 (最新スナップショット)

説明
  • CosyVoice 音声デザインは FunAudioGen-VD モデルによって提供されます。

  • 同じ記述テキスト (プロンプト) でも、生成される音声が毎回わずかに異なる場合があります。複数の音声を生成し、最適なものを選択してください。

関連 API

音声デザインAPIリファレンス

よくある質問

同じ音声記述で、常に同じ音声が生成されますか?

必ずしもそうではありません。音声デザインにはランダム性があるため、同じ記述でも毎回わずかに異なる音声が生成される場合があります。複数の音声を生成して聴き比べ、最適なものを選択してください。

音声記述では、どの言語がサポートされていますか?

現在、音声記述 (voice_prompt) は、中国語と英語にのみ対応しています。ただし、生成された音声は複数の言語で音声を合成できます。

音声デザインと音声クローニングの違いは何ですか?

音声デザインは、音声サンプルを必要とせず、テキストの記述をもとに、ゼロから音声を作成します。まったく新しい音声アイデンティティの設計に適しています。音声クローニングは、実際の音声サンプルに基づいて音声を複製し、特定人物の声の再現に適しています。詳細については、音声クローニングをご参照ください。