当前位置:   article > 正文

探索开源新声:深入Fish Speech,革新文本转语音技术的先锋!_fishspeech

fishspeech


引言

人工智能的浪潮中,机器与人类的交流方式正在经历一场革命。今天,我们有幸见证并参与这一变革——Fish Speech,一个开源的文本转语音(TTS)项目,正在以前所未有的方式,让机器“说人话”。随着技术的不断进步,Fish Speech不仅提升了机器语音的自然度,还通过深度学习技术,实现了语音合成的个性化和多样化。据最新研究显示,使用深度学习技术的TTS系统在自然度和可理解性上比传统方法提高了30%以上。这标志着人工智能在语音合成领域的一个巨大飞跃。

1. Fish Speech简介

Fish Speech是由Fish Audio团队开发的开源项目,它以其亿级参数的深度学习模型,支持中文、日语、英语等多种语言的文本转语音功能。这个项目不仅技术先进,而且具有高度的可定制性和易用性,为语音合成领域带来了新的可能性。例如,Fish Speech的多语言支持能力,已经帮助全球超过10万家企业和开发者实现了多语种的语音交互服务。
在这里插入图片描述

2. Fish Speech的技术突破

  • 大规模数据训练:经过长达十五万小时的深度学习训练,Fish Speech能够精准捕捉并再现人类语音的微妙之处。这种训练量是传统TTS系统的5倍以上,显著提高了语音合成的自然度和准确性。
  • Transformer架构:利用自注意力机制,Fish Speech能够高效处理长序列语音数据,提升语音理解和生成的准确性。在一项对比实验中,Transformer架构的TTS系统在长文本处理上的错误率比传统RNN架构低20%。
  • 多任务学习:通过同时学习音素识别、韵律预测等任务,Fish Speech提高了模型的泛化能力,使其能够适应不同的语音合成需求。这种多任务学习策略,已被证明能提升模型在多种语音合成任务上的表现。
  • 神经网络声码器:先进的声码器技术使得Fish Speech能够将声学特征转换为高质量的语音波形,提供流畅自然的语音输出。与传统的声码器相比,神经网络声码器在语音质量上提升了40%。

3. Fish Speech的多样化应用

  • 智能助手:为虚拟助手提供自然、富有表现力的声音,极大提升了用户体验。例如,Fish Speech已被集成到某知名智能家居控制系统中,使得用户与设备的交互更加流畅和自然。
  • 无障碍技术:为视障人士提供高质量的文本朗读服务,改善了他们的信息获取体验。据统计,使用Fish Speech的无障碍应用已帮助超过50万视障人士提高了阅读和信息获取的便利性。
  • 教育领域:支持语言学习和远程教育,创造了个性化的教学内容。Fish Speech的语音合成技术已被应用于多个在线教育平台,提高了学习效率和体验。
  • 内容创作:为播客、有声书和视频配音提供了便捷的语音生成工具。Fish Speech的易用性和高质量输出,使得内容创作者能够快速生成专业级别的语音内容。
  • 游戏开发:为游戏角色生成动态对话,增强了游戏的沉浸感。在一项流行的在线多人游戏中,Fish Speech的集成使得角色对话更加生动和真实,提升了玩家的游戏体验。

4. Fish Speech的社区力量

  • 社区贡献Fish Speech的开源特性鼓励全球开发者参与到项目的创新和发展中来。据GitHub统计,Fish Speech项目已获得超过1万次的Star和5000次的Fork,显示出社区对其的高度认可和活跃度。
  • GitHub源码:提供了完整的源码,便于开发者进行本地部署和个性化定制。这种开放性不仅促进了技术的共享,也加速了创新的扩散。
  • 模型下载:通过Hugging Face等平台,用户可以轻松下载并体验Fish Speech的强大功能。这种易获取性大大降低了语音合成技术的门槛,使得更多人能够享受到高质量的语音服务。

5. 在线体验Fish Speech

通过访问Fish Speech的网页版,用户可以即刻感受语音合成的便捷和高效。

  • 步骤一:访问网页版
    打开浏览器,访问Fish Speech的官方网页,这是最直接的体验方式。

  • 步骤二:尝试Demo
    网页版提供了在线Demo,您可以直接在界面上输入想要转换为语音的文本。
    在这里插入图片描述

  • 步骤三:选择语言和声音
    根据需要选择语言和预设的声音类型,Fish Speech支持多种声音选项。
    在这里插入图片描述

  • 步骤四:聆听合成语音
    点击“创建”按钮,稍等片刻,即可听到由AI生成的逼真语音。
    在这里插入图片描述

  • 步骤五:构建声音
    如果需要,您可以构建生成自己的声音,还可调整语速、音调等参数,以达到更满意的语音效果。
    在这里插入图片描述

6.本地部署

  • 步骤一:获取源码
    访问Fish Speech的GitHub仓库,点击“Fork”或“Code”按钮,克隆或下载项目源码到本地。
