<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
你有沒有經常好奇一些音樂軟體的頻譜特效是怎麼做的,為什麼做的這麼好看?有沒有想試試自己提取音樂頻譜並視覺化展現出來?今天,咱就結合上次的音樂剪輯操作:
來簡單粗暴地視覺化下面這首歌曲的頻譜!
開始之前,你要確保Python和pip已經成功安裝在電腦上,如果沒有,可以存取這篇文章:超詳細Python安裝指南 進行安裝。
Windows環境下開啟Cmd(開始—執行—CMD),蘋果系統環境下請開啟Terminal(command+空格輸入Terminal),準備開始輸入命令安裝依賴。
當然,我更推薦大家用VSCode編輯器,把本文程式碼Copy下來,在編輯器下方的終端裝依賴模組,多舒服的一件事啊
在終端輸入以下命令安裝我們所需要的依賴模組:
pip install pydub pip install librosa
看到 Successfully installed xxx 則說明安裝成功。
使用librosa和matplot,我們可以用10行程式碼完整地展示整個頻譜:
import matplotlib.pyplot as plt import librosa.display # 音樂檔案載入 audio_path = 'Fenn.mp3' music, sr = librosa.load(audio_path) # 寬高比為14:5的圖 plt.figure(figsize=(14,5)) librosa.display.waveplot(music, sr=sr) # 顯示圖 plt.show()
不過,這樣的頻譜是整段音樂的,看起來非常難看,接下來我們使用 pydub 切割頻譜,以獲得更佳的效果。我們細分到0到1秒的區段來檢視訊譜:
import matplotlib.pyplot as plt import librosa.display import numpy as np from pydub import AudioSegment # 1秒=1000亳秒 SECOND = 1000 #音樂檔案 AUDIO_PATH = 'Fenn.mp3' def split_music(begin, end, filepath): # 導兒音樂 song = AudioSegment.from_mp3(filepath) # 取begin秒至ijend秒間的片段 song = song[begin*SECOND: end*SECOND] # 儲存為臨時檔案做備份 temp_path = 'backup/'+filepath song.export(temp_path) return temp_path music, sr = librosa.load(split_music(0, 1, AUDIO_PATH)) #寬高比為14:5的圖 plt.figure(figsize=(14, 5)) librosa.display.waveplot(music, sr=sr) plt.show()
這下細是細了,但是還是太複雜了,其實我們做頻譜的展示,或許只需要正值即可:
然後我們還可以進一步放大,比如說0.9秒到1秒之間的頻譜:
# 公眾號:Python 實用寶典 n0 = 9000 n1 = 10000 music = np.array([mic for mic in music if mic > 0]) plt.figure(figsize=(14, 5)) pit.plot(music[n0:n1]) plt.grid() #顯示圖 plt.show()
這樣好看許多,不過如果要達成QQ音樂那種效果,還是需要進行大量改造。
比如用精美的影象元素來填充替代、然後零值如何處理?如何讓頻譜更加平穩?此外,我們是靜態的影象,還需要根據事件動態地延續波段。
用於生產的程式碼肯定比我們這簡易的程式碼更加複雜,而且也不應該是暴力去除負值繪製影象。這些有興趣的讀者可以自行研究啦。
以上就是Python實現提取音樂頻譜的方法詳解的詳細內容,更多關於Python提取頻譜的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45