人工智能AI库Spleeter免费人声和背景音乐分离实践(Python3.10)
在视频剪辑工作中,假设我们拿到了一段电影或者电视剧素材,如果直接在剪辑的视频中播放可能会遭遇版权问题,大部分情况需要分离其中的人声和背景音乐,随后替换背景音乐进行二次创作,人工智能AI库Spleeter可以帮我们完成大部分素材的人声和背景音乐的分离流程。
Spleeter的模型源来自最大的音乐网站Deezer,底层基于深度学习框架Tensorflow,它可以通过模型识别出素材中的背景音乐素材,从而判断出哪些是背景音乐,哪些是外部人声。
Spleeter安装
在终端执行运行pip命令:
pip3 install spleeter --user
安装成功之后,输入命令,检查Spleeter安装路径:
pip show spleeter
程序返回:
PS C:\Users\liuyue\www\videosite> pip show spleeter WARNING: Ignoring invalid distribution -umpy (c:\python39\lib\site-packages) Name: spleeter Version: 2.3.2
Summary: The Deezer source separation library with pretrained models based on tensorflow.
Home-page: https://github.com/deezer/spleeter
Author: Deezer Research
Author-email: spleeter@deezer.com
License: MIT
Location: c:\users\liuyue\appdata\roaming\python\python39\site-packages Requires: ffmpeg-python, httpx, librosa, llvmlite, norbert, numpy, pandas, protobuf, tensorflow, typer
说明安装成功。
如果不想在本地搭建深度学习环境,也可以通过Docker镜像安装。关于Docker,请移步:一寸宕机一寸血,十万容器十万兵|Win10/Mac系统下基于Kubernetes(k8s)搭建Gunicorn+Flask高可用Web集群,这里不在赘述。
运行Docker命令:
docker pull deezer/spleeter:3.8-5stems
这里程序加上预训练模型大概需要1.73GB的硬盘空间。
Spleeter分离人声和背景音乐
Spleeter同时支持视频和音频文件的人声和背景音乐分离,Spleeter自带三种预训练模型:
1、人声&伴奏声分离模型 2 stems,分离出两个音轨
2、鼓声、贝斯声及其它声分离模型 4 stems,分离出4个音轨)
3、鼓声、贝斯声、钢琴声及其它声分离模型 5 stems,分离出5个音轨)
后面两种模型相对比较精细,它可以把人声、鼓声、贝斯声、钢琴声各自分离成多个音轨,一般适合音乐行业的专业人士进行使用。
大多数情况下,我们只需要使用第一种模型 2 stems 即可,它将音频分离成两个音轨,人声和背景音乐的声音:
spleeter separate -o /output/ -p spleeter:2stems /test.mp3
这里-o代表输出目录,-p代表选择的分离模型,最后是要分离的素材。
首次运行会比较慢,因为spleeter会下载预训练模型,体积在1.73g左右,运行完毕后,会在输出目录生成分离后的音轨文件:
accompaniment.wav
vocals.wav
accompaniment.wav代表人声,vocals.wav是背景音乐。
如果是基于Docker安装的,则需要运行对应的Docker命令:
docker run -v $(pwd)/output:/output deezer/spleeter:3.8-5stems separate test.mp3 -o /output
结语
Spleeter可以算是免费的人声和背景音乐分离功能的最佳本地方案了,除了影视剧素材的人声和背景音乐分离的二次创作,如果是在外部环境录制的Vlog,环境音非常嘈杂,而又不得不现场录音,那么使用Spleeter也可以将人声从环境音中分离出来,节省了二次录制画外音的环节。
人工智能AI库Spleeter免费人声和背景音乐分离实践(Python3.10)的更多相关文章
- 人工智能(AI)库TensorFlow 踩坑日记之一
上次写完粗浅的BP算法 介绍 本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑.所以就先跳过算法介绍直接来应用场景,原谅我吧. TensorFlow 介绍 TF是g ...
- 人工智能(AI)库TensorFlow 踩坑日记之二
上次 踩坑日志之一 遗留的问题终于解决了,所以作者(也就是我)终于有脸出来写第二篇了. 首先还是贴上 卷积算法的示例代码地址 :https://github.com/tensorflow/models ...
- 闻其声而知雅意,基于Pytorch(mps/cpu/cuda)的人工智能AI本地语音识别库Whisper(Python3.10)
前文回溯,之前一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),利用AI技术将文本合成语音,现在反过来,利用开源库Whisper再将语音转 ...
- 吾剑未尝不利,国内Azure平替,科大讯飞人工智能免费AI语音合成(TTS)服务Python3.10接入
微软Azure平台的语音合成(TTS)技术确实神乎其技,这一点在之前的一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),已经做过详细介绍, ...
- 10个机器学习人工智能开发框架和AI库(优缺点对比表)/贪心学院
概述 通过本文我们来一起看一些用于人工智能的高质量AI库,它们的优点和缺点,以及它们的一些特点. 人工智能(AI)已经存在很长时间了.然而,由于这一领域的巨大进步,近年来它已成为一个流行语.人工智能曾 ...
- 含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入)
所谓文无第一,武无第二,云原生人工智能技术目前呈现三足鼎立的态势,微软,谷歌以及亚马逊三大巨头各擅胜场,不分伯仲,但目前微软Azure平台不仅仅只是一个PaaS平台,相比AWS,以及GAE,它应该是目 ...
- 人工智能AI从入门到精通所有视频教程(140G)以及数据资料免费拿
包含了人工智能AI从入门到精通所有视频教程(140G). 资料获取方式,关注公总号RaoRao1994,查看往期精彩-所有文章,即可获取资源下载链接 更多资源获取,请关注公总号RaoRao1994
- 【转】人工智能(AI)资料大全
这里收集的是关于人工智能(AI)的教程.书籍.视频演讲和论文. 欢迎提供更多的信息. 在线教程 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程 人工智能入门 – 人工智能基础学习.Peter ...
- 人工智能AI芯片与Maker创意接轨(下)
继「人工智能AI芯片与Maker创意接轨」的(上)篇中,认识了人工智能.深度学习,以及深度学习技术的应用,以及(中)篇对市面上AI芯片的类型及解决方案现况做了完整剖析后,系列文到了最后一篇,将带领各位 ...
- 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics)之间有什么关系?
本来我以为不需要解释这个问题的,到底数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)有什么区别,但是前几天因为有个学弟问我,我想了想发现我竟然也回答 ...
随机推荐
- window10下,命令行与端口
netstat -ano 查看端口情况 tasklist|findstr "9220" 通过PID号"9220"查看对应端口被什么进程占用了 netstat - ...
- 06 HBase安装与伪分布式配置
1.下载压缩文件 2.解压 3.修改文件夹名 4.修改文件夹权限 5.配置环境变量 6.伪分布式配置文件 7.启动HDFS,启动Hbase 8.进入shell界面 9.停止Hbase,停止HDFS运行
- vs2013安装完VASSISTX助手之后字体变成斜体如何解决?
VC助手为最新版本. 1. 打开vc助手选项 2. 取消勾选"show stable symbols in italics"
- react 收集表单数据 react-hook-form
import React from 'react' import ReactDOM from 'react-dom' import { useForm } from 'react-hook-form' ...
- NRF52832的FDS程序,参考非蓝牙例程修改而来(需要增加DFU的基础上只要增加如下程序即可解决)
/* Dummy configuration data. */ static configuration_t m_dummy_cfg = { .config1_on = false, .config2 ...
- manu check RAID GEM count and Fragment count of local FN>1
cat MANU_CHK.sh echo "input Chr" read C echo "input Start" read S echo "inp ...
- 深入理解css 笔记(6)
网格布局:flexbox 彻底改变了网页布局方式,但这只是开始.它还有一个大哥:另一个称作网格布局模块的新规范.这两个规范提供了一种前所未有的全功能布局引擎.跟 flexbox 类似,网格布局也是作用 ...
- 了解RTT 和RTO 对于TCP 重传的影响
前言 我们已经在很多地方了解TCP 的功能和常用字段.但是TCP 传输发生的异常情况总是让我们很棘手,不知改如何处理.陷入迷茫之中.本文章只针对RTT 和RTO 做了解. 描述 RTT (Round ...
- 我在迁移我的IDEA的项目、模块等东西的过程中发生过的一部分问题的我的一部分的记录以及我的解决方案如下
使用idea2019阶段报的一些错: 1.'xxxServlet' is not assignable to 'javax.servlet.Servlet' 解决方案:把tomcat加入classpt ...
- 错误:为仓库 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist
sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* sudo sed -i -e &qu ...