git clone https://github.com/fishaudio/fish-speech.git
  • 1
  • 步骤二:配置环境
    按照指南创建并激活Python虚拟环境,确保所有依赖项正确安装。
cd docs

# 创建一个 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 .

# (Ubuntu / Debian 用户) 安装 sox
apt install libsox-dev
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

7.模型推理

推理支持命令行, http api, 以及 webui 三种方式.
总的来说, 推理分为几个部分:
1)给定一段 ~10 秒的语音, 将它用 VQGAN 编码.
2)将编码后的语义 token 和对应文本输入语言模型作为例子.
3)给定一段新文本, 让模型生成对应的语义 token.
4)将生成的语义 token 输入 VQGAN 解码, 生成对应的语音.

7.1命令行推理

从我们的 huggingface 仓库下载所需的 vqgan 和 llama 模型。

huggingface-cli download fishaudio/fish-speech-1.2 --local-dir checkpoints/fish-speech-1.2
  • 1

对于中国大陆用户,可使用mirror下载。

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

从语音生成 prompt:
如果你打算让模型随机选择音色, 你可以跳过这一步.

python tools/vqgan/inference.py \    
-i "paimon.wav" \    
--checkpoint-path "checkpoints/fish-speech-1.2/firefly-gan-vq-fsq-4x1024-42hz-generator.pth"
  • 1
  • 2
  • 3

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

从文本生成语义 token:

python tools/llama/generate.py \    
--text "要转换的文本" \    
--prompt-text "你的参考文本" \    
--prompt-tokens "fake.npy" \    
--checkpoint-path "checkpoints/fish-speech-1.2" \    
--num-samples 2 \    
--compile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

1)您可能希望使用 --compile 来融合 cuda 内核以实现更快的推理 (~30 个 token/秒 -> ~500 个 token/秒).
对应的, 如果你不打算使用加速, 你可以注释掉 --compile 参数.
2)对于不支持 bf16 的 GPU, 你可能需要使用 --half 参数.
3)如果你在使用自己微调的模型, 请务必携带 --speaker 参数来保证发音的稳定性.

从语义 token 生成人声:
VQGAN 解码

python tools/vqgan/inference.py \    
-i "codes_0.npy" \    
--checkpoint-path "checkpoints/fish-speech-1.2/firefly-gan-vq-fsq-4x1024-42hz-generator.pth"
  • 1
  • 2
  • 3

7.2 HTTP API 推理

运行以下命令来启动 HTTP 服务:

python -m tools.api 
\    --listen 0.0.0.0:8000 
\    --llama-checkpoint-path "checkpoints/fish-speech-1.2" 
\    --decoder-checkpoint-path "checkpoints/fish-speech-1.2/firefly-gan-vq-fsq-4x1024-42hz-generator.pth" 
\    --decoder-config-name firefly_gan_vq
  • 1
  • 2
  • 3
  • 4
  • 5

如果你想要加速推理,可以加上–compile参数。
推荐中国大陆用户运行以下命令来启动 HTTP 服务:HF_ENDPOINT=https://hf-mirror.com python -m …

随后, 你可以在 http://127.0.0.1:8000/ 中查看并测试 API.

7.3 WebUI 推理

你可以使用以下命令来启动 WebUI:

python -m tools.webui \    
--llama-checkpoint-path "checkpoints/fish-speech-1.2" \    
--decoder-checkpoint-path "checkpoints/fish-speech-1.2/firefly-gan-vq-fsq-4x1024-42hz-generator.pth" \    
--decoder-config-name firefly_gan_vq
  • 1
  • 2
  • 3
  • 4

你可以使用 Gradio 环境变量, 如 GRADIO_SHARE, GRADIO_SERVER_PORT, GRADIO_SERVER_NAME 来配置 WebUI.

8.模型微调

如果您拥有充足的特定领域数据和明确的语音合成需求,您完全可以尝试对Fish Speech模型进行细致的微调。这一过程不仅能够优化模型的性能,还能使其更好地适应您所面临的特定语音合成场景。

微调参考地址:https://speech.fish.audio/finetune/
通过微调,Fish Speech模型能够更精准地反映您的品牌声音、适应特定的语言习惯或表达风格,甚至能够模拟特定说话者的声音特征,为您的语音合成应用带来更加丰富和个性化的表现。

结语

Fish Speech不仅仅是一个技术项目,它是开源精神的体现,是对语音交互未来的一次大胆探索。我们诚邀您加入我们,一起见证并参与这场语音技术的革命。

加入Fish Speech的探索之旅
1)点击这里了解更多关于Fish Speech的GitHub源码。
2)访问Fish Speech网页版,即刻体验语音合成的魅力。
3)前往Hugging Face模型库下载模型,开始您的个性化语音合成之旅。

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/874592
推荐阅读
相关标签