1. Fish-Speech 1.4 是什么能做什么如果你正在寻找一个强大且开源的文本转语音TTS工具Fish-Speech 1.4 绝对值得一试。这个由Fish Audio团队开发的多语言TTS模型在语音合成的自然度和多语言支持方面都有显著提升。我实测过它的英文、中文和日文合成效果发音准确度堪比商业级产品。相比前代版本1.4版主要优化了三方面首先是语音质量特别是对东亚语言的音调处理更加自然其次是推理速度在我的RTX 3060显卡上生成1分钟语音只需约3秒最重要的是新增了对德语、法语等欧洲语言的支持。对于开发者来说最吸引人的是它完全开源且支持本地部署这意味着你可以完全掌控数据隐私。这个工具特别适合三类人群一是需要多语言语音合成的应用开发者二是想要研究TTS技术的学生或研究人员三是注重隐私、不希望语音数据外传的企业用户。我自己就把它用在了智能家居项目中用来生成个性化的语音提醒。2. Windows环境部署全流程2.1 前期准备工作在开始安装前建议准备至少16GB内存和NVIDIA显卡显存不低于6GB。我曾在笔记本的GTX 1650上测试虽然能运行但生成速度会慢很多。首先需要下载两个关键文件主模型文件 fish-speech-1.4.pth声码器 firefly-gan-vq-fsq-8x1024-21hz-generator.pth这两个文件加起来约3GB建议提前下载好。官方推荐放在checkpoints目录下但实际测试发现任何路径都可以只要在配置文件中正确指定即可。有个小技巧如果下载速度慢可以尝试用aria2c多线程下载工具。2.2 Python环境配置我强烈建议使用conda创建独立环境避免与其他项目冲突。以下是详细步骤conda create -n fish-speech python3.10 conda activate fish-speech这里有个坑要注意Python 3.11及以上版本可能会有兼容性问题。我试过3.12结果在编译扩展时报错。如果已经安装了其他版本可以用conda install python3.10降级。2.3 PyTorch安装指南PyTorch的安装是最容易出问题的环节。根据我的经验直接使用官方命令安装的CUDA版本经常不匹配。推荐先手动下载预编译的whl文件pip install torch-2.4.1cu121-cp310-cp310-win_amd64.whl然后再安装配套的torchvision和torchaudiopip3 install torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121如果遇到网络问题可以尝试清华源但要注意有时会导致依赖冲突。我建议先用官方源失败后再换源重试。3. 核心组件安装与配置3.1 Fish-Speech本体安装克隆仓库后进入项目目录运行pip3 install -e .这个-e参数代表可编辑安装方便后续修改代码。安装过程中可能会提示缺少某些依赖根据报错信息逐个安装即可。我遇到最多的是onnxruntime和transformers的版本冲突这时可以指定版本号pip install onnxruntime-gpu1.16.0 transformers4.38.03.2 Triton加速器安装对于想要提升性能的用户Triton加速器是必选项。它能让推理速度提升30%以上。Windows用户需要手动安装预编译版本pip install https://github.com/AnyaCoder/fish-speech/releases/download/v0.1.0/triton_windows-0.1.0-py3-none-any.whl安装后建议运行简单测试import triton print(triton.__version__) # 应该输出0.1.0如果导入失败可能是CUDA版本不匹配。这时需要检查CUDA工具包是否为12.1版本。3.3 模型文件配置将下载的模型文件放入checkpoints目录后需要修改配置文件configs/tts.py。主要关注这几个参数model_path: 指向主模型文件vocoder_path: 指向声码器文件device: 设置为cuda使用GPU我建议把绝对路径改为相对路径这样迁移项目时更方便。例如model_path checkpoints/fish-speech-1.4.pth4. 启动与使用技巧4.1 WebUI启动方法运行start.bat后会启动两个服务管理界面: http://localhost:7860推理API: http://127.0.0.1:7862如果端口冲突可以修改webui.py中的launch()参数。我习惯把7860改为7960避免与其他服务冲突。4.2 多语言合成实战在推理界面语言选择框支持10种语言。实测发现几个实用技巧中文合成时适当调整speech speed到0.8效果更自然英文建议开启auto punctuation选项混合语言文本可以用[lang:en]标签指定片段语言例如输入[lang:en]Hello world![lang:zh]你好世界会生成中英混合的语音。4.3 常见问题排查如果遇到CUDA out of memory错误可以尝试减小batch_size参数使用half()模式减少显存占用在configs/tts.py中设置use_fp16True我在RTX 3060上测试默认配置可以流畅运行。但如果要处理长文本超过200字建议分段处理。5. 高级优化方案5.1 量化加速技术对于低配显卡可以尝试模型量化model model.half() # 转为半精度这能减少约40%显存占用代价是轻微的音质损失。我在GTX 1650上测试量化后生成速度从15秒缩短到8秒。5.2 自定义语音训练虽然Fish-Speech主要支持预训练模型但也可以微调准备至少1小时干净语音数据修改train.py中的数据集路径调整学习率等超参数建议从少量数据开始逐步增加。我试过用3小时数据微调中文模型合成效果有明显提升。5.3 API集成示例对于开发者可以直接调用推理APIimport requests url http://127.0.0.1:7862/run/predict data { data: [你好这是测试文本, zh, 1.0] } response requests.post(url, jsondata) audio response.json()[data][0]这个接口返回base64编码的wav音频可以直接用于网页播放或保存为文件。