- 集成 VAD(语音活动检测)持续监听功能,基于 Silero VAD 模型实现本地化语音检测。
- 新增 STT(语音转文字)功能,结合硅基流动 API 实现语音识别。
- 添加 VAD 相关资源文件(ONNX 模型、WASM 运行时等)到项目中。
- 优化前端错误处理机制,所有信息通过日志框显示,移除弹窗提示。
- 优化 TTS 转换逻辑,确保失败时正确处理音频队列和临时文件清理。
- 优化音频录制功能,增加音量检测和说话段录音逻辑,改进静音处理。
- 更新项目文档(AGENTS.md),添加音频处理和依赖项说明。
- 添加播放译文选项,优化音频播放队列管理。
- 删除不再需要的文件和脚本,更新 .gitignore 以排除 uv.lock。
- 添加音频播放队列和后台任务,优化音频播放管理。
一个现代化的文本转语音(TTS)Web应用,支持多种TTS引擎,提供Web界面和API接口。
-
🎤 多引擎支持
- Edge TTS(微软语音合成)
- 阿里百炼 CosyVoice(阿里云语音合成)
- 阿里百炼 SamBert(阿里云语音合成)
-
🎨 Web界面 - 提供友好的Web UI进行文本转语音
-
🔊 灵活的输出选项
- 直接播放音频
- 下载音频文件
- 通过OSC协议发送数据到VRCHAT
-
📝 丰富的音色选择
- Edge TTS:8种中文发音人
- 阿里百炼CosyVoice:20+种发音人
- 阿里百炼SamBert:40+种发音人
- Python 3.8+
- Windows系统(需要Windows音频驱动支持)
推荐方式:使用 启动.bat 文件
直接双击运行 启动.bat 文件,脚本会自动安装依赖并启动应用。
手动方式:
pip install -r requirements.txt依赖包括:
pygame-ce- 音频播放quart- 异步Web框架edge-tts- 微软Edge TTSdashscope- 阿里百炼SDKlibrosa- 音频处理python-osc- OSC协议支持
如需使用阿里百炼TTS,在Web界面中输入API密钥即可,无需修改配置文件。
在Web界面输入API密钥:
- 启动应用后,打开
http://localhost:1145 - 在Web界面的设置面板中找到 "API密钥" 输入框
- 粘贴您的阿里百炼API密钥
- 保存设置
获取API密钥: 访问阿里云DashScope官网
推荐方式:使用批处理文件(Windows)
直接双击运行 启动.bat 文件,脚本会自动完成以下操作:
- 检查并安装Python依赖
- 启动TTS Web应用
- 自动打开浏览器访问应用
手动启动方式:
python app.py应用启动后,打开浏览器访问:http://localhost:1145
💡 提示:首次运行时,
启动.bat会自动安装所有必要的依赖,之后可以直接双击启动。
在Web界面上可以配置以下选项:
- TTS引擎 - 选择使用的TTS服务
- 发音人 - 根据选择的引擎显示对应的发音人列表
- API密钥 - 输入阿里百炼的API密钥(如使用阿里百炼TTS)
- 输出设备 - 选择音频输出设备
- 自动播放 - 是否自动播放合成的语音
- 下载音频 - 是否同时保存音频文件
编辑 config.json 可配置以下基础选项(大多数设置可在Web界面修改):
| 配置项 | 说明 | 默认值 |
|---|---|---|
provider |
选择TTS引擎 | Edge TTS |
edge_tts_voice |
Edge TTS发音人 | zh-CN-XiaoxiaoNeural |
ali_tts_voice |
阿里百炼CosyVoice发音人 | 龙婉-普通话-语音助手、导航播报、聊天数字人 |
sambert_tts_voice |
阿里百炼SamBert发音人 | 知婧-严厉女声-通用场景 |
device |
音频输出设备 | 默认设备 |
isplayaudio |
是否自动播放音频 | true |
isdownload |
是否下载音频文件 | false |
若需要将TTS输出用于直播或录制,推荐使用虚拟声卡:
1. 安装虚拟声卡软件
- VB-Audio Virtual Cable(推荐,免费版可用)
- Virtual Audio Cable(付费)
2. 配置虚拟声卡
- 在Windows中设置虚拟声卡为默认播放设备
- 在应用Web界面的"输出设备"选项中选择虚拟声卡
- 测试语音输出
3. 在直播/录制软件中
- 设置音频输入源为虚拟声卡
- 进行直播或录制
示例流程:
- 安装 VB-Cable → 设为默认设备 → 在本应用中选择 VB-Audio Virtual Cable → 在OBS/直播软件中选择该虚拟设备作为输入源
女声:
- zh-CN-XiaoxiaoNeural(晓晓,温暖)
- zh-CN-XiaoyiNeural(晓伊,活泼)
- zh-CN-liaoning-XiaobeiNeural(辽宁晓北,幽默)
- zh-CN-shaanxi-XiaoniNeural(陕西晓妮,明亮)
男声:
- zh-CN-YunjianNeural(云健,热情)
- zh-CN-YunxiNeural(云希,活泼/阳光)
- zh-CN-YunxiaNeural(云笑,可爱)
- zh-CN-YunyangNeural(云阳,专业/可靠)
包含20+种发音人,如:
- 龙婉(语音助手、导航播报、聊天数字人)
- 龙橙(语音助手、导航播报、聊天数字人)
- 龙华(语音助手、导航播报、聊天数字人)
- 龙小淳(普通话+英文)
- 龙老铁(东北口音)
- 等等...
包含40+种发音人,支持中文、英文、西班牙语、意大利语、印尼语、法语、德语、泰语等多语言,如:
- 知琪(温柔女声)
- 知佳(标准女声)
- 知茹(新闻女声)
- 知楠(广告男声)
- Clara(法语女声)
- Beth(咨询女声)
- 等等...
nieTTS2.0/
├── app.py # 主应用文件
├── config.json # 配置文件
├── requirements.txt # 依赖列表
├── README.md # 项目说明
├── 启动.bat # Windows启动脚本
├── templates/ # Web模板文件夹
│ └── index.html # Web界面
└── save/ # 音频保存文件夹
应用提供以下REST API端点(具体见 Web 界面):
GET /- Web界面主页POST /synthesize- 文本转语音合成GET /voices- 获取可用发音人列表GET /config- 获取当前配置
见 LICENSE 文件
- Edge TTS:无需额外配置,开箱即用
- 阿里百炼TTS:需要有效的API密钥,可在Web界面输入框中输入(推荐)或修改config.json
- 音频播放:需要Windows系统支持,建议在操作系统中正确配置音频设备
- 输出设备选择:
- 若要直接播放:选择扬声器或耳机
- 若要用于直播/录制:选择虚拟声卡(VB-Cable等)
- 若要发送到VRChat:需配置虚拟声卡后,在VRChat中选择对应的麦克风设备
- OSC功能:默认向本地127.0.0.1:9000发送OSC数据(用于VRChat等支持OSC的应用)
- 检查音频设备是否正确连接
- 确认
config.json中的device设置正确 - 尝试重新启动应用
- 确认已在Web界面输入正确的API密钥
- 检查API密钥是否过期或无效
- 确保API密钥对应的账户有充足的配额
- 访问阿里云DashScope官网更新密钥或查看配额
- 确保音频设备已正确连接或虚拟声卡已安装
- 重新启动应用以刷新设备列表
- 在Windows设备管理器中检查音频设备状态
- 检查虚拟声卡是否正确安装
- 确认Web界面已选择正确的虚拟声卡设备
- 在Windows音频设置中将虚拟声卡设为默认设备
- 尝试重新启动应用
- 修改应用中的端口配置(需修改app.py中的监听端口)
- 或关闭占用该端口的其他应用
欢迎提交Issue和Pull Request!
最后更新: 2026年3月22日