Presentation is loading. Please wait.

Presentation is loading. Please wait.

第三章 音樂檢索技術 1) 內涵式音樂資訊檢索(content-based music information retrieval)

Similar presentations


Presentation on theme: "第三章 音樂檢索技術 1) 內涵式音樂資訊檢索(content-based music information retrieval)"— Presentation transcript:

1 第三章 音樂檢索技術 1) 內涵式音樂資訊檢索(content-based music information retrieval)
第三章 音樂檢索技術 1) 內涵式音樂資訊檢索(content-based music information retrieval) 2) 音樂檢索 or 語音辨識: 特徵擷取+圖樣辨識 3) 特徵擷取(Feature extraction) 4) 圖樣辨識技術(Pattern recognition) 高斯混合模型 (Gaussian Mixture Model, GMM) 隱藏式馬可夫模型 (Hidden Markov Model, HMM) 動態時間校正 (Dynamic Time Warping, DTW) 5) 應用: 歌手辨識系統(query-by-example) 哼唱式歌曲查詢系統(query-by-humming)

2 線上音樂服務 目前大多數音樂網站僅提供關鍵詞搜尋(keyword spotting) 不知道或忘了歌名、歌手、歌詞等,如何找歌? KKBOX

3 音樂資訊檢索 資訊檢索(Information Retrieval )方式 Metadata-based retrieval(後設資料)
Query-by-keyword (歌手,歌名,曲風) Content-based retrieval(音樂內涵) Query-by-humming/singing Query-by-speech Query-by-example Metadata-based e.g. Find me “Revelation”. Content-based e.g., Find me this one.

4 內涵式音樂檢索策略 源自於語音辨識: 特徵擷取 + 圖樣辨識 圖片容易看出何者相同 聲音波形難以判斷何者相同

5 特徵擷取(Feature Extraction)
觀察音訊波形,唸同一個字數遍,有不同的波形,但為何仍 可以聽出它們是唸相同的字呢? 類似地,唱相同旋律的歌數 遍,也有不同的波形,但為何仍可以聽出它們屬相同旋律呢? 語音或旋律無法直接從波形中分辨,必須擷取其特徵參數。

6 能量參數 音訊是一種非穩態的隨機過程,但具有短時間穩態(short-time stationary)的特性。所以一般求取特徵參數的方法是先將音訊 切成許多「音框」(Frame),且兩音框間須作適當的重疊,使 相鄰音框間的特徵參數不致有太突兀的變化。 判斷資料中哪些區段有聲音(active)或安靜(silence)。一般是 由一個音框內的訊號振幅來計算對數能量(Log Energy): 其中 s[i+kL]是第k個音框中的第 i 個取樣點,L是每個音框的長度

7 線性預估編碼係數(Linear Prediction Coding)
聲音的產生可視為一個激發源w [n ]送入一個發聲系統h [n ] 而獲得的輸出x [n ] h [n ]相當於發聲器官,與音色有關 (intelligibility) w [n ]相當於氣流,與音高有關 (speaker recognizability)

8 將聲音頻譜拆解,其中頻譜輪廓的部分即代表系統h [n ], 而另一部分代表激發源w [n ]。 logX = logW + logH

9 假設H (z )為一全極點(All-pole)系統,即
x [n ]相當於透過x [n-1]、...、x [n-K ]這些過去的取樣點所預 測出,而w [n ]相當於預測誤差. (ex: 看報紙) a1、a2、...、aK 被稱為線性預估編碼(Linear Prediction Coding,LPC)係數,代表發聲器官的特徵參數。

10 LPC係數可藉由Normal Equation求解:
Rx [k ]為x [n ]的自相關函數

11 音高/基頻 激發源w [n ]的週期為音高(pitch),其倒數為基頻 (fundamental frequency)。
計算音高的方式大致可分為兩類 時域上進行分析 : 自相關函數法(Autocorrelation Function,ACF) 。 頻域上進行分析 : 倒頻譜(Cepstrum)or 次諧波總合法(Sub-Harmonic Summation,SHS)

12 自相關函數法(Autocorrelation Function,ACF)
根據取樣頻率換算成 基頻。例如,i = 63, 取樣頻率為22050Hz, 則基頻為 22050/63 = 350 Hz

