一、項目概述
剪切視頻時,經(jīng)常會有想要的配樂,但是又沒有單獨的伴奏來使用候醒,而目前常用的軟件來直接分解原聲和伴奏的效果又不太理想,這時候使用spleeter則就非常的高效方便且實用了杂瘸,話不多說倒淫,先看一下分離的效果,以周杰倫的《說好不哭》為例败玉,可以看一下實現(xiàn)分離后的效果
人聲:https://www.qbitai.com/wp-content/uploads/2019/11/s2.mp3
伴奏:https://www.qbitai.com/wp-content/uploads/2019/11/s1.mp3
可以聽到敌土,分離后的伴奏幾乎感覺不到換氣聲和壓抑感,效果非常出色运翼,那么就記錄一下如何實現(xiàn)Spleeter分解歌曲吧返干!
二、環(huán)境配置
工欲善其事血淌,必先利其器犬金。想要實現(xiàn)音頻分解,首先需要配置好所需環(huán)境六剥。
1.第一步,首先安裝conda峰伙,推薦使用anaconda navigator,選擇相應安裝包安裝使用疗疟。
2.第二步,安裝完成后瞳氓,使用conda安裝ffmpeg 和 libsndfile
conda install -c conda-forge ffmpeg libsndfile
3.第三步策彤,使用pip安裝spleeter,這一步經(jīng)常安裝失敗,或者是下載tensorflow時特別慢店诗,建議使用國內(nèi)鏡像(見下表)下載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/
中國科學技術(shù)大學
http://pypi.mirrors.ustc.edu.cn/simple/
*/
4.下載訓練模型裹刮,解壓放在pretrained_models文件夾下,常用的是2stems.
5.最后庞瘸,就可以直接分解音頻文件了
spleeter separate -p spleeter:2stems -o output 說好不哭.mp3 //可以使用spleeter separate --help查看命令幫助
三捧弃、集成flutter,制作手機圖形化界面
目前flutter平臺已經(jīng)有了tflite_flutter 插件擦囊,可以幫助我們實現(xiàn)簡單违霞、高效的把 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看幼。
后續(xù)會嘗試將此分離模型集成到flutter項目中,以延后記J嘞!W莱浴!