mcpField
D
doubao-open-tts

doubao-open-tts

github.com/xdrshjr创意与媒体1120 次安装38 周前更新
代码仓库

关于 doubao-open-tts

基于 Doubao(Volcano Engine)API V1 的文本转语音技能,供命令行和 Python 用户将文本生成为音频。提供多类语音、格式选择及语速和音量调节。

主要功能

  1. 01提供多种分类语音
  2. 02支持 MP3、PCM 和 WAV
  3. 03调节语速与音量
  4. 04提供命令行和 Python API
  5. 05按类别浏览语音

适用场景

  1. 01将文本文件转换为语音音频
  2. 02为多语言文本选择对应语音
  3. 03生成可调语速和音量的旁白

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/xdrshjr/jr-openclaw-skills --skill doubao-open-tts

安装后在 Claude Code 中输入/doubao-open-tts确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.env.example.txt
requirements.txt
scripts/
test_tts.py
tts.py

详细介绍

Doubao Open TTS

使用 Doubao(火山引擎)API V1 接口的文本转语音(TTS)服务,可将文本转换为自然流畅的语音。

功能

  • 🎙️ 200 多种语音选项 - 默认使用适用于通用场景的 Shiny(灿灿)
  • 🔊 多种音频格式 - 支持 mp3、pcm、wav
  • ⚡ 可调参数 - 可控制语速和音量
  • 📦 双接口 - 命令行工具 + 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专业的女主持人声音
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小蔷(Rap小蔷)zh_female_xiaoqiangrap_mars_bigttsRap 风格女声
Rap大将(Rap大将)zh_male_rapgeneral_mars_bigttsRap 风格男声
智慧的声音(智慧的声音)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)。

注意事项

  1. 确保已设置 VOLCANO_TTS_APPID、VOLCANO_TTS_ACCESS_TOKEN 和 VOLCANO_TTS_SECRET_KEY 环境变量
  2. 支持 mp3、pcm 和 wav 格式(默认使用 mp3)
  3. 语速范围:0.8-2.0(1.0 为正常语速)
  4. 音量范围:0.1-3.0(1.0 为正常音量)
  5. 可使用 --list-voices 查看声音类型
  6. 不同集群可能支持不同的声音类型;默认集群为 volcano_tts
  7. 对于非中文文本,请使用“General-Multilingual”类别中的多语言音色

评论

支持 Markdown