ストリームとファイル                         (C)Y.Utsunomia 2008-2010 デジタル・オーディオの邪教的側面であるが、このストリームとファイルはしばしば 混同され、しかもその混同によって深刻な音品質の劣化に甘んじている現場(スタジオ あるいは操作者)が多く見られる。「議論の尽きない問題あるいは宇都宮説」の項を参照 ○音として存在する情報は、そのすべてがストリームである。 音情報は常に時間とともに存在し、始めも終わりも無い。始めや終わりは利用者の都合 によって、単に一意の時間領域を「切り出した」ときに生じたものに過ぎない。ゆえに 頭だし精度が悪いというオマケも付く。現実の音楽や、アナログ・レコード録音テープ (アナログデジタルを問わず)CDなどに収められた情報がこれにあたる。つまり、テー プ(レコードやCDの場合も連続した一本のトラックなので同様)の長さ方向が時間であ り、確かにそこに時間が存在する。テープ録音の場合、録音ボタンを押した瞬間が一意 の開始点になる。「録音」とは言うが、時間軸のコピーなのである。  順番を入れ替える(編集を行う)には時間軸そのものを切断する必要がある。 アナログであれ、デジタルであれ、再生品位のひとつは、この時間軸の再現性がある。 アナログの場合その時間軸の変動は、ワウとかフラッターと呼ばれ、比較的高品質のも のであっても絶対速度の0.1〜0.01%程度である。変動分のスペクトラムは0〜数十Hzであ る。 ストリームには原則としてヘッダ(後述)は存在しない。 ○コンピュータによる情報処理では、ストリームそのものは扱えない。ファイルの形式 になっていなければ効率的に扱うことができない。 コンピュータ(汎用のオペレーション・システム)でストリームを扱おうとすると、ま ず必要になるものが、外部時間軸に対する同期システム・ハードとソフトが必要となる。 一般的には一定のワードクロック(これも一意なものでしかないが)を用意し、このク ロック単位でストリームを分断し(これをサンプリングと呼ぶ)デジタル量に変換する。  デジタル量に変換されると、「サンプルの順番のみが記録」され、時間軸そのものは 破棄される。  データ列の端から何番目だから、時間で言うとxxxxという具合だ。時間軸を破棄する ことで効率的編集や変造が可能になるのである。また、順番しか残っていないので、端 からいくつめのサンプルかが重要になる。 一般的にオーディオ・ファイルに必須の情報は、名称、サンプリング周波数、ビット数、 開始点、終了点、ファイルサイズなどのヘッダ情報と音データそのもののチャンク部分 がすべてで、時間軸そのものは、ヘッダから算出される間接的情報としてしか存在しな い。 時間軸の変動は高品位のもので数十ppm(1ppm=1/1000000=1/10000%)で、スペクトラム は1/10サンプリング周波数〜数十サンプリング周波数。いかにも高性能なのだが、高い 周波数成分のゆらぎが音情報にどのような影響を及ぼすのか、未解明のままデジタル化 を推進した経緯がある。(ジッタとも呼ばれる。別の言い方をすると時間軸そのものに 存在するノイズともいえる) このようにストリームもファイルも同じようなもののように見えるが、決定的な違いは 時間軸の有無において顕著だ。DATやCDでは、コンピュータによる録音と同じく、サンプ リングによってデータ化されるが、メディア上に時間軸が残っているのである。極論す るなら録音するときに回転むらがあろうと、クロックの変動があろうと、それが再生時 に再現されるものであるなら音品質には大した影響を及ぼさない。実際にCDやDATの記録 では端から何番目のサンプルであるかなど意味を持たない。時間軸とともにデータが存 在するからだ。実際にDATで録音したものをそのまま再生したときと、CDライターでCD-r にコピーしたものとで、相当に音が変わることを経験したことがある人は多いし、最高 品質を誇るいくつかのマスタリングスタジオではフルデジタル処理ではなく、アナログ 再生を経由したコピーによってプレスマスターが作成される。この一見、前時代的プロ セスを経る理由のひとつが「再現される時間軸変動」を固定することにある。最大情報 量を引き出すための努力なのだ。時間軸の有無は音情報の連続性にも反映する。 ストリームもファイルも同じ「サンプリング周波数」と「ビット数」で表現される情報 であるが、このように時間軸情報の取り扱いが相当に異なる。 ストリームそのものを取り扱える録音専用機は、一般にコンピュータベースのものに比 べ明確に高品位のものが多いが、音品質の劣化や変化がどの時点で生じているのかを検 証する必要がある。論理的に考えてみよう。 ファイルシステムではそもそも時間軸を破棄しているのであるから、バイナリ・レベル (つまりデジタルの数値表現・・・記録メディア上ででは2進法で演算するため、バイナ リデータと称する)の比較による同一性評価が、その品位のすべてといえる。しかし、 そのデータを音として再生する場合(つまり一度破棄した時間軸を再び付加するとき) や、データを録音作成する場合(時間軸を破棄するとき)にこの劣化が生じると考えら れる。 実際にオーディオCDを作成する場合(オーディオCDはデジタルでありながら、ストリー ムである)に、専用のCDライターを用いた場合と、コンピュータ搭載の光学ドライブ で焼いた場合とで明確な差が現れるが、その両者はそれぞれのセットが正常に動作して いればバイナリ・レベルでは同一である。しかし再生音は異なる。(注・後述) ごく初心者向けにテスト方法を示すと、十分な品位を持つCDをコピーしてみるとわかる。 CDプレーヤーとCDライターをデジタル接続しそのままコピーしたものと、コンピュータ を用いてリッピングし、CD-rに焼いたものを比較するのである。オリジナルのCDに近い 音が正解である。念のためオリジナルと2枚のコピーをバイナリ・レベルで同一性評価し てみる。3枚をそれぞれコンピュータで読み込みWAVファイルを作成し、efu氏作の WaveCompare.exeで比較するのが簡単だ。それも信じられない方はaudacityで2種ずつ読 み込み、被比較情報のトラックを「上下の反転」で極性反転し、2種を「ミックスして作 成」すると違いのあるサンプルの位置も明確になる。(ファイルのビット深度を必ず 16ビットに設定しディザもOFFし、頭合わせしなければならないが、この作業が結構面 倒だったりするが、良いトレーニングにはなる。 いくらがんばっても一致しないなら論外だろう。 詳しくは「差分抽出」の項を参照。 ファイルどうしのコピーで差分(違い)が出るなどもってのほかだろう。 一般的に音品位の変化はA/D変換やD/A変換のときに生じると考えられているが、厳密に はストリームとファイルの変換時に生じると考えるべきであろう。この点で、専用機に 勝るコンピュータ・ソフト(ハード)に、残念ながら筆者は出会ったことが無い。 audacityでもこの問題は同様で、録音、再生そのものではあまり高品位は期待できない。 実際にaudacityで再生し、S/PdifでCDライターに信号を送りCD作成する場合などでも クロックの変動でライター側がロックアウト(音が瞬間的に途切れるなど)することすら ある。 単なる録音再生について最も高成績だったのはefu氏作のWaveSpectra.exe(独自のアル ゴリズムを搭載:そのほかの有用なソフトの項を参照)であるが、このあたりが、コン ピュータベースの限界かと思うと切ないものがある。 異論もあると思うが、筆者の基本的な方針は以下のようなものである。 ************************************** * 録音再生はストリーム専用に設計されたものを用いる。(例 Alesis社HD24など) * コンピュータベースで安全なのはファイル トゥー ファイルの作業のみ。 **************************************   note) もちろんハード・ソフトメーカー各社も、ジッタ吸収のための工夫をしている。 例えばマルチポート・バッファを設置し、書き込み情報にゆらぎがあっても読み出しは 一定間隔で行うなど、であるが、劣化した時間軸情報を完全には取り戻せていないのが 現状のようだ。ある研究によればppb(1ppb=1/1000000000)オーダーの精度が必要だとか。 もはや原子時計の世界ではないか。(水晶振動子で得られる限界は100ppb程度で、確かに 100ppm精度と100ppb精度ではそれなりの音の違いが認知できるが、それもストリーム専 用機の話だ)ソフトベース機にそのようなクロックを注入してもジッタ変動分の方がは るかに多い。