13 次諧波總合法(Sub-Harmonic Summation,SHS)
次諧波總合法是由Hermes在1988年所提出,其流程如圖2-5。 首先,以滑動窗將音訊切成音框,而音框與音框間有若干重疊,並乘上漢明窗(Hamming window)。接著計算每 一音框之快速傅立葉轉換(Fast Fourier Transform,FFT),並分別求出音框內各離散頻率的能量值。理論上,具 有最大能量的頻率即為基頻。但因為有時基頻的若干倍諧波能量還比基頻上的能量高,所以為了避免將諧波誤認 為基頻,我們計算各離散頻率之諧波能量總和: 其中N 表示列入考慮的諧波個數,p (nf )為第n 倍諧波的能量值,而h為一常數(典型上設為0.84),用以逐漸降 低愈高倍諧波對該離散頻率的關聯性。最後,找出能產生最大H (f )之頻率f 即為所估算之基頻f0:

14 xt,j 次諧波總合法(Sub-Harmonic Summation,SHS) 基頻 FFT FFT FFT Sub-Harmonic

15 倒頻譜(Cepstrum) cepstrum=|IFFT(log(|FFT(frame)|))|
倒頻譜的物理意義,可用右圖說明: 因此,只要使用 high-pass filtering,就可以把在 low quefrency部分拿掉,凸顯高點,就可以抓出基頻的位置。

16 Example

17 梅爾頻率倒頻譜係數 (Mel Frequency Cepstral Coefficients, MFCCs)
人耳對於低頻區域有較高的敏感度,例如我們很容易分辨100Hz 與103Hz有所不同;但對5000Hz與5100Hz 聽起來像是一樣的 聲音。 用梅爾刻度(Mel-scale)來劃分頻帶,取代線性刻度

18

19 求出如圖2-6所示之B=20組三角帶通濾波器中每一個頻帶k的對數能 量Ek。注意圖2-6(a)中的三角頻帶是大小相同且間隔均為150 mel- scale,但由於梅爾刻度與頻率刻度之間的關係為 , 所以換算為線性頻率刻度為圖2-6(b)

20 進行餘弦轉換(Discrete cosine transform DCT)求出MFCC係數
係數通常取P=12再加上音框的對數能量,產生13 維的特徵向量。 若要呈現MFCC係數在時間上的動態變化,可求其差量(Delta) 其中cm[t ]是第t 個音框的MFCC係數,cm[t ]是其差量係數。k一般取2或3。 如果加上差量運算,就會產生26 維的特徵向量;如果再加上差差量運算, 就會產生 39 維的特徵向量。一般的語音辨識,就是使用 39 維的特徵向量。

21 高斯混合模型(Gaussian Mixture Model, GMM)
將資料的分佈狀況表示為若干高斯機率密度函式的組合 常做為靜態圖樣(Static Patterns)的辨識工具。

22 模型與資料的關係 給定 T 筆D維度向量資料 則O是由 = {w (k ), (k ) , (k )| 1  k  K }所產生的機率為

23 模型參數  = {w (k ), (k ) , (k )| 1  k  K } Weight Mean (Vector)
Covariance (Matrix) Number of Mixture Gaussians

24 模型參數估計(模型訓練) 給定 T 筆資料(如五月天)
則如何求 = {w (k ), (k ) , (k )| 1  k  K },使得Pr(O| λ)達最大? 利用Expectation-Maximization (EM)演算法,透過疊代的方式來 求解(monotonic increase in model’s likelihood) 以一個初始粗估模型(Initial model) 開始,試圖估算出新的模型 ,使 得 。 然後將 視為,再次估算出更新的模型 。依此 步驟反覆地進行,直到不再增加(收斂)為止

25 的計算公式

26 GMM辨識器 給定一未知種類的資料 ,可透過最大事後 機率(Maximum A Posteriori, MAP)來判斷其屬於J 個種類中的 哪一種 ,其中j 表示第 j 種類的模型(五 月天,蘇打綠,…)。 根據貝氏法則(Bayes’ rule),上式可以簡化成 因 Pr(X)與種類判斷無關,且若假設Pr(j )=1/J ,則

27 動態時間校正(Dynamic Time Warping, DTW)
GMM與HMM皆屬於統計方式的辨識工具,即當同類資 料有某種程度的差異時,利用這些工具的訓練過程,可 以凝聚同類資料的共同特性。 DTW則屬於樣版式(Template)的辨識工具,不需要訓練 的過程來凝聚同類資料的共同特性,取而代之的是直接 比對參考資料與測試資料間的異同。但考慮參考資料與 測試資料間可能有時間上的不同步,因此DTW進行時間 上的伸縮調整(time normalization),使得不同長度的資 料可以彼此相比對。

