日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 提取音乐频谱并可视化,字节面试官

發布時間:2024/3/26 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 提取音乐频谱并可视化,字节面试官 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[](

)頻譜展示


使用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秒到end秒間的片段

song = song[beginSECOND: endSECOND]

存儲為臨時文件做備份

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秒之間的頻譜:

放大

(1)Python所有方向的學習路線(新版)

這是

我花了幾天的時間去把Python所有方向的技術點做的整理,形成各個領域的知識點匯總,它的用處就在于,你可以按照上面的知識點去找對應的學習資源,保證自己學得較為全面。

最近我才對這些路線做了一下新的更新,知識體系更全面了。

(2)Python學習視頻

包含了Python入門、爬蟲、數據分析和web開發的學習視頻,總共100多個,雖然沒有那么全面,但是對于入門來說是沒問題的,學完這些之后,你可以按照我上面的學習路線去網上找其他的知識資源進行進階。

(3)100多個練手項目

我們在看視頻學習的時候,不能光動眼動腦不動手,比較科學的學習方法是在理解之后運用它們,這時候練手項目就很適合了,只是里面的項目比較多,水平也是參差不齊,大家可以挑自己能做的項目去練練。


手,比較科學的學習方法是在理解之后運用它們,這時候練手項目就很適合了,只是里面的項目比較多,水平也是參差不齊,大家可以挑自己能做的項目去練練。

總結

以上是生活随笔為你收集整理的Python 提取音乐频谱并可视化,字节面试官的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。