美文网首页
Spleeter-利用tensorflow分离人声和伴奏

Spleeter-利用tensorflow分离人声和伴奏

作者: 鹿蜀先生191 | 来源:发表于2021-05-10 23:55 被阅读0次
一、项目概述

剪切视频时,经常会有想要的配乐,但是又没有单独的伴奏来使用,而目前常用的软件来直接分解原声和伴奏的效果又不太理想,这时候使用spleeter则就非常的高效方便且实用了,话不多说,先看一下分离的效果,以周杰伦的《说好不哭》为例,可以看一下实现分离后的效果

人声:https://www.qbitai.com/wp-content/uploads/2019/11/s2.mp3
伴奏:https://www.qbitai.com/wp-content/uploads/2019/11/s1.mp3

可以听到,分离后的伴奏几乎感觉不到换气声和压抑感,效果非常出色,那么就记录一下如何实现Spleeter分解歌曲吧!

二、环境配置

工欲善其事,必先利其器。想要实现音频分解,首先需要配置好所需环境。
1.第一步,首先安装conda,推荐使用anaconda navigator,选择相应安装包安装使用。
2.第二步,安装完成后,使用conda安装ffmpeg 和 libsndfile

conda install -c conda-forge ffmpeg libsndfile
添加ffmpeg和libsndfile成功

3.第三步,使用pip安装spleeter,这一步经常安装失败,或者是下载tensorflow时特别慢,建议使用国内镜像(见下表)下载2.3.0版本

pip install spleeter
/*
阿里云 
http://mirrors.aliyun.com/pypi/simple/

中国科技大学 
https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣(douban) 
http://pypi.douban.com/simple/

清华大学 
https://pypi.tuna.tsinghua.edu.cn/simple/

中国科学技术大学 
http://pypi.mirrors.ustc.edu.cn/simple/
*/
添加spleeter成功

4.下载训练模型,解压放在pretrained_models文件夹下,常用的是2stems.
5.最后,就可以直接分解音频文件了

spleeter separate -p spleeter:2stems -o output 说好不哭.mp3 //可以使用spleeter separate --help查看命令帮助
分解成功
分解成功
三、集成flutter,制作手机图形化界面

目前flutter平台已经有了tflite_flutter 插件,可以帮助我们实现简单、高效的把 TensorFlow 模型集成到 Flutter 应用。

tflite_flutter 插件的核心特性:
1.插件提供了与 TFLite Java 和 Swift API 相似的 Dart API,所以其灵活性和在这些平台上的效果是完全一样的;
2.插件通过 dart:ffi 直接与 TensorFlow Lite C API 相绑定,所以它比其它平台集成方式更加高效;
3.无需编写特定平台的代码;
4.通过 NNAPI 提供加速支持,在 Android 上使用 GPU Delegate,在 iOS 上使用 Metal Delegate。

后续会尝试将此分离模型集成到flutter项目中,以延后记!!!

相关文章

网友评论

      本文标题:Spleeter-利用tensorflow分离人声和伴奏

      本文链接:https://www.haomeiwen.com/subject/rkmwdltx.html