AI天后,在线飙歌,人工智能AI孙燕姿模型应用实践,复刻《遥远的歌》,原唱晴子(Python3.10)

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 忽如一夜春风来,亚洲天后孙燕姿独特而柔美的音色再度响彻华语乐坛,只不过这一次,不是因为她出了新专辑,而是人工智能AI技术对于孙燕姿音色的完美复刻,以大江灌浪之势对华语歌坛诸多经典作品进行了翻唱,还原度令人咋舌,如何做到的? 本次我们借助基于Python3.10的开源库so-vits-svc,让亚洲天后孙燕姿帮我们免费演唱喜欢的歌曲,实现点歌自由。

忽如一夜春风来,亚洲天后孙燕姿独特而柔美的音色再度响彻华语乐坛,只不过这一次,不是因为她出了新专辑,而是人工智能AI技术对于孙燕姿音色的完美复刻,以大江灌浪之势对华语歌坛诸多经典作品进行了翻唱,还原度令人咋舌,如何做到的?

本次我们借助基于Python3.10的开源库so-vits-svc,让亚洲天后孙燕姿帮我们免费演唱喜欢的歌曲,实现点歌自由。

so-vits-svc是基于VITS的开源项目,VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)是一种结合变分推理(variational inference)、标准化流(normalizing flows)和对抗训练的高表现力语音合成模型。

VITS通过隐变量而非频谱串联起来语音合成中的声学模型和声码器,在隐变量上进行随机建模并利用随机时长预测器,提高了合成语音的多样性,输入同样的文本,能够合成不同声调和韵律的语音。

环境配置

首先确保本机已经安装好Python3.10的开发环境,随后使用Git命令克隆项目:

git clone https://github.com/svc-develop-team/so-vits-svc.git

随后进入项目的目录:

cd so-vits-svc

接着安装依赖,如果是Linux或者Mac系统,运行命令:

pip install -r requirements.txt

如果是Windows用户,需要使用Win系统专用的依赖文件:

pip install -r requirements_win.txt

依赖库安装成功之后,在项目的根目录运行命令,启动服务:

python webUI.py

程序返回:

