Chapter 8: Exercises

  1. (**) 「一個音框是否有音高」的辨識: 請先由此比賽取得資料集 DS.mat(執行 goCollectData.m 所得到的輸出檔案),請用你自己的錄音(有標示音高的檔案,至少5個)即可。請寫一個 MATLAB 程式 pitchExistTest01.m,先載入資料 DS.mat,然後對資料集進行正規化後(將每個特徵的數值範圍進行線性調整,使其機率分佈接近於平均值為零、標準差為1的高斯機率密度分佈,可用 dataNormalize.m 來對資料正規化)後,來進行下列作業. :
    1. 請使用 KNNR 分類器以及 Leave-one-out 的效能指標,來選取最好的兩個特徵(因為資料量不大,可用窮舉法)。請畫出1個圖,代表特徵依次被選取的過程。所得到的圖形應該類似下圖:
      (提示:可用 inputSelectExhaustive.m 來進行輸入特徵的窮舉法選取。)
    2. 請顯示上一小題之二維資料的分佈概況。所得到的圖形應該類似下圖:
      (提示:可用 dcprDataPlot 來畫出資料的分佈圖。)
    3. 請針對上述二維的正規化資料,使用 SGC (Single-Gaussian Classifier)來對資料進行分類,請畫出每個類別的 Gaussian 曲面,所得到的圖形應該類似下圖:
      (提示:可參考此範例。)
    4. 請畫出出上述分類法所對應的 Decision Boundaries,以及分類正確及錯誤的資料點。 所得到的圖形應該類似下圖:
      (提示:可參考此範例。)
  2. (***) 程式競賽:音高追蹤: 請見此連結
  3. (***) 程式競賽:判斷一個音框是否具有音高: 請見此連結

Audio Signal Processing and Recognition (音訊處理與辨識)