Skip to main content

音声デザイン

自然言語の説明からカスタム音声を作成し、プレビューを試聴して音声合成に使用できます。

音声デザインは、迅速なプロトタイプ作成、クリエイティブコンテンツ制作、ゲームキャラクターの音声制作などに適しています。
音声の作成に音声サンプルは不要です。既存の音声サンプルから声を再現する場合は、音声クローニングを使用してください。

事前準備

コンソールで API キーを取得し、環境変数 DASHSCOPE_API_KEY を設定します。 DashScope SDK と requests をインストールします。
pip install -U dashscope requests

利用を開始する

Qwen-Audio-TTS と CosyVoice では、音声の作成、プレビュー、基本的な合成の手順は共通です。以下では qwen-audio-3.1-tts-flash を使用します。
  1. 音声の作成:音声の説明 voice_prompt、プレビューのテキスト preview_text、対象モデル target_model を設定して、音声 ID を取得します。
  2. プレビュー音声の保存:返された preview_audio.data をデコードし、試聴用の WAV ファイルとして保存します。
  3. 音声合成:返された voice_id を voice に設定し、紐付けられたモデルで音声を合成します。
import base64
import os

import dashscope

# 以下は中国(北京)リージョンの設定です。呼び出す際に、"{WorkspaceId}" を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
client = dashscope.Client(
    # 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    workspace="{WorkspaceId}",
    region="cn-beijing",
)

target_model = "qwen-audio-3.1-tts-flash"

# 音声を作成し、返されたプレビュー音声をローカルに保存します。
designed = client.audio.voice_design.create(
    target_model=target_model,
    voice_prompt="A calm middle-aged male announcer with a deep, resonant voice, steady speaking pace, and clear articulation, suited for news broadcasts or documentaries.",
    preview_text="Good evening, everyone. Welcome to the evening news.",
    preferred_name="announcer",
    language="en",
    parameters={"sample_rate": 24000, "response_format": "wav"},
)
voice_id = designed.voice
print(f"voice_id: {voice_id}")
with open("preview.wav", "wb") as f:
    f.write(base64.b64decode(designed.preview_audio["data"]))

# 作成時に指定した対象モデルと返された音声 ID を使用して音声を合成します。
audio = client.audio.tts.synthesize(
    "The weather is clear today, perfect for a walk outside. Have a wonderful day.",
    model=target_model,
    voice=voice_id,
    format="wav",
    sample_rate=24000,
)
with open("output.wav", "wb") as f:
    f.write(audio)
サンプルを実行すると、プレビュー音声が preview.wav に、合成音声が output.wav に保存されます。出力された音声 ID を保存して、以降の音声合成に使用してください。 HTTP リクエストの例、オプションパラメーター、レスポンスフィールドについては、音声デザイン API リファレンスをご参照ください。合成のパラメーターについては、Qwen-Audio-TTS Python SDKをご参照ください。

音声説明の作成ガイド

音声の説明(voice_prompt)で、求める声の特徴を指定します。明確で具体的な説明は、目的に合った音声の生成に役立ちます。

説明の書き方

  • 具体的に記述する:「低い声」「澄んだ声」「速めの話し方」など、声の特徴を記述します。「良い声」「普通」などの曖昧な評価は避けます。
  • 複数の観点を組み合わせる:性別、年齢、音の高さ、話す速さ、感情などを組み合わせます。「女性の声」だけでは、特徴的な声を指定する情報が不足します。
  • 客観的に記述する:「音が高めで活発」など、知覚できる特徴を記述します。「一番好きな声」などの主観的な表現は避けます。
  • 独自の声を記述する:有名人や俳優など、特定の人物の模倣を求めず、声の特徴を記述します。モデルは特定の人物を指定した模倣をサポートしておらず、そのようなリクエストは著作権上の問題を生じる可能性があります。
  • 簡潔に記述する:同義語の繰り返しや不要な修飾を減らします。
以下の観点を組み合わせて音声を説明できます。
要素例
性別男性、女性、中性
年齢子供 (5〜12 歳)、ティーンエイジャー (13〜18 歳)、若者 (19〜35 歳)、中年 (36〜55 歳)、高齢者 (55 歳以上)
ピッチ高い、中程度、低い、やや高い、やや低い
話速速い、普通、遅い、やや速い、やや遅い
感情陽気、穏やか、優しい、真面目、活発、落ち着き、癒やし
特徴響きのある、歯切れの良い、ハスキー、まろやか、甘い、深い、力強い
ユースケースニュース放送、広告、オーディオブック、アニメキャラクター、音声アシスタント、ドキュメンタリーナレーション

説明の例

  • 標準的な放送スタイル:完璧な発音で、クリアかつ正確なアーティキュレーション
  • 若々しく活発な女性の声、速いペースで顕著な上昇イントネーションがあり、ファッション製品の紹介に適している
  • 穏やかでゆっくりとしたペースの中年男性の声、深く響きがあり、ニュースの読み上げやドキュメンタリーのナレーションに適している
  • 優しく思慮深い 30 歳前後の女性、均一なトーンで、オーディオブックの朗読に適している
  • かわいい子供の声、およそ 8 歳の女の子、やや子供っぽい話し方で、アニメキャラクターのナレーションに適している
同じ説明でも、生成される音声は異なる場合があります。作成後にプレビュー音声を試聴してください。結果を比較する場合は、複数の音声を生成して適したものを選択できます。

音声の管理

  • 音声一覧の取得:既存のカスタム音声を確認します。
  • 音声の詳細の照会:紐付けられたモデル、音声の状態などを確認します。
  • 音声の削除:不要になった音声を削除してクォータを解放します。
インターフェイスとパラメーターについては、音声デザイン API リファレンスをご参照ください。

対応モデル

  • 中国(北京)
  • Qwen-Audio-TTS: qwen-audio-3.1-tts-plus、qwen-audio-3.1-tts-flash, qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash
  • CosyVoice: cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-plus, cosyvoice-v3-flash
CosyVoice の音声デザインは、FunAudioGen-VD モデルの機能を使用します。

クォータと制限

  • 音声の数:各 Alibaba Cloud Model Studio アカウントで保持できるカスタム音声は最大 1,000 個です。音声クローニングと音声デザインは、モデルにかかわらずこのアカウント単位のクォータを共有します。
    上限に達すると、音声クローニングまたは音声デザインによる新しい音声作成リクエストは失敗します。不要になった音声を削除してクォータを解放してから、新しい音声を作成してください。
  • 音声の説明:voice_prompt は中国語と英語のみをサポートし、最大長は 500 文字です。
  • プレビューのテキスト:preview_text は中国語と英語のみをサポートし、長さは 15~200 文字です。
  • モデルとの紐付け:作成時に target_model を指定して、音声を音声合成モデルに紐付けます。以降の合成では同じモデルを使用してください。
作成した音声は、複数の言語の音声合成に使用できます。対応言語は、対象の音声合成モデルによって異なります。

課金

音声の作成は無料です。 デザインした音声による音声合成は、対象の音声合成モデルに応じて課金されます。料金については、モデルの料金をご参照ください。