Aivis:AI声音模仿系统的创新之旅

在人工智能技术的不断进步中,声音合成技术也迎来了新的发展机遇。Aivis项目正是这一领域的杰出代表,它提供了一个全流程的工具,让用户能够从数据集的创建到学习再到推理,一站式地生成逼真的语音。

Aivis是一个基于Bert-VITS2模型的系统,它通过自动化的流程,大幅减少了从一般音源创建学习用数据集所需的工作量和时间。Aivis的设计理念是简化数据准备过程,并通过Web UI简化最终的人工注释工作,使得用户即使没有专业知识也能轻松创建高质量的语音数据集。系统具有以下特点:

  • 自动化数据准备:Aivis利用AI技术自动化了从普通音源创建数据集的过程,包括背景噪音的去除和语音的分割。
  • 高质量的语音生成:即使是使用Aivis创建的较短数据集训练的模型,也能生成与专用语音库训练出的模型相媲美的高质量语音。
  • 易于使用的Web UI:Aivis提供了一个Web界面,使用户能够轻松地进行数据集的最终编辑和注释。

安装与使用

安装Aivis

系统要求

Aivis主要在Linux(Ubuntu 20.04 LTS)x64环境下进行了测试。对于Windows用户,建议使用WSL2。此外,Aivis的运行需要NVIDIA GPU支持。

安装步骤
  1. 安装基础软件

    • Git
    • Python 3.11
    • Poetry
    • FFmpeg
  2. 获取Aivis项目代码

    git clone --recurse https://github.com/tsukumijima/Aivis.git

  3. 创建Python虚拟环境并安装依赖

    cd Aivis
    poetry env use 3.11
    poetry install --no-root

  4. 更新已安装的环境: 如果需要更新到最新版本,可以使用以下命令:

    git pull
    git submodule update --init --recursive
    poetry install --no-root

Docker安装

对于希望使用Docker的用户,需要先安装Git和Docker。然后执行以下命令:

  1. 获取Aivis项目代码

    git clone --recurse https://github.com/tsukumijima/Aivis.git

  2. 构建Docker镜像

    cd Aivis
    ./Aivis-Docker.sh build

  3. 使用Docker运行Aivis

    ./Aivis-Docker.sh --help

使用Aivis

数据集准备
  1. 将音源文件放入01-Sources目录下。支持多种音频格式,系统会自动转换为wav格式。

  2. 如果音源文件较长,建议分割成10分钟左右的小文件,以提高转录精度。

数据集预处理和分割

使用以下命令进行音频的预处理和分割:

# Non-Docker
./Aivis.sh create-segments# Docker
./Aivis-Docker.sh create-segments

这个命令会去除背景BGM和噪音,并将音频分割成单独的句子。

数据集创建(注释)

通过以下命令启动Web UI,进行手动注释:

# Non-Docker
./Aivis.sh create-datasets '*' 'MySpeaker1,MySpeaker2'# Docker
./Aivis-Docker.sh create-datasets '*' 'MySpeaker1,MySpeaker2'

在这里,*代表03-Segments目录下的所有子目录,MySpeaker1,MySpeaker2是创建数据集的说话者名称。

模型训练

使用以下命令开始模型训练:

# Non-Docker
./Aivis.sh train 'MySpeaker1' --steps 8000 --batch-size 4# Docker
./Aivis-Docker.sh train 'MySpeaker1' --steps 8000 --batch-size 4

在这里,--steps指定了训练的步数,--batch-size指定了训练时的批量大小。

模型推理

使用以下命令启动推理用的Web UI:

# Non-Docker
./Aivis.sh infer 'MySpeaker1' --model-step 5000# Docker
./Aivis-Docker.sh infer 'MySpeaker1' --model-step 5000

在这里,--model-step指定了使用哪个步数的模型进行推理。

注意事项

  • 确保安装了所有必要的依赖项和库。
  • 在使用Docker时,确保Docker环境配置正确。
  • 在训练模型时,根据GPU的性能调整batch-sizesteps参数。
  • 推理时,可以通过调整--model-step来使用不同训练阶段的模型,以获得最佳效果。

数据集目录结构

Aivis的数据集目录结构分为五个主要部分,每个部分都有特定的作用:

  1. 01-Sources - 存放原始音源文件。

  2. 02-PreparedSources - 存放预处理后的音源文件和转录文本。

  3. 03-Segments - 存放分割后的音源文件。

  4. 04-Datasets - 存放最终的手动创建的数据集。

  5. 05-Models - 存放训练生成的模型。

各部分详细说明

01-Sources

  • 作用:这是存放将要制作成数据集的原始音源文件的目录。

  • 内容:可以是任何格式的音频文件,系统会自动将其转换为wav格式。

  • 处理:无需事先去除背景音乐或噪音,也无需分割音频文件,这些工作会在后续步骤中自动完成。

