前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人工智能AI库Spleeter免费人声和背景音乐分离实践(Python3.10)

人工智能AI库Spleeter免费人声和背景音乐分离实践(Python3.10)

作者头像
用户9127725
发布2023-04-27 14:54:23
1.3K0
发布2023-04-27 14:54:23
举报

在视频剪辑工作中,假设我们拿到了一段电影或者电视剧素材,如果直接在剪辑的视频中播放可能会遭遇版权问题,大部分情况需要分离其中的人声和背景音乐,随后替换背景音乐进行二次创作,人工智能AI库Spleeter可以帮我们完成大部分素材的人声和背景音乐的分离流程。

    Spleeter的模型源来自最大的音乐网站Deezer,底层基于深度学习框架Tensorflow,它可以通过模型识别出素材中的背景音乐素材,从而判断出哪些是背景音乐,哪些是外部人声。

    Spleeter安装

    在终端执行运行pip命令:

代码语言:javascript
复制
pip3 install spleeter --user

    安装成功之后,输入命令,检查Spleeter安装路径:

代码语言:javascript
复制
pip show spleeter

    程序返回:

代码语言:javascript
复制
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命令:

代码语言:javascript
复制
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 即可,它将音频分离成两个音轨,人声和背景音乐的声音:

代码语言:javascript
复制
spleeter separate -o /output/ -p spleeter:2stems /test.mp3

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

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

代码语言:javascript
复制
accompaniment.wav
vocals.wav

    accompaniment.wav代表人声,vocals.wav是背景音乐。

    如果是基于Docker安装的,则需要运行对应的Docker命令:

代码语言:javascript
复制
docker run -v $(pwd)/output:/output deezer/spleeter:3.8-5stems separate test.mp3 -o /output

    结语

    Spleeter可以算是免费的人声和背景音乐分离功能的最佳本地方案了,除了影视剧素材的人声和背景音乐分离的二次创作,如果是在外部环境录制的Vlog,环境音非常嘈杂,而又不得不现场录音,那么使用Spleeter也可以将人声从环境音中分离出来,节省了二次录制画外音的环节。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •     Spleeter安装
  •     Spleeter分离人声和背景音乐
  •     结语
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档