SuperAPI AI 工具集

IMS-Toucan

IMS-Toucan(ToucanTTS)是德国斯图加特大学自然语言处理研究所(IMS)开发的多语言文本转语音(TTS)工具包,支持超过7000种语言,以快速、可控、计算需求低为特点。用户可通过克隆仓库安装,使用预训练模型进行推理或微调训练,支持GPU训练与CPU推理。工具包提供Hugging Face在线演示、多语言语音数据集,代码与模型完全免费开源,并采用FastSpeech 2、HiFi-GAN、eSpeak-NG等现代技术。

访问官网

工具介绍

IMS-Toucan(又称ToucanTTS)是由德国斯图加特大学自然语言处理研究所(IMS)开发的一款文本转语音(Text-to-Speech, TTS)工具包,用于训练、使用和教学先进的语音合成系统。其核心系统ToucanTTS具备快速、可控的特点,且不需要大量计算资源,官方宣称支持超过7000种语言。该工具包完全免费,代码与模型开源,并在Hugging Face上提供免费的GPU在线演示以及大规模多语言TTS数据集。

用途:IMS-Toucan主要用于多语言文本到语音的合成,可应用于语音助手、朗读工具、语音交互界面等场景;同时也可作为研究教学平台,用于训练自定义语音模型或进行微调。

主要能力:支持超过7000种语言的语音合成;提供预训练模型,可下载用于推理;支持语言嵌入和说话人嵌入控制;支持控制语速、音高曲线方差、能量曲线方差等韵律参数;支持多GPU训练;提供在线交互式演示和数据集。

使用方式:推荐使用Python 3.10。安装时需克隆仓库。若需训练模型,机器应至少有一块支持CUDA的GPU;推理则无需GPU。Linux下需安装特定依赖(通常预装),并建议创建虚拟环境。Windows需根据venv文档调整命令。使用GPU时,Linux无需额外操作;Windows需参考PyTorch官网安装支持GPU的版本。可通过编辑Utility/storage_config.py自定义模型和缓存存储路径。预训练模型会自动从Hugging Face下载。eSpeak-NG为可选依赖,用于处理多种语言的特殊情况。Linux下通常已安装,Windows需下载.msi安装包并设置PHONEMIZER_ESPEAK_LIBRARY环境变量;Mac安装较复杂,可参考相关指南,安装后同样需设置该环境变量指向libespeak-ng.dylib。

推理时,通过InferenceInterfaces/ToucanTTSInterface.py加载模型,可设置语言与说话人嵌入。提供read_to_file(将字符串列表合成为音频文件)和read_aloud(直接播放合成语音)两种方法。示例见run_interactive_demo.py和run_text_to_file_reader.py。韵律参数可在代码中调整或传递给接口。

训练自定义模型需创建Recipe:在Utility/path_to_transcript_dicts.py中编写函数返回音频路径与转录文本的字典;在TrainingInterfaces/Recipes下复制finetuning_example_simple.py(单数据集)或finetuning_example_multilingual.py(多数据集)进行修改,替换path_to_transcript_dict、缓存目录名、save_dir,并将lang改为对应ISO 639-3语言ID。如需从头训练,参考名称含ToucanTTS的pipeline。最后在run_training_pipeline.py中导入run函数并注册到pipeline_dict。训练时可指定GPU ID(多GPU用逗号分隔并配合torchrun),支持Weights & Biases日志。每轮或指定步数后保存检查点,仅保留最近五个,同时生成用于推理的best.py。若出现CUDA内存不足,需减小batchsize。

适用场景:多语言语音合成研究、低资源语言TTS开发、语音克隆与韵律控制实验、教学演示等。

限制:虽然支持7000+语言,但具体每种语言的合成质量可能受训练数据影响;训练需要GPU,数据质量不佳可能导致损失NaN;部分警告信息(如xFormers加载失败、torchaudio后端切换等)可忽略。