欢迎光临散文网 会员登陆 & 注册

复活吧,我的猫雷! ——史上最详细的AI猫雷本地部署攻略

2022-12-25 14:22 作者:柑橘涩涩子  | 我要投稿


猫雷喵露

听了这么多AI猫雷的艺术创作,萌生了把AI猫雷部署到本地的想法!说干就干

鉴于找遍全网没有发现简单的教程,自己比较铸币,折腾起来遇到不少问题。所以我写了这篇文章,旨在让猫雷在所有喵喵露的硬盘中复活!

“大家内心深处都很温柔”
“说实话”
“猫雷看出来了”

使用的猫雷:

https://huggingface.co/spaces/innnky/nyaru-svc-3.0

  • 操作系统:Ubuntu 22.04

  • 内存:16GB

  • 显卡:RTX3050, 4GB(笔记本)

一、将仓库clone到本地


1、安装配置Anaconda

在AI猫雷环境配置中,我使用了Anaconda创建虚拟环境。强烈推荐你也这么干!Anaconda可以直接在官网https://www.anaconda.com/中下载.sh文件,下载好了进入终端,开始安装!

显示”>>>”后,按Enter阅读license,然后按照指示安装即可。过程中可能需要输入yes以确认。

tips:此处bash命令不要用sudo,那样会将Anaconda安装到root用户下😨😨

我们装在用户主目录就好喵。

在安装完成后,终端中输入conda命令看看能不能用

倘若没有返回版本号,那大概是因为没有将我们刚刚安装好的anaconda加入环境变量,操作如下(返回版本号则跳过此步骤):

在文件最后添加:

刷新,应用更改:

一番操作后,我们现在可以用anaconda来配置环境了。

2、利用Anaconda配置Python环境

为什么要用Anaconda来配置Python环境,各大佬的文章应该有不少了。Anaconda可以提供相对独立的Python环境,各个版本的Python可以共存。最开始我在Windows上尝试配置AI猫雷时,就发现不少库在Python3.11中无法使用。看到b站的前辈是用的Python3.8(某AI猫雷评论区),于是便转而在Ubuntu上利用Anaconda的Python环境来搞了。

首先新建一个叫py38的虚拟环境,Python版本3.8:

完成后,进入该环境(退出、删除环境等更多conda命令可以自己查询):

进入AI猫雷的目录下,将requirements.txt中所有的库通过pip安装,此处 -i 参数可以指定源,国外源史诗级慢,而且下一半中途寄了属实难绷,这里我们用清华源:

安装过程中出现错误红字莫慌,大不了在来一遍。还是不行,打开requirements.txt,手动pip安装里面所有的库就行。哥们在这块至少浪费了114分钟

tips:一定要在刚刚创建的py38环境下安装捏!

至此,运行AI猫雷的环境配置完毕!

另外,我建议在开始使用之前,安装ffmpeg,我曾出现过因为没有ffmpeg而产生的报错。


三、启动!AI猫雷

在配置完环境后,我们可以直接在猫雷目录下启动了!!在启动之前,可以用文本编辑器打开app.py,解除网页Demo中45秒的限制。具体操作为:注释掉以下两行代码:

在终端中通过python命令启动,注意要在刚刚建的py38环境下喵:

打开浏览器,访问localhost:7860即可。



四、逆天工具Spleeter的部署使用!

玩原神和不玩原神的都知道:AI猫雷要使用去掉伴奏的纯人声来合成。鉴于在网上下载的歌曲往往不能简单的分开伴奏和人声,我们在这里用很厉害的工具Spleeter来实现在本地对音频文件的拆分,拆分结果将是伴奏和人声两个文件。也就是说,这个工具不仅能提取我们需要的纯人声文件,也能提取歌曲伴奏,非常强大了属于是。

1、环境配置

与AI猫雷一样,Spleeter也是用的Python环境。在这里,我使用Anaconda新建一个叫music的python3.9的环境并使用:

接下来,安装一些依赖:

2、安装配置主体

使用pip安装Spleeter主体,其中 -i 参数指定的是清华源:

安装完成后,Spleeter命令也可能无法使用,原因也是没有添加进PATH。和刚才一样,在.bashrc文件末尾添加:

此处的/home/username/.local/bin是我Spleeter安装的路径。一般在使用pip安装Spleeter的过程中会有黄色字体提示你要将路径加入PATH。

在主体安装完成后,我们需要将训练好的模型放进工作文件夹中。模型可以从github上下载,其中2stems.tar.gz是我们需要的。2stems-finetune.tar.gz是更为精细的模型,效果和2stems.tar.gz差不多其实,要是有兴趣也可以下来用用。https://github.com/deezer/spleeter/releases/tag/v1.4.0

https://github.com/deezer/spleeter/releases/tag/v1.4.0


下载后,建立一个新文件结构,将2stems.tar.gz文件解压,得到的几个模型文件放置于文件夹2stems中

3、Spleeter的使用

在工作目录Spleeter下,使用命令(更多参数可输入spleeter命令查看):

完成后,我们将在输出路径得到两个音频文件,分别是伴奏和人声。经过简单的剪裁后即可食用!



五、写在最后

在处理长音频时,与AI绘图(炸显存)不同的是,好几次崩溃是因为内存炸掉。我直接把swap加到了34GB也无济于事(可能还是需要更高的RAM,萌新不懂喵)。经过反复尝试,我发现在我的配置下,一分钟左右的音频可以胜任。另外,在成功运行时,交换空间的大小并不重要(图3)。有几次失败案例挺有意思,放下面了~

失败案例一:内存先满,交换后满,然后炸掉
失败案例一:内存和交换空间双双炸掉(交换空间:?)

上面两次失败案例应该都是因为输入音频时间太长。

成功案例,内存基本在100%以下游走,这次使用大概一分半的音频输入

另,修改swap时,使用了GParted软件,操作简单,贝极星也会用。

谢谢大傻喵

原文链接 https://www.pediastrum.com/necoranyaru/

鸣谢:@猫雷NyaRu_Official

AI猫雷作者叠 @Rcell

人间高质量作者 @AI猫雷

我是草莓猫 @草莓猫Taffy


END喵

复活吧,我的猫雷! ——史上最详细的AI猫雷本地部署攻略的评论 (共 条)

分享到微博请遵守国家法律