Fish Audio S2 环境依赖清单
锁定 2026-04 验证成功的版本。下次开新实例时照此部署。
一、GPU 实例(恒源云 gpushare.com)
硬件
| 项目 | 规格 |
|---|---|
| 显卡 | RTX 3090 24GB(最低 16GB 可跑但紧张) |
| 费用 | ¥1.32/时(按量计费) |
| 数据盘 | 勾选,模型保存在 /root/autodl-tmp/ 不丢失 |
系统依赖
Python 环境
Fish Speech 代码 + 模型
WORKDIR=/root/autodl-tmp/fish-speech
mkdir -p $WORKDIR && cd $WORKDIR
# 克隆(锁定版本)
git clone https://github.com/fishaudio/fish-speech.git
cd fish-speech
# 当前仓库版本: fish-speech==2.0.0 (v2.0.0-beta 及之后)
# 创建环境
conda create -n fish-speech python=3.12 -y
conda activate fish-speech
# 安装(CUDA 12.9,与 RTX 3090 兼容)
pip install -e ".[cu129]"
Fish Speech 核心依赖(由 pip install 自动安装)
torch==2.8.0
torchaudio==2.8.0
transformers<=4.57.3
datasets==2.18.0
lightning>=2.1.0
hydra-core>=1.3.2
numpy
einops>=0.7.0
librosa>=0.10.1
gradio>5.0.0
uvicorn>=0.30.0
loguru>=0.6.0
loralib>=0.1.2
resampy>=0.4.3
einx[torch]==0.2.2
pydantic==2.9.2
pydub
pyaudio
silero-vad
ormsgpack
tiktoken>=0.8.0
opencc-python-reimplemented==0.1.7
descript-audio-codec
safetensors
modelscope==1.17.1
模型权重(~8GB,下载一次持久化)
HuggingFace: fishaudio/fish-speech-s2-pro (旧名)
或 fishaudio/s2-pro (新名)
本地路径: checkpoints/s2-pro/ 或 checkpoints/fish-speech-s2-pro/
关键文件: codec.pth + Llama 权重
python -c "
from huggingface_hub import snapshot_download
snapshot_download(
repo_id='fishaudio/s2-pro',
local_dir='checkpoints/s2-pro'
)
"
启动 API 服务
conda activate fish-speech
cd /root/autodl-tmp/fish-speech/fish-speech
# 基本启动
python -m tools.api \
--listen 0.0.0.0:8080 \
--llama-checkpoint-path checkpoints/s2-pro
# 或带 compile 加速(首次慢 5 分钟,后续快 10x)
python -m tools.api \
--listen 0.0.0.0:8080 \
--llama-checkpoint-path checkpoints/s2-pro \
--compile
端口映射(恒源云)
- 恒源云控制台 → 自定义服务 → 开启
- 映射端口 8080 → 获取公网地址(如
http://i-1.gpushare.com:47555)
二、本地机器(调用端)
Python 环境
本地依赖
httpx 0.28.1 # Fish Audio API 调用
edge-tts 已安装 # 备用 TTS(Fish Audio 宕机时 fallback)
pydub 已安装 # 音频合并、格式转换
Pillow 10.2.0 # 幻灯片图片生成
ffmpeg 6.1.1 # 音视频处理后端
环境变量(.env)
# Fish Audio(必填)
FISH_AUDIO_API_URL=http://i-1.gpushare.com:47555 # 恒源云公网地址
FISH_AUDIO_HOST_VOICE=/home/ai/lingtongask/voices/lingtong/voice_clip_15s.wav
FISH_AUDIO_GUEST_VOICE=/home/ai/lingtongask/voices/lingtong/voice_clip_15s.wav
TTS_ENGINE=fish_audio
参考音频(本地已有)
voices/lingtong/voice_clip_15s.wav # 15秒灵通参考音频(主用)
voices/lingtong/voice_clip_45s.wav # 45秒版本(备选)
voices/lingtong/voice_sample.wav # 原始样本
三、快速重建清单(下次开新实例)
# 1. 开实例: RTX 3090, 勾选数据盘
# 2. SSH 连接后:
cd /root/autodl-tmp
# 如果首次: git clone + 下载模型(见上方)
# 如果数据盘已有模型:
cd /root/autodl-tmp/fish-speech/fish-speech
conda create -n fish-speech python=3.12 -y
conda activate fish-speech
pip install -e ".[cu129]"
# 启动服务
python -m tools.api --listen 0.0.0.0:8080 \
--llama-checkpoint-path checkpoints/s2-pro --compile
# 3. 恒源云控制台映射端口 8080
# 4. 本地更新 .env 中的 FISH_AUDIO_API_URL
# 5. 开始合成
四、已知问题与注意事项
| 问题 | 说明 |
|---|---|
| Fish Audio 返回 WAV | 不是 MP3,代码中需兼容 .wav |
| 服务器超时频繁 | 默认 120s read timeout,长文本需拆分(≤80字/段) |
| Edge TTS 备用 | 部分中文文本 YunxiNeural 会失败,需 fallback 到 YunjianNeural |
| 显存需求 | S2-Pro 4B FP16 占 ~10GB,3090 24GB 足够 |
| 非商业许可 | S2-Pro 开源但非商业,商业部署需联系 Fish Audio |
| 数据盘路径 | 恒源云: /root/autodl-tmp/,AutoDL: /root/autodl-tmp/,其他平台可能不同 |
| compile 首次启动 | 首次 ~5 分钟编译,之后推理快 10x。只用几分钟就关机的话不值得开 |
五、GPU 使用计划
核心原则:
1. 开机前 — 本地验证脚本、确认参考音频、检查余额
2. 开机后 — 一键部署 (scripts/gpu_deploy_and_start.sh) → 端口映射 → 合成 → 验证
3. 关机前 — 确认数据已保存到数据盘,本地已拿到产物
下次必做任务:EP052 重做 6 个 Edge TTS 片段(~25 分钟 GPU 时间,¥0.55)