python背景怎么自定义铃声_Python 制作音乐高潮副歌提取器
有些時候,我們為了設定手機鈴聲或者發抖音視頻時,會耗費大量時間在音樂剪輯上。尤其是想發布大量抖音視頻的時候,我們得收集大量的短音樂,這是一個相當耗費時間的工作。那么,這個音樂高潮的提取能不能自動化呢?答案是:可以。
先來聽聽效果,孤芳自賞提取后的部分:
怎么樣,是不是迫不及待想往下讀了?不要急,讓我們從原理開始慢慢講起。
1.原理簡介
不知道大家有沒有這樣的體會,大部分時候,歌曲的高潮部分通常是重復次數最多的部分。因此我們可以根據這一個特征,提出我們的算法:
1.遍歷整首歌曲。
2.將選定長度的部分與其他部分比較并計算相似度,以查看是否重復。
3.尋找重復次數較大、且間隔長的片段。
2.代碼編寫
為了避免造輪子,我們找到了別人已經做過的類似的項目:https://github.com/vivjay30/pychorus
我們只需要分析這個源代碼中最核心的部分,即求相似區段的源代碼,就能知道它是不是符合我們的項目需求了:
可以看到,這部分代碼就是做了我們算法的第二步,進行了片段與片段之間的相似度計算。檢測時用到的相似函數是這樣的:
這主要是因為歌曲由12個基本音符的幀的集合而組成,v1和v2是任意兩段音樂的音符矢量,如果說兩段音樂非常相似,那么右邊的式子將接近于0.?如果說 1-右邊的式子 得分非常高,則說明兩段音樂非常相似。
下面我們看看怎么使用這個項目求音樂高潮部分,其實非常簡單。
2.1 安裝所需要的項目
你可以通過pip安裝該項目,如果你還沒有安裝好Python相關環境,建議閱讀這篇文章:Python超詳細安裝指南,PIP安裝指令如下:
pip install pychorus
2.2 編寫代碼
實際上,這個包用起來可是相當簡單,如果我們只是想單純提取歌曲高潮部分:
frompychorusimportfind_and_output_chorus
chorus_start_sec=find_and_output_chorus("你的音樂文件","輸出高潮部分文件",要多少秒的高潮部分)
沒錯,兩行代碼就解決了。如果你想知道一些詳細的細節,比如說輸出相似矩陣或者結果可視化,建議閱讀github中該項目的操作指令。下面讓我們檢驗一下效果。
3.效果檢驗
以《孤芳自賞》 為例,讓我們試試這個提取器的功力。
原曲:
編寫代碼:
#?提取音樂高潮部分
frompychorusimportfind_and_output_chorus
chorus_start_sec=find_and_output_chorus("孤芳自賞.mp3","孤芳自賞_high.wav",40)
效果如下:
非常優秀!提取了我心目中想要的部分。大家也可以根據我們今天的教程,試著提取一下自己喜歡的音樂的高潮部分哦!
如果你喜歡今天的Python 教程,請持續關注Python實用寶典,如果對你有幫助,麻煩在下面點一個贊/在看
,有任何問題都可以在下方留言,我們會耐心解答的!
點擊下方閱讀原文可以獲取所有代碼和鏈接哦!
Python實用寶典?(pythondict.com)
不只是一個寶典
歡迎關注公眾號:Python實用寶典
總結
以上是生活随笔為你收集整理的python背景怎么自定义铃声_Python 制作音乐高潮副歌提取器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用ThinkPad T61有感
- 下一篇: utorrent linux安装路径,c