全翻訳版Audirvanaの作者のDamienさんがとても興味深い技術文書を書きました。これはコンピューターオーディオにおけるプレーヤーソフトとMacのインテジャーモードについて書かれたものです。そこでDamienさんに連絡してこの全文の日本語翻訳の許可とブログに掲載する許可をもらいました。原注は原文にある注釈で、訳注はわたしが補足で書いたものです。そのほかはできるかぎり原文を忠実に訳出しています。多少言い回しを変えているところもありますが、文意は変えていないつもりです。文中の[MeitnerGendron91]などは末尾の参照文献のことです。本文中の「わたし」はもちろんDamienさんのことです。本文はDamienさんに権利がありますので許可無く引用したり転載することはできませんので注意ください。必要な場合はわたしにご連絡ください。Go)概要コンピューターオーディオにおいて、プレーヤーソフトウエアはDACに転送するトランスポートとしてCDドライブの代わりとなるものだ。電波干渉)の低減はいぜん重要である。この文書は音質に影響を与える主たる要素についてコンピューター側での説明を加えるものだ。DACを普通使われるiTunesとの組み合わせを超えた別次元のオーディオ体験をもたらしている。その主たる要素とはビットパーフェクト、サンプルレート切り替え、アシンクロナス(非同期)転送、インテジャーモードである。究極の目標あるいは理想世界の神話としてのビットパーフェクトデジタルオーディオの世界において、読み込みエラーやトランスポートの機械的な要因によるジッターの発生はCDプレーヤーの既知の問題として良く知られている。コンピューターソースはこれらの問題に対してはその影響を受ける恐れがなく、それゆえビットパーフェクトとして知られるオリジナルの信号に忠実であると一般的に考えられている。残念なことにコンピューターの中のデジタル世界は完全な0と1で構成される理想世界ではない。オーディオ信号はさまざまな構成物を通り、それぞれが音質に影響を与える。これからその詳細を見ていき、"ソースダイレクト"の手法がその悪影響を最小限に抑え、CDプレーヤーを越える高い音質を達成できることを確認したい。world(直訳では平板世界)は現実世界に対して理想的な状態の(ありえない)世界の比喩として使用している。音質劣化の原因ビットパーフェクト出力を前提としても、ソース機材としてのコンピューターは二つの大きな理由によって音質が劣化する。*ソフトウエア要因のジッターデジタル信号は実際のところ、電圧の閾(しきい)値によって二つの状態が分割されるアナログの波形である。(閾値の上ならば1で、下ならば0ということ)[MeitnerGendron91]で示されているように受信側はアナログの閾値を越えた瞬間を検知している。加えてある状態から他の状態への遷移は瞬間的ではなく斜面のようになっている。Voltage)のわずかな変化が時間的な変位をもたらしてしまう。edge(立ち上がり)の時点でレベル検出をするさいに時間の差を生じてしまう。(Thresholdはしきい値)つまりソースの基準電圧の変動はジッターを生じる。これは[HawksfordDunn96]に詳述されている通りだ。これは受け手側の不安定な電源供給やグランド電圧によって左右される閾値測定の変動についても同じことが言える。コンピューターでさえもグランドは同じケーブルと共有されているためこの影響を与えてしまう。load)とはCPUと周辺機器からの常に変化する電源要求を意味していて、要求のピークはソフトウエアの挙動と直接関係がある。加えて計算処理やディスクのアクセスなどさまざまな処理は信号線を複雑な波形の電流が流れることを意味しているので、これは電磁的な干渉を引き起こす。いまはアップル製のコンピューターは「ユニボディ」アルミシャーシによって十分な遮蔽が行われているが、ケーブル自体がアンテナとして機能してしまうためにこの遮蔽は十分ではない。これらの波形電流はコンピューターのPSU(電源ユニット)に逆流して主電源を汚してしまう。現代オペレーティングシステムとしてOSXは実行中のすべてのアプリケーションに、オーディオ出力を含むデバイスへの共有アクセスの手段を提供する必要がある。それは音質の劣化と引き換えにされてしまっている。*オーディオ・ミキサーもし都合の良いことに音楽再生をしているアプリケーションがただひとつであれば、それは信号に影響を与えることはないのでこの場合にはビットパーフェクトは達成できる。*サンプルレート変換この共有モデルではデバイスのサンプルレートを楽曲のサンプルレートにあわせて切り替えられないのでサンプルレートが変換されてしまう。加えてリアルタイムオペレーションのためCPU負荷を減らさねばならないので、最適ではないアルゴリズムが用いられている。MacのAudioMidi設定による変換のこと)*デジタルボリュームコントロールOSXはミキサーを介したボリュームコントロールを提供している。(iTunesで提供されているものと同じと言うこと)デジタルボリュームにおいては100%から離れるほどビットパーフェクトではなくなり、精度の低下を招くことになる。DACへのデータ転送まずはじめに内蔵されているTOSLINKを使用するDACへの接続が考えられるが、これはジッターが多すぎるので本格的な使用には向いていない。優れたコンピューターへの接続法としてはUSBもしくはFireWireを使用するのが望ましい。FireWireはマルチチャンネルの大量なAVデータのストリーミングを保障するように設計されているためプロ市場で長く使われてきた。その複雑な運用方法(たとえばドライバーインストールが必要であるとかホットプラグインでの問題点など)や先行きの不透明感により、いまはUSBが広く使われてきている。最初のUSBデバイスはアダプティブ(またはシンクロナス)方式であり、これはDACのクロックがコンピューターからの連続的なデータストリームに従属するものである。最近のさらに進んだUSBデバイスではアシンクロナス方式が採用されている。これはDACがオーディオデータの流れをコントロールし、バッファリングしてDACのより安定した低ジッターのクロックを使用するというものである。それゆえこの方式はUSBストリームのごく短い中断(バスリセットや他のデバイスによるバースト転送)に影響されず、コンピューター側のジッターの多いクロックにあまり左右されない。これはUSBの簡便さ(ドライバーインストール不要)とFireWireの安定性という二つの世界の良いところを併せ持っていると言える。この方式は音質向上への大きな進歩であるが、DACをコンピューターから完全に切り離すことはできず、グランドループを皮切りに始まる干渉問題やソフトウエア要因のジッターは相変わらず存在している。プレーヤーソフトウエアの影響まず第一にすべてのプレーヤーは次のように信号のビットパーフェクト再生を確保するべきである。*DACのサンプルレートに曲のサンプルレートを合わせて不要なサンプルレート変換を回避すること。mode)を使用する。第1章で見たようにコンピューターの負荷(および類似の問題)は音質に影響を与える。これらの電流要求とソースの干渉を最小化することがキーとなる。再生の前に(電源ノイズとRFIの影響を避ける目的で)ディスクアクセスを減少させるためメモリーにロードしておく(メモリー再生)。load)を最小化する。ジッターの低減に加えて、これは特に低域における可聴域のRFIを減少させるのに役立つ。load)とはDACからのリクエストによるCPU負荷のこと。[AppleCoreAudio]のような高レベルのフレームワークによって実行される。Layer)にダイレクトにアクセスすることである(fig2参照)。graphという高レベルのモジュール。右はオーディオファイル向けプレーヤー。線の上はユーザー空間(アプリケーションの領域)で下はカーネル空間(OSの領域)。カーネル空間でデバイスドライバーとDACのやりとりが行われている。浮動小数点(float)モード通常の実行ではユーザー空間とカーネル空間の境界を行き来するデータのやりとりは32bit浮動小数点形式で行われる。これは異なるオーディオストリームのミキシングプロセスとソフトウエアクリッピングを容易にする。HAL_1]このときでも24bitの範囲であればビットパーフェクトを達成できることに注意して欲しい。(原注4)インテジャー(integer)モードHALへの直接のアクセス[AppleHAL_2]は上述した通常モードにおける下記の二つの大きなオーバーヘッドをバイパスできる可能性がある。左は通常の浮動小数点モードの流れを示していて、赤い囲みが本文中で言及されているオーバーヘッドを示している。右がインテジャーモードを示していて、単一のDACネイティブ形式での流れとなっている。インテジャーモード(fig3)においてはプレーヤーソフトはすでにDACのネイティブ形式にフォーマットされたオーディオストリームを送出する。それゆえ「同期的CPU負荷」をドライバーレベルで最適化することができる。この動作はカーネル空間であるドライバー内部でリアルタイムで行われるため、音質における最重要経路(クリティカルパス)となっている。それらはDACとのデータ転送において即時性が生じる瞬間に起きる最も同期的なものだからだ。それゆえこの最適化による効果は大きいが、この標準的でないモードを許容できるDACにのみ使用することができる。結論コンピューターは優れたミュージックサーバーだが、仮にビットパーフェクトが確保できたとしても音質を低下させるジッターとRFIの根源でもある。プレーヤーソフトはこのオーディオストリームと関連した同期的な負荷による音質低下の影響を最小化するために、信号経路を最適化して整える必要がある。これにはビットパーフェクトに加えてソースダイレクトがそのキーとなる。このことがすなわち私がAudirvanaにおいて、インテジャーモードでリアルタイム処理を単純化して、(ディスクからの読み取りやデコード、DACへのネイティブフォーマットへの変換など)他の動作は準備フェーズにオフラインで実行しておくことで、リアルタイム性能を最大限に発揮させるように効率化したということである。Play)と呼ばれる。DP-777のようにインテジャーモード、アシンクロナスUSBの対応が可能で、これらのすべての最適化の利点を享受できるものによって得ることができる。ComputerAudiophileのDamienさんの書き込みによると他のプレーヤーソフトとAudirvanaはメモリー再生と言う点について異なった考え方を持っている。HDDをSSDに交換すると直接的な機械的要因のノイズを取り除くことはできるが、長いケーブルを走る電流波形など他の要因の影響はまだ残る。OSのオーバーヘッドも以前として存在している。OSXの低レベルオーディオサブシステムでは通常データを512フレーム・チャンクで要求している。周波数では44.1kHzのサンプルレートで〜86Hzに相当する。ソフトウエアボリュームコントロールを含むすべてのフィルターが取り除かれればビットパーフェクトは可能である。普通のiTunesでもビットパーフェクトでありうる。32bit浮動小数点は1ビットの符号と8ビットの指数部、23ビットの仮数部から構成される。有意な精度は24bitである。リンクとメール(5)このブログが書籍となりました。本を共同執筆しました。