レーテンシー(latency)とは (latency 1.txt) Y.Utusunomia (c)2008  おおよその目次 latency 1 総論 latency 2 使用するフリーウェアについて latency 3 測定 1 ユニバーサル・カウンターを使用する方法            デジタル録音を使用する方法  latency 4 測定 2 リサージュを用いる方法 latency 5 測定 3 測定のアップグレード            Q&A  ******    総論やフリーウェアについて必須の関連事項などにとどめたつもりですが   文章量が多くなってしまい、短気な方には鬱陶しいかもしれません。   もしもそのような場合は「3」から読んでいただいいてもよいですが、結局   は1や2も必要になるでしょう。                  *******************  この用語はlate(遅れ)から派生したデータ処理系の用語で、本来は(処理の) 待ち時間の意味である。(あるいは潜在する時間の意)  私はこの問題について、予てよりデジタルオーディオの不利性の度合いを測る 尺度として用いてきたが、現在に到るもこの問題や本質について、ほとんどのデ ジタルオーディオ機器やソフトウェアの製造者は口をつぐんだままである。 業界において明らかにタブーの領域なのである。  このテキストでは、レーテンシーの何が問題なのか、あるいはどうすれば問題 回避できるのか、またその簡易な測定方法を解説する。  そもそもレーテンシーとは「遅れ」である。 音響にかかわるすべての機器がアナログあった時代、遅れを作り出すことは 容易ではなかった。もちろん空気中を音波が伝わるとき遅れが生じる(常温・ 常圧・常密度で毎秒340m=340m進むと1秒遅れる)が、電気回路では 伝播速度は桁違いに速く、どちらかといえば光速に近い(光速=300000000m/sec :30万Km進むのに1秒かかる)。  空気中でおこる反射や共鳴などの集合が、エコーやリバーブなどのアコーステ ィックな要素の本質なので、本来これらを持たない電気楽器はこれらを取得する 必要があり(この要素が無いと聞きづらいし、生楽器との整合が取れない)、 ギターアンプには古くからスプリング式のリバーブが内蔵されていた。またそれ だけでは満足できない演奏者にはテープ式のエコー装置が重宝されていた。その 後70年代にはデジタル式のディレーラインと呼ばれる装置が実用化され、音楽 の分野で用いられるようになった。  逆に言えばこのような(スプリングやテープを用いなければ)装置を使わなけ れば、遅れを作り出しコントロールすることができないくらいアナログでは遅れ が生じないのである。 **フィルターなどの群遅延に関してここでは扱わない。  この時代に現在のポップスを初めとする録音制作技術やPA技術が確立されたこ とを忘れてはならない。・・後で重要な意味につながるので・・。  時代は変わりデジタル処理の音楽への導入によってこの事情は逆転した。つま り、何の処理であれ、あらゆる処理や操作で遅れが生じるのがデジタルなので ある。  やや難しい説明をするなら、一般的なデジタル処理系はすべてループ構造のプ ログラムで成立しており、「マシンサイクル」と呼ばれるステップを踏まなけ れば何一つ処理できない。短い処理であっても数マシンサイクルから数百マシン サイクルかかってしまう。単純な計算で言えば四則演算(足す、引く、掛ける、 割る)があるが、足し算に対し掛け算はより多くのマシンサイクルを使用し (つまり掛け算はより遅れる)多い桁数(bit数が大きくなると)ではより遅れ は激しく生じる。この桁数の大きい掛け算に特化させたプロセッサがDSPと呼ば れるチップである。DSPでは必要なマシンサイクル数そのものを短縮できるよう に設計されている。  音響と掛け算が何の関係があるかは明白で、すなわちレベル調整とは掛け算に ほかならない。つまり音響のコントロールとはフェーダーなどによるレベル調 整とミックスの集合であるから、それらは膨大な量の足し算と掛け算の集合と 言える。(フィルタリングやリバーブも本質的には同様) **マシンサイクルとはPCにおいては「クロック周波数」で代表される   が、現在のCPU技術は巧妙で単純に1クロック=1マシンサイクルとは言え   ない上、開発用言語そのものがマシンサイクル数を保障しないものもあり、   ソフト開発も容易ではない。対してDSPの場合は厳格にマシンサイクルの規   定や保障があり、目標を達成しやすいと言える。  当然同じマシンサイクルであってもマシンクロックが高ければその分、処理 時間(遅れ)は短くなる。しかし如何に高いクロックであろうと遅れは遅れで あり、今のところこの遅れを相殺する技術は確立されていない。  ADC/DACの変換時間  また現実にはデジタル処理系だけでデジタル音響が成立するわけではなく、 ほとんどの音源は空気中に音を発することから、マイクロホンなどの道具を用い て一旦電気信号に変換し、そのアナログ電気信号をデジタル形式に変換しなけ れば何もできない。このプロセスがA/D変換と呼ばれる処理で、ADコンバーター と呼ばれるチップが使用される。一般的にコンバーターチップはサンプリング 周波数の128倍か256倍のクロックで動作し、1サンプル変換するのに数 百マシンサイクルの遅れを伴う。この変換過程での遅れはデジタルからアナログ への変換でも同様であるが、現在主流で使用されているデルタ/シグマ方式(1 bitコンバータを含む)のチップがとくに遅いことも原因している。 (*注 このAD/DA変換で遅れる時間は、ホストマシンのクロックとは無関係に 決まる。後述するジッタ、あるいは音品質の向上にはサンプリング周波数とマ シンクロックの同期が望ましい。しかし汎用PCなどでは同期できていない。 またこの同期できないことが音品質の限界につながっているとも。)   現在の技術では、何の処理もせず単純に24bitの解像度でA/Dし、D/Aするだけ で1msec(1/1000秒)程度の遅れが生じるのである。 レーテンシーとはこれらのすべての遅れを加算したものを言う。 latency=ADC時間+host処理時間+メモリーアクセス時間+DAC時間 (機材1台 について) 音響システムとしては latency system= 機材1+機材2+機材3・・・                   の総和となる。 **全般的傾向  latencyは機材の種類により、大まかに見て一定の傾向がある。 *イコライザー、チャンネルディバイダーなどのフィルター類。  音響分野で使用されるフィルターは比較的低次のものが多く、最も高いもので  ADやDAコンバータに含まれるアンチエリアッシング・フィルターの8次から  10次程度があげられる。いわゆるアウトボードのフィルター類ではこれを  上回るものはほとんどなく、これらの機材ではAD/DA変換にかかる時間の方が、  本プロセスよりも大きい。 *ディレー、リバーブ  そもそもが遅れを目的としている機材なので、latencyは問題にならない。  しかしこれらは複数の出力を持つものが多いが、それぞれの出力に同じ遅れを  設定しても、同じ遅れにならないものや、表示と実際の遅れが一致しないもの  などが見られる。そもそもディレーラインなどで0msを設定し、実際にそうなる  機種(百歩譲って、四捨五入し0msになる数、0.4ms以下になっている)は皆無だ。  また、dry音(エフェクトされていない音)については一定の遅れになるもの、  全く遅れないもの、遅れが変動するものなど様々で、設計者により考え方が異  なる。  また、これらはサイドチェーン(システム本線系に対して並列に接続される)  なのでdry信号は本線系を使用し、エフェクター側のdry音は使用しないよう  心がけるべき。 *リミッター/コンプレッサーなどのゲインリダクション  この機能に関してデジタル化は賛否両論が根強くある。物理的特性と聴感覚が一  致しないばかりか、使用者によりその機能に要求する結果までもが様々で、  音響実務の教育現場でも理解率が最も低い機能だ。業界誌でもリミッターとコ  ンプレッサの違いを正確に解説しているものは皆無と言う有様だ。一度くらい  英文の定義書でも読んでみればよいのに。   そもそも音色を変化させずにレベル分布を加工しよう、という機能なので、  根本的に矛盾がある。レベル分布を変化させればその聴こえは変化する。アナ  ログのゲインリダクションでは独特の歪みにより、この変化分を相殺するように  工夫されており、(つまり本来の物理目的だけでなく、聴覚生理上の特性を加味  し)製品として成立している。   また固定小数点デジタルにおいてゲインリダクションそのものが不利に作用  する問題もある。ゲインリダクションそのものが、AD/DAコンバータを含めオ  ペレーションレベルが変化することで、解像度まで連動して変化してしまうか  らだ。この問題に関しては、コンバーターを含め処理系全体が浮動小数点化さ  れればある程度解消される。   また、これらの弱点を補うためには、瞬間後にどれくらいのレベルが来るか  予想の必要があり、(といっても未来予知は不可能なので)処理系にディレー  ラインを入れディレーの前でレベル検出し、ディレーの後でレベル調整すると  いう離れ業を駆使することになる。現在製品化されている大半のものはこの未  来予知等価処理で成立しているため、デジタルのゲインリダクション一般で  latencyは大きく、マスタリング用などと銘打った製品では1秒以上の遅れが  あるものも。(可変できるものも)   この未来予知等価処理のアイディアはそもそもアナログ・レコードのカッテ  ィング技術に由来する。レコードの溝の間隔は、レベルや位相差の大きい部分  では広く取りレベルが低くモノの部分では狭く取る。この溝の間隔を調整する  には次にどのようなレベルが来るのかを知る必要があるが、カッティングマシ  ンのテープ再生機では通常の再生ヘッドより前に「先行ヘッド」という先読み  ヘッドがあり、そこでレベルを検出し、これから来るレベルに対処するように  なっているのだ。   このようなアルゴリズムに頼る限り、ゲインリダクションでは遅れを使用せ  ざるを得ないことになる。   筆者が所有するデジタル・チャンネル・ディバイダーは各出力にリミッター  を装備しているが、この部分だけレベルに合わせてDAコンバータの基準電圧を  変化させるというアナログ的荒業で遅れがでないように工夫されている。あま  り使いたくない機能だ。   このような事情があるため一般的数値は把握できない。 *デジタルミキサー  ミキサーとは複数の信号を加算する機能を指すが、現実のミキサーにはこれに  加え上記の機能である、フィルター、レベル調整、ディレー、リバーブ、ゲイ  ンリダクション、信号アサインなどが含まれ、ときにこれらは同時に使用され  る。まともに処理を行っていけば相当なlatencyになことは想像に難くない。  設計者はlatencyを少なくするために可能な限り処理を共用化し、短時間処理  と一定処理時間化を目指す。   一定処理時間化が達成できたのはここ数年の話である。 *その他  筆者が所有するいくつかの機材では、本当に信じられないようなことなのだが、  ステレオL/R間に時差がある(つまりlatencyがL/R間で異なる)ものがある。  実際に録音やPAの現場で使用するものだけに、現場投入前の試用期間中に発見  できたため大事には至らなかったが、もちろんすぐにメーカーに報告したこと  は言うまでも無い。 *******  レーテンシーの何が問題なのか  問題点を列記すると 1)遅れそのものの存在が問題となる場合  録音制作やPAにおいて、これらマシンが単独に機能し発音サービスするわけで はなく、多くの場合システムの中に演奏者が組み込まれている。  つまり、演奏者が演奏を行い、その演奏音をシステムは処理し、一部は客席に また一部は演奏者にフィードバックされる。(フォールドバックとも) 客席に出力される音の遅れはともかく、演奏者に返される音に遅れがある場合、 一定以上の遅れでは演奏が困難となる。この遅れと演奏の関係について様々な調 査があるが、このテキストでは筆者の独自調査を基準とする。 1msec以下・・認識は可能であるが、深刻な影響は与えない。距離換算34cm。 〜5msec・・明確に認識され、遠い印象。          距離換算1.5m 〜7msec・・明確に遅れを認識。粘っこい印象。       距離換算2m 〜10msec・・粘っこく、とろい印象            距離換算3m 〜15msec・・速いポップスでは演奏が困難         距離換算5m 主観的ではあるが、演奏者への心理的生理的影響はこのような結果となる。 もちろんこのような遅れをものともしない演奏者もいるし、オーケストラなどで 指揮者から離れた位置の演奏者は常にこうした遅れを感じているし、パイプオル ガンなどでは聴きすぎるとわけがわからなくなることも。従ってこの遅れに対 して訓練はある程度は有効とも言える。  DAWなどと呼ばれる、ホームレコーディングシステム用の機材では近年 「ゼロ・レーテンシー」をうたう製品が多く見られるが、そのうちのいくつかは PCに接続されたインターフェース内のアナログ領域(デジタルに変換される前の) の信号を直接モニターするようになっている。確かにゼロ・レーテンシーには違 いないが、本来モニターとはシステムを一通り通過し、どのように音が変化して いるかの確認の意味があるので、このようなショートカットは本末転倒である。 なぜならこのようなシステムのほとんどでは、録音中のモニター音と、 再生したときの音が大きく異なり、結果的に満足のできるテイクがなかなか得ら れないことになるからである。つまり、演奏とはモニターから聴こえる劣化を ふまえ、補正しながらなされるからだ。 1−b)  PAの現場などで、ステージ上の生音が客席に聴こえることを嫌うオペレータの 方が多いが、すべてアナログの場合マイクロホンからスピーカーまでの時差は ほとんど無いが、デジタルのシステムでは大なり小なり遅れが生じる。ステージ 上から聴こえる生音とスピーカーから聴こえるPA音は多くの場合類似で、別の言 い方をすると生音をマスキングするような音量でPA音は出力される、とも言える。 ところが時差がある場合、ハース効果と呼ばれる聴覚生理上の現象があるため先 着音がより強く認識されるため、マスキングでかき消すにはより大きな音量が必 要となる。 2)遅れが引き起こす副次的物理現象が問題となる場合  副次的物理現象は数多くあるが、その中でも特に深刻な影響を及ぼす問題として コムフィルター現象がある。 参考図   ┏━━━━┓ ┏━━━━━━━━━━━┓ 混合   ┃信号源 ┃┌─┨機材1(による遅れ) ┠─┐   ┃ ┃│ ┗━━━━━━━━━━━┛ │   ┃ ┠┤ ├───コム・フィルター   ┃ ┃│ ┏━━━━━━━━━━━┓ │ 発生   ┃ ┃└─┨機材2(による遅れ) ┠─┘   ┗━━━━┛ ┗━━━━━━━━━━━┛    機材1の遅れ≠機材2の遅れ   これでも同じ   ┏━━━━┓ 混合   ┃信号源 ┃┌───────────────┐   ┃ ┃│ │   ┃ ┠┤ ├───コム・フィルター   ┃ ┃│ ┏━━━━━━━━━━━┓ │ 発生   ┃ ┃└─┨機材(による遅れ) ┠─┘   ┗━━━━┛ ┗━━━━━━━━━━━┛    <WS comb 1ms.gifを参照>    <WS comb 3ms.gifを参照> <WS comb 10ms.gifを参照>   図のように遅れが大きいほど低い周波数から櫛が現れる  レスポンスが落ち込んでいる周波数(ディップと呼ぶ)成分は通過できなくな  るしもちろん聴こえない。  この現象は遅れが異なる(時差のある)複数ルートを持つ共通信号に見られる 現象で、参照図に表されるような櫛形のフィルターが生じるものである。このコ ムフィルターそのものは電気系を含まない空間でも普通に見られる現象で、直接 音と一次反射音の間などにも生じる。ところが空間で発生する分布定数系コムフ ィルターと電気処理系(集中定数系)であらわれるコムフィルターではその度合 いが異なり「音程感」すら感じられるほど強いものが生じる。言葉で説明するの は難しいが(空間で生じる分布定数系コムフィルターは脳内の聴覚処理で自動的 にキャンセルされる。詳細は別分で解説)、フランジャーと呼ばれるエフェクト のスイングを止めた状態の音色になる。故人の名誉にかかわるので深くは言及し ないが、某国民的歌手のCDの多くにはこの痕跡が伺える。  音響処理には直列型のエフェクト処理と並列型のエフェクト処理があるが、前 者はディストーションやイコライザーなどのフィルター処理に代表される、被処 理音のすべてがその処理の対象になるタイプを、後者はリバーブレーションのよ うに被処理音の大部分は本線系をスルーに、被処理音の一部を分配しエフェクト 処理したものを再び本線に合流させるタイプの2タイプである。 前者のタイプ(直列処理型) ━━━┓ ┃ ┏━━━━━━━┓ 信号源┠───┨ 機材 ┠──────出力 ┃ ┃ ┃ ┃ ┗━━━━━━━┛ ┃ ━━━┛ あるいは ┏━━━━━━━┓ ┃ 機材 ┃ ┃ ┃ ┗┯━━━━┯━┛ ┏━━━━━┷━━━━┷━━━━━━━┓ ┃ ミキサーなどのインサーション ┃ ┃ ┃   このタイプでは信号源の音のすべてが「機材」を通過し  複数ルートを持たない 後者のタイプ(並列処理型) ┏━━━┓ 卓入力 ┃ ┃ ┃ 分配 本線系 ┌──┐ ┃ ┃信号源┠──┨────┬───────┤混合├──┠──出力 ┃ ┃ ┃ │ │ │ ┃ ┗━━━┛ ┃ │ │ │ ┃ ┌─┨────┼───────┤ │ ┃ │ ┃ │AUX 出力など └──┘ ┃ │ ┗━━━━┯━━━━━━━━━━━━━┛ │ │┏━━━━━━━━━━━━━┓ │ │┃ ┌─┐ ┃ │ │┃ ┌──Dry ───┤ │ ┃ │ │┃ │ │ │ ┃ │ └┨─┤外部の機材 │混合─┠─┐ │ ┃ │ │ │ ┃ │ │ ┃ └──effect──┤ │ ┃ │ │ ┃ └─┘ ┃ │ │ ┗━━━━━━━━━━━━━┛ │ │ │ └───────────────────────┘ 上の図をほぐした図(意味的には同じ) ┏━━━┓ ┃ ┃ 分配 混合 ┃信号源┠────┬────────────────────┬───出力 ┃ ┃ │ │ ┗━━━┛ │ ┏━━━━━━━━━━━━━┓ │ │ ┃ ┌─┐ ┃ │ │ ┃ ┌──Dry ───┤ │ ┃ │ │ ┃ │ │ │ ┃ │ └───┨─┤外部の機材 │混合─┠──┘ ┃ │ │ │ ┃ ┃ └──effect──┤ │ ┃ ┃ └─┘ ┃ ┗━━━━━━━━━━━━━┛    一般的に並列処理型の接続は、リバーブなどで行われる。この場合接続   された外部機材のdryは絞りきっておくのが原則。(無論アナログの場合も)   このように書くとよく分かるが、この最も多用される接続で信号ルートは   3重にもなっている。リバーブの場合は機材からの出力は複数あり、事情は   さらに複雑。  ここで問題になるのは、前者のタイプを使用するときに「ほんの少しだけ」そ の効果がほしいという出来心で並列型の接続でこの処理を行ったり、後者のタイ プのエフェクターをアウトボードなどで用意し「ドライ」音をエフェクター側 でコントロールしようとしたりするときに「遅れが異なる複数ルートを持つ共通 音」の条件を満たし、たちどころにコムフィルターがあらわれるのである。  一度発生したコムフィルターは参考図に見られるような複雑な劣化であるため イコライザー程度では補正できないことを覚えておこう。また聴覚で識別できる よう訓練するべきである。デジタルのシステムにおいて、すべての処理は遅れを 伴うことから、アナログの時代には問題にならなかったことがデジタルでは深刻 な問題につながることがある。注意すべきだ。 参考)コム・フィルターによるディップ位置の計算方法  遅れ時間をtd、ディップ周波数をf(n)、低い周波数からn=1以上の整数として  f(n)=n(1/td)-1/2td で表され、  td=1msとすると、500、1500、2500、3500、4500、5500、6500、・・・(Hz)  となる。 3)遅れが一定でないことが問題になる場合  遅れの発生メカニズムについては前記したが、処理系において何マシンサイク ル必要かは設計者のセンスによるところも大きい。絶対的処理時間が不足であっ た時代(マシンクロックが低かった時代)には、設計者はなるべく速く出力した い一心で、使用しない機能をバイパスしレーテンシーを押さえ込もうとした。 つまり、使用する機能によりレーテンシーが異なるという製品があたりまえだっ たのである。たとえば、何も機能させない、フェーダー操作のみの場合レーテン シーが2msecだったものが、イコライザーをONにしたとたん2.7msecになり、コン プレッサをコールしたら6msecに、といった具合である。  現在でもアウトボードのマルチエフェクターの多くは、呼び出すアルゴリズム によりレーテンシーが大幅に変化するのが普通だ。  PAの現場などでこのようなシステムを使用した場合、先のコムフィルターとあ いまってせっかくバランスしていたものが、イコライザーをONにしたとたんレー テンシーが増大し不安定にハウリングし始めるなどということも。  最新のPA用のデジタルミキサーなどでは、常時すべてのエフェクトがONの状態 のマシンサイクルで設計され、不用意に機能をコールしてもレーテンシーが変化 しないようになっていることは大きな進化といえる。しかしオーバーオールに すべての入出力のレーテンシーの保障がある機種はいまだに少ないようだ。 3−b)  サンプリング周波数(ワードクロック)とマシンクロックが非同期の問題  設計者の頭を悩ませる問題として、高度な処理をとるか、高速な処理を優先さ せるかは重要な選択である。現在多くの方は自分のPCを所有しているので説明し やすい。  ソフトがほとんどインストールされていない新品のPCはそれなりにキビキビと 動作するが、ユーザーが様々なソフトをインストールするにしたがい、徐々に鈍 重になっていく。鈍重になってもそれなりに止まらず動作する姿は感動的ですら あるが、音処理において、とくにPCベースで様々な処理する上では注意しなけれ ばならない。  PCに搭載されているCPUはそもそも事務処理用に開発された、より高度なより 汎用な処理を速度の保障なしに行うことを目的にしている。従って鈍重になって も動作し続けることができるのであるが、音処理の場合、このことはマイナスイ メージにつながる。初期のDAWでは少し無理をするだけで、すぐに音がでなくな ったり、ハングアップすることなど当たり前であった。現在の名のあるDAWソフト ではこのような問題はあまり起こらなくなったが、実は巧妙にユーザーを騙すか たちでこの問題を回避している。  正しい処理はワードクロックに同期した形でメイン処理を行い、指定された演 算桁数で、指定された精度の処理を行い指定された形式で出力しなければならな い。その過程で誤差は生じないはずである。ところが実際に検証を行ってみると、 多くのソフトでは、マシンの処理能力を超えそうになると、演算桁数を端折っ たり間引き運転に切り替えたり、そもそもデータファイルを圧縮したかたちで 動作するものまである。劣悪なものではデータ取り込み時に有無を言わさずリサ ンプルするものも。はっきり言って高音質が聞いてあきれる実態だ。 どのソフトと付き合うかはユーザーの自由であるし、ある種の宗教的様相も呈し ているので深くは言及しないが、「おや?」と思ったら検証してみる余裕はほし いものである。 4)本来同じ遅れでなければならない部分で時差がある場合  本来、同じ遅れの必要がある部分とは、ステレオL/R間などのペアが組まれる 信号系のことで、ここに時差があることは如何にlatencyが業界のタブーであろう と許しがたいことである。しかし、私が所有するいくつかの機材では、明確に 0.5sample〜数sampleの時差があり、あるものはメーカーが改善策で対処、また ある製品では生産終了まで何らの対策も打たないという大問題である。  これらはいずれも本線系で使用される機材であり、stereo L/R間に時差がある のだからハース効果によりセンター定位が出ず、monoに変換するとコム・フィル ターかHigh cutになってしまうという困った状態に陥る。  問題解析してみると多くの場合は、ハード設計者のデータシート読み間違いな のだが、この文章で私が強調したいのは、使用者が気付かない、または気付いて も報告しないということが慢性化していることが問題なのだと思う。  売りっぱなしはもちろん良くないが、買いっぱなしはもっと罪だと思う。もっ と自分の仕事や品質にプライドを持つべきだろう。このあたりがデジタルの時代 になって我々が失ったものだ。  実用性の有無の判断は読者にお任せするが、筆者が推奨するのはフリーウェア のAUDACITYというソフトである。慣れないと非常に使いにくい一面を持つが、処 理の完全性(処理の完全性はそのまま音品質に反映される)と、内部プログラム の公開性という大きな特徴を持つ。もう一つの特徴は汎用CPUにふさわしい「オフ ライン処理」のDAWソフトという点があげられるが、同時に処理能力を超える「オ ンライン」要求操作すると、容易に動作崩壊する点もカワイイ。  このテキストで行う多くの検証作業や測定でAUDACITYを用いているので、ぜひ ダウンロードいただきたい。  前記の「正しい処理」に照らし合わせるなら、専用設計された専用ハードは、 多くのPCベースものに対してきわめて高い優位性があると言えるし、その検証が 可能である。いつの間にユーザーはメーカーのアナウンスを信じ、自分で検証す ることを放棄したのか。この態度が業界全体のプライオリティーダウンにつなが っているのだと思う。 ************************************  どのように対応するか  一番重要なことは、「遅れる」という自覚である。一つ一つが小さな遅れであ っても、音響システムは録音であれPAであれ複数機材をシステムとして扱う。 従ってトータルでの遅れや遅れの不安定さはもはや無視できないことが多く、そ のことが結果としての音品質(演奏品質)の低下に貢献することが多々ある。  次に重要なことは自分が使用する道具について、数値で正確に把握することで、 この把握ができなければ対処は不能である。また、前記したようにメーカーにと ってこの問題は「タブー」なので正確な数値はおろか、遅れることすら認めない という姿勢すら見られる。従ってユーザーが自衛する以外に方法はない。  3番目になったが、実は一番重要な問題である正しい知識の啓蒙とその根拠と なる研究の充実がある。実際、われわれが用いている音響技術の知識やノウハウ はデジタル以前の遅れが無かった時代のものをそのまま踏襲し、使用する道具が デジタルに置き換わったにすぎない。これでよいはずがないし、実際に過去の優 れた作品やステージを凌駕するものも生み出されてはいない。  このテキストでは多くのデジタル機材のレーテンシーについての公開は行わな い。参考として筆者が使用しているいくつかの機材について参考値は表記するが、 これらは一目でわかるよう私の機材にはパネルなどに表示してある数値だ。 このテキストが役に立ったと思えるなら、自分の使用している機材のパネルに レーテンシー表示をしてみよう。そのことが対応の第一歩となる。 LATENCYについて 2 (latency 2.txt)  Y.Utusunomia (c)2008 使用するフリーウェアについての解説  測定に際して、以下の道具を使用する。  アドレスは掲載しませんが、検索エンジンで容易に見つかるはずです。 *オッシロスコープ(PC+フリーウェアで代用可能) *オーディオ帯域オシレーター(PC+フリーウェアで代用可能) *フリーウェア類          作者  * WaveSpectra (ver,1.40)         efu  * WaveGene   (ver,1.40)         efu  * Level Of Line In (ver,1.00) DNA * VisualAnalyser(ver,10.0.5NE) Alfredo Accattatis  * audacity (ver,1.3.11)  *本文の簡易ブロックダイアグラムの作成には、相川政和氏作の   [罫子] Version 1.3を使用しています。 *上記ソフトウェアを動作させるのに必要なPCのスペック  pentium 3 400MHz 以上 (互換プロセッサ可)  (VisualAnalyserに関してはクロック1GHz程度必要)  memory: 256MB 以上  OS: win 2000 または XPを推奨 *オーディオインターフェース  あらたに購入を考える際は EDIROLブランド UA1-exを推奨。  理由はUSB1.1の低速通信でありながらASIOに対応し、一応24bitレゾリュー  ションアナログ入出力を持ち、なおかつ24bit幅の拡張S/PDIFオプチカル入出  力を装備。しかしこのS/PDIF、測定用には入出力同時使用できない。S/PDIF入  力は常にそのまま出力されるからだ。残念!   また96kHzfs/24bit設定時には、アナログであっても入出力同時使用できない。  どちらか一方のみの選択となる。2台使用することで同時入出力は可能にはな  るが、水晶が96kHzでは入出力独立となるため測定用には向かなくなる。  もともと複数台使用はあまり考えられていないようだ。   複数台組み込む場合はAcronis true imageなどでシステム修復できるように  対策した後に挑戦するべきだろう。   検証してみるとDAコンバータがやや脆弱で、外付け拡張すると良いが、それ  もS/PDIF I/Oあってのものだ。  ユニバーサルなDAコンバータの製作記事は今後掲載予定。   フラッシュメモリー・レコーダーの中にはUSBオーディオI/Oの機能を持った  ものもあるが、入力信号が常に出力されるものは測定には使用できない。  (そうでない機種はあるのだろうか)   いくつか問題点も指摘されるが、コスト/パフォーマンス上UA1exは十分優れ  ていると言える。  読者の中には熱烈なマッキントッシュユーザーもいらっしゃるかと思いますが、 測定用途に限って言えば、そのためだけに廉価なwin PCを購入しても十分に原価 償却と結果が得られる時代だと思います。とくに機動力と測定ソフトの豊富さ、 またファイル操作においてwinは圧倒的優位性を持ちます。新規に中古(?)ノート の導入をするためのセットアップテキストを後日このサイトで公開します。 ************************************  フリーウェアについての簡単な解説 *フリーウェア一般について  作者がフリーウェアを作り公開する動機は、例えばその公開によっ てよりよいインフラを提供したい、自分の力量を試してみたい、名前を轟かせた い、先人に与えられた資産に対する感謝など様々ですが、多くの場合著作権は作 者にあり、義務こそないもののユーザーサポートを行っているものも。一般的に 使用者は作者のクレジット表示と感謝をしなければならない。フリーウェアを使 用して利益が発生した場合の規定は様々なので注意すべきだが、このテキストの 目的に使用する場合は学習目的とみなされるので、使用し放題であろう。  私が公開するテキストも同様に、より良いインフラ、より良い音楽の輩出を目 的としている。自他ともに。 *WaveSpectra ver1.40  10年の歴史を誇る、FFTの中のFFT。高品位の録音/再生機能をももつ。 作者はおそらく大変潔癖な方で、そのつくりと精度は高価な有償FFTをも凌駕する 一面を持つ。詳細分析モードとサンプル落ちを極限まで追求した性能はユニーク。 しかし、この潔癖さゆえリアルタイム分析が徐々に遅れていくという性質がある。 この遅れが気になる方は、積極的にサンプルスキップする機能を持った「LevelOf LineIn」(DNA作)がおすすめ。  筆者が、録音によるレーテンシー測定にAudacityよりもWaveSpectraを推奨する のは先に述べた「サンプル落ち」に対する積極的対策がすぐれているためだ。  姉妹ソフト WaveGene との相性は抜群。現バージョンでは詳しい解説書とTSP によるf特測定セットが追加された。  日本音響(株)技術部の社内グレードでも、その取り扱いがテスト問題として 採用されている。オーディオプレーヤーとしても秀逸。 *WaveGene ver1.40  シンプルな操作画面ながら、精度、確度ともに有償ソフトやオシレータハードを 脅かすほどのファンクションジェネレーター。FFTの作者がつくっただけあって、 FFTに対する最適化機能は特筆に価する。他のFFTのユーザーも必携な一台。  これらのソフトはいずれもASIOに対応。(レーテンシー保障があるのだが、) この2つのソフトを動かすためだけに、あらたにPCをセットアップするほどの価 値がある。(筆者は専用のノートPCをセットアップし、FFTテスターとして活用中)  *Level Of Line In  DNAという作者による作品。ある意味WaveSpectraに似た一面を持つが、このソ フト自体に録音再生の機能はない。同作者によるHardDiskRecorderとセットで使 用するためのいわばメーターブリッジ。先に記したように表示の遅れが出ないよ うな工夫がされており、また、他のソフトと同時使用もしやすい。FFTも付いて いるがスペクトログラムタイプで、詳細な分析には向かないが、設定がシンプル で独特の使いやすさが特徴。意外とCPU占有率が高いので、使用しない表示窓は 消しておいたほうが良い。 *Visual Analyser  イタリア製フリーウェア。大画面と高いマシンスペックが必要。ゴージャスな パネルとリッチな操作性。プアなノートPCには不向き。内容的にはオッシロスコ ープとFFTと周波数カウンタと倍音加算型のファンクションジェネレータを一体化 したようなソフト。一度は使用してみたいソフトのひとつ。クロック1GHz以下 で快適な動作は望めない。検索エンジンで見つからない場合はefu 氏のホームに リンクがあります。 *AUDACITY  筆者愛用のCross-Platform Digital Audio Editor。要はある種のDAWソフト ウェア。ある種とは、ほとんどのDAWソフトでは音を出しながらミックスバラン スや各パラメータがリアルタイムにコントロールできるものだが、AUDACITYは一 切そのようなコントロールはできない。停止した状態でパラメータやデータを入 力、オフラインですべての処理を行う。Pentium3 400MHzでは同時再生でせいぜい 16トラック程度。この部分でAudacityが低能力であると判断する人が多いが、 この同時再生はAudacityにとって最も高負荷状態だからです。一般のDAWでは ビット数を等価的に減らして再生するソフトが多いが、Audacity では、設定ビ ット深度そのままで再生を行っているため、一定以上のトラック数になると動作 が異常になる。ミックスなどのオフライン処理ではトラック数の制限はなく、 筆者の確認検証(差分抽出)では256トラックでの処理でもなんらの異常は認 められなかった。リアルタイムでできる操作はミュートのON/OFFくらい。  反面、開かない形式は無い、といえるほど豊富な種類の非圧縮の入出力ファイ ル形式に対応。オフライン処理だけあって作業や処理の完全性では唯一無比の強 力さである。ソースの一部やプラグイン開発のための言語まで同梱されている。 DAWのふりはしているが、ほとんど測定器の精度と完全性をほこる。実際に16bit 〜32bit浮動小数点精度まで自由に内部精度設定できるエディターは他には無い。 多少の操作性の悪さは我慢すべきだ。処理の完全性とは「音の良さ」と同義だか らだ。また、操作に対する反応が多くのDAWでは鈍重だが、Audacityでは比較的に すばやい。  AUDACITY自身や他のソフトウェアの校正や検証にAUDACITYを使用することは できるが、逆はできない。困ったものだ。  機会があれば能率的使いこなし講座などしたいものだ。(オフライン処理機の 使いこなし講座?) 注記)ここで言う精度とは、差分抽出に耐えられる、あるいはサンプル数の不変 性、1+1が2になるという当たり前のことを指すが、DAWソフトにおいて、そ れすら実現できていないソフトが実に多い。音の良し悪し以前の問題だろう。  8トラック程度(同時再生を伴う場合。伴わない場合は無制限)の検証や簡単 なファイル操作ではPentium3 400MHz程度で十分であるが、すべての機能(とく にオンライン処理部分=多くのトラックの同時再生や録音そのもの)を快適 に使用するにはそれなりのマシンパワーと大画面が必要。またマルチ出力には対 応しない。録音/再生音は悪くはない。筆者は測定用途と、フラッシュメモリー レコーダーからの一次処理(ファイル形式操作とバックアップ)、さらにはマス タリングの工程の一部でも使用している。  決して至れり尽くせりとは言えないが、当たり前のことが当たり前にできる 点を高く評価する。ソフトの作り手の立場で考えれば、使い方はわかりやすい。  一見快適さに欠けるように思えるような操作系ではあるが、たとえ操作がマウス のクリック1回であったとしても、それは労力であり、その労力は報われるべき ものだし、報われる道具を使用したいものだ。 **ここで紹介したフリーウェアはすべてレジストリ操作を伴うインストールを 必要とせず、ファイルサイズも小さい。気楽に入手し使用できます。詳しくは 今後アップ予定のセットアップ解説などを参照下さい。 **これらのフリーウェアは各ソフト毎に適当にフォルダをつくり、そのフォル ダにそれぞれダウンロードした圧縮ファイルを移し、そこで解凍してください。 まちがっても一つのフォルダに複数ソフトを解凍したり、デスクトップにぶちま けたりすると大変です。  パーテションを分けて使用している場合、システム・パーテションに置く必要 はありません。都合の良いところにフォルダを作成してください。ショートカッ トをデスクトップへ引いておくか、ランチャーに登録しておけば即座に起動でき ます。不要になったらフォルダごと消去するだけです。(ただしaudacityには 同じバージョンでも、インストーラー版と、非インストーラ版がある。前者は .exeパッケージ、後者は.zipパッケージになっている。インストーラー版では C:Program Filesにインストールされ、レジストリは最適化される。アン・インス トールは「プログラムの追加と削除」で行わねばならない) ** 初心者への対応  一般的にフリーウェアはネット上のサイトから圧縮されたファイルをダウンロ ードし、圧縮を解凍しPCに組み込み使用する。  圧縮形式は様々な種類があるが、.zip形式、.lzh形式が多い。それらはエクス トラクターと呼ばれる解凍ソフトウェアを用いるが、これまたフリーウェアが数 多く存在する。筆者はLHaz(ちとら氏作)を使用している。  ダウンロードは各作者のサイトからできるが、vectorなどのサイトには多くの フリーウェアが登録されているし、その中から検索も可能。しかしこれらのサイ トはウィルスに感染していることも多々あり、十分注意すべきだ。ウィルス感染 の問題に対しては、物理的隔離しか方法がなく(対ウィルスソフトは往々にして 無力であるばかりでなく、肝心のマシンパフォーマンスを低下させる)、ネット 用マシンと実際の作業用のマシンは完全に分けるべきだ。実際の作業用のマシン へは、ネット用マシン上で展開し安全確認したもののみ。フラッシュメモリーや 光学メディア経由で移して使用する。またその双方のマシンともにシステム・ア ーカイバーなどで防御する。  作者のサイトがある場合はそちらへいってみるべきだろう。準備ができたら、 さあ冒険だ!   実際にレーテンシーを測定してみる 1 (latency 3) Y.Utusunomia (c)2008  レーテンシーの簡易な測定には、ユニバーサルカウンタを用いる、 リサージュ波を用いる、サンプリング取り込みし遅れサンプル数を 数える、等の方法がある。 ***設定に先立ち、USBオーディオ・インターフェース UA1exのドライバーを  インストールしておく必要があります。インストールせずにそのままプラグン  プレイで自動認識しますが、その場合クオリティ上限が48kHzfs/16bitに制限さ  れ、96KHzfs/24bitの能力やASIOに対応できません。UA1exの説明書に従い事前  にインストールを行ってください。またUA1exを2台同時使用する場合はインス  トールにテクニックを要する上、インストール前に一部のDAWソフトがインスト  ールされている場合、2台インストールはOSの一部を大破することがすること  があります。大破しても修復できる対策を講じた上で2台インストールは行っ  てください。(2台インストールは推奨しません) *ユニバーサルカウンタを用いる方法  レーテンシー(時間遅れ)を測定するには、いくつかの方法があるが最も簡単 な方法は、ユニバーサルカウンタのA/B入力間の時差を測定すればよい。この方 法では遅れ時間が直読できるため再現性や確度が高いが、ユニバーサルカウンタ ・ハードが必要。またPCを用いて同様の測定プログラムが組めそうだが、現在の 私の技量と空き時間では無理。またフリーウェアも見つけられなかった。これを 機会にユニバーサルカウンタハードを秋月キットで組んでみるのも一興。 ┏━━━━━━┓ ┏━━━━━━━━━┓ ┏━━━━━━┓ ┃ ┃ ┃被測定機器 ┃ ┃ ┃ ┃ パルス源 ┃ ┌─┨ ┠────┨A 入力 ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ ┃WaveGeneなど┠─┤ ┗━━━━━━━━━┛ ┃ユニバーサル┃ ┃ ┃ │ ┃カウンタ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ └────────────────┨B 入力 ┃ ┃ ┃ ┃ ┃ ┗━━━━━━┛ ┗━━━━━━┛ WaveGene 操作パネルキャプチャー   <WG UC setup.gif を参照> *デジタル録音を利用し、遅れを測定する方法 ┏━━━━━━┓ ┏━━━━━━━━━┓ ┏━━━━━━━━┓ ┃周波数可変 ┃ ┃被測定機器 ┃ ┃ ┃ ┃ファンクション   ┃ ┌─┨ ┠────┨cha 1 入力 ┃ ┃ ジェネレータ ┃ │ ┃ ┃ ┃ ┃ ┃(インパルス波) ┠─┤ ┗━━━━━━━━━┛ ┃レコーダー ┃ ┃ ┃ │ ┃     ┃ ┃ ┃ │ ┃ ┃ ┃WaveGene ┃ └────────────────┨ch 2 入力 ┃ ┃ ┃ ┃ ┃ ┗━━━━━━┛ ┗━━━━━━━━┛  実際の配線は ┏━━━━━━━┓ ┏━━━━━━━┓ ┏━━━━━━━━━━━┓ ┃ PC ┃ ┃ UA1ex ┃ ┃ ┃ ┃ ┃ ┃ Rch out ┠──┨入力 出力┠┐ ┃ USB I/O ┠─┨   ┃ ┃ 被測定機器   ┃│ ┃ ┃ ┃ ┃ ┃ ┃│ ┃パルス信号源 ┃ ┃ Rch in ┠─┐┃ ┃│ ┃(WaveGene) ┃ ┃ ┃ │┃ ┃│ ┃レコーダー ┃ ┃ ┃ │┗━━━━━━━━━━━┛│ ┃(WaveSpectra) ┃ ┃ Lch out ┠┐│ │ ┃ ┃ ┃ ┃│└─────────────┘ ┃解析ソフト ┃ ┃ ┃│ ┃(Audacity) ┃ ┃ Lch in ┠┘ ┃ ┃ ┃ ┃ ┗━━━━━━━┛ ┗━━━━━━━┛  上記のように配線する。  使用するソフトウェアは上記のように  パルス信号源のファンクション・ジェネレータとして   WaveGene ver1.40  レコーダーとして   WaveSpectra ver1.40  遅れ時間解析に   Audacity ver1.3.5  を使用する。  レコーダーとしてAudacityを使用せず(使用しても問題があるわけではないが) WaveSpectra(以下WS)を用いるのは、WSの方が設定パラメーターが少なく、また ASIOに対応し、サンプル落ちが少なく、より測定用途に適しているからです。 Audacityは録音自体はシンプルなのだが出力ファイルや内部解像度の設定が多く、 ある程度慣れてから使用したほうがよい。 *各ソフトウェアの設定 **それぞれのソフトを起動する前に、必ずUA1exを接続しPCに認識させておいて  ください。また接続するタイミングは、できるだけOS起動後に行ってください。  PCのハード構成により、電源OFFの状態からUA1exが接続されていると、OSが起  動できない場合があります。筆者が所有するノートPCで、松下製CF-M34 400MHz  はこれに該当し、先接続では起動できません。その他のノートではないのですが。   各ソフトを起動する前にUA1exが認識されていないと、入出力デバイスの設  定でUA1exを指定できません。   また、UA1exの裏面ディップスイッチは接続前に1,0,0,1,0に(意味  は48kHzfs、入力モニター=オート、アナログ入力)設定。本体横のアドバンス  ド・ドライバースイッチはONに。必ず接続前に切り替えです。これらのスイッ  チは接続時に1回のみ読み込まれるからです。  WaveGene の設定   WaveGene設定画面キャプチャー   <WG impulse b panel.gif を参照>   <WG UC panel.gif を参照>  設定を一覧にすると  上段fs=48000 bit=16 mode=任意  Wave 1   波形=パルス   周波数=1Hz   出力レベル=-3dB   オフセット=0%    出力チャンネル=L+R   その他=すべて0またはチェックマークなし  Wave 2   出力チャンネル=OFF   その他=Wave 2 は出力されないので、任意  Wave 3   出力チャンネル=OFF   その他=Wave 3 は出力されないので、任意  右上スピーカー印ボタンを押すと、出力デバイスの設定  ASIOに設定したいところだが、録音側でASIO設定するほうがメリットが多いた  め、こちらではPC備え付けドライバを指定。  WaveSpectra の設定  WaveSpectraキャプチャー  <WS res1k.gif を参照>  メイン表示パネル  メイン表示パネルには録音に関係する設定はないが、表示サイズを大きくして  いると意外とマシンパワーを消費するのでプアーなノートPCなどでは必要最小  限に小さくするよう心がけたい。  <WS record.gif  を参照>  メイン画面右上のスパナ印ボタンをクリックすると設定画面が開く。   設定パネルはWave、Spectum、FFT、録音/ 再生、その他、の5ページある。  録音に関係あるのは「録音/再生」の画面で、デバイスはキャプチャーのように設  定。もしUA1exのドライバが正常にインストールされていないとこのように設定  できません。インストールを確認ください。  録音モードは「ファイルへ同時書込みする」へチェックマーク。  <WS record tab.gifを参照>   表示間隔は「タイマー」「30ms」。この数値を短くすると表示はより滑らかに  なりますが、その分マシンパワーを消費します。30ms設定で毎秒33回表示され  その実効数はメイン表示パネル右上の「  fps」に表示される。この数値が  設定から算出される数値より低い場合はマシンパワーが不足のことも。   録音には直接関係ありませんが、「FFT」タブの「サンプルデータ数」  (FFTサイズとも呼ばれる)の設定は4096か8192が適切。  メイン表示パネルの録音ボタンを押すと、録音データのファイルをどこに作成 するかを入力する画面が開くので、場所とファイル名を入力し、「保存」または Enterキーを叩くと録音が開始される。 *実際の録音前にセットのテストを行う ┏━━━━━━━┓ ┏━━━━━━━┓ ┃ PC ┃ ┃ UA1ex ┃ ┃ ┃ ┃ Rch out ┠─┐ ┃ USB I/O ┠──┨ ┃ │ ┃ ┃ ┃ Rch in ┠─┘ ┃ ┃ ┃ ┃ ┃ ┃ ┃ Lch out ┠─┐ ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ Lch in ┠─┘ ┃ ┃ ┃ ┃ ┗━━━━━━━┛ ┗━━━━━━━┛  被測定機器をはずし入出力を直結しテストを行う。 正常なら両方のチャンネルの間に時差は生じない。 1)WaveGeneとWaveSpectra の両方を上記設定でスタートしWAVファイルを作成  する。(10秒から1分程度)  (註 WaveSpectraのレベルメーターがオーバーしないようにUA1exの録音レ    ベルを調整する)  (註 WaveSpectra で録音中に、不要にマウスカーソルを動かしまくらない。    プア・ノートPCではサンプルが落ちることも・・測定精度が下がる)  (註 WaveSpectra の表示画面は不要に大型化しない。プア・ノートPCでは    サンプル落ちすることがある。)    *これらはWaveSpectraが悪いわけではなく、PCを録音や測定に使用する場合    の基本です! 2)作成したファイルをAudacityで読み込む。ショートカットがある場合はそこ  にファイルをドロップして自動起動するか、Audacityを起動しそこにドロッ  プし読み込ませると簡単。  キャプチャー画面のように波形が表示される。 キャプチャーaudacity <impulse.gif を参照>  拡大ボタン(虫眼鏡に+)をクリックしていくと波形時間軸が拡大されていく。  14〜15回クリックするとサンプルレベルまで表示される。短い縦線が1サンプル の区切りで、48kHzfsの場合この一区画の時間は1/48000秒=0.02083msです。 キャプチャーaudacity <impulse 0ms.gif を参照>  実際の測定時には、この上段の波形と下段の波形はずれているので、ずれたサ ンプル数を数えればよい。その際画面最下段の時間表示窓をサンプル数かミリ秒 にセットすると、カーソルを合わせることで数値がこの窓に表示される。  次に実際に遅れがある場合の表示例をキャプチャーし示す。表示例1は1msの 遅れ、表示例2は5msの場合。  表示例 1   キャプチャーaudacity   <impulse 1ms.gif を参照>  表示例 2   キャプチャーaudacity <impulse 5ms.gif を参照>  (註 実際に被測定機器を接続し測定する場合、UA1ex / WaveSpectra がオーバー   レベルにならないだけでなく、被測定機器もオーバーレベルにならないように   レベル調整が必要。(手順 被測定機器のレベル調整 ⇒ UA1exのレベル調整)   さらに高度な調整:(熟練したら挑戦してみよう)   1)被測定機器の各レベル調整箇所 ⇒ ユニティーレベル      (ユニティーレベルとは規定値のことで、フェーダーなら0dB位置のこと)   2)このときに被測定機器のレベルが規定レベルになるように、WaveGeneの     出力レベルを調整      (同様に規定レベルとは、おおむねレベルメータの0dB)   3)その後、UA1exの入力レベル調整をオーバーレベルにならないよう調節     (このときUA1exのレベル調整が、そのユニティー位置(ボリューム最大から      から-20dBのところ)を割り込んでいないこと。割り込んでいる場合は      外付けでパッド(減衰器)を付ける)   註)WaveGeneの出力レベル設定は、極力「0dB」を避ける。    0dBはD/Aコンバータの最大レベルにあたるが、同時に「clip」でもあり、その    ときのコンバータの挙動はコンバータ・チップの品種により一定しない。     CDなどのマスタリングでも、この問題があるため0dB(full bit)を避け-0.1    〜-1dBが最大レベルになるようトリミングされる。大手で作成されたCDのレベル    を調べてみればすぐにわかるでしょう。(インディーズでマスタリングされた    ものや、この不安定挙動を期待する場合は0dBが使用される場合もあるが、大手    レーベルでは、0dBを「不良」の基準のひとつとしているところもある。   註)被測定機器(とくにDAWなどで)によっては、このようなインパルス信号では    正確な(正常な)レベル表示ができないものが多い。そのような機材では一般    的に、実際のピークレベルよりも小さく、あるいは不安定に表示する傾向があ    るが、その度合いはまちまちである。     実際のところ、「これなら使える」と思えるメーター表示プログラムとリサー    ジュを同時に十分な大きさで表示すると、それだけでPentium3 / 1GHz程度の    パワーの大半は使い切ってしまうのが現実だ。格好だけのオマケのメーター    など信じるに値しません。どれくらい正しいかは検証してみてください。    実際にレーテンシーを測定してみる 3 (latency 4.txt) Y.Utusunomia (c)2008 *オッシロスコープのリサージュ(リサジュー)を用いる方法。  以下の接続を参照 ┏━━━━━━┓ ┏━━━━━━━━━┓ ┏━━━━━━━━┓ ┃周波数可変 ┃ ┃被測定機器 ┃ ┃ ┃ ┃オシレータ ┃ ┌─┨ ┠────┨X 入力 ┃ ┃ ┃ │ ┃ ┃ ┃ またはLch 入力┃ ┃(正弦波) ┠─┤ ┗━━━━━━━━━┛ ┃オッシロ ┃ ┃ ┃ │ ┃スコープ ┃ ┃ ┃ │ ┃ ┃ ┃WaveGene ┃ └────────────────┨Y 入力 ┃ ┃ ┃ ┃ またはRch 入力┃ ┗━━━━━━┛ ┗━━━━━━━━┛  実際の接続を図示すると ┏━━━━━━━┓ ┏━━━━━━━┓ ┏━━━━━━━━━━━┓ ┃ PC ┃ ┃ UA1ex ┃ ┃ ┃ ┃ ┃ ┃ Rch out ┠──┨入力 出力┠┐ ┃ USB I/O ┠──┨ ┃ ┃ 被測定機器 ┃│ ┃ ┃ ┃ ┃ ┃ ┃│ ┃ ┃ ┃ Rch in ┠─┐┃ ┃│ ┃ ┃ ┃ ┃ │┃ ┃│ ┃ ┃ ┃ ┃ │┗━━━━━━━━━━━┛│ ┃ ┃ ┃ Lch out ┠┐│ │ ┃ ┃ ┃ ┃│└─────────────┘ ┃ ┃ ┃ ┃│ ┃ ┃ ┃ Lch in ┠┘ ┃ ┃ ┃ ┃ ┗━━━━━━━┛ ┗━━━━━━━┛  操作方法  WaveGeneのセットアップ  画面キャプチャーを参照  <WG sweep.gif を参照>  キャプチャーできないパネル:スィープの文字部分を右クリックすると                スィープの詳細設定ができる。                設定は 周波数>Log を指定  設定内容  正弦波波形で20Hzから20KHzまでを60秒かけてスィープ(走査)する。  開始周波数は「Wave1」で、終止周波数は「Wave2」で設定する。  波形は正弦波を使用する。  同様にレベルについても、Wave1で開始レベルを、Wave2で終止レベルを  設定することになるので、Wave1と2の出力レベル設定は同じにする。  WaveSpectraのセットアップ  画面キャプチャー参照  <WSana 1.gif を参照>  WaveSpectraの設定画面はメイン表示画面の右上のスパナ印スイッチをクリッ   クすると開く。  設定画面はタブ切り替えで5ページありそれぞれ  「wave」:波形表示、リサージュ表示、レベルメータ表示の、各設定  「spectrum」:スペクトラムの表示スケールなどの設定  「FFT」: フーリエ変換固有のアルゴリズム設定  「再生/録音」:入出力デバイス、録音モードの設定  「その他」:その他の設定  である。(前項の解説を参照)    まずメイン表示画面をキャプチャーのようにセット。  (注記:各画面を大きく描画すると描画に時間がかかり、演算速度が圧迫され、   結果的に鈍重な反応になる場合があるので、必要最小限に表示窓を小さくす   るようにこころがける)    <WS small.gif を参照>  スペクトラム表示左側のピーク周波数/レベル・リードアウトを表示するには  スパナスイッチ左隣のHz/dBスイッチをクリックする。  <WS tab etc.gif を参照>  「wave」はリサージュ、レベルメータ表示にチェックマーク。レベルの倍率は スケールオーバーしないよう設定。最初は1倍で、リサージュや波形表示が小さ すぎるなら、倍率を上げてみよう。  レベルメータ表示は絶対レベルを表示しているので、倍率の影響は受けない。 リサージュは大きく表示すると意外とマシンパワーを消費するので、プア・ノー トを用いる場合はできるだけ小さく表示するとよい。  <WS tab wave.gif を参照>  「spectrum」の設定は「通常」「ピークのみ」「dB」「120dB」「Auto」「Log」 あたりが適切でしょう。スペクトラムを詳細に眺めるわけではないので、適当で 可能です。   <WS tab spectrum.gif を参照>  「FFT」は「4096」「Hanning」   <WS tab FFT.gif を参照>  「再生/録音」は録音デバイスを「ASIO」「UA1ex」をフォーマットは「48000」 「24bit」録音モードは、もし一度だけデータをとってWaveSpectraの詳細分析モ ードで詳細分析するなら「ファイルへ同時書き込み」を選択。何度でもスキャン し学習堪能したいなら「サウンドデバイスからの入力のみ」を選択。 とりあえず後者で始めましょう。慣れれば詳細分析モードは大変有力。  <WS tab RS.gif を参照>  設定画面下部分に分析/表示間隔の設定窓がありますが、無論間隔が短いほど 滑らかに表示されますが、CPU使用率も増大する。マシンパワーにもよるが 一定以上のCPU使用率になると表示がひきつり、場合によっては測定精度に影響を 及ぼす可能性があるのでむやみに間隔を詰めない方がよい。筆者は通常「タイマ ー」「30ms」に設定し毎秒33回表示させている。本当にその回数表示できてい るかは画面上段fps(frame/sec)表示窓に表示される。この数値が低下していると き何らかの処理が追いつかなくなっていることがわかる。対応については作者の ヘルプファイル(F1)を参照いただきたいが、画面サイズを小さくすることは意 外と効果がある。また、windowsの機能としてCtrl+Shift+Esc同時押しでタスク マネージャーが起動できるが、表示が引きつっていてもカーネル時間が上限に達 していなければ、おおよそ表示は正確のようだ。(本測定や本録音に使用する場 合はタスクマネージャーを使用しないほうが良い)    これらの設定はWaveシリーズではそれぞれを収めたフォルダの中に作成される 「xx.ini」ファイルで管理されます。上記の設定もこの.iniファイルを別に用意 しておけばそのまま即座に設定が完了します。また、不適切な操作では(停止せ ずにソフトを終了したり、など)ときとして、この.iniファイルに不正なデータ が入り、その結果これらのソフトがおかしな動作をすることがあります。その 場合は迷わず.iniファイルを消去してみましょう。設定は失われますが、ソフト 自体は初期化され、あらたな.iniファイルが作成されます。またそれでも正常化 しないときのため、ダウンロードした圧縮ファイルオリジナルは保存しておきま しょう。  UA1exの設定  付属のドライバをインストールしあるものとして 本体の裏にディップスチッチがあるが、48KHzfs、input monitor:auto 、analog ue inに設定。本体横のスイッチは24bitに設定。(設定を行ってからPCに接続) ***自己校正***  設定ができたら、そのままWaveSpectraの録音ボタンとWaveGeneの再生ボタンを 押せば、測定ができるのですが、その前にハード・ソフトともに正常に動作する か確認の必要があります。 ┏━━━━━━━┓ ┏━━━━━━━┓ ┃ PC ┃ ┃ UA1ex ┃ ┃ ┃ ┃ Rch out ┠─┐ ┃ USB I/O ┠──┨ ┃ │ ┃ ┃ ┃ Rch in ┠─┘ ┃ ┃ ┃ ┃ ┃ ┃ ┃ Lch out ┠─┐ ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ Lch in ┠─┘ ┃ ┃ ┃ ┃ ┗━━━━━━━┛ ┗━━━━━━━┛  UA1exの入力と出力を直結(Lch outとLch in、Rch outとRch inをパッチ)し WaveSpectraを録音、WaveGeneを再生すると、FFT画面に左から山があらわれ1分 かけて右に移動していくのが観測されるはずです。  確認はレベルメータが一定のままで、リサージュが右上がり45度の一直線のま まスィープを終了したか、を見ます。      リサージュとスペクトラの画面      校正画面      <WS res100.gif を参照>      <WS res1k.gif を参照>      <WS res10k.gif を参照>  校正に問題がある場合は下記の例のように、周波数上昇ととともに リサージュが開いていく。 res 4.gif res 5.gif  この例は片方のチャンネルのみケーブルの静電容量が大きく、そのため高域で レベルの低下と位相回転が見られる。こんなケーブルは使用しない。UA1exの入 出力はRCA-pinだが、AV用3本セットのピンケーブルの「黄色」は電線の素材自 体が同軸ケーブルで、他の赤/白のシールド線と異なっている。  静電容量が低いからといって同軸ケーブルが必ずしも良いわけではないので、 注意しよう。(インピーダンスマッチングの問題で、同軸が効果あるのは所定の 終端抵抗である75Ωまたは50Ωを接続したときなのだが、通常の音響回路の伝送 では600Ω以上が使用されるため、逆に特性は悪化する)  測定上の注意  レベルが飽和(オーバーレベル)していないか、測定中はレベルメーターを 監視し-3dB〜-10dBになるように、UA1exの入力レベル調整ボリュームなどを調整 する。前章の巻末を参照。  ***注記 UA1exのユニティーゲインポイント(入力アンプとADコンバータ のクリップが同じになるボリューム位置は、最大ボリュームから-20dBのところな ので、その位置よりも低くセットしても無駄なのでツマミにマークを打っておこ う。***   また測定系をオーバーオールに飽和監視するにはFFTのスペクトラム表示をなが めているとわかりやすい。数値でいうなら0.1%以下ならおおむね正常か。  WaveSpectraやWaveGene、UA1exはいずれも安定性、再現性ともに優秀だが、稀 にPCハードとの相性が悪く、十分に低いレベルであっても下図のような結果にな る場合がある。このようなPCは測定には向かない。筆者の所有する7種のノート PCのうちの1台(計14台検査した)なのだが、原因は不明。   WS dyna.bmp *******************       実際に被測定物をつなぎこみ測定する              ********************* ┏━━━━━━━┓ ┏━━━━━━━┓ ┏━━━━━━━━━━━┓ ┃ PC ┃ ┃ UA1ex ┃ ┃ ┃ ┃ ┃ ┃ Rch out ┠──┨入力 出力┠─┐ ┃ USB I/O ┠─┨ ┃ ┃ 被測定機器 ┃ │ ┃ ┃ ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ Rch in ┠─┐┃ ┃ │ ┃ ┃ ┃ ┃ │┃ ┃ │ ┃ ┃ ┃ ┃ │┗━━━━━━━━━━━┛ │ ┃ ┃ ┃ Lch out ┠┐│ │ ┃ ┃ ┃ ┃│└──────────────┘ ┃ ┃ ┃ ┃│ ┃ ┃ ┃ Lch in ┠┘ ┃ ┃ ┃ ┃ ┗━━━━━━━┛ ┗━━━━━━━┛  とりあえずWaveSpectraの表示をながめてみよう。  <WS res6.gif を参照>  <WS res7.gif を参照>  <WS res8.gif を参照>  <WS res9.gif を参照>  <WS res10.gif を参照>  この図例はlatency が5msの場合だが、上から4番目のときにリサージュは360 度、つまり位相が1回転する周波数ということになる。このときの周波数を読むと 約200Hzになるが、遅れは200Hz1波長分なので、1000(ms)/200(Hz)=5(ms)となり、 latency=5msが導ける。  上から5番目でリサージュは再び開き、高域に移るほどクルクルと位相回転する ように見える。(試してみよう。またこの挙動を覚えましょう!)  最初に閉じたところが目指す周波数で、その後その整数倍の周波数のところで 読みとらないよう注意する。 **注意  この方法の問題点としてスィープが20Hzからスタートしているので、測定限界 が、1000(ms)/20(Hz)=50(ms)となりこれ以上のlatencyは測定できない。  スィープの開始周波数を下げればよさそうであるが、FFTの性質として、周波数 が下がるほどに分解能が低下する(対数スケールとして)こと、また、同様にFFT の性質上、周波数のリードアウトが不正確という問題を持つ。  またリサージュの性質として位相回転に敏感で、被測定機器がフィルターを含 んでいる(必ず含んでいる。少なくともHPFによる低域制限とアンチエリアスLPF が無いデジタル音響機材は皆無と思われる)とそのフィルターの位相特性が加味 された状態で結果が出てしまい、不正確さに拍車がかかる。筆者がlatencyを確定 するときは、前出の録音を用いる方法と併用し確度を高めている。  この正弦波スィープとリサージュを用いる方法は最も古くから利用され定性的 に傾向を把握するためには最も有用といえる。デジタルではなく、アナログのオ シレータ、オシロスコープ、周波数カウンタの組み合わせではさらに快適なので、 手近にこれらの機材がある場合は、ぜひ挑戦してみていただきたい。 * ところがこの測定方法が災いし *  専門家でもよく混同し大きな混乱の原因になっている問題として、位相、極性、 時差、の違いがあげられる。(すべてを位相表現しようとする傾向がある)  「位相」は周期関数の回転角度として定義され、決して反転はしない。  「極性」は、正/反または+/−で定義され、中途半端な数値表現はない。  「時差」は時間で表され、移相量で表現するには周波数を明記しなければならない。   例えばミキサーの入力についているの位相ではなく極性、同様にスピーカー  の+/-を入れ替えた場合も位相ではなく極性の反転、パワーアンプのドライバー  回路の位相反転回路(すっかり定着し歴史?もあるが)ではなく、正しくは極  性反転回路である。   かつてアナログの時代に時差を作り出すことは容易ではなく、すべてを位相  で説明すればよかったのだが、その時代はすでに過去のものであり、すべてに  時差がともなう現在、過去の実務知識は役にたたなくなりつつある。   このあたりをきちんと区分することが、latencyと正しく付き合うために必要  なのではなかろうか。   latencyの測定   (latency5.txt) Y.Utusunomia (c)2008  latency4.txtで提示した方法は、アナログ時代の手法をそのままデジタル化 したもので、全体の傾向を定性的に知るにはスピーディーで良いが、なにせオシ レータはSweepしているので、「あっ、閉じた」と思ったときにはすでに周波数 は高くなってしまっている。またFFTの性質として、表示周波数精度が悪いとい う問題もあり、いささか不十分な測定であると言わざるを得ない。またデジタル であることのメリットも少ない(とは言えFFTが使用できるだけでもすばらしい ことなのだが)。 *アップグレード その1  前出の方法では測定すべき周波数を見過ごすために、精度が上がらないことを 述べたが、この見過ごしは簡単に改善できる。 1)WaveSpectraの「録音/再生」タブを開き「ファイルへ同時書き込みする」へ  チェックを入れ、一旦録音を行い、(ファイルの作成場所は、デスクトップなど  の使い慣れた場所へ) 2)その作成された録音ファイルを再びWaveSpectra で読み込み、WaveSpectraの  詳細分析モードを使用し、リサージュが最初に閉じる部分をシャトル・サーチ  的に探る方法である。  手順は上記のとおりであるが、作成されたファイルをWaveSpectraのメイン表 示画面にドラッグ/ドロップするだけで読み込める。  再生ボタンを押すとそのままスィープを再現するが、最初に閉じたあたりで ポーズボタン(一時停止ボタン)を押す。この状態でWaveSpectraは詳細分析 モードに入り、詳細分析モードのコントロールパネルが現れる。  このコントロールパネルの再生/逆再生ボタンを操作することで、スローモーシ ョン状態でFFT解析ならびにリサージュ表示(レベル表示も)が行われる。  このモードは通常のリアルタイム解析と異なり、FFTサイズ固定で開始点のみ 任意設定し、隣接分析点とはオーバーラップされているというすばらしい機能で ある。リアルタイムモードではFFTサイズを大きくしても小さくしても読み飛ばし が生じるため、過渡現象などは追えないが、詳細分析モードではFFTサイズを大き くしてもオーバーラップしているために読み飛ばしが生じない。あとはこのモー ドで音が出れば言うことなしか。   *アップグレード その2  その1の方法で相当に使いやすくなりましたが、やはりFFTで周波数を測定する ことは得策とは言えず、ここはやはり基本に戻るべきであろう。  この組み合わせで周波数の精度が高いのは、実際にカウントする機能である 周波数カウンタを持った「VisualAnalyser」を用いるなどの方法もあるが、信号 発生するWaveGeneの周波数精度が高いことを利用すべきであろう。 1)とりあえず前出のSweepを用いて定性的に傾向を把握する。  おおよそどのあたりの周波数で最初にリサージュが閉じるかをメモを取り、 2)WaveGeneのスィープを止め(スィープのチェックマークを外し、 3)WaveGeneのWave 1の周波数入力窓に、メモした周波数を入力しWaveGeneを  出力しWaveSpectraのリサージュを観測する。 4)リサージュが閉じるように、周波数入力窓右横のアップダウンキーを操作。 5)リサージュが完全に閉じるように周波数を追い込む。(アップダウン量は  アップダウンキーの部分を右クリックすると設定できるので、最初は大きめの  数値を、追い込むに従い小さな数値にしていくと追い込みやすい。 6)完全に閉じたところで周波数入力窓の数値を読み、latency=1/周波数(単位  は秒)の計算式に当てはめると算出できる。  十分に高精度で測定できたことと思うが、前出のように被測定機器がフィルタ ーを含む場合(大なり小なり含むものだ)、その影響を受けることを忘れないで いただきたい。「録音を使用する方法」でサンプル数を数える方法と併用すべき だ。 註)録音を使用する方法が絶対的に必ず有利というわけではなく、多くの場合 被測定機器を通った信号は相当に変化しており、どこをもってしてパルスの立ち 上がり(ライズエッジ)とするか首をひねることも多いのです。 **** Q&A **** Q1:  正しく信号入力できない(あるいは出力できない) A :  多くの場合、入出力に使用するデバイスの設定手順に問題があることを 疑ってみる、あるいは確認する。  必ず各ソフトウェアを起動する前に、OSがそのデバイスを認識していること。 ソフトにより事情は異なるが、原則としてそのソフト起動時にのみデバイスを 読み込む設計になっていることがあり、その場合にはデバイス設定窓にそのデバ イスが表示されていても内部的に接続されない場合もある。  挙動が不信な場合には、一度ソフトを閉じデバイスマネージャーからデバイス 認識しているかを確認し、その後ソフトを起動すると効果的だが、認識がこじれ ている場合、マシンを再起動しないとだめな場合もある。  使う前には手順を考えてからはじめましょう。使用するマシンやその状態によ り固有のクセがあり、自分の使用するマシンのクセを把握するように努めよう。    また、通常うまく動作していても、新たなドライバーやソフトウェアのインス トールにより、それまで動作していたデバイスが不調になることがある。このよ うな事態に備えるには「アクロニス・トゥルー・イメージ」や「ノートン・ゴー スト」などのシステム・アーカイバー・ソフトで、こまめに「うまく動作してい るときの状態」をアーカイブしておくことが最も有効な方法である。  また、別原稿でも述べるが、最も強力な対ウィルス防御に使える上、HDDの交 換にも最もうまく対応できるが、調子に乗っていると、周りがクローンだらけに なることも。実績としては、多くのネットカフェやコンビニ端末での使用例から 有効性は明らかだろう。 Q2:  被測定機器のアナログ入力とデジタル入力、アナログ出力とデジタル出力で 測定結果が異なる。 A :  アナログ入力とデジタル入力では、無論アナログ入力のほうがADコンバータを 通過する分遅れるが、デジタル入力の場合もインターフェース・チップで固有の 遅れが生じる。そのため単純に(アナログ入力時の遅れ)-(デジタル入力時の 遅れ)で、処理系のレーテンシーを求めることはできない。どうしても気になる 場合は、使用されているチップのデータシートを入手し、記載されているレーテ ンシーから算出するのが早道。  また、被測定機器により、それぞれの入力で遅れ時間補正しているものもあり 真値を求めるのは容易ではない。 Q3:  UA1exの入力レベル調整がたよりない、、 あるいはL/Rチャンネル間のレベルが異なるようだが、、 あるいはユニティーレベルがよくわからないなど。 A :  確かにアナログ式の、しかもあまり高級とは言えない部品が使用されているが、 そもそも当てになるボリューム(可変抵抗器)などなく、ボリュームで信用できる 位置は絞りきりと回し切りの状態だけだ。L/Rチャンネルがきちんとトラッキング した部品の値段はUA1exをはるかに上回る。  どうしても気になるなら、回しきりで使用するか、あるいはボリュームを取り外 し半固定抵抗にでも置き換えるか、近日アップ予定のプローブを付けるしかない。  逆にレベル調整がアナログ部分についていること自体、測定用途にはありがたい ことで、もしこのレベル調整がデジタル部分なら何ら改善の見込みがないことにな るので筆者としては歓迎している。  ユニティーレベルの見つけ方  アナログ部分のユニティーはADコンバーターのクリップレベルと、その前置回路 であるプリアンプやHAのクリップレベルが一致する調整状態、と定義できる。  この状態を知ることは、録音機においては最大解像度、と最大S/N比を得ること と同義であり、複数のレベル調整部分を持つ機材においてはバイパスと同じ意味に なることから、測定用途のみならず高品位な録音をするには必携の知識といえる。 (記録メディアがアナログだった時代には、そのメディアの固有のノイズが加わる ため、ユニティーで使用するよりもメディア上の記録レベルが優先されたが、メデ ィアそのものにノイズが存在しない今日では、メディア上の最適レベルよりもユニ ティーでの運用の方が重要だ。とくにレベル調整がデジタル領域にある場合は必須 だ。  一般的にアナログ領域にレベル調整のあるレコーダーやUA1exの入力は 下図のようなブロック構成になっている。 ┏━━┓ ┃レ ┃ ┏━━━━━┓ ┃ベ ┃ ┏━━━━━┓ ┏━━━━━━┓ 入力──┨プリアンプ┠─┨ル ┠─┨バッファー┠─┨ADコンバータ┠─コントローラへ ┃またはHA ┃ ┃調ボ┃ ┃ ┃ ┃ ┃ ┗━━━━━┛ ┃整リ┃ ┗━━━━━┛ ┗━━━━━━┛ ┃ ュ┃ ┃ ー┃ ┃ ム┃ ┗━━┛  レベル調整がユニティーレベル状態のときに、プリアンプ/HAの出力とADコンバー ターの出力が同時にクリップ(飽和、あるいは歪みはじめる)する。  このような状態のレベル調整のつまみ位置は以下のようにして調べる。 UA1exを例にすると、 1)UA1exをPCに接続し認識させる。 2)WaveSpectraとWaveGeneを起動し、デバイスをそれぞれUA1exに設定。 3)UA1exの入力と出力の間に+20dB程度のアンプを挿入する。 4)UA1exのレベル調整を十分に(10%程度まで)下げる。 5)WaveSpectraのFFT画面を観測できる大きさにセットし、上段のHz/dBを押し   画面下のTHDを有効にし、リードアウトできるようにする。⇒WaveSpectraスタート 6)WaveGeneをWave1のみ有効にし、正弦波、周波数1kHz、レベル-40dBにセットし   出力。 7)このときにWaveSpectraの表示が歪率0.1%以下(クリップしていない)になって   いることを確認。 8)WaveGeneの出力を少しずつ上げていき、歪みが急激に上昇するポイントを見つける。 9)8)の状態からわずかにWaveGeneの出力レベルを下げ、 10)UA1exのレベル調整をゆっくりと上げていき、 11)歪みが急激に上昇するポイントを見つける。  9)の状態がプリアンプ/HAのクリップ状態であり、このときの入力レベルが   UA1exの最大入力レベルである。  11)のときのつまみ位置がUA1exのユニティーレベル位置である。   このときのつまみ位置に白ペンキなどでマークを入れ、なおかつその位置から   レベル調整最大のときとのレベル差を調べておけば、正確なユニティー位置の   再現が可能になる。