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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python绘画音频_人工智能下的音频还能这样玩!!!!

發(fā)布時間:2023/12/10 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python绘画音频_人工智能下的音频还能这样玩!!!! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

人工智能音頻處理庫—librosa(安裝與使用)

序言

一、libsora安裝

pypi

conda

source

二、librosa常用功能

核心音頻處理函數(shù)

音頻處理

頻譜表示

幅度轉(zhuǎn)換

時頻轉(zhuǎn)換

特征提取

繪圖顯示

三、常用功能代碼實(shí)現(xiàn)

讀取音頻

提取特征

提取Log-Mel Spectrogram 特征

提取MFCC特征

繪圖顯示

繪制聲音波形

繪制頻譜圖

序言

Librosa是一個用于音頻、音樂分析、處理的python工具包,一些常見的時頻處理、特征提取、繪制聲音圖形等功能應(yīng)有盡有,功能十分強(qiáng)大。本文主要介紹librosa的安裝與使用方法。

一、libsora安裝

Librosa官網(wǎng)提供了多種安裝方法,詳細(xì)如下:

pypi

最簡單的方法就是進(jìn)行pip安裝,可以滿足所有的依賴關(guān)系,命令如下:

pip install librosa

conda

如果安裝了Anaconda,可以通過conda命令安裝:

conda install -c conda-forge librosa

source

直接使用源碼安裝,需要提前下載源碼(https://github.com/librosa/librosa/releases/),通過下面命令安裝:

tar xzf librosa-VERSION.tar.gzcd librosa-VERSION/python setup.py install

二、librosa常用功能

核心音頻處理函數(shù)

這部分介紹了最常用的音頻處理函數(shù),包括音頻讀取函數(shù)load( ),重采樣函數(shù)resample( ),短時傅里葉變換stft( ),幅度轉(zhuǎn)換函數(shù)amplitude_to_db( )以及頻率轉(zhuǎn)換函數(shù)hz_to_mel( )等。這部分函數(shù)很多,詳細(xì)可參考librosa官網(wǎng) http://librosa.github.io/ librosa/core.html

音頻處理

頻譜表示

幅度轉(zhuǎn)換

時頻轉(zhuǎn)換

特征提取

本部分列舉了一些常用的頻譜特征的提取方法,包括常見的Mel Spectrogram、MFCC、CQT等。函數(shù)詳細(xì)信息可參考http:// librosa.github.io/librosa/feature.html

繪圖顯示

包含了常用的頻譜顯示函數(shù)specshow( ), 波形顯示函數(shù)waveplot( ),詳細(xì)信息請參考http://librosa.github.io/librosa/display. html

三、常用功能代碼實(shí)現(xiàn)

1.讀取音頻

# # 2020-11-9# # 李運(yùn)辰#導(dǎo)入庫import librosa# # 讀取音頻# Load a wav filey, sr = librosa.load('./sample.wav')print(y)#Librosa默認(rèn)的采樣率是22050,如果需要讀取原始采樣率,需要設(shè)定參數(shù)sr=None:print(sr)y, sr = librosa.load('./sample.wav',sr=None)#可見,'beat.wav'的原始采樣率為16000。如果需要重采樣,只需要將采樣率參數(shù)sr設(shè)定為你需要的值:print(sr)y, sr = librosa.load('./sample.wav',sr=18000)print(sr)

2.提取特征

提取Log-Mel Spectrogram 特征

Log-Mel Spectrogram特征是目前在語音識別和環(huán)境聲音識別中很常用的一個特征,由于CNN在處理圖像上展現(xiàn)了強(qiáng)大的能力,使得音頻信號的頻譜圖特征的使用愈加廣泛,甚至比MFCC使用的更多。在librosa中,Log-Mel Spectrogram特征的提取只需幾行代碼:

# # 提取特征# Load a wav filey, sr = librosa.load('./sample.wav', sr=None)# extract mel spectrogram featuremelspec = librosa.feature.melspectrogram(y, sr, n_fft=1024, hop_length=512, n_mels=128)# convert to log scalelogmelspec = librosa.power_to_db(melspec)print(logmelspec.shape)

可見,Log-Mel Spectrogram特征是二維數(shù)組的形式,128表示Mel頻率的維度(頻域),100為時間幀長度(時域),所以Log-Mel Spectrogram特征是音頻信號的時頻表示特征。其中,n_fft指的是窗的大小,這里為1024;hop_length表示相鄰窗之間的距離,這里為512,也就是相鄰窗之間有50%的overlap;n_mels為mel bands的數(shù)量,這里設(shè)為128。

3.提取MFCC特征

MFCC特征是一種在自動語音識別和說話人識別中廣泛使用的特征。關(guān)于MFCC特征的詳細(xì)信息,有興趣的可以參考博客http:// blog.csdn.net/zzc15806/article/details/79246716。在librosa中,提取MFCC特征只需要一個函數(shù):

# # 提取MFCC特征# extract mfcc featuremfccs = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=40)print(mfccs)print(mfccs.shape)

關(guān)于mfcc,這里就不在贅述。

Librosa還有很多其他音頻特征的提取方法,比如CQT特征、chroma特征等,在第二部分“l(fā)ibrosa常用功能”給了詳細(xì)的介紹。

4.繪圖顯示

4.1繪制聲音波形

Librosa有顯示聲音波形函數(shù)waveplot( ):

# # 繪圖顯示import librosa.displayimport matplotlib.pyplot as pltget_ipython().run_line_magic('matplotlib', 'inline')plt.figure()librosa.display.waveplot(y, sr)plt.title('sample wavform')plt.show()

4.2繪制頻譜圖

Librosa有顯示頻譜圖波形函數(shù)specshow( ):

# # 繪制頻譜圖melspec = librosa.feature.melspectrogram(y, sr, n_fft=1024, hop_length=512, n_mels=128)logmelspec = librosa.power_to_db(melspec)plt.figure()librosa.display.specshow(logmelspec, sr=sr, x_axis='time', y_axis='mel')plt.title('sample wavform')plt.show()

將聲音波形和頻譜圖繪制在一張圖表中:

# # 將聲音波形和頻譜圖繪制在一張圖表中:# extract mel spectrogram featuremelspec = librosa.feature.melspectrogram(y, sr, n_fft=1024, hop_length=512, n_mels=128)# convert to log scalelogmelspec = librosa.power_to_db(melspec)plt.figure()# plot a wavformplt.subplot(2, 1, 1)librosa.display.waveplot(y, sr)plt.title('sample wavform')# plot mel spectrogramplt.subplot(2, 1, 2)librosa.display.specshow(logmelspec, sr=sr, x_axis='time', y_axis='mel')plt.title('Mel spectrogram')plt.tight_layout() #保證圖不重疊plt.show()

到這里,librosa的安裝和簡單使用就介紹完了。事實(shí)上,librosa遠(yuǎn)不止這些功能,關(guān)于librosa更多的使用方法還請大家參考librosa官網(wǎng)http://librosa.github.io/librosa/index.html

正文結(jié)束!!!

歡迎關(guān)注公眾號:Python爬蟲數(shù)據(jù)分析挖掘,方便及時閱讀最新文章

記錄學(xué)習(xí)python的點(diǎn)點(diǎn)滴滴;

回復(fù)【開源源碼】免費(fèi)獲取更多開源項(xiàng)目源碼;

公眾號每日更新python知識和【免費(fèi)】工具;

本文已同步到【開源中國】、【騰訊云社區(qū)】、【CSDN】;

總結(jié)

以上是生活随笔為你收集整理的python绘画音频_人工智能下的音频还能这样玩!!!!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。