歡迎來到聲音表示法(Representing Sound)!
各位未來的電腦科學家好!我們現在要深入探討數據表示法(Data Representation)這一章節。你們已經知道電腦如何利用二進制來儲存文字和影像,但電腦又是如何處理像聲音這種無形且時刻變化的資訊呢?
在本章中,我們將學習如何將我們聽到的聲波(即類比訊號 Analog)一步步轉換為電腦能理解並儲存的數位資訊(0 和 1)。這對於現代數位生活至關重要,從線上串流音樂到視訊通話都離不開它!
1. 電腦如何「聽」聲音:類比與數位
1.1 認識聲波(類比 Analog)
現實世界中的聲音是類比(Analog)的。這意味著它是連續且不斷變化的,就像一道平滑流動的波浪。
- 類比:想像一個電燈的亮度調節旋鈕(dimmer switch)。在關閉與完全開啟之間,亮度可以有無限多個程度。
- 聲波有兩個我們最關心的主要屬性:振幅(Amplitude)(響度)和頻率(Frequency)(音高)。
- 電腦無法直接處理這些連續的波,它們需要具體且不連續的數值。
1.2 聲音的數位化
為了要在設備(如 MP3 播放器或硬碟)中儲存聲音,必須將連續的類比聲波轉換為一系列數字,這就是所謂的數位化(Digitisation)。
- 數位數據(Digital Data):由不連續(離散)的數值所表示的數據。
- 類比:想像一個標準的電燈開關。它只有兩種狀態(0 或 1)。
- 數位化的過程就是將平滑的聲波轉化為成千上萬個微小的數值快照。
重點溫習: 真實聲音 = 類比(Analog)(連續的)。電腦聲音 = 數位(Digital)(不連續的數字/二進制)。
2. 數位聲音的核心:取樣(Sampling)
將類比波轉換為數位訊號的核心過程稱為取樣(Sampling)。這就像是隨著時間推移,對聲波進行定期的「拍照」。
數位化步驟:
- 麥克風錄下連續的類比聲波。
- 類比數位轉換器(ADC)以固定的時間間隔測量波形的振幅(響度)。這些測量值稱為樣本(Samples)。
- 每個樣本都會被轉換成二進制數字(0 和 1)。
- 電腦將這些二進制數字儲存為數位聲音檔案。
2.1 取樣率(Sample Rate / Sampling Frequency)
取樣率是指電腦每秒對類比波進行多少次快照(取樣)。
- 測量單位:赫茲(Hz)或千赫茲(kHz)。1 kHz = 每秒 1,000 次取樣。
- 對品質的影響:
- 較高的取樣率代表每秒拍攝更多快照。這能更精確地捕捉波形,產生更接近原始類比訊號的高品質聲音。
- 較低的取樣率代表拍攝較少快照,導致波形表現不準確,從而產生品質較差、甚至聽起來「悶悶」的聲音。
- 例子: 標準 CD 音質使用 44,100 Hz(44.1 kHz)的取樣率。這代表每秒鐘會進行 44,100 次取樣!
記憶小撇步: 想像在看動畫電影。如果影格率(frame rate)(就像取樣率)太低,動作看起來會卡頓;如果很高,動作就會流暢且高品質。
3. 測量精度:位元深度(Bit Depth / Resolution)
取樣率決定了我們測量的「頻率」,而位元深度則決定了我們測量每個樣本振幅(音量/響度)時的「精確度」。
3.1 認識位元深度
位元深度(又稱取樣解析度)是用於儲存每個樣本數值所使用的位元數。
- 位元數決定了可以記錄多少種不同層級的振幅(響度)。
- 可用層級的數量計算方式為 \(2^{\text{Bit Depth}}\)。
- 若位元深度為 8-bit,則有 \(2^8 = 256\) 種可能的振幅層級。
- 若位元深度為 16-bit,則有 \(2^{16} = 65,536\) 種可能的振幅層級。
3.2 對品質與檔案大小的影響
- 較高的位元深度(如 16-bit 或 24-bit)意味著有更多的振幅層級。這能更細膩、準確地呈現小聲與大聲的差異(更好的動態範圍),從而獲得更高品質的聲音。
- 較低的位元深度(如 8-bit)導致振幅層級較少。這會使聲音不夠精確,並引入量化誤差(quantisation error)(一種微小的捨入誤差),聽起來可能會出現失真或雜訊。
- 關鍵點:較高的位元深度意味著每個樣本使用更多位元,這會導致整體的檔案大小增加。
重點總結: 取樣率和位元深度都直接影響數位聲音檔案的品質與大小。
4. 計算聲音檔案大小
一項非常重要的技能是能夠計算儲存數位聲音片段所需的檔案大小。這項計算能幫助我們理解在選擇品質設定時所涉及的權衡。
檔案大小公式(單位為 bits):
\(\text{檔案大小} = \text{取樣率 (Hz)} \times \text{位元深度 (bits)} \times \text{時長 (秒)} \times \text{聲道數量}\)
請記住:
- 單聲道(Mono)使用 1 個聲道。
- 立體聲(Stereo)使用 2 個聲道(左聲道與右聲道各一個)。
4.1 分步計算指南
讓我們計算一段 10 秒長的立體聲錄音,設定為 44,100 Hz 取樣率與 16-bit 解析度。
第一步:將各變數相乘,得出以 BITS 為單位的結果。
\(\text{檔案大小 (bits)} = 44,100 \times 16 \times 10 \times 2\)
\(\text{檔案大小 (bits)} = 14,112,000 \text{ bits}\)
第二步:將結果從 BITS 轉換為 BYTES。
因為 8 bits 等於 1 byte,所以我們將結果除以 8。
\(\text{檔案大小 (bytes)} = 14,112,000 / 8\)
\(\text{檔案大小 (bytes)} = 1,764,000 \text{ bytes}\)
第三步:如有需要,將結果轉換為更合適的單位(KB 或 MB)。
(請記住:1 KB = 1024 Bytes,1 MB = 1024 KB)
\(\text{檔案大小 (MB)} = 1,764,000 / 1024 / 1024 \approx 1.68 \text{ MB}\)
必須避免的常見錯誤!
學生經常忘記乘以聲道數量(立體聲為 2),或是忘記最後將 bits 轉換為 bytes(除以 8)。請確保這些步驟成為你計算時的例行習慣!
快速公式回顧:
檔案大小 = 取樣率 × 位元深度 × 時長 × 聲道數量
(別忘了最後要除以 8 才能得到 Bytes!)
5. 品質與檔案大小的權衡(Trade-off)
在數據表示中,我們幾乎總是需要在數據品質與檔案儲存大小之間做選擇。這就是所謂的品質與大小的權衡。
對於聲音檔案:
5.1 提升品質會增加檔案大小
- 更高的取樣率:我們每秒拍攝更多快照。快照越多 = 儲存的數據越多,因此檔案大小越大。
- 更高的位元深度:我們每個快照使用更多位元。每個快照使用的位元越多 = 數據越多,因此檔案大小越大。
5.2 減小檔案大小會降低品質
- 如果你想要更小的檔案(例如為了加快串流或傳送電郵):
- 你必須調低取樣率(準確度降低)。
- 你必須調低位元深度(精確度/動態範圍降低)。
你知道嗎?這就是為什麼音樂串流服務通常會有「高音質」或「標準音質」的選項。高音質使用更高的取樣率和位元深度,這會消耗更多的數據!
快速回顧與結論
恭喜你!你已經成功學會現實世界中平滑的聲波是如何被捕捉並儲存為數位二進制數據的!
- 類比(Analog):連續的、現實世界的聲波。
- 數位(Digital):電腦使用的不連續二進制數字。
- 取樣(Sampling):在固定間隔測量波形振幅的過程。
- 取樣率(Sample Rate):進行測量的頻率(影響保真度/品質)。
- 位元深度(Bit Depth):測量的精確度(影響動態範圍/品質)。
- 權衡(Trade-Off):較高的取樣率或位元深度意味著更好的品質,但也伴隨著更大的檔案大小。
做得好!理解這些概念不僅對考試至關重要,也能讓你更了解背後支持你所有喜愛音樂和媒體的技術。