サウンドのデジタル表現

音波のサンプリングと量子化

コンピューターがどのように音を表現するかを理解するために、フィルムがどのように動きを表現するかを考えてみましょう。ムービーは、一定の速度(たいていは、毎秒24 コマ)で、素早く連続したスチール写真を撮影することによって作られます。写真が同じ速さで連続して映写されると、連続した動きを見ているような錯角を起こします。しかし、実際には毎秒24の「不連続な」映像を見ているに過ぎません。音のデジタルレコーディングは、同様な原理によって行われます。音波の瞬間的な振幅について、多くの離散的なサンプルを取り、その情報をストアし、後でこれらの振幅値を同じ速さで再現することによって、連続した波の「イリュージョン」を作り出します。

マイクの働きは、空気圧の変化を電圧のアナログ変化に変換する(あるエネルギーの形式を別の形式に変える)ことです。この連続的に変化している電圧は、「サンプル・アンド・ホールド」と言われる処理によって、周期的にサンプルすることができます。等間隔の時間で、その瞬間の電圧がサンプルされ、次のサンプルが取られるまで保持されます。これは、全体の情報量を、一定の個数−離散的な電圧の値−に減少させます。これらの数値は、コンピュータ上では、ビット列(1または0)として表されます。結果のバイナリ数値は記憶装置(たいていは、デジタルオーディオテープ、ハードディスク、レーザーディスク等)にストアされます。サウンドをプレイバックする場合は、記憶装置から数値を読み出し、これらの数値を、デジタル・アナログコンバータ(DAC)にレコーディング時と同じ速さで送ります。DACはそれぞれの数値を電圧に変換し、その電圧値をアンプに送って、アンプに電圧をかけます。

周期的にサンプルされた、時変電圧

アナログ・デジタルコンバータ(ADC)として知られるデバイスは、サンプル・アンド・ホールドから離散的な電圧値を受取り、それぞれの振幅値を数値化します。この、電圧を数値に変換するプロセスは、「量子化」として知られています。これらの数値は、コンピュータ上ではビット(1または0)列として表現されます。数値化されたビット列は、記憶装置(たいていは、デジタル・オーディオテープ、ハードディスク、レーザーディスク等)にストアされます。サウンドをプレイバックするためには、記憶装置から数値を読みだし、それをデジタル・アナログコンバータ(DAC)に、レコーディングされた時と同じ速度で送ります。DACは、それぞれの数値を電圧に変換し、これらの電圧をアンプに伝えて電圧の振幅を増加させます。

コンピュータでサウンドを正確に表現するためには、サウンドごとに非常にたくさんのサンプルが必要になります。それは、動画のフィルムのコマ数よりもたくさん必要です。事実、レコーディングしようとする最も高い周波数の2倍以上のサンプル数が必要になります。(なぜそうなるのかについての説明は、次ベージの「デジタル・オーディオの限界」を見て下さい。)20,000Hzの高さの周波数の音をレコーディングしようとするなら、最低でも1秒に40.000回、サウンドをサンプルする必要があります。コンパクトディスク(そして、「CDクォリティ」コンピュータ・オーディオ)のレコーディング規格では、各オーディオチャンネル毎に、毎秒44,100のサンプルを取ります。1秒毎に取られるサンプルの数は、「サンプリング・レート」として知られています。

以上の事は、コンピュータが正確に表すことができるのは、サンプリングレートの半分の周波数までであることを意味します。サンプリングレートの半分を超える周波数は、すべてサンプリング処理が行われる前にフィルタによって除去されなければなりません。これは、ある閾値(スレッシュホールド)より上の周波数を除去する「ローパスフィルタ」に電気信号を送ることで実現できます。デジタル信号(量子化されたサンプルを表すビット列)を、連続した電気信号に再変換するためにDACに送る場合でも、DACから出力されるサウンドには、サンプル・アンド・ホールド処理によって作り出される偽の高い周波数が含まれています。(これは、上の例で見られるような、離散的なサンプルによって作られる「シャープ・エッジ」によるものです。)従って、出力シグナルを送る場合も、同様にローパスフィルタを通す必要があります。

デジタルレコーディング及びプレイバックのプロセスは、次のダイアグラムで示されるような処理の連鎖になります。

デジタルレコーディング、プレイバックの処理

<-前の章 次の章->