28 概念: 兩人唱同 一首歌 Linear time normalization Dynamic time warping

29 概念 x y Warping Path

30 Warping Path DTW的目標是求取一條最佳路徑,使兩序列 x(1),x(2),…,x(I ) 與y(1),y(2),…,y(J )的總累加距離D (I,J )最小 Method: Dynamic programming(動態規劃) j y(J ) y( j ) y(j-1) y(1) i x(1) x(i-1) x(i ) x(I )

31 Time-Normalization Constraints
Some constraints on the warping functions: Endpoint constraints: 兩序列的起始點相對應 x(1)=y(1),且 結束點相對應 x(I)=y(J) Monotonicity conditions: 保持時間上的先後次序 Local continuity constraints: 排除極端傾斜的路徑 Global path constraints: 合法的路徑範圍 Path weighting or penalty: 優先選擇的路徑

32 Distance between Same-length Sequences
Alignment

33 Distance between Different-length Sequences

34 Alignment Constraints: Type 1
Temporal constraints : Local path constraints One-to-one mapping: k=min(m,n) No consecutive skip-over x1 x2 x3 x4 x5 y1 y2 y3 y4 y5 y6 y7 y8

35 Type-1 Alignment Path j i Alignment path (mapping path): x1 x2 x3 x4
8 7 y1 y2 y3 y4 y5 y6 y7 y8 6 5 4 3 2 1 i 1 2 3 4 5

36 Alignment Constraints: Type 2
Temporal constraints : Local path constraints k=max(m,n):1-to-1,1-to-many,many-to-1 mapping No skip-over x1 x2 x3 x4 x5 y1 y2 y3 y4 y5 y6 y7 y8

37 Type-2 Alignment Path j i Alignment path: x1 x2 x3 x4 x5 y1 y2 y3 y4
8 7 y1 y2 y3 y4 y5 y6 y7 y8 6 5 4 3 2 1 i 1 2 3 4 5

38 Local Path Constraints
Type 1: local paths Type 2: local paths

39 Global Path Constraints
若兩序列起始點相 對應,結束點也相 對應 若兩序列起始點相對應,但結束點可不相對應 若兩序列起始點與結束點都可不相對應 (I, jF) (I,J) (I, jF) (1, j1)

40 Type-1 DTW: Table Fillup
x, y: input vector/matrix Local paths: degrees DTW formulation: j y(j) y(j-1) x(i-1) x(i) i

41 Type-2 DTW: Table Fillup
x, y: input vector/matrix Local paths: degrees DTW formulation: j y(j) y(j-1) i x(i-1) x(i)

42 資訊檢索(Information Retrieval)
協助找尋使用者想要的資訊、資料(data)、文件(document)、 或物件(object) 運作過程分成兩個階段 索引(Indexing): 建立資料的標籤或歸納其特徵,以利搜尋 搜尋(Searching): 依使用者需求,從索引中找出匹配的資料 依索引方式的不同分為 Metadata-based:人工方式建立的後設資料(data about data), 例如:音樂的曲名、曲風、作曲者、演奏者、發行者 Content-based(內涵式): 利用音樂資料內容的自動分析

43 音樂檢索之問題型態 詢問型態 (query) 欲檢索資料型態 (document) 文字 符號式(symbolic)
聲訊(acoustic) 影像 單音(monophonic) 複音 (polyphonic) 輸入歌名查詢歌詞及其他音樂訊息 輸入歌名查詢MIDI或Humdrum等型態音樂 輸入歌名查詢小號樂器演奏曲 輸入歌名查詢一般流行歌曲或古典音樂 輸入歌名查詢光學掃瞄樂譜 以樂譜文字檔或MIDI、Humdrum 等型態音樂輸入查詢歌詞及其他音樂訊息 以樂譜文字檔或MIDI、 Humdrum 等型態音樂輸入查詢樂譜文字檔或MIDI、Humdrum等型態音樂 以樂譜文字檔或MIDI、 Humdrum等型態音樂輸入查詢小號樂器演奏曲 以樂譜文字檔或MIDI、 Humdrum等型態音樂輸入查詢一般流行歌曲或古典音樂 以樂譜文字檔或MIDI、 Humdrum等型態音樂輸入查詢光學掃瞄樂譜 單音(mono- phonic) 哼唱式輸入查詢歌詞及其他音樂訊息 哼唱式輸入查詢樂譜文字檔或MIDI、Humdrum等型態音樂 哼唱式輸入查詢小號樂器演奏曲 哼唱式輸入查詢一般流行歌曲或古典音樂 哼唱式輸入查詢光學掃瞄樂譜 複音(poly- phonic) 以歌曲片段查詢其出處(歌名、歌手等資訊) 以歌曲片段查詢樂譜文字檔或MIDI、Humdrum等型態音樂 以歌曲片段查詢小號樂器演奏曲的其他版本 以歌曲片段查詢一般流行歌曲的翻唱版本 以歌曲片段查詢光學掃瞄樂譜 光學掃瞄樂譜查詢其出處 光學掃瞄樂譜查詢相似樂譜,例如作曲家可藉以檢查 光學掃瞄樂譜查詢現有的單音樂器演奏版本 光學掃瞄樂譜查詢現有的複音樂器演奏版本 光學掃瞄樂譜查詢相似的樂譜影像檔

