7-1 Introduction to Pitch Tracking (l簡)

[english][all]

(請注意:中文版本並未隨英文版本同步更新!)

Slides for this chapter

如前一章所述,使用「觀察法」來算出音高,並不是太難,但是若要電腦自動算出音高,就需要對音訊進行進一步的自動分析。使用電腦對整段音訊進行抓取音高的過程,通常稱為「音高追蹤」(Pitch Tracking),所抓出來的音高資訊,有下列應用:

總而言之,音高追蹤可說是音訊處理過程中,最基本也是最重要的一環,相關的研究,也進行了數十年,因此我們必須完全瞭解其原理,才能繼續進行其他相關的分析與處理。

音高追蹤的基本流程如下:

  1. 將整段音訊訊號切成音框(Frames),相鄰音框之間可以重疊。
  2. 算出每個音框所對應的音高。
  3. 排除不穩定的音高值。(可由音量來篩選,或由音高值的範圍來過濾。)
  4. 對整段音高進行平滑化,通常是使用「中位數濾波器」(Median Filters)。

在切音框的過程中,我們允許左右音框的重疊,因此我們定義「音框率」(Frame Rate)是每秒鐘所出現的音框個數,如果取樣頻率是 11025,音框長度是 256 點,重疊點數是 84,那麼音框率就是 11025/(256-84) = 64,換句話說,我們的電腦要能夠每秒鐘處理 64 個音框,才能達到「即時處理」的目的。示意圖如下:

我們讓音框重疊的目地,只是希望相鄰音框之間的變化不會太大,使抓出來的音高曲線更具有連續性。但是在實際應用時,音框的重疊也不能太大,否則會造成計算量的過大。在選擇音框的大小時,有下列考量因素:

由一個音框計算出音高的方法很多,可以分為時域和頻域兩大類:

這些方法將在以下各小節介紹。


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