项目简介
fish speech:全新的文本转语音(tts)凯发k8国际真人的解决方案,具有高度自定义和灵活性,支持linux和windows系统,需要2gb的gpu内存进行,使用flash-attn进行和训练,支持vqgan和text2semantic模型
要求
- gpu内存:2gb(用于),24gb(用于微调)
- 系统:linux(全部功能),windows(仅推理,不支持flash-attn,不支持torch.compile)
因此,我们强烈建议windows用户使用wsl2或docker来运行代码库。
设置
# 基本环境设置
conda create -n fish-speech python=3.10
conda activate fish-speech
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
# 安装 flash-attn(适用于linux)
pip3 install ninja && max_jobs=4 pip3 install flash-attn --no-build-isolation
# 安装 fish-speech
pip3 install -e .
推理(cli)
从我们的 huggingface 仓库下载所需的 vqgan 和 text2semantic 模型。
wget https://huggingface.co/fishaudio/speech-lm-v1/raw/main/vqgan-v1.pth -o checkpoints/vqgan-v1.pth
wget https://huggingface.co/fishaudio/speech-lm-v1/blob/main/text2semantic-400m-v0.1-4k.pth -o checkpoints/text2semantic-400m-v0.1-4k.pth
[可选] 从语音生成 prompt:
python tools/vqgan/inference.py -i paimon.wav --checkpoint-path checkpoints/vqgan-v1.pth
你应该能得到一个 fake.npy 文件。
从文本生成语义 token:
python tools/llama/generate.py \
--text "要转换的文本" \
--prompt-string "你的参考文本" \
--prompt-tokens "fake.npy" \
--checkpoint-path "checkpoints/text2semantic-400m-v0.1-4k.pth" \
--num-samples 2 \
--compile
该命令会在工作目录下创建 codes_n 文件,其中 n 是从 0 开始的整数。您可能希望使用 –compile 来融合 cuda 内核以实现更快的推理(~30 个 token/秒 -> ~500 个 token/秒)
从语义 token 生成人声:
python tools/vqgan/inference.py -i codes_0.npy --checkpoint-path checkpoints/vqgan-v1.pth
rust 数据服务器
由于加载和洗牌数据集非常缓慢且占用内存,因此我们使用 rust 服务器来加载和洗牌数据集。该服务器基于 grpc,可以通过以下方式安装
cd data_server
cargo build --release
项目链接
https://github.com/fishaudio/fish-speech
未经允许不得转载:凯发k8国际真人 » fish speech:全新的文本转语音(tts)凯发k8国际真人的解决方案