- 締切済み
jriver DAC バッファー設定
jriver media center 21 を使ってASIO経由で DENON DA-300USB に接続しているのですが、 バッファーの設定がjriverの設定で『バッファリング』というのがあり、ミリ秒単位で設定出来るのですが、 『デバイスのコントロールパネルをオープン』というのを選択するとASIOドライバーのコントロールパネルが表示され、 そこにもバッファー設定がありバッファーサイズを設定出来るのですが、 これは両方とも有効なのでしょうか。 また、設定はどうしたら良いでしょうか。 また、選択項目に『音飛び防止のため、大きなハードウェア バッファーを使用』というチェック項目があるのですが、これもどういう意味か良く分かりません。 お詳しい方、どうか宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- HAL2(@HALTWO)
- ベストアンサー率53% (2341/4390)
Application Software での Buffer 設定はその Software を使用する PC (Personal Computer) の演算能力や同時に行われる PC 演算動作によって勘案すべきもので、その Software を用いる人がその時にどのように PC を利用するかによって変わります。 例えば音楽 Software を動作させて音楽を鳴らしながら Internet であちこちの Web Site を閲覧すると PC は音楽 Software Program の演算を行いながら Internet Browser の動作演算も平行して行わねばならず、右の仕事をちょっとしたら左の仕事をちょっとして再び右の仕事を……というように両者の演算を極めて短い時間の間ずつ左右に振り分けて行います。 この時、負荷の大きな仕事 (演算) には「右右右左」「右右右左」……というように振り向ける時間を多く取って対応するのですが、左の仕事をおろそかにすることによって左の成果結果 (Data) が底を付き、左の成果を使って音を出している DENON DA-300USB が「あれっ? Data がないよ! じゃ、Data が来るまで待つか」とやってしまうと途端に「音飛び」が起きてしまうわけです。 DENON DA-300USB の中にも Buffer が入っています。 正確には DAC Chip の中にも Buffer 回路が入っているのですが、DAC Chip の Buffer 回路は Data が途切れることなく連続して入ってくることを前提にして設計されており、Buffer 回路が対処できる Data の乱れは DAC Chip の直前にある DAI (Digital Audio Interface) Chip や USB/DA (Universal Serial Bus / Digital Audio) Converter Chip 等で生じる乱れ程度ですので極々僅かな容量しかありません。 一方 PC は極めて膨大な Data を用いて複雑な演算動作を行った結果としての大量の Data を作り出すといった動作を頻繁に繰り返しており、出力する Data 群と次の Data 群との間に生じる「出力の一時的な停止時間」が非常に大きくなる場合があり、この「出力停止時間」がその先の動作に影響を及ぼさないようにするために予め大きな余裕をもって Data を Buffer に積み上げておき、「出力停止時間」の間に Buffer Data が抜き取られて空っぽにならないようにしています。 Internet で Web Page から別の Page に Jump した際、Page が全て表示されるまでに随分と待たされる経験を何度もされていると思いますが、これは、特に Data 量の多い画像 Data がたくさんある Page では PC が画像 Data を受け取って Display に表示する型式に演算し、その Data を Buffer Memory に放り込みながら次の画像 Data を演算する一方で Buffer Memory に置いておいた Data を順次 Display に送出する……といった複雑な動作を繰り返す過程で、あちこちで Data の流れに遅延を起こし、結果として Display への表示が遅れてしまうのが原因です。 PC の演算能力が非常に高い、高性能な PC であれば Buffer に積み上げておく Data の量も少なくて済むのですが、PC の性能が低かったり、同時に動作させるものが多かったりすると、どれほど Buffer Memory 容量を増やそうとも、そもそも PC の演算速度が追い付かなくなってしまえば「音飛び」が発生してしまうことになります。 例えば CD 1 枚分丸ごと Buffer Memory に Data を貯め込んで PC が音楽 Software を動作させる仕事を「Buffer Memory から USB 出力に Data を搬送するだけ」にするべく 700MB もの Buffer 容量を設定しても、PC が他の Software 演算動作にかまけて「Buffer Memory から USB 出力に Data を搬送する」動作を毎秒平均約 1.5Mbit 以下にまで低下させてしまうと、その瞬間に「音飛び」が発生することになります。 充分な Buffer 容量を設定しているにも拘わらず音が途切れてしまうような事態が発生する原因の大半はこうした PC の演算能力不足によるものであり、そのような状況を起こさせないようにするには Buffer Memory の容量を増やすことよりも「PC に他の演算動作を行わせない」「どのように他の演算動作を規制しても決して規制できない基本 OS (Peration Software) の演算負荷も可能な限り軽くしてやる」といった工夫をすることの方が有効です。 理論的に Buffer 容量は再生する曲目の全 Data 量を音楽 Software が変換演算するのに要する総 Memory 量以上を設定しても意味がなく、それほどの容量を設定しても音飛びが発生するようであれば PC の演算状態に負荷がかかりすぎているか、音楽 Software 事態に動作 Algorithm の不備があるということになります。 因みに私は APPLE MacBook CoreDuo 2GHz の PC で Audirvana という Software を使用する際に、この Software が 50 分間に渡って音楽 Data を変換演算するのに要する総 Memory 量である 2GB も Buffer 量を設定することもあるのですが、それでも他の動作を平行して行っている際には音飛びが発生することがあります。 なお、音楽 Software が Data を変換演算するのに要する Memory 量は音楽 Software によって異なります。 16bit 44kHz の CD Data は 1.2Mbps (毎秒 1.2Mbit) ですが、上記の Audirvana は 50 分間 (=3000 秒) で 2GB (=2048MB=16384Mbit) を消費しますので、毎秒約 5.5Mbit、つまり CD 規格 Data の 5 倍近い Memory を消費しながら演算を行っていることになります。 御質問者さんの場合、jriver media center 21 が、ASIO が、Windows OS が……各々の Program ば毎秒どれくらいの Memory 領域を使用して Data 変換演算を行っているのかを鑑みて、音楽再生に必要充分な Buffer 容量を決定することになるのですが、上述のようにどれほど充分な Buffer 容量を設定しても PC の演算能力が不足するような状況下では意味がないことを御記憶ください。 素敵な Audio Life を(^_^)/