今天就跟大家聊聊有關如何進行Python 音頻的數(shù)據(jù)擴充,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
10年的商都網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整商都建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“商都網(wǎng)站設計”,“商都網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
經(jīng)典的深度學習網(wǎng)絡AlexNet使用數(shù)據(jù)擴充(Data Augmentation)的方式擴大數(shù)據(jù)集,取得較好的分類效果。在深度學習的圖像領域中,通過平移、 翻轉(zhuǎn)、加噪等方法進行數(shù)據(jù)擴充。但是,在音頻(Audio)領域中,如何進行數(shù)據(jù)擴充呢?
音頻的數(shù)據(jù)擴充,主要有以下四種方式:
音頻剪裁(Clip)
音頻旋轉(zhuǎn)(Roll)
音頻調(diào)音(Tune)
音頻加噪(Noise)
音頻解析基于librosa音頻庫;矩陣操作基于scipy和numpy科學計算庫。
以下是Python的實現(xiàn)方式:
音頻剪裁
import librosafrom scipy.io import wavfile y, sr = librosa.load("../data/love_illusion.mp3") # 讀取音頻print y.shape, sr wavfile.write("../data/love_illusion_20s.mp3", sr, y[20 * sr:40 * sr]) # 寫入音頻
音頻旋轉(zhuǎn)
import librosaimport numpy as npfrom scipy.io import wavfile y, sr = librosa.load("../data/raw/love_illusion_20s.mp3") # 讀取音頻y = np.roll(y, sr*10)print y.shape, sr wavfile.write("../data/raw/xxx_roll.mp3", sr, y) # 寫入音頻
音頻調(diào)音,注:cv庫的resize函數(shù)含有插值功能。
import cv2import librosafrom scipy.io import wavfile y, sr = librosa.load("../data/raw/love_illusion_20s.mp3") # 讀取音頻ly = len(y) y_tune = cv2.resize(y, (1, int(len(y) * 1.2))).squeeze() lc = len(y_tune) - ly y_tune = y_tune[int(lc / 2):int(lc / 2) + ly]print y.shape, sr wavfile.write("../data/raw/xxx_tune.mp3", sr, y_tune) # 寫入音頻
音頻加噪,注:在添加隨機噪聲時,保留0值,否則刺耳難忍!
import librosafrom scipy.io import wavfileimport numpy as np y, sr = librosa.load("../data/raw/love_illusion_20s.mp3") # 讀取音頻wn = np.random.randn(len(y)) y = np.where(y != 0.0, y + 0.02 * wn, 0.0) # 噪聲不要添加到0上!print y.shape, sr wavfile.write("../data/raw/love_illusion_20s_w.mp3", sr, y) # 寫入音頻
看完上述內(nèi)容,你們對如何進行Python 音頻的數(shù)據(jù)擴充有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。