【原创】【下载】ModelScope SamBERT-HiFiGAN TTS — Windows 一键安装工具
ModelScope SamBERT-HiFiGAN TTS — Windows 一键安装工具简介本工具套装用于在Windows Python 3.12环境下一键完成 ModelScope魔搭社区sambert-hifigan中文语音合成模型的下载、安装与修复适配。模型来源damo/speech_sambert-hifigan_tts_zh-cn_16k发音人知甜、知言、知哲、知蓓4 种中文女/男声依赖工具使用本工具前请确保已安装以下软件工具最低版本说明下载Python3.9 (推荐 3.12)必须勾选「Add Python to PATH」python.orgpip≥ 23.0Python 自带运行pip install --upgrade pip升级即可—网络—需要访问 PyPI 和 GitHub下载模型约 50MB KAN-TTS 源码约 5MB—注意不需要安装 Git脚本通过 HTTP 直接下载 zip 包对无 Git 的 Windows 环境友好。文件说明ModelScope_TTS_Windows_Toolkit/ ├── README.md # 本文件 ├── setup.bat # 主安装脚本双击运行 ├── fix_pqmf.py # 修复 scipy ≥1.13 中 kaiser API 变更 ├── create_ttsfrd_stub.py # 创建 Windows 版 ttsfrd 占位模块 └── diagnose.py # 安装后诊断验证快速开始确保 Python 已正确安装终端中输入python --version能输出版本号双击setup.bat等待自动完成首次约 5-10 分钟取决于网络速度看到安装成功即完成也可以手动分布执行# 仅诊断不安装python diagnose.py# 仅修复 scipy 兼容python fix_pqmf.py# 仅创建 ttsfrd stubpython create_ttsfrd_stub.pysetup.bat 自动化流程┌─────────────────────────────────────┐ │ Step 1 检查 Python 环境 │ ├─────────────────────────────────────┤ │ Step 2 安装 9 个 pip 依赖 │ │ numpy, addict, datasets, │ │ scipy, simplejson, │ │ sortedcontainers, matplotlib │ │ modelscope │ ├─────────────────────────────────────┤ │ Step 3 从 GitHub 下载 KAN-TTS 源码 │ │ (alibaba-damo-academy) │ ├─────────────────────────────────────┤ │ Step 4 修改 Python 版本限制 │ │ (3.7.0, 3.9 → 3.7.0) │ │ 安装 kantts (--no-deps) │ ├─────────────────────────────────────┤ │ Step 5 复制遗漏目录 │ │ hifigan (声码器) │ │ preprocess (前端资源) │ │ 修复 scipy kaiser 兼容性 │ ├─────────────────────────────────────┤ │ Step 6 创建 ttsfrd Windows Stub │ │ (Linux C 扩展的替代方案) │ ├─────────────────────────────────────┤ │ Step 7 运行 diagnose.py 验证安装 │ └─────────────────────────────────────┘已处理的兼容性问题#问题影响解决方式1PyPI 上kantts是假包 (1.3KB)无法正常 import从 GitHub 下载 KAN-TTS 源码安装2KAN-TTS 限制python_requires 3.93.9 无法安装脚本自动修改setup.py3pip install遗漏hifigan目录声码器加载失败脚本自动从源码复制4pip install遗漏preprocess目录前端资源缺失脚本自动从源码复制5scipy.signal.kaiserAPI 变更 (≥1.13)pqmf.pyimport 报错fix_pqmf.py自动修复为scipy.signal.windows.kaiser6ttsfrd是 Linux 专属 C 扩展模型初始化失败create_ttsfrd_stub.py创建 Windows stub 模块待补齐方案当前安装完成后模型能成功初始化但由于ttsfrd中文文本前端在 Windows 上是 stub 占位模块以下功能受限问题分析用户输入文本 │ ▼ ttsfrd (C 扩展Linux 专有) ← 当前 Windows 上是空壳 │ 文本 → 音素序列 → mel 风格嵌入 ▼ SamBERT 声学模型 │ ▼ HiFiGAN 声码器 │ ▼ WAV 音频输出ttsfrd负责将中文文本转为音素序列和风格嵌入是整个 pipeline 的入口。当前 stub 的text_to_mel()返回None导致生成的音频文件仅为空文件头44 bytes。补齐方案三选一推荐方案 A方案 A纯 Python 文本前端替代推荐用 Python 生态中的现有库实现与ttsfrd等价的功能组件替代库安装说明汉字 → 拼音pypinyinpip install pypinyin带声调/不带声调拼音拼音 → 音素g2pMpip install g2pM普通话 G2P 转换中文分词jiebapip install jieba结巴分词韵律预测pypinyin-dictpip install pypinyin-dict补充词库实现思路修改SambertHifigan.forward()方法在调用ttsfrd之前拦截文本用pypinyin g2pM替代TtsFrontendEngine.text_to_mel()的功能输出与原始 pipeline 兼容的音素格式。预计工作量需要对照 KAN-TTS 中ling_unit/的音素映射表PhoneSet.xml编写转换逻辑约 200-300 行 Python。方案 BDocker / WSL2 方案通过 WSL2 或 Docker 在 Windows 上运行 Linux 环境直接使用原生ttsfrd。# WSL2 中pipinstallttsfrd优点无需修改代码功能完整缺点需要安装 WSL2占用额外磁盘空间跨环境调用复杂度上升方案 C切换到 Windows 原生 TTS 引擎放弃 ModelScope改用以下 Windows 生态方案引擎安装特点Edge TTSpip install edge-tts免费调用微软 Edge 在线语音音质好pyttsx3pip install pyttsx3离线调用 Windows SAPI5 本地语音Coqui TTSpip install TTS开源支持中文模型离线运行推荐路径当前状态 (setup.bat 完成) │ ├──→ 方案 A推荐: │ 实现 pypinyin g2pM 文本前端 │ 补全 text_to_mel() 逻辑 │ 实现完整离线 TTS │ ├──→ 方案 B: │ 安装 WSL2在 Linux 子系统中运行 │ 获得完整 ttsfrd 功能 │ └──→ 方案 C: 切换到 Edge TTS / pyttsx3 无需修复直接可用验证安装运行诊断脚本确认各项功能状态python diagnose.py正常输出示例 ModelScope TTS 诊断工具 模型: damo/speech_sambert-hifigan_tts_zh-cn_16k Python: 3.12.x [modelscope 导入] ... ✓ PASS [kantts 导入] ... ✓ PASS [kantts.datasets 导入] ... ✓ PASS [kantts.models.hifigan 导入] ... ✓ PASS [kantts.preprocess 目录] ... ✓ PASS [ttsfrd stub] ... ✓ PASS [SambertHifigan 模型加载] ... ✓ PASS [推理测试] ... ✓ PASS 结果: 共 8 项, 通过 8, 失败 0 状态: ✓ ModelScope TTS 引擎完全可用 下载链接https://download.csdn.net/download/fogota/93146852常见问题Q1: 下载 KAN-TTS 失败GitHub 下载可能因网络问题失败可手动下载https://github.com/alibaba-damo-academy/KAN-TTS/archive/refs/heads/master.zip下载后解压到ModelScope_TTS_Windows_Toolkit/temp_kan/目录下重新运行setup.bat脚本检测到已有缓存会跳过下载。Q2: pip 安装报 SSL 错误pipinstall--trusted-host pypi.org --trusted-host files.pythonhosted.org包名或在setup.bat的 pip 命令中添加--trusted-host参数。Q3: 首次运行模型下载慢模型文件约 50MB托管在 ModelScope 国内节点速度通常在 1-5 MB/s。如遇下载慢可设置镜像setMODELSCOPE_CACHE./modelsQ4: 可以用在其他 Python 版本吗Python 3.9-3.11 无需修改setup.py的版本限制KAN-TTS 原始支持 ❤️.9脚本仍可正常运行。3.13 未测试。许可本工具套装仅用于安装和适配开源组件各组件遵循其原始许可协议KAN-TTS: MIT LicenseModelScope: Apache 2.0本工具脚本: MIT License