问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

从零开始训练基于自己声音的AI大模型:使用so-vits-svc的完整教程

创作时间:
作者:
@小白创作中心

从零开始训练基于自己声音的AI大模型:使用so-vits-svc的完整教程

引用
CSDN
1.
https://blog.csdn.net/u010046615/article/details/141821564

本文将详细介绍如何基于开源项目so-vits-svc,使用阿里云平台从零开始训练一个基于自己声音的AI大模型。通过本文,你将学习到如何准备训练环境、处理训练数据、进行模型训练以及最终实现人声与伴奏的合并。

准备工作

  • 技术栈:Python
  • 环境要求:阿里云全套可视化平台
  • 工具:Chrome浏览器

Step 1: 注册及登录阿里云主机

  1. 打开阿里云官网,登录个人阿里云账号。
  2. 在左侧产品目录中,进入人工智能平台PAI。
  3. 选择左侧的Notebook Gallery,这是一个基于Notebook方式的可视化平台,易于操作和二次开发。

Step 2: 找到大模型项目

  1. 在全部分类里,搜索开源项目so-vits-svc(即AI孙燕姿用的模型项目)。
  2. 在搜索结果中,找到“AI歌手”这个项目,然后点击【在DSW中打开】。DSW全称是Data Science Workshop,类似于一个深度训练的云平台。

Step 3: 创建大模型环境实例

  1. 点击【在DSW中打开】后,会跳转到新建实例页面。
  2. 为这个大模型在云空间里创建一个运行实例,包括操作系统、CPU、GPU规格。注意,涉及到大模型训练,一定要配置英伟达的GPU。阿里云提供3个月的免费试用期,一般够小型模型训练。

Step 4: 进入Ai_singer教程

  1. 新建完成后,回到PAI平台,在左侧选择交互式建模(DSW)。
  2. 找到创建好的实例,点击启动。启动完成后,点击打开,直接进入DSW对应的工作台。
  3. 在工作台中,找到 ai_singer.ipynb 文件,这是一个用IPython(Jupyter)方式引导训练模型的教程。

Step 5: 环境及预训练模型下载

  1. 按照目录提示,运行预训练模型准备和数据下载的代码。
  2. 注意:如果在执行过程中缺少组件,可以通过 pip 安装。

Step 6: 训练数据准备

  1. 将准备好的声音文件放置在 so-vits-svc/dataset_raw/ 目录下。例如,可以创建一个自定义文件夹 Amiao
  2. 数据清洗步骤包括:
  • 人声伴奏抽取:通过全民K歌录制的歌曲,用iPhone自带的快捷指令提取出m4a格式的音频,存入电脑。然后使用UVR软件进行人声和伴奏分离。

  • 音频切片:将分离好的纯人声以wav格式上传到自定义目录,如 train_data/one/
  • 数据筛选:播放切片好的声音片段,删除无声片段。
  • 数据存放:将处理好的数据放到训练数据源目录 demos/ai_singer/so-vits-svc/dataset_raw/Amiao/。建议准备300条左右10秒的数据,效果更佳。

Step 7: 数据预处理和切分配置

  1. 按照官方教程进行数据预处理,注意路径要使用自定义路径。
  2. 过程中可能需要安装一些库才能继续。

Step 8:生成音频特征数据

  1. 运行相关代码生成特征数据。

Step 9: 训练

  1. 使用GPU进行模型训练,命令如下:
    !cd ./so-vits-svc && python train.py -c configs/config.json -m 44k
    
  2. 训练时间较长,通常需要1天甚至更久。

Step 10:推理

  1. 在模型训练完成后,使用目标音乐进行推理,生成AI声音演唱的歌曲。
  2. 推理命令示例:
    !cd ./so-vits-svc && mkdir -p results/one && \
    python inference_main.py \
    -m "logs/44k/G_103200.pth" \
    -c "configs/config.json" \
    -n "one/1_1_tt_(Vocals)_(Vocals).wav" \
    -t 0 \
    -s "Amiao"
    

Step 11:人声与伴奏合并

  1. 安装 pydub 库:
    pip install pydub
    
  2. 运行代码合并人声与伴奏:
    from pydub import AudioSegment
    from IPython.display import Audio,display
    vocal_audio = './so-vits-svc/results/one/1_1_FirstLove_(Vocals)_(Vocals).wav_-5key_Amiao_sovits_pm.flac'
    instrumental_audio = './so-vits-svc/raw/one/1_FirstLove_(Instrumental).wav'
    save_path = './so-vits-svc/results/one_Amiao.wav'
    sound1 = AudioSegment.from_file(instrumental_audio, format='wav')
    sound2 = AudioSegment.from_file(vocal_audio, format='flac')
    output = sound1.overlay(sound2)  # 把sound2叠加到sound1上面
    output.export(save_path, format="wav")  # 保存文件
    print('Export successfully!')
    display(Audio(save_path))
    

结语

通过本文的详细教程,你可以从零开始训练一个基于自己声音的AI大模型。虽然AI合成的声音可能还需要不断优化,但这是一个很好的开始。希望这篇文章能激发你对AI语音合成的兴趣,开启你的AI创作之旅。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号