在這篇文章,我想要很簡短地跟你解說電腦到底是怎麼記錄聲音的。到底數位聲音檔案裡面到底裝了什麼?為什麼電腦可以把我講話的聲音存成檔案,然後在你家的喇叭或耳機上面播出來?
先聊聊圖片檔案好了
為了讓你更能想像聲音檔案的運作方式,在說聲音檔案之前,我想先提一下「圖片檔案」,圖片檔案裡面裝的是什麼阿?
現在網路上最常用的圖片檔案格式大概有三種:PNG、JPEG 和 GIF;你在網路上看到的每一張照片,幾乎都是使用這三種方式其中一種儲存的。
每一種圖片檔案格式的編碼和壓縮方式都不太一樣,不過那就不是好和弦要討論的範疇了;你只需要知道,網路上絕大部份的圖片檔案,裡面裝的都是一些我們叫做「畫素」,也就是英文叫做 picture element 或簡稱 pixel 的東西。
pix = 畫,el = 素
你一定常常聽到誰說某某手機的相機有多少「畫素」,畫素到底是什麼阿?
你在電腦或手機螢幕上,看到的所有東西,都是由一個一個細小的小方格組成的,因為這些小方格太小了,平常你不會注意到它們的存在,所以我要把它們放大讓你看清楚。
注意看這個「素」字的右下角。
首先,你可能會發現一件有趣的事情:在螢幕上看起來像是全黑的文字,其實邊緣不是真正全黑的。你的電腦會自動填一些灰色的格子,讓字的邊緣看起來平滑一點點,這個又是另外一個跟音樂無關的故事了。
在這裡的每一個小方格,就是一個「畫素」;現代電腦儲存一張黑白圖片檔案的方式,就是測量每一個畫素的亮度,然後給它一個範圍是 0 到 255 的數字。
- 如果某一格是純黑的,我們就把這一格記錄成數字 0,表示這一格的亮度超低。
- 如果某一格是純白的,我們就把這一格記錄成數字 255,表示這一格的亮度最高。
- 其他中間的數值,就可以代表各種不同深淺的灰色。
你只要收集每一小格,也就是每一個畫素的亮度資訊,合起來就可以變成一個圖片檔案了。所以,在一張黑白圖片檔案中,每一個畫素,就是一個範圍是 0 到 255 的數字。1
聲音檔案的「畫素」
在聲音檔案裡面,與「畫素」相對應的東西叫做「取樣」(sample)。你可以想像一個「取樣」就是一小小小小小段聲音,跟「畫素」一樣,在檔案中也是用一個數字來代表。
不過要怎麼用數字來形容聲音呢?就像在圖片檔案裡,我們用一個數字來描述一小塊圖片的亮度一樣;在聲音檔案裡,我們是用一個數字來描述一個時間點的空氣密度或壓力。
聲音檔案的運作方式,其實超級簡單:你可能還記得在高中物理課的時候學到的,聲音是一種「疏密波」,也就是說你大腦覺得的「聲音」,其實只是你的耳朵偵測到周遭空氣分子的密度變化,傳送訊號給大腦後產生的幻覺而已。
如果你要把一段聲音變成聲音檔案,你就只要拿一個空氣分子壓力偵測器(或是一般人類都叫它「麥克風」)接上電腦並按下錄音鍵,然後電腦跟麥克風就會一直不斷有類似以下的對話:
電腦:「誒現在空氣壓力是多少?」
麥克風:「5487」
電腦:「誒,那現在空氣壓力是多少?」
麥克風:「42」
電腦:「誒,那現在空氣壓力是多少?」
麥克風:「58」
電腦:「誒,阿現在呢?」
麥克風:「3652」
電腦:「誒,那現在呢?」
麥克風:「46521」
…
然後電腦就把每一個時間點的空氣壓力紀錄到一張表格上,就變成聲音檔案了。
以 CD 音質的檔案來說,電腦每一秒鐘會問麥克風 44,100 次「空氣壓力有多大」,每問一次,麥克風就會回答它一個範圍是 0 到 65535 的數字。
每秒鐘記錄的次數叫做「取樣頻率」(sample rate),以剛剛的例子來說,取樣頻率就是 44,100 Hz。
每次記錄所用的數字範圍叫做「位元深度」(bit depth),以剛才的例子的來說,我們使用的數字範圍是 0 到 65535,也就是有 2 的 16 次方種可能,所以我們就說這個聲音檔案是一個「16 位元」的聲音檔案。
聲音檔案裡面是什麼?很多數字。
總結一下,我們每天使用的聲音檔案裡面,其實就是一張充滿記載空氣壓力大小數字的表格而已。
每一秒鐘的聲音,就是 44,100 個、範圍是 0 到 65,535 的數字。 2
事實上,現在大部份網路上的聲音檔案都是所謂的「立體聲」,也就是有左邊和右邊,一共兩個聲道的;所以每一秒鐘數字的數量,應該還要算兩倍才對,那也就是每秒鐘有 88,200 個,範圍是 0-65,535 的數字。
以上就是今天的關於聲音檔案的課程,你也許會覺得這些技術性的事情很麻煩,但是了解聲音檔案的原理,真的就是踏入數位音樂製作、很重要的第一步喔!
喜歡這樣的文章嗎?
我的同名實體書《好和弦 - The NiceChord Book》,裡面有更多實用的樂理與音樂相關文章喔,到這裡看更多資訊,以及下載試閱本讀讀看吧!
如果覺得我的文章和影片對你有幫助,希望你可以藉由購買我的《鋼琴技巧急診室》和《即興幼幼班》課程、實體書、大包裝、加入頻道會員,或至少在社群媒體分享這篇文章,以實際行動來幫助好和弦的持續運作。謝謝你!