歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

使用python如何擴(kuò)充音頻數(shù)據(jù)?

發(fā)布時(shí)間:2018-04-15 23:34  回復(fù):0  查看:3268   最后回復(fù):2018-04-15 23:34  
經(jīng)典的深度學(xué)習(xí)網(wǎng)絡(luò)AlexNet 使用  數(shù)據(jù)擴(kuò)充(Data Augmentation  的方式擴(kuò)大數(shù)據(jù)集,取得較好的分類效果。在深度學(xué)習(xí)的圖像領(lǐng)域中,通過平移、  翻轉(zhuǎn)、加噪等方法進(jìn)行數(shù)據(jù)擴(kuò)充。但是,在  音頻(Audio  領(lǐng)域中,如何進(jìn)行數(shù)據(jù)擴(kuò)充呢?
本文和大家分享的就是python 音頻數(shù)據(jù)擴(kuò)充的一些小技巧,一起來看看吧,希望對(duì)大家 學(xué)習(xí)python有所幫助。
  音頻的數(shù)據(jù)擴(kuò)充主要有以下四種方式:
  ·  音頻剪裁( Clip
  ·  音頻旋轉(zhuǎn)( Roll
  ·  音頻調(diào)音( Tune
  ·  音頻加噪( Noise
  音頻處理基于librosa 音頻庫(kù);矩陣操作基于 scipy numpy 科學(xué)計(jì)算庫(kù)。
  以下是Python 的實(shí)現(xiàn)方式:
   音頻剪裁
   import librosa from 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 librosa import numpy  as np from 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)音
  import cv2
  import librosa
  from 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)  #  寫入音頻
  音頻加噪,注意:在添加隨機(jī)噪聲時(shí),保留0 值,否則刺耳難忍!
   import librosa from scipy.io  import wavfile import 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)  #  寫入音頻
來源:網(wǎng)絡(luò)
您還未登錄,請(qǐng)先登錄

熱門帖子

最新帖子

?