目录
政安晨的个人主页:政安晨****
欢迎 👍点赞✍评论⭐收藏
希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!
本文目标:基于N卡的Linux系统(Ubuntu)部署并应用FishSpeech框架,实现短样本语音克隆
简介
Fish Speech 是一个由 fishaudio 开发的全新文本转语音(Text-to-Speech,TTS)解决方案。
特点:
- 低显存占用:能在低至 4GB 的 GPU 显存下运行,这使得个人开发者和小团队无需昂贵的高性能 GPU 即可进行高质量的语音合成。
- 高质量语音合成:尽管对硬件要求较低,但能生成自然流畅、情感丰富的语音,可与 GPT-SoVITS 等顶级模型相媲美。
- 开源与可定制:完全开源,开发者不仅可以免费使用,还能根据自身需求进行修改和扩展,增加了模型的灵活性和适用性。
- 快速部署:轻量化设计使其能够快速部署在各种平台上,包括桌面电脑和嵌入式设备等,实现即时的语音合成服务。
在技术原理方面,Fish Speech 基于多个先进的机器学习和深度学习概念:
- 经过了长达 15 万小时的数据训练,从而能够学习到语音的细微差别和复杂模式。
- 采用了 Transformer 架构,其自注意力机制使其能够更好地理解和生成长序列的语音数据。
- 同时学习多个相关任务,如音素识别、韵律预测和声学特征生成等,提高了模型的泛化能力。
- 使用先进的神经网络声码器,能够将声学特征转换为高质量的波形,进而产生自然流畅的语音。
- 通过多语言嵌入技术,能够在单一模型中支持多种语言,实现跨语言的语音合成。
其主要功能包括:
- 多语言支持:熟练掌握中文、日语和英语等多种语言,提供多语言语音合成能力。
- 情感表达:能够生成带有不同情感色彩,如快乐、悲伤、愤怒等的语音。
- 韵律控制:可以精细调节语速、音调和重音,实现更自然的语音表现。
- 声音克隆:通过少量样本学习特定说话者的声音特征,实现个性化语音合成。
- 实时合成:支持低延迟的实时语音生成,适用于需要即时反馈的应用场景。
- 文本归一化:自动处理数字、缩写和特殊符号等,确保正确的语音输出。
- API 集成:提供易于使用的 API,方便开发者将其集成到各种应用中。
部署
下载项目
git clone git@github.com:fishaudio/fish-speech.git
![](https://i-blog.csdnimg.cn/direct/3b620fcda8704d67a2f82c148f3309cd.png)
![](https://i-blog.csdnimg.cn/direct/bf2fe6d9e7674f8bbd21d6d274275962.png)
创建环境
# 创建一个 python 3.10 虚拟环境
conda create -n fish-speech python=3.10
conda activate fish-speech
# 安装 pytorch
pip3 install torch torchvision torchaudio
# 安装 fish-speech
pip3 install -e .
# (Ubuntu / Debian 用户) 安装 sox
apt install libsox-dev
![](https://i-blog.csdnimg.cn/direct/1c14b3d301f84eb09cc3faac6d1bc46e.png)
![](https://i-blog.csdnimg.cn/direct/f24adc06086c43b5ae5337be24c2992a.png)
![](https://i-blog.csdnimg.cn/direct/78e56a4d6dc745c4a43b5bb2e745aecf.png)
![](https://i-blog.csdnimg.cn/direct/987bd31f2e1f4b5fa73f356b3a88c39c.png)
![](https://i-blog.csdnimg.cn/direct/a723beb1172a4a988a695f671e7f38fd.png)
![](https://i-blog.csdnimg.cn/direct/c14f537308144d31883badbccf9138ba.png)
下载模型
在这个过程中,可能会用到huggingface的CLI功能:
Hugging Face的CLI(命令行界面)是一个用于自然语言处理(NLP)任务的命令行工具。它提供了一组工具和命令,可以帮助用户快速执行各种NLP任务,如文本分类、命名实体识别、问答、翻译等。
CLI的功能包括:
- 模型下载和管理:用户可以使用CLI下载和管理Hugging Face提供的各种预训练模型,包括BERT、GPT等。
- Fine-tuning:用户可以使用CLI对预训练模型进行微调,以适应特定的任务需求。
- 数据处理:CLI提供了一系列命令,可以帮助用户处理和准备数据,如数据拆分、数据转换、数据预处理等。
- 模型评估和推理:CLI允许用户对模型进行评估和推理,以测试模型的性能和效果。
- 任务执行:CLI提供了一些预定义的任务命令,用户可以直接使用这些命令来执行常见的NLP任务,如文本分类、命名实体识别等。
通过命令行界面,用户可以通过简单的命令和选项来执行各种NLP任务,无需编写复杂的代码。这使得使用Hugging Face的模型和工具变得更加便捷和高效。
在虚拟环境中安装Hugging Face的CLI,使用命令:
pip install -U "huggingface_hub[cli]"
在CLI中,查看帮助:
huggingface-cli --help
![](https://i-blog.csdnimg.cn/direct/73b3d81f68d24e1299d057cbe91a5a73.png)
![](https://i-blog.csdnimg.cn/direct/3b2ac976d62240578b8711361c10870d.png)
启动服务
在项目目录中执行如下指令就可以启动服务:
python tools/webui.py
![](https://i-blog.csdnimg.cn/direct/e74f847acdf243299549ef4fed950d87.png)
推理过程如下:
![](https://i-blog.csdnimg.cn/direct/55b68f33f79f486fb5355edb09e81b9b.png)
![](https://i-blog.csdnimg.cn/direct/8c100df12efd46b48607aa5b1e5e8536.png)
政安晨实测之后,认为模型还有改进空间,这里我就不赘述了,感兴趣的小伙伴可以尝试着运行一下,毕竟是开源的,了解参考都很好。
感谢开源团队的辛勤付出。
![](https://i-blog.csdnimg.cn/direct/c1bbe37a583f491ba17188516e389e64.png)