doubao-open-tts について
Doubao(Volcano Engine)API V1を使うテキスト読み上げスキルです。コマンドラインやPythonからテキストを音声化でき、分類された音声、形式選択、速度と音量の調整に対応します。
主な機能
- 01カテゴリ別の音声選択肢
- 02MP3、PCM、WAV出力
- 03速度と音量の調整
- 04コマンドラインとPython API
- 05カテゴリ別の音声閲覧
活用シーン
- 01テキストファイルの音声化
- 02多言語テキストに合う音声の選択
- 03速度と音量を調整したナレーション生成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ xdrshjr/ jr-openclaw-skills --skill doubao-open-ttsインストール後、Claude Code で/doubao-open-ttsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.env.example.txtrequirements.txtscripts/test_tts.pytts.py詳細
Doubao Open TTS
Doubao(Volcano Engine)API V1 インターフェースを使用して、テキストを自然な音声に変換する音声合成(TTS)サービスです。
特長
- 🎙️ 200 種類以上の音声オプション - デフォルト:一般的なシナリオ向けの Shiny(灿灿)
- 🔊 複数の音声形式 - mp3、pcm、wav に対応
- ⚡ 調整可能なパラメーター - 速度と音量を調整できます
- 📦 2 種類のインターフェース - コマンドラインツール+Python API
- 🎯 音声の分類 - カテゴリー別に音声を参照できます
インストール
cd skills/doubao-open-tts
pip install -r requirements.txt
設定
方法 1:環境変数
export VOLCANO_TTS_APPID="your_app_id"
export VOLCANO_TTS_ACCESS_TOKEN="your_access_token"
export VOLCANO_TTS_SECRET_KEY="your_secret_key"
export VOLCANO_TTS_VOICE_TYPE="zh_female_cancan_mars_bigtts" # Optional: set default voice
方法 2:.env ファイル
.env.example.txt を .env にコピーし、認証情報を入力します。
cp .env.example.txt .env
# Edit the .env file with your credentials
使用方法
コマンドライン
# Basic usage (uses default voice: Shiny)
python scripts/tts.py "Hello, this is a test of Doubao text-to-speech service"
# Specify output file and format
python scripts/tts.py "Welcome to use TTS" -o output.mp3 -e mp3
# Read text from file
python scripts/tts.py -f input.txt -o output.mp3
# Adjust parameters
python scripts/tts.py "Custom voice" --speed 1.2 --volume 0.8 -v zh_female_cancan_mars_bigtts
# List all available voices
python scripts/tts.py --list-voices
# List voices by category
python scripts/tts.py --list-voices --category "General-Multilingual"
# Use different cluster
python scripts/tts.py "Hello" --cluster volcano_tts
# Enable debug mode
python scripts/tts.py "Test" --debug
Python API
from scripts.tts import VolcanoTTS, VOICE_TYPES, VOICE_CATEGORIES
# Initialize client
tts = VolcanoTTS(
app_id="your_app_id",
access_token="your_access_token",
secret_key="your_secret_key",
voice_type="zh_female_cancan_mars_bigtts" # Optional: set default voice
)
# List available voices
print("All voices:", tts.list_voices())
print("General voices:", tts.list_voices("General-Normal"))
# Change voice
tts.set_voice("zh_male_xudong_conversation_wvae_bigtts") # Set to "Happy Xiaodong"
# Synthesize speech
output_path = tts.synthesize(
text="Hello, this is Doubao text-to-speech",
voice_type="zh_female_cancan_mars_bigtts", # Optional: override default
encoding="mp3",
cluster="volcano_tts",
speed=1.0,
volume=1.0,
output_file="output.mp3"
)
print(f"Audio saved to: {output_path}")
利用可能な音声タイプ
一般カテゴリー(通用场景)
| 音声名 | 音声タイプ | 説明 |
|---|---|---|
| Shiny(灿灿) | zh_female_cancan_mars_bigtts | 明るい女性の声で、さまざまなシナリオに適しています |
| 活発な小寧(活泼小宁) | zh_female_wanwanxiaohe_mars_bigtts | 活発でお茶目な女性の声 |
| 小莫(小莫) | zh_male_xiaomo_mars_bigtts | 温かく親しみやすい男性の声 |
| 小琪(小琪) | zh_female_xiaoqi_mars_bigtts | プロフェッショナルな女性司会者の声 |
| AISuper(AI超级大流利) | zh_female_gaolanfenqu_mars_bigtts | とても流暢な女性の声 |
感情カテゴリー(情感超自然人声)
| 音声名 | 音声タイプ | 説明 |
|---|---|---|
| 楽しい小東(开心小东) | zh_male_xudong_conversation_wvae_bigtts | 明るく陽気な男性の声 |
| 悲しい小亮(悲伤小亮) | zh_male_sadxiaoliang_sad_mars_bigtts | 憂いを帯びた男性の声 |
| 中性的な小帥(中性小帅) | zh_male_zhongxingxiaoshuai_speech_mars_bigtts | 中性的なトーンの男性の声 |
| 楽しい小美(开心小美) | zh_female_gaoxiaomei_happy_mars_bigtts | 明るい女性の声 |
| 怒った小甜(愤怒小甜) | zh_female_shengmoxiaotian_angry_mars_bigtts | 怒ったトーンの女性の声 |
インテリジェントカスタマーサービス(智能客服)
| 音声名 | 音声タイプ | 説明 |
|---|---|---|
| カスタマーサービス小文(客服小文) | zh_male_jingyixiaowen_mars_bigtts | プロフェッショナルな男性カスタマーサービスの声 |
| カスタマーサービス小柔(客服小柔) | zh_female_xiaorou_customer_service_mars_bigtts | 穏やかな女性カスタマーサービスの声 |
ドキュメンタリー(纪录片)
| 音声名 | 音声タイプ | 説明 |
|---|---|---|
| クラシック小明(经典小明) | zh_male_jingdianxiaoming_mars_bigtts | クラシックなドキュメンタリー向け男性の声 |
| ナレーション小然(旁白小然) | zh_female_xiaoran_narration_mars_bigtts | ドキュメンタリーのナレーション向け女性の声 |
オーディオブック(有声小说)
| 音声名 | 音声タイプ | 説明 |
|---|---|---|
| 読み聞かせ小桃(讲书小桃) | zh_female_jiangshuxiaotao_mars_bigtts | 物語を語る女性の声 |
| 温かな小晨(温暖小晨) | zh_male_wennuanxiaochen_mars_bigtts | 小説の朗読に適した温かみのある男性の声 |
ニュース放送(新闻播报)
| 音声名 | 音声タイプ | 説明 |
|---|---|---|
| ニュース小志(新闻小志) | zh_male_xinwenxiaozhi_mars_bigtts | 標準的なニュース放送向け男性の声 |
| ニュース小静(新闻小静) | zh_female_xinwenxiaojing_mars_bigtts | プロフェッショナルなニュース放送向け女性の声 |
| 広東語ニュース(粤语新闻) | zh_male_yueyuxiaowu_mars_bigtts | 広東語の男性ニュース音声 |
| 閩南語ニュース(闽南语新闻) | zh_female_minnanxiaoyue_mars_bigtts | 閩南語の女性ニュース音声 |
汎用・多言語(通用多语言)
| 音声名 | 音声タイプ | 説明 |
|---|---|---|
| 英語・穏やかな男性(英语男声-柔和) | en_male_mars_bigtts | 穏やかな英語の男性音声 |
| 英語・活発な女性(英语女声-活泼) | en_female_mars_bigtts | 活発な英語の女性音声 |
| 日本語・男性(日语男声) | ja_male_mars_bigtts | 日本語の男性音声 |
| 日本語・女性(日语女声) | ja_female_mars_bigtts | 日本語の女性音声 |
| 韓国語・男性(韩语男声) | ko_male_mars_bigtts | 韓国語の男性音声 |
| 韓国語・女性(韩语女声) | ko_female_mars_bigtts | 韓国語の女性音声 |
| フランス語・男性(法语男声) | fr_male_mars_bigtts | フランス語の男性音声 |
| フランス語・女性(法语女声) | fr_female_mars_bigtts | フランス語の女性音声 |
| ドイツ語・男性(德语男声) | de_male_mars_bigtts | ドイツ語の男性音声 |
| ドイツ語・女性(德语女声) | de_female_mars_bigtts | ドイツ語の女性音声 |
| スペイン語・男性(西班牙语男声) | es_male_mars_bigtts | スペイン語の男性音声 |
| スペイン語・女性(西班牙语女声) | es_female_mars_bigtts | スペイン語の女性音声 |
| ロシア語・男性(俄语男声) | ru_male_mars_bigtts | ロシア語の男性音声 |
| ロシア語・女性(俄语女声) | ru_female_mars_bigtts | ロシア語の女性音声 |
| ポルトガル語・男性(葡萄牙语男声) | pt_male_mars_bigtts | ポルトガル語の男性音声 |
| ポルトガル語・女性(葡萄牙语女声) | pt_female_mars_bigtts | ポルトガル語の女性音声 |
| イタリア語・男性(意大利语男声) | it_male_mars_bigtts | イタリア語の男性音声 |
| イタリア語・女性(意大利语女声) | it_female_mars_bigtts | イタリア語の女性音声 |
| アラビア語・男性(阿拉伯语男声) | ar_male_mars_bigtts | アラビア語の男性音声 |
| アラビア語・女性(阿拉伯语女声) | ar_female_mars_bigtts | アラビア語の女性音声 |
| ヒンディー語・男性(印地语男声) | hi_male_mars_bigtts | ヒンディー語の男性音声 |
| ヒンディー語・女性(印地语女声) | hi_female_mars_bigtts | ヒンディー語の女性音声 |
| タイ語・男性(泰语男声) | th_male_mars_bigtts | タイ語の男性音声 |
| タイ語・女性(泰语女声) | th_female_mars_bigtts | タイ語の女性音声 |
| ベトナム語・男性(越南语男声) | vi_male_mars_bigtts | ベトナム語の男性音声 |
| ベトナム語・女性(越南语女声) | vi_female_mars_bigtts | ベトナム語の女性音声 |
| インドネシア語・男性(印尼语男声) | id_male_mars_bigtts | インドネシア語の男性音声 |
| インドネシア語・女性(印尼语女声) | id_female_mars_bigtts | インドネシア語の女性音声 |
| マレー語・男性(马来语男声) | ms_male_mars_bigtts | マレー語の男性音声 |
| マレー語・女性(马来语女声) | ms_female_mars_bigtts | マレー語の女性音声 |
| フィリピン語・男性(菲律宾语男声) | fil_male_mars_bigtts | フィリピン語の男性音声 |
| フィリピン語・女性(菲律宾语女声) | fil_female_mars_bigtts | フィリピン語の女性音声 |
| トルコ語・男性(土耳其语男声) | tr_male_mars_bigtts | トルコ語の男性音声 |
| トルコ語・女性(土耳其语女声) | tr_female_mars_bigtts | トルコ語の女性音声 |
| オランダ語・男性(荷兰语男声) | nl_male_mars_bigtts | オランダ語の男性音声 |
| オランダ語・女性(荷兰语女声) | nl_female_mars_bigtts | オランダ語の女性音声 |
| ポーランド語・男性(波兰语男声) | pl_male_mars_bigtts | ポーランド語の男性音声 |
| ポーランド語・女性(波兰语女声) | pl_female_mars_bigtts | ポーランド語の女性音声 |
| ウクライナ語・男性(乌克兰语男声) | uk_male_mars_bigtts | ウクライナ語の男性音声 |
| ウクライナ語・女性(乌克兰语女声) | uk_female_mars_bigtts | ウクライナ語の女性音声 |
| ヘブライ語・男性(希伯来语男声) | he_male_mars_bigtts | ヘブライ語の男性音声 |
| ヘブライ語・女性(希伯来语女声) | he_female_mars_bigtts | ヘブライ語の女性音声 |
方言カテゴリ(方言场景)
| 音声名 | 音声タイプ | 説明 |
|---|---|---|
| 広東語の男性(粤语男声) | zh_male_yueyuzhongxing_mars_bigtts | 広東語の男性音声 |
| 広東語の女性(粤语女声) | zh_female_yueyumars_mars_bigtts | 広東語の女性音声 |
| 閩南語の男性(闽南语男声) | zh_male_taiminmars_mars_bigtts | 閩南語の男性音声 |
| 閩南語の女性(闽南语女声) | zh_female_minnanAImars_mars_bigtts | 閩南語の女性音声 |
| 四川語(四川话) | zh_male_sichuanmars_mars_bigtts | 四川方言の男性音声 |
| 上海語(上海话) | zh_female_shanghaihuamars_mars_bigtts | 上海語の女性音声 |
| 武漢方言(武汉话) | zh_male_wuhanmars_mars_bigtts | 武漢方言の男性音声 |
| 湖南方言(湖南话) | zh_male_hunanmars_mars_bigtts | 湖南方言の男性音声 |
| 河南方言(河南话) | zh_female_henanmars_mars_bigtts | 河南方言の女性音声 |
| 東北方言(东北话) | zh_male_dongbeimars_mars_bigtts | 東北方言の男性音声 |
| 山東方言(山东话) | zh_male_shandongmars_mars_bigtts | 山東方言の男性音声 |
| 天津方言(天津话) | zh_female_tianjinmars_mars_bigtts | 天津方言の女性音声 |
特殊カテゴリ
| 音声名 | 音声タイプ | 説明 |
|---|---|---|
| オーディオブックの小予(有声小予) | zh_female_xiaoyujingxisanguo_mars_bigtts | 三国志オーディオブックの音声 |
| アニメの小花(动漫小花) | zh_female_xiaohuadongman_mars_bigtts | アニメ風の音声 |
| ラップの小蔷(Rap小蔷) | zh_female_xiaoqiangrap_mars_bigtts | ラップ風の女性音声 |
| RAP将軍(Rap大将) | zh_male_rapgeneral_mars_bigtts | ラップ風の男性音声 |
| 賢者の声(智慧的声音) | zh_male_jinyumars_mars_bigtts | 賢く落ち着いた音声 |
| おしゃべり(唠唠叨叨) | zh_female_laolaodaodao_chat_mars_bigtts | おしゃべりな女性音声 |
| 北京の話し言葉(讲话北京) | zh_male_jianghuabeijing_speech_mars_bigtts | 北京なまり |
| ホストの小羊(主播小羊) | zh_female_xiaoyang_host_mars_bigtts | ストリーマーのホスト風 |
出力
生成された音声ファイルは、指定した出力パスに保存されます(デフォルト:現在のディレクトリのoutput.mp3)。
注意事項
- VOLCANO_TTS_APPID、VOLCANO_TTS_ACCESS_TOKEN、VOLCANO_TTS_SECRET_KEYの環境変数が設定されていることを確認してください
- mp3、pcm、wav形式に対応しています(デフォルトはmp3です)
- 速度の範囲:0.8~2.0(1.0が標準です)
- 音量の範囲:0.1~3.0(1.0が標準です)
- 音声タイプは
--list-voicesを使って確認できます - クラスターによって対応する音声タイプが異なる場合があります。デフォルトのクラスターは
volcano_ttsです - 中国語以外のテキストには、「General-Multilingual」カテゴリの多言語音声を使用してください
コメント
Markdown 対応