1. 程式人生 > >語音識別語料歸一化處理的方法

語音識別語料歸一化處理的方法

在進行語音識別模型的訓練和測試語料收集的過程中,我們需要對收集到的語料進行歸一化處理。

收集到的語料應每個命令詞或句子單個截下來,對其進行歸一化處理。因為即使是同一個人,在讀不同的命令詞的時候,音量也會不一樣。特別是在語料錄製的過程中,由於志願者的逐漸疲憊,後面錄的命令詞的聲音,可能會偏弱一些。

對語料進行歸一化處理的基本原理是:取一段語料中幅度最大的點將其幅度拉大到接近1,記錄拉大的比例,再將其他所有點均按這個比例拉伸。這個操作可以在Audacity等音訊處理軟體中進行處理,也可以使用以下方法進行操作:(該方法由全志演算法友商提供,僅供全志內部使用,不對外開放,但自己實現其實也很簡單)

處理方法

(1)將do_pcm工具複製到ubuntu PC的任意目錄下。chmod 777 do_pcm。此時執行該工具會列印如下幫助資訊:

[email protected]:~/test$ ./do_pcm 
pcm file process:
    [ -h]:      show help information
    [ -i]:      input file path
    [ -o]:      output file path
    [ --nchi]:      number of input file channels, default 1
    [ --ncho]:      number of output file channels, default 1
    [ --ichi]:      channel index select from input file: 0,1,...(default 0,i.e, mean val)
    [ -b]:      bitwidht default 16 
    [ --ri]:      input sample rate, default 16000
    [ --ro]:      output sample rate, default 16000
    [ --norm]:      whether or not to do pcm offline normalization, default 0 
    [ -v]:      get split version needed 0 
    [ --hp]:      high pass 
    [ --ali]:      align pcm by m_sequence,default 0
    [ --delay]:      for two channel signal to calculate delay 
    [ --ali_s]:      align pcm ,seconds to start with,default 0 
    [ --ali_e]:      align pcm , seconds to end with ,default -1,which means 3min inputs
    [ --split]:      split pcm by m_sequence,default 0, 1 means split words,2 means split person by start, 3 means split person by end
    [ --ms_cut_s]:      start pos in ms 
    [ --ms_cut_e]:      end pos in ms
    [ --snr]:      snr calculate

(2)使用Audacity或其他音訊處理軟體從採集到的語料中擷取單個命令詞,儲存為一個.wav檔案。

(3)在ubuntu PC上使用命令./do_pcm -i in.pcm -o out.pcm --norm對語料進行處理,得到的out.pcm則為一個處理好的語料檔案,如:

幅度調整範圍是-32767-72767

歸一化處理前好的兩個語料的對比(上方為處理前語料的音軌,下方為處理好語料的音軌):

頻譜圖對比:

相關推薦

語音識別語料處理方法

在進行語音識別模型的訓練和測試語料收集的過程中,我們需要對收集到的語料進行歸一化處理。 收集到的語料應每個命令詞或句子單個截下來,對其進行歸一化處理。因為即使是同一個人,在讀不同的命令詞的時候,音量也會不一樣。特別是在語料錄製的過程中,由於志願者的逐漸疲憊,後面錄的命令詞的

利用numpy對矩陣進行處理方法

