GPT-SoVITS-WebUI可以中文声音克隆开源AI工具简介

本文介绍了GPT-SoVITS-WebUI,一种基于人工智能的低成本语音合成工具,它能快速训练高质量模型,支持零样本和小样本学习,跨语言,以及提供丰富的WebUI工具和特性,有望推动语音技术的发展和个性化应用的创新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言:

        近年来,随着人工智能技术的不断发展,语音技术已经成为了热门领域。尽管已有不少技术实现了一定程度的成功,但传统语音合成技术的问题依然存在。传统方法对于训练数据的需求量大、效果受到声音质量和口音差异的影响。因此,在语音技术领域中,一种受到广泛关注的新技术GPT-SoVITS-WebUI应运而生。GPT-SoVITS是花儿不哭大佬研发的低成本AI音色克隆软件,作为一种新兴的网络界面工具,具有自主学习、高效合成、支持多语言等特点,在语音领域中受到极高的关注和重视。它不仅能够迅速训练高质量的文本到语音模型,更能够克服声音质量和口音差异的影响,在语音合成中发挥既有的功效。同时,GPT-SoVITS-WebUI具有零次学习和少量次学习的TTS功能,可以实现自然语言转换,进一步提高了语音合成的性能。这一特性可为语音技术的开发者和爱好者带来更多的机会,实现多样化的语音应用,创造更加便捷的用户体验。综上所述,GPT-SoVITS-WebUI是一种非常先进的语音技术,具有广泛的应用前景和潜力。创作不易,要是对您有用请加个关注或点个赞,非常感谢了!

开源地址:

https://github.com/RVC-Boss/GPT-SoVITS

以下依据官方文档整理而得:

特点:

  1. 零样本 TTS:输入 5 秒的人声样本,体验即时文本到语音转换。

  2. 小镜头 TTS:只需 1 分钟的训练数据即可微调模型,以提高语音相似度和真实感。

  3. 跨语言支持:使用与训练数据集不同的语言进行推理,目前支持英语、日语和中文。

  4. WebUI工具:集成工具包括语音伴奏分离、自动训练集分割、中文ASR和文本标注,帮助初学者创建训练数据集和GPT/SoVITS模型。

  5. 详细说明教程中文版 User guide (EN)

安装

对于中国地区的用户,您可以点击此处使用AutoDL Cloud Docker在线体验全部功能。

经测试的环境

  • Python 3.9、PyTorch 2.0.1、CUDA 11
  • Python 3.10.13、PyTorch 2.1.2、CUDA 12.3
  • Python 3.9、PyTorch 2.3.0.dev20240122、macOS 14.3(Apple 芯片)

注意:numba==0.56.4 需要 py<3.11

window系统

如果你是 Windows 用户(使用 win>=10 测试),你可以直接下载预打包的发行版,双击 go-webui.bat 启动 GPT-SoVITS-WebUI。

Linux操作系统

conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
bash install.sh

macOS操作系统

只有满足以下条件的 Mac 才能训练模型:

  • 搭载 Apple 芯片的 Mac 电脑
  • macOS 12.3 或更高版本
  • 通过运行xcode-select --install

所有 Mac 都可以使用 CPU 进行推理,这已被证明优于 GPU 推理。

首先,通过运行 或 确保已安装 FFmpeg,然后使用以下命令进行安装:brew install ffmpegconda install ffmpeg

conda create -n GPTSoVits python=3.9
conda activate GPTSoVits

pip3 install --pre torch torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
pip install -r requirements.txt

注意:仅当安装了 PyTorch Nightly 时,训练模型才有效。

手动安装

安装依赖项
pip install -r requirements.txt
安装 FFmpeg
Conda 用户
conda install ffmpeg
Ubuntu/Debian 用户
sudo apt install ffmpeg
sudo apt install libsox-dev
conda install -c conda-forge 'ffmpeg<7'
Windows 用户

下载并放置ffmpeg.exeffprobe.exe GPT-SoVITS 根目录。

使用 Docker