PS D:\so-vits-svc> python .\webUI.py  
DEBUG:charset_normalizer:Encoding detection: ascii is most likely the one.  
C:\Users\zcxey\AppData\Roaming\Python\Python310\site-packages\gradio\deprecation.py:43: UserWarning: You have unused kwarg parameters in UploadButton, please remove them: {'variant': 'primary'}  
  warnings.warn(  
DEBUG:asyncio:Using proactor: IocpProactor  
Running on local URL:  http://127.0.0.1:7860  
  
To create a public link, set `share=True` in `launch()`.

说明服务已经正常启动了,这里so-vits-svc会在后台运行一个基于Flask框架的web服务,端口号是7860,此时访问本地的网址:127.0.0.1:7860:

此时,我们就可以加载模型,模型训练先按下不表,这里先使用已经训练好的孙燕姿音色模型:

链接:https://pan.baidu.com/s/1RwgRe6s4HCA2eNI5sxHZ9A?pwd=7b4a   
提取码:7b4a

下载模型文件之后,将模型文件放入logs/44k目录:

D:\so-vits-svc\logs\44k>dir  
 驱动器 D 中的卷是 新加卷  
 卷的序列号是 9824-5798  
  
 D:\so-vits-svc\logs\44k 的目录  
  
2023/05/10  12:31    <DIR>          .  
2023/05/10  11:49    <DIR>          ..  
2023/04/08  15:22       542,178,141 G_27200.pth  
2023/04/08  15:54        15,433,721 kmeans_10000.pt  
2023/05/10  11:49                 0 put_pretrained_model_here  
               3 个文件    557,611,862 字节  
               2 个目录 475,872,493,568 可用字节  
  
D:\so-vits-svc\logs\44k>

接着将模型的配置文件config.js放入configs目录:

D:\so-vits-svc\configs>dir  
 驱动器 D 中的卷是 新加卷  
 卷的序列号是 9824-5798  
  
 D:\so-vits-svc\configs 的目录  
  
2023/05/10  11:49    <DIR>          .  
2023/05/10  12:23    <DIR>          ..  
2023/04/08  12:33             2,118 config.json  
               1 个文件          2,118 字节  
               2 个目录 475,872,493,568 可用字节  
  
D:\so-vits-svc\configs>

随后,在页面中点击加载模型即可,这里环境就配置好了。

原始歌曲处理(人声和伴奏分离)

如果想要使用孙燕姿的模型进行推理,让孙燕姿同学唱别的歌手的歌,首先需要一段已经准备好的声音范本,然后使用模型把原来的音色换成孙燕姿模型训练好的音色,有些类似Stable-Diffusion的图像风格迁移,只不过是将绘画风格替换为音色和音准。

这里我们使用晴子的《遥远的歌》,这首歌曲调悠扬,如诉如泣,和孙燕姿婉转的音色正好匹配。好吧,其实是因为这首歌比较简单,方便新手练习。

需要注意的是,模型推理过程中,需要的歌曲样本不应该包含伴奏,因为伴奏属于“噪音”,会影响模型的推理效果,因为我们替换的是歌手的“声音”,并非伴奏。

这里我们选择使用开源库Spleeter来对原歌曲进行人声和伴奏分离,首先安装spleeter:

pip3 install spleeter --user

接着运行命令,对《遥远的歌》进行分离操作:

spleeter separate -o d:/output/ -p spleeter:2stems d:/遥远的歌.mp3

这里-o代表输出目录,-p代表选择的分离模型,最后是要分离的素材。

首次运行会比较慢,因为spleeter会下载预训练模型,体积在1.73g左右,运行完毕后,会在输出目录生成分离后的音轨文件:

C:\Users\zcxey\Downloads\test>dir  
 驱动器 C 中的卷是 Windows  
 卷的序列号是 5607-6354  
  
 C:\Users\zcxey\Downloads\test 的目录  
  
2023/05/09  13:17    <DIR>          .  
2023/05/10  20:57    <DIR>          ..  
2023/05/09  13:17        26,989,322 accompaniment.wav  
2023/05/09  13:17        26,989,322 vocals.wav  
               2 个文件     53,978,644 字节  
               2 个目录 182,549,413,888 可用字节

其中vocals.wav为晴子的清唱声音,而accompaniment.wav则为伴奏。

关于spleeter更多的操作,请移步至:人工智能AI库Spleeter免费人声和背景音乐分离实践(Python3.10) , 这里不再赘述。

至此,原始歌曲就处理好了。

歌曲推理

此时,将晴子的清唱声音vocals.wav文件添加到页面中:

接着就是参数的调整:

这里推理歌曲会有两个问题,就是声音沙哑和跑调,二者必居其一。

F0均值滤波(池化)参数开启后可以有效改善沙哑问题,但有概率导致跑调,而降低该值则可以减少跑调的概率,但又会出现声音沙哑的问题。

基本上,推理过程就是在这两个参数之间不断地调整。

所以每一次推理都需要认真的听一下歌曲有什么问题,然后调整参数的值,这里我最终的参数调整结果如上图所示。

推理出来的歌曲同样也是wav格式,此时我们将推理的清唱声音和之前分离出来的伴奏音乐accompaniment.wav进行合并即可,这里推荐使用FFMPEG

ffmpeg -f concat -i <( for f in *.wav; do echo "file '$(pwd)/$f'"; done ) output.wav

该命令可以把推理的人声wav和背景音乐wav合并为一个output.wav歌曲,也就是我们最终的作品。

结语

藉此,我们就完成了自由点歌让天后演唱的任务,如果后期配上画面和歌词的字幕,不失为一个精美的AI艺术品,在Youtube(B站)搜索关键字:刘悦的技术博客,即可欣赏最终的成品歌曲,欢迎诸君品鉴。

相关文章
|
11天前
|
人工智能 测试技术 API
AI计算机视觉笔记二十 九:yolov10竹签模型,自动数竹签
本文介绍了如何在AutoDL平台上搭建YOLOv10环境并进行竹签检测与计数。首先从官网下载YOLOv10源码并创建虚拟环境,安装依赖库。接着通过官方模型测试环境是否正常工作。然后下载自定义数据集并配置`mycoco128.yaml`文件,使用`yolo detect train`命令或Python代码进行训练。最后,通过命令行或API调用测试训练结果,并展示竹签计数功能。如需转载,请注明原文出处。
|
4天前
|
机器学习/深度学习 人工智能 UED
OpenAI o1模型:AI通用复杂推理的新篇章
OpenAI发布了其最新的AI模型——o1,这款模型以其独特的复杂推理能力和全新的训练方式,引起了业界的广泛关注。今天,我们就来深入剖析o1模型的特点、背后的原理,以及一些有趣的八卦信息。
139 73
|
7天前
|
人工智能 自动驾驶 云计算
【通义】AI视界|谷歌大模型被盯上!欧盟最高隐私监管机构对PaLM2模型展开调查~
本文汇总了近24小时内科技领域的五大要闻:欧盟对谷歌PaLM2模型启动隐私合规调查;甲骨文推出Zettascale云计算集群,集成大量NVIDIA GPU强化计算力;红杉资本偏好AI应用投资而非模型构建;夸克新推智能助手CueMe,支持长达2万字内容生成;沃尔沃与NVIDIA合作,未来车型将采用后者先进芯片提升自动驾驶功能。以上内容由通义自动生成。
|
9天前
|
机器学习/深度学习 人工智能 供应链
【通义】AI视界|OpenAI的“草莓”模型预计两周内上线!像人类一样思考!
本文介绍了近期科技领域的五大亮点:OpenAI即将推出的新一代AI模型“草莓”,具备高级推理能力;亚马逊测试AI技术加速有声读物生产,通过语音克隆提高效率;Kimi API新增联网搜索功能,拓宽信息来源;顺丰发布物流行业专用大语言模型“丰语”,提升工作效率;钉钉推出“AI班级群”功能,改善家校沟通体验。更多详情,请访问[通义官网]。
|
11天前
|
人工智能 测试技术 PyTorch
AI计算机视觉笔记二十四:YOLOP 训练+测试+模型评估
本文介绍了通过正点原子的ATK-3568了解并实现YOLOP(You Only Look Once for Panoptic Driving Perception)的过程,包括训练、测试、转换为ONNX格式及在ONNX Runtime上的部署。YOLOP由华中科技大学团队于2021年发布,可在Jetson TX2上达到23FPS,实现了目标检测、可行驶区域分割和车道线检测的多任务学习。文章详细记录了环境搭建、训练数据准备、模型转换和测试等步骤,并解决了ONNX转换过程中的问题。
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能:从基础理论到实践应用
【8月更文挑战第39天】在本文中,我们将深入探讨人工智能(AI)的基本概念、发展历程以及其在现实世界中的应用。我们将首先介绍AI的定义和主要分类,然后回顾其发展历史,最后通过一个实际的代码示例来展示AI的应用。无论你是AI领域的初学者还是有一定基础的学习者,这篇文章都将为你提供有价值的信息和启示。
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能在教育中的创新应用:个性化学习的未来
【9月更文挑战第18天】人工智能在教育中的创新应用正在深刻改变着我们的教学方式和学习体验。从个性化学习方案的制定到智能化辅导与反馈,从多元化学习资源的推荐到自动化评分与智能考试系统,AI技术正在为教育领域带来前所未有的变革。面对这一变革,我们需要以开放和批判的态度拥抱它,共同探索AI时代教育的无限可能,为每一个学习者创造更美好的未来。
36 12
|
3天前
|
数据采集 人工智能 自然语言处理
探索软件测试中的人工智能应用
在当今快速发展的技术世界中,软件测试作为确保软件质量的关键环节,正经历着前所未有的变革。随着人工智能技术的不断成熟和应用,其在软件测试领域的潜力逐渐显现,为提升测试效率、准确性和自动化水平提供了新的可能性。本文将深入探讨人工智能在软件测试中的应用现状、面临的挑战以及未来的发展趋势,旨在为读者提供一个关于AI如何改变软件测试行业的全面视角。
|
2天前
|
机器学习/深度学习 存储 人工智能
深度学习中的模型压缩技术在人工智能领域,深度学习技术的迅猛发展带来了巨大的计算资源需求。为了解决这一问题,模型压缩技术应运而生。本文将介绍什么是模型压缩、常见的模型压缩方法以及其在实际应用中的意义。
随着深度学习技术的广泛应用,计算资源的需求也大幅增加。为减少资源消耗,提升模型效率,模型压缩技术成为研究热点。本文探讨了模型压缩的定义、主流方法和其重要性。通过量化、剪枝、知识蒸馏和轻量级架构等策略,模型得以在保持性能的同时减小体积,从而适用于资源受限的环境。这些技术不仅降低了计算成本,还推动了深度学习在移动设备和边缘计算等领域的应用,使AI技术更加普及和实用。总之,模型压缩在平衡模型性能与资源消耗之间发挥着关键作用,是未来AI发展的重要方向。
|
9天前
|
机器学习/深度学习 人工智能 算法
探索人工智能:机器学习的奥秘与应用
本文深入浅出地探讨了人工智能领域中的核心技术——机器学习,揭示了其背后的原理和广泛的实际应用。通过浅显易懂的语言和生动的例子,本文旨在为非专业读者打开一扇了解并利用机器学习的大门,同时激发对这一前沿技术的兴趣和思考。
23 1