Fish Speech - 新的 TTS 解决方案

一、关于 Fish Speech

Fish Speech : Brand new TTS solution


架构


Fish Speech V1.1 技术介绍[视频]

Fish Speech V1.1 技术介绍


二、配置


1、Linux 配置

# 创建一个 python 3.10 虚拟环境, 你也可以用 virtualenv
conda create -n fish-speech python=3.10
conda activate fish-speech

# 安装 pytorch
pip3 install torch torchvision torchaudio

# 安装 fish-speech
pip3 install -e .[stable]

# (Ubuntu / Debian 用户) 安装 sox + ffmpeg
apt install libsox-dev ffmpeg

2、Docker 配置

1)安装 NVIDIA Container Toolkit:

Docker 如果想使用 GPU 进行模型训练和推理,需要安装 NVIDIA Container Toolkit :

对于 Ubuntu 用户:

# 添加远程仓库
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
    && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
        sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
        sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# 安装 nvidia-container-toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
# 重启 Docker 服务
sudo systemctl restart docker

对于使用其他 Linux 发行版的用户,安装指南请参考:NVIDIA Container Toolkit Install-guide

注:对于中国大陆的用户,您可能需要使用代理来完成相关工具的安装。


2)拉取并运行 fish-speech 镜像

# 拉取镜像
docker pull fishaudio/fish-speech:latest-dev
# 运行镜像
docker run -it \
    --name fish-speech \
    --gpus all \
    -p 7860:7860 \
    fishaudio/fish-speech:latest-dev \
    zsh
# 如果需要使用其他端口,请修改 -p 参数为 YourPort:7860

3)下载模型依赖

确保您在 docker 容器内的终端,然后再从我们的 huggingface 仓库下载所需的 vqganllama 模型。

huggingface-cli download fishaudio/fish-speech-1.4 --local-dir checkpoints/fish-speech-1.4

对于中国大陆用户,可以通过镜像站下载。

HF_ENDPOINT=https://hf-mirror.com huggingface-cli download fishaudio/fish-speech-1.4 --local-dir checkpoints/fish-speech-1.4

4)配置环境变量,访问 WebUI

在 docker 容器内的终端,输入 export GRADIO_SERVER_NAME="0.0.0.0" ,从而让外部可以访问 docker 内的 gradio 服务。 接着在 docker 容器内的终端,输入 python tools/webui.py 即可开启 WebUI 服务。

如果是 WSL 或者是 MacOS ,访问 http://localhost:7860 即可打开 WebUI 界面。

如果是部署在服务器上,更换 localhost 为您的服务器 ip 即可。


三、快速开始

1、设置


For Windows User / win用户
!chcp 65001

For Linux User / Linux 用户
import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')

2、准备模型

# For Chinese users, you probably want to use mirror to accelerate downloading
# !set HF_ENDPOINT=https://hf-mirror.com
# !export HF_ENDPOINT=https://hf-mirror.com 

!huggingface-cli download fishaudio/fish-speech-1.4 --local-dir checkpoints/fish-speech-1.4/

3、WebUI Inference

You can use --compile to fuse CUDA kernels for faster inference (10x).

!python tools/webui.py \
    --llama-checkpoint-path checkpoints/fish-speech-1.4 \
    --decoder-checkpoint-path checkpoints/fish-speech-1.4/firefly-gan-vq-fsq-8x1024-21hz-generator.pth \
    # --compile

四、Break-down CLI Inference


1、从语音生成 prompt:

你应该能得到一个 fake.npy 文件.

## Enter the path to the audio file here
src_audio = r"D:\PythonProject\vo_hutao_draw_appear.wav"

!python tools/vqgan/inference.py \
    -i {src_audio} \
    --checkpoint-path "checkpoints/fish-speech-1.4/firefly-gan-vq-fsq-8x1024-21hz-generator.pth"

from IPython.display import Audio, display
audio = Audio(filename="fake.wav")
display(audio)

2、从文本生成语义 token:

该命令会在工作目录下创建 codes_N 文件, 其中 N 是从 0 开始的整数.

您可以使用 --compile 来融合 cuda 内核以实现更快的推理 (~30 tokens/秒 -> ~300 tokens/秒)

!python tools/llama/generate.py \
    --text "hello world" \
    --prompt-text "The text corresponding to reference audio" \
    --prompt-tokens "fake.npy" \
    --checkpoint-path "checkpoints/fish-speech-1.4" \
    --num-samples 2
    # --compile

3、从语义 token 生成人声:

!python tools/vqgan/inference.py \
    -i "codes_0.npy" \
    --checkpoint-path "checkpoints/fish-speech-1.4/firefly-gan-vq-fsq-8x1024-21hz-generator.pth"

from IPython.display import Audio, display
audio = Audio(filename="fake.wav")
display(audio)

2024-09-16(一)

### Fish Speech API 开发者文档与使用教程 Fish Speech 是一个专注于语音合成的开源项目,提供了丰富的功能来满足不同场景下的需求[^2]。为了方便开发者更好地理解和应用该工具,官方准备了一系列详尽的技术文档和支持资源。 #### 文档结构概述 - **快速入门指南**:涵盖了从环境搭建到第一个简单例子运行所需的一切基础知识。 - **API 参考手册**:详细介绍各个接口的功能描述、参数列表及其返回值说明等内容。 - **高级特性解析**:针对特定应用场景下可能遇到的问题给出解决方案和技术建议。 #### 安装配置流程 对于想要尝试或集成此服务的应用程序而言,按照如下步骤操作即可完成基本设置: 1. 访问官方网站获取最新版本软件包并下载至本地机器; 2. 阅读README文件中的依赖项清单,确保操作系统已正确安装相应组件; 3. 执行命令行脚本启动服务器实例,在浏览器地址栏输入指定URL访问Web界面; ```bash pip install fishspeech ``` 4. 利用预训练模型执行简单的TTS(Text To Speech)任务作为初次体验的一部分。 #### 实际案例展示 通过具体代码片段进一步解释如何调用核心方法实现文字语音效果: ```python from fishspeech import TTSClient client = TTSClient() audio_data = client.synthesize_speech('你好世界') with open('./output.wav', 'wb') as f: f.write(audio_data) ``` 上述Python示例展示了创建`TTSClient`类的对象,并利用它所提供的`synthesize_speech()`函数将字符串形式的文字化为音频流数据保存为WAV格式文件的过程[^1]。 #### 获取更多帮助 除了在线查阅官方发布的资料外,还有其他途径可以获得必要的指导和服务: - 加入专门设立于各大社交平台上的话题群组参与话题讨论分享心得技巧; - 浏览FAQ页面寻找常见疑问解答; - 向维护团队提交工单报告Bug或者请求新特性的加入[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程乐园

请我喝杯伯爵奶茶~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值