0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python在音頻(Audio)領域中,如何進行數據擴充呢?

機器學習算法與人工智能 ? 來源:未知 ? 作者:李倩 ? 2018-04-15 10:35 ? 次閱讀

Python音頻的數據擴充

經典的深度學習網絡AlexNet使用數據擴充(Data Augmentation)的方式擴大數據集,取得較好的分類效果。在深度學習的圖像領域中,通過平移、 翻轉、加噪等方法進行數據擴充。但是,在音頻(Audio)領域中,如何進行數據擴充呢?

音頻的數據擴充,主要有以下四種方式:

音頻剪裁(Clip)

音頻旋轉(Roll)

音頻調音(Tune)

音頻加噪(Noise)

音頻解析基于librosa音頻庫;矩陣操作基于scipy和numpy科學計算庫。

以下是Python的實現方式

01

音頻剪裁

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])

# 寫入音頻

02

音頻旋轉

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_tune)

# 寫入音頻

03

音頻調音

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_tune)

# 寫入音頻

04

音頻加噪

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)

# 寫入音頻

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 音頻
    +關注

    關注

    29

    文章

    2830

    瀏覽量

    81257
  • python
    +關注

    關注

    55

    文章

    4767

    瀏覽量

    84375

原文標題:Python音頻的數據擴充

文章出處:【微信號:machinelearningai,微信公眾號:機器學習算法與人工智能】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    labview中如何進行數據存儲?

    labview中如何進行數據存儲?
    發(fā)表于 07-26 09:19

    請問問手機與電腦之間沒有網絡的情況下如何進行數據傳輸!

    請問問手機與電腦之間沒有網絡的情況下如何進行數據傳輸!
    發(fā)表于 05-31 21:15

    HX711如何進行數據處理?

    HX711如何進行數據處理?
    發(fā)表于 11-21 22:03

    利用Python進行數據分析之時間序列基礎

    《利用Python進行數據分析》 112時間序列基礎
    發(fā)表于 03-20 09:30

    如何利用Python進行數據分析

    《利用Python進行數據分析》 122高階GroupBy應用
    發(fā)表于 04-23 07:29

    何進行數字信號處理?有哪幾個基本步驟?

    數字信號處理是如何定義的?如何進行數字信號處理?有哪幾個基本步驟?
    發(fā)表于 06-22 06:46

    串口通信中外設與開發(fā)板串口通信是如何進行數據傳輸的?

    串口通信中外設與開發(fā)板串口通信是如何進行數據傳輸的?使用外設時怎樣將外設的數據返回給開發(fā)板?
    發(fā)表于 07-07 07:58

    STM32 USART串口是如何進行數據處理的

    STM32 USART串口接收數據的具體步驟有哪些?STM32 USART串口是如何進行數據處理的?
    發(fā)表于 11-25 08:56

    PC機的串口調試助手與STM32是如何進行數據收發(fā)的

    怎樣通過PC機的串口調試助手將數據發(fā)送至STM32?PC機的串口調試助手與STM32是如何進行數據收發(fā)的?
    發(fā)表于 12-09 07:17

    什么是信號處理?如何進行數字信號處理?

    什么是信號處理?如何進行數字信號處理? 我們的周圍存在著為數眾多的"信號"。如:從茫茫宇宙中的天體發(fā)出的微弱電波信號,移動電話發(fā)出
    發(fā)表于 03-06 10:13 ?3329次閱讀

    Python信息安全領域中的運用

    Python信息安全領域中的運用
    發(fā)表于 09-07 09:51 ?27次下載
    <b class='flag-5'>Python</b><b class='flag-5'>在</b>信息安全<b class='flag-5'>領域中</b>的運用

    數據庫教程之如何進行數據庫設計

    本文檔的主要內容詳細介紹的是數據庫教程之如何進行數據庫設計內容包括了:1 數據庫設計概述 ,2 數據庫需求分析 ,3 數據庫結構設計 ,4
    發(fā)表于 10-19 10:41 ?21次下載
    <b class='flag-5'>數據</b>庫教程之如<b class='flag-5'>何進行數據</b>庫設計

    數據庫系統(tǒng)概論之如何進行數據庫編程的資料概述

    本文檔的主要內容詳細介紹的是數據庫系統(tǒng)概論之如何進行數據庫編程的資料概述主要內容包括了:1、嵌入式SQL 2、存儲過程3、ODBC編程
    發(fā)表于 11-15 15:12 ?13次下載
    <b class='flag-5'>數據</b>庫系統(tǒng)概論之如<b class='flag-5'>何進行數據</b>庫編程的資料概述

    風格遷移中如何進行數據增強

    這是一篇關于風格遷移中如何進行數據增強的論文。introduction部分,informal--formal 的風格遷移問題,最大的障礙是訓練數據的不足。為了解決此問題,本篇論文提出三種數據
    的頭像 發(fā)表于 01-13 09:41 ?2487次閱讀

    藍牙m(xù)idi和藍牙音頻或者藍牙audio有什么區(qū)別

    、什么是藍牙m(xù)idi,這個一般問這個問題的人,基本都懂,藍牙m(xù)idi實際就是標準midi協(xié)議的基礎上擴充為無線連接而已,原先的midi是靠usb傳輸,現在換成藍牙 3、什么是藍牙audio,這個就更簡單了,藍牙音箱或者藍牙耳
    的頭像 發(fā)表于 01-09 15:22 ?1099次閱讀
    藍牙m(xù)idi和藍牙<b class='flag-5'>音頻</b>或者藍牙<b class='flag-5'>audio</b>有什么區(qū)別<b class='flag-5'>呢</b>