Applied Speech and Audio Processing 第一章讀書報告(其實是差不多是純翻譯
1.介紹
聲音和語音處理系統在大部分發展中國家的人們的生活當中的地位是穩定上升的。在hifi音樂系統中,不管是無線電廣播還是攜帶型音樂播放器,音頻處理對於消費者的娛樂來說都是很重要的。數字音頻技術現在在使用CD播放器,互聯網電台,mp3播放器和i POD的音頻傳輸方面占統治地位。在電視和電影工作室,以及現場演出的混音台,數字音頻處理也是佔優勢地位的,音樂和音效在電腦遊戲當中也很重要。
隨著蜂窩通信的發展(尤其是歐洲GSM標準),語音處理在世界範圍內的發展是一個上升的趨勢。如今,GSM幾乎是無處不在的,甚至在世界上最貧窮的地區,也有廣泛的採用度。
當然,數字語音信號使用的年限已經不短,比如衛星通訊連接,但如今,傳統電話網路(named POTS for 『Plain Old Telephone Services』)也在向數字化屈服。最後一公里使用幾百米的銅雙絞線接入消費者的家中,這樣的數字技術工作方式是從來不會出現在工程師的腦海中的,光纖通信乙太網和無線連接在多年來也是一直被抵制的。DSL (digital subscriber line – normally asymmetric so it is faster in one direction than the other, hence ADSL) ,即使是這種模擬的雙絞線,也可以可觀地高速傳達數字信號。a d s l,對於互聯網視頻傳輸或者是像skype這樣的數字語音傳輸都是足夠快的。
1.1數字音頻
目前數字處理是解決音頻和語言問題的選擇方式:事實上,新的音頻軟體或系統都是佔優勢地位的。這種從模擬到數字的改變大多發生在過去十年,直到現在已經變成了一種默認的模式。
這樣的趨勢大部分發展到了語音音頻和聽力相關的研究中,許多相關的研究現在都是基於數字的。數字技術的一大好處是它幾乎不依賴設備:一個數字處理平台上的技術,可以一直到另外一個上。一個標準在開發平台上會變的易用以及易測試,開發平台的標準可能完全不同,低功耗,小容量,或高功耗,低價格等。
從易用的層面開發,在PC上運行的matlab在這個領域的工作中廣泛使用。它是專為處理數字信號而設計的,尤其是長串的音頻採樣。其內建的函數,允許大部分可能的常用的操作控制,也可以錄音和回放,其可視化和繪圖工具也很棒。本文作者常在m a c o sx和linux平台使用matlab完成它的音頻工作。
儘管目前matlab並沒有提供語音音頻或聽覺工具箱,信號處理工具箱包含了大多需要的函數,Department of Electrical and Electronic Engineering, Imperial College, London的voicebox開源工具箱也提供了許多有用的函數。也可以使用開源的octave開發環境執行本書中的大部分音頻和語音進程,但需要對本書中的某些案例作出小的變更。Octave比matlab小眾一些,它缺乏高級的繪圖和偵錯功能,但是其她的方面很相像。
1.2收集和轉換聲音
系統所有內容都是關於聲音的。不是聲音被機械產生,就是聲音被人或機械聽到。在純物理層面,聲音是由於分子振動穿越空氣的縱波(或其她媒質中的橫波)。在空氣中,聲音是作為高低壓力變化傳播的,高低變化的速度決定了頻率。氣壓變化程度決定了幅度。
麥克風通過感受薄膜偏移捕獲到的聲波,成比例的轉換成電壓或電流。作為結果的電信號,通常是由模數轉換器提供的的已編碼的數字信號序列。最常見的格式,脈衝編碼調製,將在5.1.1部分介紹。
如果相同的編碼數據序列流經一個兼容的數模轉換器,通過放大器送往揚聲器,便可以產生聲音。這樣提供給揚聲器的電壓信號,都是每一個瞬間由電腦提供的採樣值經過數模轉換後比例放大所得來的。揚聲器上的電壓會導致圓錐體向內或向外位移,這樣的位移時刻壓縮附近的空氣,從而產生聲波。
Figure 1.1 Block diagram of three classes of digital audio system showing (a) a complete digital audio processing system comprising (from left to right) an input microphone, amplifier, ADC, digital system, DAC, amplifier and loudspeaker. Variations also exist for systems recognising audio or speech (b), and systems synthesising audio (c).
上圖所示的處理過程,代表了任何數字音頻處理系統的主要步驟。音頻,即本例中自由空氣里傳播的語音,被麥克風轉換成電信號,然後放大以及可能會有的濾波,然後被ADC轉換成數字信號。進入數字領域後,這些信號可以被很多方式處理,發送或者儲存,或者被matlab試驗。相反的過程,會將這些信號轉換成聲音。
上圖中的處理、儲存和傳輸系統都可能是串聯或者並聯的,各種情況下標準不一。光纖和無線傳輸也很受歡迎。
這個基本系統的變化如上圖使用了其分析或合成聲音的部分。立體聲系統需要兩個麥和揚聲器,有些甚至更多。每個簡單的放大器,圖上的adc和dac模塊也會隱藏某些系統中的複雜性——如模擬濾波、自動增益控制等,作為基礎放大器的增強功能。
ADC個DAC也有自己的特點:採樣率、技術、信噪比、動態範圍等,通常由他們輸出的位數決定。
1.3採樣
一段音頻採樣序列首先需要考慮的是連續採樣點間的時間間隔,通常它們被設計成均勻的。這些間隔的頻率即採樣率。在上圖它應該由一個周期時鐘信號發出送給adc和dac,需注意兩個採樣率沒有必要完全相同,因為數字處理本身可以更改採樣率。根據著名的奈奎斯特準則,最高頻率達到採樣率的一半時便能被精確表達。
ADC送出的採樣本身是16位深的固定點,高端系統可能將這個標準提高到20甚至24bit。在計算機中處理它們可能使用固定或浮點數表示。合理的一般化準則是,在16位輸入輸出的系統需要20位定點解析度來操作和處理。
缺乏其他因素時,基本準則是n位相同的數字音頻信號最好有以下動態範圍(the ratio of the biggest amplitude that can be represented in the system to the smallest one):
電話音質的語音,解析度在相應設備上低至8-12位。GSM標準的手機上14位為標準。電話音質也叫電話相同音質,對於聲音通信是可用的,但不能算是高音質。出於這個原因現代聲音通信系統傾向於在實踐中再增加8位的解析度。
採樣率從電話音質的7.2khz到8khz、cd音質的44.1khz不等。長時間播放的數字音頻系統偶爾選擇32khz,高音質系統選擇48khz,近年也流行增加到96khz。除了對於某些金耳朵(注釋1)聽眾,是否96khz的採樣率對於通常聽不見高於18khz的人耳有用是可爭辯的。但這樣的系統也許對寵物更友好:據說狗的聽力高達44khz,貓則高達80khz。
注釋1:喜歡閥放大器的頑固音頻愛好者花費多年薪水購買揚聲器,這些人宣稱自己能聽見20khz,所以他們是「金耳朵」。
【信息框1.1音頻保真度】
需要注意的是整個轉換過程是不確定的:你聽到的是聲波衝擊耳膜,而電腦獲得的聲音由空氣直接送達,其間可能經過一些障礙,如被麥克風拾音、激勵震動膜,被轉換成電信號、放大,接著被採樣。放大器會產生噪音、失真,並不是完全的線性元件。麥克風則是各種意義上的糟糕。模數轉換同樣飽經非線性、噪音、失真和電壓採樣過程的精確度導致的量化誤差。所有上述原因可能是你的採樣結果與希望的真實錄音不同,或者裸耳回放當中信號發生的細微變化是否明顯將難以預測。
Table 1.1. Sampling characteristics of common applications.
常見場合的採樣率及採樣精度上表已列出。
1.4 總結
大多關於轉換和傳播的過程的技術細節已經超出本書的範疇,相關內容請移步參考文獻。通常來說,聲音處理專家不需要了解聲音的採集和回放過程就能完成自己工作。因此,我們討論的範疇主要在信號的處理/保存/傳輸,以及圖1.1上的信號辨別/分析以及合成/生成,而忽略模擬部分的技術細節。
對人類來說聲音有一些特徵:如時域的持續時間、節拍、啟動時間和衰減時間等,也有頻域的特徵如聲調(tone)和音高,以及定義不甚明確的音質、音色、音調(tonality)等等,通常聲波承載了信息:如火警警報音、獅子的咆哮、嬰兒的哭泣、雷聲隆隆或國歌等。
然而正如我們所見,ADC採樣(大多經過脈衝編碼)所得的聲音,僅僅是通過瞬時採樣得到的幅度值來表達聲音的容器。本書接下來將試圖建立這些數字和聲音的聯繫,以及試圖理解、解釋這些聲音。
參考文獻
小結
第一章沒有代碼,主要提及的內容是數字音頻系統整體概況,兼談少量之後會重點討論的內容。
推薦閱讀:
※MATLAB R2018a中信號處理相關的新函數: 求瞬時頻率 instfreq, emd, hht
※走樣與反走樣(Aliasing/Anti-Aliasing):Basics
※signalAnalyzer系列之persistence spectrum