日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747


機(jī)器學(xué)習(xí)中的音頻特征:理解Mel頻譜圖

 

如果你像我一樣,試著理解mel的光譜圖并不是一件容易的事。你讀了一篇文章,卻被引出了另一篇,又一篇,又一篇,沒完沒了。我希望這篇簡短的文章能澄清一些困惑,并從頭解釋mel的光譜圖。

信號

信號是一定量隨時間的變化。 對于音頻,變化的量是氣壓。 我們?nèi)绾我詳?shù)字方式捕獲此信息? 我們可以隨時間采集氣壓樣本。 我們采樣數(shù)據(jù)的速率可以變化,但是最常見的是44.1kHz,即每秒44,100個采樣。 我們捕獲的是信號的波形,可以使用計算機(jī)軟件對其進(jìn)行解釋,修改和分析。

import librosa
import librosa.display
import matplotlib.pyplot as plty, sr = librosa.load('./example_data/blues.00000.wav')plt.plot(y);
plt.title('Signal');
plt.xlabel('Time (samples)');
plt.ylabel('Amplitude');
機(jī)器學(xué)習(xí)中的音頻特征:理解Mel頻譜圖

 

我們可以使用音頻信號的數(shù)字表示形式。 歡迎來到信號處理領(lǐng)域! 您可能想知道,我們?nèi)绾螐闹刑崛∮杏玫男畔ⅲ?看起來像是一團(tuán)混亂。 這就引出我們的朋友傅里葉,這里是它最熟悉的領(lǐng)域。

傅立葉變換

音頻信號由幾個單頻聲波組成。 在一段時間內(nèi)對信號進(jìn)行采樣時,我們僅捕獲得到的幅度。 傅立葉變換是一個數(shù)學(xué)公式,它使我們可以將信號分解為單個頻率和頻率幅度。 換句話說,它將信號從時域轉(zhuǎn)換到頻域。 結(jié)果稱為頻譜。

這是可能的,因為每個信號都可以分解為一組正弦波和余弦波,它們加起來等于原始信號。 這是一個著名的定理,稱為傅立葉定理。

快速傅立葉變換(FFT)是一種可以有效計算傅立葉變換的算法。 它廣泛用于信號處理。 我將在示例音頻的窗口片段中使用此算法。

import numpy as npn_fft = 2048
ft = np.abs(librosa.stft(y[:n_fft], hop_length = n_fft+1))plt.plot(ft);
plt.title('Spectrum');
plt.xlabel('Frequency Bin');
plt.ylabel('Amplitude');
機(jī)器學(xué)習(xí)中的音頻特征:理解Mel頻譜圖

 

頻譜圖

快速傅立葉變換是一種功能強(qiáng)大的工具,可讓我們分析信號的頻率成分,但是如果信號的頻率成分隨時間變化,該怎么辦? 大多數(shù)音頻信號(例如音樂和語音)就是這種情況。 這些信號稱為非周期性信號。 我們需要一種表示這些信號隨時間變化的頻譜的方法。 您可能會想,"嘿,我們不能通過對信號的多個窗口部分執(zhí)行FFT來計算多個頻譜嗎?" 是! 這正是完成的工作,稱為短時傅立葉變換。 FFT是在信號的重疊窗口部分上計算的,我們得到了所謂的頻譜圖。 哇! 需要接受很多東西。這里有很多事情要做。 良好的視覺效果是必須的。

機(jī)器學(xué)習(xí)中的音頻特征:理解Mel頻譜圖

 

您可以將頻譜圖視為一堆相互堆疊的FFT。 當(dāng)信號在不同頻率下隨時間變化時,這是一種直觀地表示信號響度或幅度的方法。 計算頻譜圖時,還有一些其他細(xì)節(jié)。 y軸轉(zhuǎn)換為對數(shù)刻度,顏色尺寸轉(zhuǎn)換為分貝(您可以將其視為振幅的對數(shù)刻度)。 這是因為人類只能感知到非常小的集中頻率和幅度范圍。

spec = np.abs(librosa.stft(y, hop_length=512))
spec = librosa.amplitude_to_db(spec, ref=np.max)librosa.display.specshow(spec, sr=sr, x_axis='time', y_axis='log');
plt.colorbar(format='%+2.0f dB');
plt.title('Spectrogram');
機(jī)器學(xué)習(xí)中的音頻特征:理解Mel頻譜圖

 

僅用幾行代碼,我們就創(chuàng)建了一個頻譜圖。 好。 我們對"頻譜圖"部分有扎實的了解,但對"MEL"則如何。 他是誰?

梅爾(Mel)量表

研究表明,人類不會感知線性范圍的頻率。 我們在檢測低頻差異方面要勝于高頻。 例如,我們可以輕松分辨出500 Hz和1000 Hz之間的差異,但是即使之間的距離相同,我們也很難分辨出10,000 Hz和10,500 Hz之間的差異。

1937年,Stevens,Volkmann和Newmann提出了一個音高單位,以使相等的音高距離聽起來與聽眾相等。 這稱為梅爾音階。 我們對頻率執(zhí)行數(shù)學(xué)運算,以將其轉(zhuǎn)換為mel標(biāo)度。

機(jī)器學(xué)習(xí)中的音頻特征:理解Mel頻譜圖

 

Mel譜圖

mel譜圖是頻率轉(zhuǎn)換為mel標(biāo)度的譜圖。使用Python的librosa音頻處理庫它只需要幾行代碼就可以實現(xiàn)。

mel_spect = librosa.feature.melspectrogram(y=y, sr=sr, n_fft=2048, hop_length=1024)
mel_spect = librosa.power_to_db(spect, ref=np.max)librosa.display.specshow(mel_spect, y_axis='mel', fmax=8000, x_axis='time');
plt.title('Mel Spectrogram');
plt.colorbar(format='%+2.0f dB');
機(jī)器學(xué)習(xí)中的音頻特征:理解Mel頻譜圖

 

總而言之

如果你像我一樣是信號處理新手的話,這里有很多概念需要了解。然而,如果你繼續(xù)回顧這篇文章中提出的概念(花足夠的時間盯著墻角思考它們),它就會開始有意義了!讓我們簡要回顧一下我們所做的工作。

我們隨時間采集了氣壓樣本,以數(shù)字方式表示音頻信號

1. 我們使用快速傅里葉變換將音頻信號從時域映射到頻域,并在音頻信號的重疊窗口部分執(zhí)行此操作。

1. 我們將y軸(頻率)轉(zhuǎn)換為對數(shù)刻度,將顏色尺寸(幅度)轉(zhuǎn)換為分貝,以形成頻譜圖。

1. 我們將y軸(頻率)映射到mel刻度上以形成mel頻譜圖。

聽起來很簡單,對吧? 好吧,雖然不盡然,但是我希望這篇文章能使你了解音頻特征的處理和梅爾頻譜圖的原理。

作者:Leland Roberts

deephub 翻譯組

分享到:
標(biāo)簽:機(jī)器 學(xué)習(xí)
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定