docker-compose.yaml 配置
  1. 关于镜像标签:由于代码库更新速度快,镜像打包测试过程较慢,请在 Docker Hub 上查看当前打包的最新镜像,并根据自己的情况进行选择,或者根据自己的需求使用 Dockerfile 在本地构建。
  2. 环境变量:
  • is_half:控制半精度/双精度。如果在“SSL 提取”步骤中未正确生成目录 4-cnhubert/5-wav32k 下的内容,则通常是原因。根据您的实际情况调整为“真”或“假”。
  1. 卷配置,容器内应用的根目录设置为 /workspace。默认的 docker-compose.yaml 列出了一些上传/下载内容的实际示例。
  2. shm_size:Windows 上 Docker Desktop 默认可用内存太小,可能导致操作异常。根据自己的情况进行调整。
  3. 在部署部分,GPU相关设置应根据您的系统和实际情况谨慎调整。
使用 docker compose 运行
docker compose -f "docker-compose.yaml" up -d
使用 docker 命令运行

如上所述,根据您的实际情况修改相应的参数,然后运行以下命令:

docker run --rm -it --gpus=all --env=is_half=False --volume=G:\GPT-SoVITS-DockerTest\output:/workspace/output --v

预训练模型

从 GPT-SoVITS 模型下载预训练模型并将它们放在 中。GPT_SoVITS/pretrained_models

对于UVR5(人声/伴奏分离和混响去除),请从UVR5 Weights下载模型并将其放置在 .tools/uvr5/uvr5_weights

中国地区的用户可以通过输入下面的链接并点击“下载副本”来下载这两个模型

对于中文 ASR(另外),请从 Damo ASR 模型Damo VAD 模型和 Damo Punc 模型下载模型,并将其放在 中。tools/damo_asr/models

数据集格式

TTS 注解 .list 文件格式:

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>vocal_path|speaker_name|language|text
</code></span></span></span></span>

语言词典:

  • 'zh': 中文
  • 'ja': 日语
  • 'en': English

例:

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
</code></span></span></span></span>

待办事项列表

  •  高优先级:

    • 日语和英语本地化。
    • 用户指南。
    • 日语和英语数据集微调训练。
  •  特征:

    • 零样本语音转换(5s)/小样本语音转换(1min)。
    • TTS语速控制。
    • 增强的 TTS 情绪控制。
    • 尝试将 SoVITS 令牌输入更改为词汇的概率分布。
    • 改进英文和日文文本前端。
    • 开发小型和大型 TTS 模型。
    • Colab 脚本。
    • 尝试扩展训练数据集(2k 小时 -> 10k 小时)。
    • 更好的 Sovits基本型号(增强的音频质量)
    • 模型组合

(可选)如果需要,这里将提供命令行操作模式

使用命令行打开 UVR5 的 WebUI

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
</code></span></span></span></span>

如果打不开浏览器,按照下面的格式进行UVR处理,这是使用mdxnet进行音频处理

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python mdxnet.py --model --input_root --output_vocal --output_ins --agg_level --format --device --is_half_precision 
</code></span></span></span></span>

这是使用命令行完成数据集的音频分割的方式

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python audio_slicer.py \
    --input_path "<path_to_original_audio_file_or_directory>" \
    --output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
    --threshold <volume_threshold> \
    --min_length <minimum_duration_of_each_subclip> \
    --min_interval <shortest_time_gap_between_adjacent_subclips> 
    --hop_size <step_size_for_computing_volume_curve>
</code></span></span></span></span>

这是使用命令行完成数据集 ASR 处理的方式(仅限中文)

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python tools/damo_asr/cmd-asr.py "<Path to the directory containing input audio files>"
</code></span></span></span></span>

ASR处理通过Faster_Whisper进行(ASR标记,中文除外)

(没有进度条,GPU性能可能会导致时间延迟)

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python ./tools/damo_asr/WhisperASR.py -i <input> -o <output> -f <file_name.list> -l <language>
</code></span></span></span></span>

已启用自定义列表保存路径

