利用spleeter库实现人声和音乐分离(踩过的坑及解决方法)

news2024/12/26 12:44:47

0:起因

事情的起因是:想用一首歌的伴奏剪视频,但找遍各大平台,都只有原曲,没有伴奏。能找到的进行人声和背景音乐分离的软件都要收费,最后决定用spleeter库,尝试进行音频分离。

1:开始

最开始参考的是下面的这篇文章

https://www.cnblogs.com/mq0036/p/17411981.html

 文章写的很好,但我在进行第一步就出了问题

 在安装spleeter库的时候,出现了依赖冲突的情况,但搜了很久,都没找到合适的解决办法

但后来在检查安装路径的时候,又能成功显示,就没继续管了。

 上面的那篇博客中还提到了,如果不想再本地搭建深度学习环境,可以用docker镜像安装(本来是想尝试的,但虚拟机才卸掉不久...加上自认为磁盘内存还够,便放弃了这一想法)

2:过程

库安装完了,接下来就是正式的运行环节

但又出了问题,报错:无法将“spleeter”项识别为 cmdlet、函数、脚本文件或可运行程序的名

 通过下面这篇博文找到了解决方案,即:将spleeter地址加入环境变量pyinstaller : 无法将“pyinstaller”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。所在位置 行:1_无法将pyinstaller_qq_2081540885的博客-CSDN博客

 但需要注意的是,重新执行命令时,需要先重启终端,不然还是会报错。

解决完以上问题,又报错了: ERROR:spleeter:ffmpeg binary not found

 经过查找,发现自己没有ffmpeg库,经下面的博客成功解决(相关文件在csdn也能下载)

使用Python扩展库spleeter分离MP3音乐文件中的伴奏和人声_dongfuguo的博客-CSDN博客

后面的运行没有报错了

3.结果

 经过漫长的等待,看着c盘空间从13G到9G,再到13G,音频终于分离完成

 当然,再次出问题了,我找不到输出的文件在哪

通过查询help,知道了默认路径,但还是没找到文件....

 最后,灵机一动,决定再分离一次,修改路径,借助了下面这位大佬的博客

伴奏提取神器spleeter探索记 - 知乎

 最后的最后,提取成功啦,也找到文件了~

 4:后记

当时还看了一篇博客

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

文章中还介绍了一种开源语音合成模型so-vits-svc,当时没看清,也直接部署了,目前还没尝试,以后有机会可以试试。

以及,当我完成了全部工作之后,惊奇的发现,竟然还有spleeterGUIMakenweb | Maken It So

但有一说一,做完还是蛮有成就感的,按照自己的意志去完成自己想做的事,解决了一个又一个困难,感受到来自己的进步!继续加油吧!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DAY3、DAY4(路飞)

字典 因为key不能为变量 只能为不可变的值 字典的key必须是唯一的 不然后面的值会吧前面的值覆盖 字典取值只能一个一个取 且只能通过key查询value 不能反过来 d.items就是变成了列表里 元祖的形式 这种取值是最推荐的。第三种比第二种推荐的方式 是因为第2种取值会先转…

Redis实战篇(四)

六.秒杀优化 6.1 秒杀优化-异步秒杀思路 之前的下单流程 当用户发起请求,此时会请求nginx,nginx会访问到tomcat,而tomcat中的程序,会进行串行操作,分成如下几个步骤 1、查询优惠卷 2、判断秒杀库存是否足够 3、查…

【NoSQL之 Redis配置】

目录 一、关系数据库与非关系型数据库1、关系型数据库和非关系型数据库区别(1)数据存储方式不同(2)扩展方式不同(3)对事务性的支持不同 2、非关系型数据库产生背景总结 二、Redis简介1、Redis 具有以下几个…

碳排放预测模型 | Python实现基于DT决策树的碳排放预测模型

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于DT决策树的碳排放预测模型 研究内容 碳排放被认为是全球变暖的最主要原因之一。 该项目旨在提供各国碳排放未来趋势的概述以及未来十年的全球趋势预测。 其方法是分析这些…

迁移Notes最近应用和工作台图标到Nomad Web中

大家好,才是真的好。 今天我们分享一个十分有趣的技术话题,就是将Notes客户机(MacOS和Windows)上的最近访问应用和工作台图标迁移到Nomad Web中,这样用户就可以在Nomad Web和Notes中获得一致的使用体验。 毕竟Nomad …

maven项目如何引入项目本地jar包

目录 背景操作 背景 由于项目需要,对jar包中的内容进行了一点改变,但是由于不熟悉公司maven仓库发布流程,所以就把jar包放到了项目中,那就需要将本地jar包交给maven管理 操作 在项目中新建目录lib,然后将jar包放在其…

Xilinx ZYNQ系列10款型号IDCODE汇总(2023年7月最新版)

