5.音声のデジタル化
そもそもデジタルとは
パソコンが一般に普及し始めた当初、パソコンに手を出すのをためらっている人々(特にオジ様達)は、「自分はアナログ人間なのでデジタルなパソコンはわからない」とおっしゃっていましたが、デジタルとは実は非常に親しみやすい考え方で、正確な意味が知られていないだけなので、ちょっと触れておきます。
- 元は"digit"というラテン語系の名詞があり、「指」*、「桁」(電卓の表示桁数が10-digits)などの意味があります。
*"finger(s)"は片手に4本:人差し指(1st-finger)から小指(4th-finger)まで、親指は"thumb"で"finger"では無いそうです。
片手5本指の総称が"digit(s)"です。
- "digital"という形容詞は、英和辞典には「計数的な」という訳のわからない意味が載っていますが、「指」や「桁」を使ってわかりやすく言うと...
- 指折り数えることができる状態 例えば人の数は、人によって大人と子供、男と女、大きい小さいの違いはあっても、1人づつ数えることができるからデジタル。水などの液体の量は特定しなければアナログ(連続)量だが、何ccや何gなどという容量や重さの単位によりデジタル化できる。
- 有限の桁数で表される状態 1/3という値は実数で表すと0.333.....と循環小数になるためデジタルではないが、例えば小数点以下3桁までを用いて0.333としたならば、0.001を単位としてデジタル表示化したことになる。
- 「デジタル=0と1のみで表現する2進法」というのが最も多い誤解です。これは電子工学のデジタル回路が0/1に対応するロウ/ハイの2値を主に扱う、というところから来ているようです。
私は人間の感覚は結構デジタルだと思いうのは、あらゆる物の量を比較のため数えられる状態にしているからです。「音声のデジタル化」とは、元来空気の疎密による振動というアナログ量である音声を、マイクなどにより電圧に変換し、その変化量をある時間分解能と振幅分解能を単位として有限の桁数で数値化することを意味します。その時間分解能と振幅分解能を細かくすればするほど再生する音声は元のアナログ状態に近くなりますが、それにつれてデータ量も増すので、どこまでで妥協するかが工夫のしどころです。
1.振幅分解能
音の振幅方向の分解能はどれだけ細かくすれば実用上支障ないのでしょうか。約2秒間の440Hz(オーケストラの調律で使用するAに近いピッチ)の正弦波を2進数の16桁で数値化したものと8桁で数値化したものを聞いてみてください。8桁で数値化した方には440Hz以外の成分が(特に高域に)増したのがはっきりわかります。これが振幅分解能が不十分なために生じる雑音で、専門用語では「量子化雑音」と言います。一般的には2進数で16桁あれば2の16乗=65,536段階の細かさが表現でき、音楽CDではこれで十分とされています。
2.時間分解能
音声の時間方向をデジタル化すると、どういう問題が生じるのでしょうか。例として、1箇所に印が付いた白い円盤を1秒に1回右に回して、これを暗い所で1秒に4回光るストロボを当てて見たなら、下図のように見えるでしょう。

しかし、上図のように見えるのは1秒に1回右に回っている時だけかというと、1/4秒の間に1+1/4回(1秒間に5回)右にまわっている場合も同様に見えますし、一般に4N+1回/秒(Nは整数、負でも良い)右にまわっている場合は同様に見えます。つまり、連続的に見れば速く回っていることがわかるのに、飛び飛びに見ているために、ストロボの発光周期で決まるある周期より遅く回っているように見える、という現象が起きます。それでは、ストロボの発光周期はこの条件のままだとしたら、円盤の回転は毎秒何回転までなら元と同じ回転数に見えるかというと、発光周期=毎秒4回の半分より低い2回転未満(きっちり2回転だと、どちらに回っているのかわかりません)であれば良い、ということになります。
音声の時間方向のデジタル化も、ストロボの発光周期を時間分解能=サンプリング周波数(以下fsと略)に置き換えて考えれば同じです。fs=48KHzでデジタル録音した音は、1/2-fsの24KHz未満の周波数成分は再現できますが、それより高い周波数成分が入っていると、それが24KHz未満の聴こえる領域に入ってきてしまいます。これを専門用語では「折り返し雑音」と言います。したがってデジタル録音機器では、1/2-fs以上の音は電気的に完全に取り除いてからデジタル化します。音楽CDのfsは44.1KHzですので、原理的には22.05KHz未満の音の成分は確実に再生できます。
3.デジタル音声のデータ量
デジタル・データはパソコン内部では2進値で扱います。2進数における1桁は1ビット、それが8桁つまり8ビットになると1バイトと言います。それ以上も2進数に基づく数え方をするので、2の10乗の1024毎に容量の呼び方が変わります。つまり...
1024バイト=1キロバイト(KB)
1024キロバイト=1メガバイト(MB)
1024メガバイト=1ギガバイト(GB)
1024ギガバイト=1テラバイト(TB)
ただし概算時には1024は約1000と考えてもOKです。今日(2004年現在)パソコンに内蔵されているハードディスクは数十ギガバイト、外付け用だと数十〜数百ギガバイトのものが一般的です。最近はパソコンで音声データを扱う人も増えてきているので、デジタル音声の作成/保存に必要な記録メディアの容量の計算方法をご紹介します。圧縮なしのWAVE形式(*.WAV)やAIFF形式(*.AIF)でのデータ量は以下の式でおおよそ求まります。
振幅分解能(バイト数) × 時間分解能(fs/秒) × 時間(秒数) × チャンネル数(ステレオなら2、モノラルなら1) = 必要なデータ量(バイト数)
例えば1分(60秒)間のステレオ音楽を記録するのに必要なデータ量は、音楽CD相当の場合なら振幅分解能は16ビット=2バイト、fsは44100なのでこれらを入れると...
2バイト × 44100(fs/秒) × 60(秒数) × 2(ステレオ) = 10,584,000バイト ≒ 10メガバイト強
...となります(実際にはその他の情報も入って多少データ量が増します)。音声を扱うソフトによっては、振幅や時間分解能を変えられるものがあるので、必要に応じて値を入れ替えてください。更にこれをMP3方式でデータ圧縮(エンコード)すると、fsはそのままでも1/6(音質優先にて)〜1/10(速度優先にて)ほどのデータ量になります。
PCMとは
音声のデジタル化に伴いPCMという言葉もよく聞くようになりましたが、これはPulse Code Modulation「パルス符号変調方式」の略で、ある媒体に情報をのせる:例えば電波に音声信号をのせるとか、磁気テープ・磁気ディスクに情報を記録する時の変調方法の1つで、特にデジタル・データ向きです。したがって厳密に言うならばデジタル音声方式とPCMとは別のものです。しかし一般的に通りが良い言い方である、デジタル音声でも差のみを記録する方式をD(Differential)PCMという、などの理由から、技術者でさえもついつい同義語として使ってしまいます。