<think>嗯,用户这次问的是关于Anaconda、Python和Open WebUI的内容。我需要先理解他们具体想了解什么。Anaconda我之前已经介绍过,是一个数据科学平台,Python是编程语言,而Open WebUI可能指的是一个基于Web的用户界面框架或者工具。用户可能想知道这三者如何结合使用,或者各自的作用。 首先,我需要确认Open WebUI具体指什么。可能有两种情况:一种是OpenWebUI,一个开源AI用户界面工具,比如用于管理AI模型的Web界面;另一种是泛指用Python构建的Web用户界面,比如使用Streamlit、Dash等框架。需要根据常见的用法来判断,用户可能指的是前者,即OpenWebUI项目。 接下来,要分析用户的潜在需求。用户可能在使用Anaconda管理Python环境时,想要集成Open WebUI工具,或者想了解如何利用Anaconda来部署或开发Web UI应用。他们可能对如何结合这些工具进行AI模型的管理或开发感兴趣。 我需要先解释每个组件的作用:Anaconda作为环境管理工具Python作为编程语言,Open WebUI作为前端界面。然后说明它们如何协同工作,例如使用Anaconda创建隔离的环境,安装Python依赖,再部署Open WebUI来管理AI模型。 另外,用户可能需要具体的步骤或示例,比如如何用Anaconda安装Open WebUI,或者如何在Anaconda环境中配置相关依赖。这时候需要给出简明扼要的步骤,确保用户能够按照指引操作。 还要注意用户的背景,可能是开发者或数据科学家,希望整合这些工具来提高工作效率。因此,强调Anaconda在环境隔离和依赖管理上的优势,以及Open WebUI在简化AI模型交互中的作用,这样能更好地满足他们的需求。 最后,检查是否有常见的误区,比如混淆不同的Web UI框架,或者Anaconda与其他包管理工具的区别。确保信息准确,避免用户产生误解。</think>好的!关于 **Anaconda + Python + Open WebUI** 的组合,以下是清晰的解释: --- ### **1. 各组件核心作用** | 组件 | 作用 | 特点 | |------|------|------| | **Anaconda** | Python 环境与包管理平台 | 提供 `conda` 工具管理虚拟环境,解决依赖冲突 | | **Python** | 编程语言 | 支持 AI/Web 开发的核心语言 | | **Open WebUI** | 开源 AI 交互界面 | 基于 Web 的图形界面,用于管理/交互 AI 模型(如 LLM) | --- ### **2. 三者协作模式** **典型流程**: 1. 用 Anaconda **创建隔离的 Python 环境** ```bash conda create -n webui python=3.10 conda activate webui ``` 2. 在环境中**安装 Open WebUI** ```bash pip install open-webui # 或通过 Git 克隆仓库安装 ``` 3. 通过 Python **启动 WebUI 服务** ```bash python -m open_webui ``` 4. 浏览器访问 `http://localhost:3000` **管理 AI 模型** --- ### **3. 关键应用场景** - **本地部署大语言模型(LLM)** 结合 `Llama.cpp`、`Ollama` 等框架,通过 Open WebUI 实现类似 ChatGPT 的交互体验。 - **统一管理多模型** 在 Anaconda 的不同环境中部署多个模型版本(如 GPT-4、Mistral),通过 Web 界面切换调用。 - **团队协作开发** 用 `environment.yml` 文件共享环境配置,确保团队成员环境一致。 --- ### **4. 技术优势对比** | 工具 | 优势 | 适用场景 | |------|------|----------| | Anaconda | 避免 Python 包污染,快速重建环境 | 多版本依赖管理 | | Open WebUI | 轻量化、可定制界面,支持插件扩展 | 本地 AI 模型交互与监控 | | 原生 Python | 直接调用底层 API | 深度开发调试 | --- ### **5. 快速入门示例** **步骤 1:安装 Anaconda** 从 [官网](https://www.anaconda.com/download) 下载对应版本。 **步骤 2:配置 Open WebUI 环境** ```bash conda create -n ollama-webui python=3.10 conda activate ollama-webui git clone https://github.com/open-webui/open-webui.git cd open-webui pip install -r requirements.txt ``` **步骤 3:连接 AI 后端(如 Ollama)** 修改配置文件 `config.yaml`: ```yaml ollama: base_url: "http://localhost:11434" ``` **步骤 4:启动服务** ```bash python main.py ``` --- ### **6. 常见问题** - **依赖冲突** → 使用 `conda env export > environment.yml` 导出环境 - **端口占用** → 修改 Open WebUI 的默认端口(通过 `--port` 参数) - **模型加载失败** → 检查 Anaconda 环境中 CUDA/cuDNN 版本是否匹配 如果需要更具体的操作指导,可以告诉我你的使用场景! 🚀
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

愚梦者

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值