本文不講歸一化原理,只介紹實現(事實上看了程式碼就會懂原理),程式碼如下: def Normalize(data): m = np.mean(data) mx = max(dat

python對樣本進行處理

 資料歸一化處理是資料探勘中一項基本的工作,不同評價指標往往具有不同的量綱和量綱單位,這樣 的情況會影響到資料分析的結果,為了消除指標之間量綱的影響,需要進行資料標準化處理,以解決 資料指標之間的可比性。例如要求解距離(歐氏距離等),需要平方和操作,非常小的數貢獻很小,反之大的

機器學習中資料的處理

資料的標準化(normalization)是將資料按比例縮放,使之落入一個小的特定區間。在某些比較和評價的指標處理中經常會用到,去除資料的單位限制,將其轉化為無量綱的純數值,便於不同單位或量級的指標能夠進行比較和加權。   其中最典型的就是資料的歸一化處理,即將資料統一對映到[0,1]區間上

資料特徵 /標準化 方法

歸一化/標準化 定義 歸一化:就是將訓練集中數值特徵的值縮放到0和1之間。公式如下 標準化:就是將訓練集中數值特徵的值縮放成均值為0,方差為1的狀態。公式如下 需要先計算出均值和標準差,下面是標準差的計算公式 μ表示均值,x*表示標準化的表示式 優點

weka學習(二) 處理

/** * 歸一化處理 * * @author hao.wei */ @Service public class NormalizeBizImpl implements NormalizeBiz { private static final Logger logge

Arcgis+Python實現對柵格處理

    影象歸一化就不多說了,就是(數值-min)/(max-min),把結果都劃歸到0-1範圍,便於不同變數之間的比較,取消了不同數量差別。 第一個方法,需要對柵格資料預先知道取值範圍。 第二種方法,比較好點,直接讀取屬性

利用keras中image.ImageDataGenerator.flow_from_directory()實現從資料夾中提取圖片和進行簡單處理

keras中有很多封裝好的API可以幫助我們實現對圖片資料的讀取和處理。 比如 : keras.preprocessing.image.ImageDataGenerator.flow_from_dir

OpenCV對影象的光照處理

#include <cv.h>#include <highgui.h>#include <stdio.h>#include <string>usingn

機器學習數據預處理——標準化/方法總結

目標 out enc 並不是 depend 區間 standards ima HA 通常,在Data Science中,預處理數據有一個很關鍵的步驟就是數據的標準化。這裏主要引用sklearn文檔中的一些東西來說明,主要把各個標準化方法的應用場景以及優缺點總結概括,以來充當

數字影象處理方法

1.把數變為(0,1)之間的小數 為了資料處理方便提出來的,把資料對映到0~1範圍之內處理,更加便捷快速 例1:{2.5 3.5 0.5 1.5}歸一化後變成了{0.3125 0.4375 0.0625 0.1875} 解法:2.5+3.5+0.5+1.5=8;   2.5

資料處理之標準化/方法

歸一化是一種簡化計算的方式,即將有量綱的表示式,經過變換,化為無量綱的表示式,成為純量。歸一化是為了加快訓練網路的收斂性,可以不進行歸一化處理 歸一化的具體作用是歸納統一樣本的統計分佈性。歸一化在0-1之間是統計的概率分佈,歸一化在-1--+1之間是統計的座標分佈。歸

資料預處理的幾個方法:白化、去均值、、PCA

以上轉載自:http://ufldl.stanford.edu/wiki/index.php/%E7%99%BD%E5%8C%96 假定資料表示成矩陣為X,其中我們假定X是[N*D]維矩陣(N是樣本資料量,D為單張圖片的資料向量長度)。

第9章 優化方法

ase 實現 rop 應該 rom 大數據 moment tps 足夠 9章 優化方法和歸一化 “Nearly all of deep learning is powered by one very important algorithm: Stochastic Gradi

資料的標準化,方法總結

資料的標準化   資料的標準化(normalization)是將資料按比例縮放,使之落入一個小的特定區間。在某些比較和評價的指標處理中經常會用到,去除資料的單位限制,將其轉化為無量綱的純數值,便於不同單位或量級的指標能夠進行比較和加權。   其中最典型的就是資料的歸一化處理,即將資料統一對映

資料預處理——標準化、、正則

三者都是對資料進行預處理的方式,目的都是為了讓資料便於計算或者獲得更加泛化的結果,但是不改變問題的本質。 標準化(Standardization) 歸一化(normalization) 正則化(regularization) 歸一化 我們在對資料進行分析的時候,往往會遇到單個數據的各個維度量綱不同的

記錄“方法

最簡單的方法就是:標準化方法 還有【重新縮放法】,出自:http://www.nohup.cc/article/166/#menu_index_2 在文章中,提到標準化的方法為: 標準化方法有一個好處:python裡面的numpy包中有求矩陣均值,標準差等統計引數的函式,很方便。 &

機器學習資料處理時label錯位對未來資料做預測 機器學習經典模型簡單使用及(標準化)影響

這篇文章繼上篇機器學習經典模型簡單使用及歸一化(標準化)影響,通過將測試集label(行)錯位,將部分資料作為對未來的預測,觀察其效果。 實驗方式 以不同方式劃分資料集和測試集 使用不同的歸一化(標準化)方式 使用不同的模型 將測試集label錯位,計算出MSE的大小 不斷增大錯位的

資料的兩種方法

資料標準化(歸一化)處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。 一般而言,

資料預處理--輸入/標準化/放縮

輸入歸一化/標準化   Alex 和 Caffe中的初始化引數都是基於均值歸一化的,如果不做歸一化,會因為輸入大了一半,導致訓練失敗。這也是為什麼Caffe強制為樣本計算影象均值的原因。   這樣,畫素值[0,255]被調整成了近似[-128,128]。儘管影象資料格式規整,但是做一