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

ai,在线,人工智能,孙燕姿,模型,应用,实践,复刻,遥远,原唱,python3 · 浏览次数 : 1190

小编点评

**步骤 1:歌曲预处理** - 使用开源库 Spleeter 对歌曲进行人声和伴奏分离。 - 将晴子的清唱声音 (vocals.wav) 添加到页面中。 **步骤 2:参数调整** - 调整 F0 均值滤波 (pool) 参数,以平衡沙哑和跑调。 - 降低 F0 值,减少跑调的概率,但可能导致声音沙哑。 - 调整 F0 值,降低沙哑概率,但可能导致声音失调。 **步骤 3:合并歌曲** - 使用 FFmpeg 命令合并 stimmals.wav 和 accompaniment.wav 的音轨。 **步骤 4:输出结果** - 将合并后的音轨转换为 WAV 格式。 - 命名合并后的文件为 output.wav。 **最终结果:** - 自由点歌让天后演唱的歌曲,包括清唱和伴奏。

正文

忽如一夜春风来,亚洲天后孙燕姿独特而柔美的音色再度响彻华语乐坛,只不过这一次,不是因为她出了新专辑,而是人工智能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站)搜索关键字:刘悦的技术博客,即可欣赏最终的成品歌曲,欢迎诸君品鉴。

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

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

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

民谣女神唱流行,基于AI人工智能so-vits库训练自己的音色模型(叶蓓/Python3.10)

流行天后孙燕姿的音色固然是极好的,但是目前全网都是她的声音复刻,听多了难免会有些审美疲劳,在网络上检索了一圈,还没有发现民谣歌手的音色模型,人就是这样,得不到的永远在骚动,本次我们自己构建训练集,来打造自己的音色模型,让民谣女神来唱流行歌曲,要多带劲就有多带劲。 构建训练集 训练集是指用于训练神经网

南洋才女,德艺双馨,孙燕姿本尊回应AI孙燕姿(基于Sadtalker/Python3.10)

孙燕姿果然不愧是孙燕姿,不愧为南洋理工大学的高材生,近日她在个人官方媒体博客上写了一篇英文版的长文,正式回应现在满城风雨的“AI孙燕姿”现象,流行天后展示了超人一等的智识水平,行文优美,绵恒隽永,对AIGC艺术表现得极其克制,又相当宽容,充满了语言上的古典之美,表现出了“任彼如泰山压顶,我只当清风拂

让摄像头带上智慧“智驭视界·AIEye”

接上一篇《物联网浏览器(IoTBrowser)-基于计算机视觉开发的应用“智慧眼AIEye”》,经过AI的包装很高级,确实很屌炸天。 智驭视界·AIEye 在科技赋能的浪潮中,智驭视界(AIEye) 横空出世,它不仅仅是一款视觉监测工具,更是直播、视频、图片世界中的智慧之眼,深度融合Yolo v5尖

Solution -「ARC 106E」Medals

Desc. Link. 你有 \(n\) 个朋友,他们会来你家玩,第 \(i\) 个人 \(1...A_i\) 天来玩,然后 \(A_i+1...2A_i\) 天不来,然后 \(2A_i+1...3A_i\) 又会来,以此类推; 每天你会选一个来玩的人,给他颁个奖,如果没人来玩,你就不颁奖。 你要给

解码技术债:AI代码助手与智能体的革新之道

技术债可能来源于多种原因,比如时间压力、资源限制、技术选型不当等。它可以表现为代码中的临时性修补、未能彻底解决的设计问题、缺乏文档或测试覆盖等。虽然技术债可以帮助快速推进项目进度,但长期来看,它会增加软件维护的成本和风险,降低系统的稳定性和可维护性。

2024年,AI驱动测试管理工具会有哪些发展前景呢?

随着人工智能技术的日新月异,2024年的测试管理工具将迎来全新的发展机遇。AI赋能将助力测试管理工具实现前所未有的智能化升级,为软件研发团队带来革命性的变革。 一、什么是AI? 人工智能(AI)是一种能够模仿人类智能行为的技术。它通过模拟人类大脑的功能来解决复杂问题,具有学习、推理、感知、预测等能力

大模型重塑软件开发,华为云AI原生应用架构设计与实践分享

在ArchSummit全球架构师峰会2024上,华为云aPaaS平台首席架构师马会彬受邀出席,和技术爱好者分享AI原生应用引擎的架构与实践。

我的日常AI使用

从去年年初开始,AI技术真正走入了我们的日常生活。从OpenAI到如今字节跳动的coze,我们通过AI大模型可以做很多事情,工具和平台众多,如何选择和使用有必要总结一下。 编程和debug方面 尽管gpt-4和gpt-4o确实很强,但对于持续代码改进和代码调试方面,依然不够好,并且它对于非Plus会

贝壳找房: 为 AI 平台打造混合多云的存储加速底座

贝壳机器学习平台的计算资源,尤其是 GPU,主要依赖公有云服务,并分布在不同的地理区域。为了让存储可以灵活地跟随计算资源,存储系统需具备高度的灵活性,支持跨区域的数据访问和迁移,同时确保计算任务的连续性和高效性;此外,随着数据量的增长,元数据管理的压力也在逐渐加大。 贝壳机器学习平台团队从去年开始对