44 MFCCs + HMM 使用者說出歌名來查詢想要聽的歌曲(Query-by-speech) 做法 語音辨識器的分類: 困難處
口說歌曲查詢 使用者說出歌名來查詢想要聽的歌曲(Query-by-speech) 做法 MFCCs + HMM 語音辨識器的分類: 字彙: 少量(數百字) 、中量(數千字) 、大量(數萬字) 特定/不特定對象(Speaker Dependent , Speaker Independent) 連續/不連續語音 困難處 建立大詞彙的聲學模型、發音詞典、語言模型 不同語者的發聲特性差異(速度、性別、年紀、口音) 激發源(語者相關)與發聲系統(內容相關)的緊密結合

45 語音訊號的變異性 / No Rush/ 女聲 男聲

46 語音辨識系統基本方塊圖 語言模型 辨識模型或樣板 前置處理 特徵擷取 辨識 Grammar (左右相連語法) Syntatics (句法)
辨識結果 語音訊號 前置處理 (Pre-processing) 特徵擷取 (Feature Extraction) 辨識 (Decoding) Mel Frequency Cepstral Coefficients (MFCC) Pitch Contour Dynamic Time Warping Hidden Markov Models Pre-amplifying Speech/Silence Segmentation

47 語言模型的用途

48 ... 訓練階段:建立各辨識單元(單音節,字)之統計模型。 使用階段:計算由各模型產生輸入語音的機率大小,取其最大者做為辨識結果。
隱藏式馬可夫模型(HMM) 訓練階段:建立各辨識單元(單音節,字)之統計模型。 使用階段:計算由各模型產生輸入語音的機率大小,取其最大者做為辨識結果。 選擇最大值 計算由模型#1產生的機率值 語音特徵圖樣 辨識結果 計算由模型#2產生的機率值 ... 計算由模型#M產生的機率值

49 歌手辨識 (Singer Recognition)
應用 Query-by-example, piracy detection, etc. 做法 MFCCs + GMM 困難處 Popular music contains background accompaniment during most or all vocal passages Infeasible to acquire clean solo voice data to analyze a popular singer’s voice characteristics

50 Vocal/Non-vocal(純伴奏) Segmentation
MFCCs + GMM

51 Singer Identification Singer Detection
歌手辨識的應用 Singer Identification Singer Detection Singer Clustering Singer Tracking

52 哼唱式歌曲查詢 (query-by-humming)
難度: 哼唱走音,男女key shift 根據主旋律(main melody)的比對 Note extraction (音高序列)+ DTW

53 xt,j O = { o , , ..., } 基頻 Note Sequence 83 ,..., 42 41 Î FFT FFT FFT
Note Extraction Note Sequence O = { o 1 , 2 , ..., t T } 83 ,..., 42 41 Î Frequency to note number conversion FFT xt,j FFT FFT Sub-Harmonic Summation (SHS) 基頻

54 Median filtering (short-term error correction): 取三數之中位數
Note Extraction Median filtering (short-term error correction): 取三數之中位數 Example:  Rectification (long-term error correction) The range of sung notes within a verse or chorus section of a song is usually less than 18 semitones 17 Semitones 15

55 Dynamic Time Warping (DTW)
Distance Computation Solving the key shift or transposition (移位) Target document’s note sequence Query’s note sequence compute distance stretch/shrink Target document’s note sequence Query’s note sequence shift The query’s note sequence is shifted with 1,  2,…,  K semitones


Download ppt "第三章 音樂檢索技術 1) 內涵式音樂資訊檢索(content-based music information retrieval)"

Similar presentations


Ads by Google