文章摘要
Sopro是一个轻量级英文文本转语音模型,采用类WaveNet的扩张卷积和轻量级交叉注意力层架构,支持零样本语音克隆。该模型仅1.69亿参数,可在CPU上实现0.25实时率,用3-12秒参考音频即可克隆声音。作为低成本项目(单L40S GPU训练),虽非最优但具有实用价值。
文章总结
Sopro TTS:轻量级文本转语音模型(支持零样本语音克隆)
项目简介
Sopro(源自葡萄牙语"呼吸/吹气")是一个轻量级英语文本转语音模型,由开发者Samuel Vitorino作为业余项目训练完成。该模型采用扩张卷积结构(类似WaveNet)和轻量级交叉注意力层,而非常见的Transformer架构。虽然性能未达业界最优,但作为仅用单块L40S显卡训练的低成本项目,其表现已足够亮眼。
核心特性
- 169万参数的紧凑模型
- 实时流式生成能力
- 零样本语音克隆(仅需3-12秒参考音频)
- CPU端0.25实时因子(M3芯片上30秒音频仅需7.5秒生成)
安装方式
1. 通过PyPI安装:pip install sopro
2. 源码安装:
bash
git clone https://github.com/samuel-vitorino/sopro
cd sopro
pip install -e .
使用示例
- 命令行调用:
bash
soprotts --text "示例文本" --ref_audio ref.wav --out out.wav
支持调节temperature、top_p等参数,以及控制语音相似度的--style_strength选项。
- Python API:
python from sopro import SoproTTS tts = SoproTTS.from_pretrained("samuel-vitorino/sopro") wav = tts.synthesize("文本内容", ref_audio_path="ref.wav")
交互式演示
安装后运行uvicorn demo.server:app启动Web界面,或通过Docker容器部署。访问http://localhost:8000即可体验实时流式合成。
注意事项
- 语音克隆质量受麦克风、环境噪音影响较大
- 建议将数字/符号转为读音(如"1+2"改为"1加2")
- 流式与非流式版本存在细微差异,后者音质更优
- 当前限制生成32秒以内音频(约400帧)
训练数据
包含Emilia YODAS、LibriTTS-R、Common Voice 22等多个开源数据集。开发者表示未来将发布训练代码,并欢迎通过Buy Me a Coffee支持项目发展。
(注:原文中的技术实现细节、依赖项说明等次要内容已适当精简,保留核心功能和使用指南。)
评论总结
以下是评论内容的总结:
正面评价:多数用户认为该技术令人印象深刻且实用,尤其赞赏其本地运行和语音克隆能力。
- "Very cool. I'd love a slightly larger version with hopefully improved voice quality."(评论1)
- "Impressive! The cloning and voice affect is great."(评论2)
改进建议:部分用户希望提升语音质量或开发更高性能版本。
- "Has a slight warble in the voice on long vowels, but not a huge issue."(评论2)
- "Would you consider releasing a more capable version that renders with fewer artifacts?"(评论5)
替代方案:有用户推荐其他高质量TTS工具(如Chatterbox-TTS-Server)。
- "IMO, the best alternative is Chatterbox-TTS-Server [0] (slower, but quite high quality)."(评论3)
技术疑问:包括对"zero-shot"含义的询问(评论7)及实时语音转换的可行性探讨(评论8)。
伦理担忧:部分用户强烈质疑技术可能被滥用(如诈骗)。
- "A scammers dream."(评论11)
- "All I see is my elderly family members getting 'me' on their phones asking for help."(评论12)
开发需求:包括多语言支持(评论6)和移动端移植需求(评论9)。
技术细节:有用户关注模型参数构成(评论10)和具体语音效果(评论13)。
注:所有评论均未显示评分(None),故无法评估社区认可度。正面评价与批评意见的比例约为6:2,主要分歧集中在技术潜力与伦理风险之间。