02-PreparedSources

  • 作用:存放经过预处理的音频文件和对应的转录文本。

  • 内容

    • 音频文件:经过背景噪音去除和格式转换后的wav文件。

    • 转录文本:使用语音识别技术生成的文本,格式为JSON。

  • 命名规则:音频文件和转录文本的文件名与原始音源文件名相对应。

03-Segments

  • 作用:存放根据转录文本分割后的音频文件。

  • 内容:每个分割的音频片段对应一个转录的句子或短语。

  • 命名规则:文件名通常包含原始音源文件名、一个序列号和对应的转录文本。

04-Datasets

  • 作用:存放最终的、经过人工审核和可能的编辑的数据集。

  • 内容

    • 音频文件:存放在audio/wavs/目录下,每个文件对应一个分割的音频片段。

    • 转录文本:存放在transcripts.list文件中,通常包含音频文件名和对应的文本。

  • 创建:通过create-datasets命令启动的Web UI手动创建。

05-Models

  • 作用:存放通过训练生成的Bert-VITS2模型。

  • 内容:模型文件和相关配置。

  • 创建:通过train命令生成。

使用指南

  • 01-Sources目录下放置原始音频文件。

  • 运行create-segments命令进行音频预处理和分割,生成02-PreparedSources03-Segments目录下的内容。

  • 使用create-datasets命令和Web UI对03-Segments中的音频进行人工审核和编辑,创建04-Datasets目录下的数据集。

  • 运行train命令使用04-Datasets中的数据集训练模型,并将结果保存在05-Models目录下。

注意事项

  • 确保音频文件质量尽可能高,以便生成高质量的数据集。

  • 02-PreparedSources03-Segments目录中,如果转录文本不准确,可以删除对应的JSON文件,重新运行create-segments命令以重新生成。

  • 04-Datasets目录中创建数据集时,仔细选择说话者并编辑转录文本以确保数据集的质量。

Aivis项目以其创新性和易用性,为语音合成领域带来了新的可能。无论是研究者还是开发者,都可以利用这个工具来探索和实现个性化的语音合成应用。期待Aivis在未来能够带来更多的创新和突破。

项目地址:GitHub - tsukumijima/Aivis: 💠 Aivis: AI Voice Imitation System

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/350095.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于hispark_taurus开发板示例学习OpenHarmony编译构建系统(2)

3、hispark_taurus产品解决方案-Vendor 产品解决方案为基于开发板的完整产品,主要包含产品对OS的适配、组件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为:vendor/{产品解决方案厂商}/{产品名称}_。_产品解决方案也是一个特殊的组…

mac下Xcode在iphone真机上测试运行iOS软件

最近一个需求需要在iPhone真机上测试一个视频直播的项目。 需要解决如何将项目 app 安装到真机上 在进行真机调试。 安装Xcode 直接在App Store上搜索Xcode安装即可。 关键是要安装Simulator。项目需要安装iOS17.5但是由于安装包太大,并且网络不稳定的原因。在Xco…

Apache网页优化

一、网页压缩与缓存 1.1网页压缩 网站访问速度影响因素:应用程序响应速度、网络带宽、服务器性能、与客户端之间网络传输速度等。其中最重要的是一个因素是Apache本身,因此提升Apache执行速度(使用网页压缩)是性价比最高的选择。…

Lua实现自定义函数面向对象编程

本文目录 1、引言2、原理3、实例4、层析验证 文章对应视频教程: 暂无,可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在现代软件开发中,面向对象编程(OOP)已经成为一种广泛使用的编程范式…

python数据分析---ch10 数据图形绘制与可视化

python数据分析--- ch10 python数据图形绘制与可视化 1. Ch10--python 数据图形绘制与可视化1.1 模块导入1.2 数据导入 2. 绘制直方图2.1 添加图表题2.2 添加坐标轴标签 3. 绘制散点图4. 绘制气泡图5. 绘制箱线图5.1 单特征的箱线图5.2 多特征的箱线图 6. 绘制饼图7. 绘制条形图…