ZYNQ系列产品选型手册:zynq-7000-product-selection-guide /* Zynq Devices. */ #define IDCODE_XC7Z007 0x03723093 #define IDCODE_XC7Z010 0x03722093 #define IDCODE_XC7Z012 0x0373C093 #define IDCODE_XC7Z014 0x03728093 #defi…

Linux学习之服务管理工具systemctl

在CentOS 7中有两种服务集中管理工具: service systemctl /etc/init.d/中放着service的启动脚本。比如network这个脚本里边就有网络服务的启动脚本,cat network | wc -l可以看到这个文件中有264行内容。 /usr/lib/systemd/system下放着systemctl的启动脚…

Redis————主从架构

主从架构搭建 单机多实例 粗制一份redis.conf文件 将相关配置修改为如下值: port 与主节点端口后不相同即可 pidfile pid进程号保存文件pidfile的路径 logfile 日志文件名称 dir 指定数据存放目录 #需要注释掉bind #bind 127.0.0.1(bind绑定的是自己机…

Spring Boot 中的 RabbitMQ 的消息接收配置是什么,原理,如何使用

Spring Boot 中的 RabbitMQ 的消息接收配置是什么,原理,如何使用 RabbitMQ 是一个流行的消息队列系统,它可以用于在应用程序之间传递消息。Spring Boot 提供了对 RabbitMQ 的支持,我们可以使用 Spring Boot 中的 RabbitMQ 消息接…

从0到1精通自动化测试,pytest自动化测试框架,allure标记用例级别severity(二十一)

目录 一、前言 二、用例等级 三、pytest用例 四、统计缺陷 五、allure命令行参数allure-severities 一、前言 我们在做功能测试的时候,执行完一轮测试用例,输出测试报告的时候,会有统计缺陷的数量和等级 在做自动化测试的过程中&#…

SpringBoot3【② Web开发】

SpringBoot3-Web开发 SpringBoot的Web开发能力,由SpringMVC提供。 0. WebMvcAutoConfiguration原理 1. 生效条件 AutoConfiguration(after { DispatcherServletAutoConfiguration.class, TaskExecutionAutoConfiguration.class,ValidationAutoConfiguration.clas…

12-C++算法笔记-递推

📖 引入 让我们从一个有趣的例子开始,棋盘放米的问题。假设有一个 8 8 8\times8 88 的棋盘,皇帝想要奖赏一位大臣。大臣提出的要求是在棋盘上按如下规则领赏:第一个格子上放一粒米,随后的每个格子都放置前一个格子上…

IM即时通讯APP在聊天场景中的应用

即时通讯(IM)应用可以满足人们随时随地进行文字、语音、图片、视频等多媒体信息的传递需求,为个人和企业提供了高效、便捷的沟通方式。在企业中,IM即时通讯APP更是发挥着重要的作用,促进了协作和团队工作的效率提升。以…

jenkins邮箱设置报:501 mail from address must be same as authorization user

jenkins配置邮箱时遇到如下错误:501 mail from address must be same as authorization user 原因是管理员邮箱地址与发送邮箱地址不统一,配置管理员邮件地址:系统管理-系统配置-Jenkins Location,输入与发件人统一的地址即可

Airtest:Windows桌面应用自动化测试三【Airtest脚本的点击位置与点击偏移】

Airtest脚本的点击位置与点击偏移 1. 前言2. Airtest的点击位置3.Airtest的点击偏移图像点击偏移,常用于下述场景中:3.1、一个是,当我们的页面中,存在很多个相同的图标,我们想指定点击某个位置的图标,就有可…

台灯的功能作用有哪些?分享好用的台灯

照明对于我们来说是非常重要的,从远古时期的钻木取火到古代的蜡烛、油灯以及近代电灯,可以说人们在不断的创造着能够发亮的东西,而现在电灯的种类很多,包括壁灯、吊灯、台灯等,因为实际用到的环境不同起到的作用也不尽…

抖音矩阵号/抖音短视频SEO矩阵系统源码开发及开发者思路分享....

抖音矩阵号短视频系统,抖音矩阵号系统源码开发,思路分享,说一点开发者掏心窝子的话...... 一套优秀的短视频获客系统,支持短视频智能剪辑、短视频定时发布,短视频排名查询及优化,短视频智能客服等,那么短视…

C语言进阶---动态内存管理

1、为什么存在动态内存分配? 我们已经掌握的内存开辟方式有: int a 20; //在栈空间上开辟四个字节。 char arr[20]; //在栈空间上开辟10个字节的连续空间。但是上述的开辟空间的方式有两个特点: 开辟空间大小是固定的数组在申…

基于JSP+Servlet+Mysql客户管理系统

基于JSPServletMysql客户管理系统 一、系统介绍二、功能展示1.项目骨架2.登录界面3.个人信息修改4.数据分析5.市场管理6.线索管理7、联系人8、客户管理9、交易管理 四、其它1.其他系统实现五.获取源码 一、系统介绍 项目类型:Java web项目 项目名称:基…