每日5题Day25 - LeetCode 121 - 125

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前! 第一题:121. 买卖股票的最佳时机 - 力扣(LeetCode) class Solution {public int maxProfit(int[] prices) {if(prices.length 1){return 0;}//dp…

热门开源项目推荐: diffusionbee

随着AI技术的快速发展,深度学习和机器学习已经成为各领域的热门话题。Stable Diffusion是一种强大的深度学习模型,它能够在图像生成和处理方面展现出惊人的效果。为了让更多用户能够轻松地使用Stable Diffusion,Diffusion Bee应运而生&#x…

el-table表头文字换行或者修改字体颜色样式

例如 <el-table:data"tableData":header-cell-style"headClass" style"width: 100%;" border ><el-table-columnprop"address"label"生产工序"align"center"></el-table-column> //重点看这里…

【2024算力大会分会 | SPIE独立出版 | 往届均已完成EI检索】2024云计算、性能计算与深度学习国际学术会议(CCPCDL 2024)

【2024算力大会分会 | SPIE出版】 2024云计算、性能计算与深度学习国际学术会议(CCPCDL 2024) 2024 International conference on Cloud Computing, Performance Computing and Deep Learning *CCPCDL往届均已完成EI检索&#xff0c;最快会后4个半月完成&#xff01; 一、…

Leaflet集成wheelnav在WebGIS中的应用

目录 前言 一、两种错误的实现方式 1、组件不展示 2、意外中的空白 二、不同样式的集成 1、在leaflet中集成wheelnav 2、给marker绑定默认组件 2、面对象绑定组件 3、如何自定义样式 三、总结 前言 在之前的博客中&#xff0c;我们曾经介绍了使用wheelnav.js构建酷炫…

[深度学习]基于C++和onnxruntime部署yolov10的onnx模型

基于C和ONNX Runtime部署YOLOv10的ONNX模型&#xff0c;可以遵循以下步骤&#xff1a; 准备环境&#xff1a;首先&#xff0c;确保已经下载后指定版本opencv和onnruntime的C库。 模型转换&#xff1a;按照官方源码&#xff1a;https://github.com/THU-MIG/yolov10 安装好yolov…

vue2 + element-ui,前端配置化表单封装(2024-06-14)

技术栈是 vue2 element-ui&#xff0c;主要能解决的问题就是 提高代码复用能力、提升开发效率&#xff0c;特别是需要开发多个大型表单系统的&#xff0c;配置化可以极大的提升效率&#xff0c;让你上班摸鱼不再是梦想&#xff01;为了早点下班&#xff0c;我们接着往下看吧&a…

MySQLWorkbench导出sql文件

MySQLWorkbench导出sql文件 前言效果图导出操作选择要导出的数据库遇到的问题解决问题 查看mysql路径 前言 在完成数据库搭建之后&#xff0c;需要为上线做准备&#xff0c;那么就需要导出数据库的建库sql了 本篇文章讲解的是mysql Workbench 导出数据建库脚本 效果图 导出操…

51单片机STC89C52RC——代码编译

1&#xff0c;勾选 “Create HEX file” 2&#xff0c;编译

S686量产工具授权版,S686开卡教程,S686+EMMC固态硬盘开卡量产成功记录

手里有个S686EMMC组合的固态硬盘&#xff0c;华澜微的S686主控&#xff0c;之前一直没找到工具&#xff0c;感觉是废了&#xff0c;一直放着&#xff0c;偶然机会从桌子里又找到它&#xff0c;于是继续搜寻量产工具。 找到量产部落的一篇文章&#xff0c;里面说首发了S686的量产…

【gtest】 C++ 的测试框架之使用 gtest 编写单元测试

目录 &#x1f30a;前言 &#x1f30a;使用 cmake 启动并运行 gtest &#x1f30d;1. 设置项目 &#x1f30d;2. 创建并运行二进制文件 &#x1f30a;1. gtest 入门 &#x1f30d;1.1 断言&#xff08;assertions&#xff09; &#x1f30d;1.2 简单测试 &#x1f30d;…

《华为项目管理之道》第1章笔记

《华为项目管理之道》&#xff0c;是新出的华为官方的项目管理书&#xff0c;整个书不错。第1章的精华&#xff1a; 1.2.2 以项目为中心的机制 伴随着项目型组织的建立&#xff0c;华为逐步形成了完备的项目管理流程和制度&#xff0c;从而将业务运 作构建在项目经营管理之…

MySQL之优化服务器设置(三)

优化服务器设置 InnoDB表空间 InnoDB把数据保存在表空间内&#xff0c;本质上是一个由一个或多个磁盘文件组成的虚拟文件系统。InnoDB用表空间实现很多功能&#xff0c;并不只是存储表和索引。它还保存了回滚日志(旧版本行)、插入缓冲(Insert Buffer)、双写缓冲(Doublewrite …

Python | Leetcode Python题解之第148题排序链表

题目&#xff1a; 题解&#xff1a; class Solution:def sortList(self, head: ListNode) -> ListNode:def merge(head1: ListNode, head2: ListNode) -> ListNode:dummyHead ListNode(0)temp, temp1, temp2 dummyHead, head1, head2while temp1 and temp2:if temp1.v…

深入浅出 Babel:现代 JavaScript 的编译器

在现代前端开发中&#xff0c;JavaScript 的版本更新速度非常快&#xff0c;新的语法和特性层出不穷。然而&#xff0c;旧版本的浏览器并不总是支持这些新特性。为了确保代码的兼容性和稳定性&#xff0c;我们需要一个工具来将现代 JavaScript 代码转换为旧版本的代码。Babel 就…