レイテンシーを視覚化

ーーー目次ーーー

サウンドカードと内蔵デジタル出力、はたしてどちらが遅延が少ないのか検証しました。

 

下の画像は、DRUMトラックの2小節目の頭に音符を置きました、スネアを発音しています、緑色のトラックです。クリックすると原寸大表示できます。

紫色のトラックはSaffire pro 24 DSPというサウンドカードで出力発音した録音テイクです。2トラックあります。

青色のトラックが内臓デジタル出力で出力発音した録音テイクです。3トラックあります。

プロジェクトのフォーマットは全て96khzです。BPMは75.

 

結果内蔵デジタル出力が遅延が少なく一番早く発音できています。

 

下の画像は音符で言うと何音符分遅れたのかを説明しています。

波形を見て、遅れて発音した所にマネをして同じ場所に音符を入力しました(これは発音も録音もしません)

16分音符のグリッドが見えますが、そのグリッドで考えますと16分音符を100分割ぐらいしている所にマネした音符があるので、100掛け16で1600なので1600分音符分遅れたという事です。

 

 

なので今度からやはり、内蔵デジタル出力で出力します。

 

オーディオアンプやミキサーのレイテンシーが気になったので検証してみました。

結果は上の写真のようになりました、クリックして拡大表示してください。

そして各トラックを説明します。例えばax10TvSportsPhonOutと書いているトラックは、-------logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーターVESTAX PCV275>BOSS NS-50>BOSS PQ-50>BOSS VF-1>YAMAHA DSP-AX10(TV SPORTSというDSPエフェクトをオン)>AX-10のヘッドフォンアウト>Saffire PRO 24 DSPのインプットに入ってlogicで録音--------という具合の信号の流れで録音しています。

 

他のトラックの説明は

・96分音符と書いているトラックは96分音符の長さがどれくらいか分かるようにエ

 ディターで打ち込んでいます。棒の切れ目が見えるので96分音符のレングスやグリッ

 ドが解ると思います。

・サンプル波形(これを再生)と書いているトラックはライド音のサンプル波形でこれ

 を再生して録音し検証しています。

・ax10effect off

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーターVESTAX

 PCV275>BOSS NS-50>BOSS PQ-50>BOSS VF-1>YAMAHA DSP-AX10(DSP

 フェクトをオフ)>AX-10のヘッドフォンアウト>Saffire PRO 24 DSPのインプット

 に入ってlogicで録音

・ax10NormalEfectPhonOut

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーターVESTAX

 PCV275>BOSS NS-50>BOSS PQ-50>BOSS VF-1>YAMAHA DSP-AX10(Normal

 というDSPエフェクトをオン)>AX-10のヘッドフォンアウト>Saffire PRO 24 DSP

 のインプットに入ってlogicで録音

・DA>vestax>boss(vf-1on)>m120

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーターVESTAX

 PCV275>BOSS NS-50>BOSS PQ-50>BOSS VF-1(エフェクトオン)>ROLAND

 M-120>ROLAND M-120のヘッドフォンアウト>Saffire PRO 24 DSPのインプットに

 入ってlogicで録音

・DA>vestax>boss(vf-1off)>m120

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーターVESTAX

 PCV275>BOSS NS-50>BOSS PQ-50>BOSS VF-1(エフェクトオフ)>ROLAND

 M-120>ROLAND M-120のヘッドフォンアウト>Saffire PRO 24 DSPのインプットに

 入ってlogicで録音

・DA>m120(bossやvestaxの余計な電源入り)

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーターROLAND

 M-120>ROLAND M-120のヘッドフォンアウト>Saffire PRO 24 DSPのインプットに

 入ってlogicで録音

 という信号の流れでbossやvestax等の使わない機械の電源を切らずに入れたままとい

 う意味です。

・DA>m120(余計な電源切った)

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーターROLAND

 M-120>ROLAND M-120のヘッドフォンアウト>Saffire PRO 24 DSPのインプットに

 入ってlogicで録音

 という信号の流れでbossやvestax等の使わない機械の電源を切った状態で録音。

・DA>vestax>m-120

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーターVESTAX

 PCV275>ROLAND M-120>ROLAND M-120のヘッドフォンアウト>Saffire PRO 24

 DSPのインプットに入ってlogicで録音

・DA>VESTAX

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーターVESTAX

 PCV275のヘッドフォンアウト>Saffire PRO 24 DSPのインプットに入ってlogicで録

 音

・DA(ax10の電源入り)

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーター>Saffire

 PRO 24 DSPのインプットに入ってlogicで録音(ax-10の電源は入っていた)

・DA(余計な電源切り)

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーター>Saffire

 PRO 24 DSPのインプットに入ってlogicで録音(余計な電源は全てオフにした)

・DA(余計な電源切り)低レイテンシーモード

 logicのサンプル波形再生>macProの内蔵デジタル出力>DAコンバーター>Saffire

 PRO 24 DSPのインプットに入ってlogicで録音(余計な電源は全てオフにした、そし

 てlogic内の低レイテンシーモードはオンにしていた)

 

というふうになります。結果的に一番レイテンシーが少なかったのはDA(ax10の電源入り)というパターンになります。そしてYAMAHA DSP AX-10という5.1chアンプを経由してしまうとかなりのレイテンシーが生じてしまう事になります。

 

やはりAX-10はレイテンシーが生じていましたか・・・TV SPORTSというDSPエフェクトはヘッドフォンでもかなりいい音になるのですが、、今後VSTトリガードラムの練習をするのなら、DA>vestax>boss(vf-1off)>m120、というパターンの信号経路で練習したいと思います。

 

今回もまたマニアックな検証をしてしまいました。

 

---2023/11/2---低レイテンシーで実際に叩いた感想

そして今日、問題のyamaha dsp-ax10を除外し、DA>vestax>boss(vf-1off)>m120というパターンで<UltraSilence ProReso MacConnect SAZABI>を叩いてみたら驚く程にレスポンスが速い!!「おおおっ!!こ・・これは速い!!」というほど速いです、レイテンシーがありません。いつもの耳栓イヤホンではなく普通のヘッドフォンで叩くとパッドノイズが入るのですがなんというか初めライドの音がいつもよりおかしいなバカっぽい音がするなぁ、、、と思うほどにレイテンシーが無く、ad2のライドの音とパッドノイズが混ざっていました。

そして、急に上手くなりますよね、、上手く行かなかったのはレイテンシーの問題か、と思うほどに音が速く帰ってきますね。

そしてDAコンバーターの裏をよくみてみたらなんとヘッドフォンアウトがあるではないですか!実験ではDAコンバーターの段階でモニターできるのならそっちの方がレスポンスは速いという結果でしたね。なのでヘッドフォンを繋いでみました、、するとさっきのm120との違いは384分音符分の違いなのであんまり違いはわかりませんがとにかくさっきよりは速いんだよなという感じで、bossのパライコ等が効いていないダイレクトな音ですがそんなに悪くはないです。

↓DAコンバーター

Roland M-120

↓Focusrite saffire pro 24 dsp

↓ラックの裏側を結束バンドで綺麗にしてみました、そしてアダプター類はラックに積んだほうが掃除もしやすく見た目も綺麗になります。

---2023/11/6---
そして今日また検証しました。
ns-50というノイズサプレッサーをオフにしたら又レイテンシーが解消されると思って実験しました↓

確かにns-50をオフにしてレイテンシーが少し解消されました、又、写真を見て解ると思いますがbossのpq-50をオフにしてもレイテンシーが解消されています。

 

そしてmidi信号とパッドノイズとad2のライドの音を同時に録音してみました。↓

これにより実際にどれ程のレイテンシーが生じているのか正確に検証してみましょう。

この場合AD2のライドの音はroland M-120という1Uラックミキサーのヘッドフォンから出力した音を録音しています。パッドノイズはマイクで録音しています。

↑パッドノイズ音からad2のライド音までのレイテンシーをグリッドにして音符を打ち込んだ

 

パッドノイズ音からad2のライド音までのレイテンシーをグリッドにして音符を打ち込んだ音符で連打した。それはつまりBPM102で275分音符となる。↓

1小節に275個綺麗に入ったので275分音符です↓

 

パッドノイズ音からad2のライド音までのレイテンシーをグリッドにして音符を打ち込んだオーディオファイル。つまりBPM102で275分音符の連打となる、計算すればこれは60÷((102÷4)×275)=0.00855614973262032秒、8.55614973262032m秒、8.5m秒になります。↓

↑録音1

midi信号とパッドノイズとad2のライド音を同時に録音した時のオーディオファイルで、左チャンネルがパッドノイズで右チャンネルがad2のライドの音です↓

↑録音2

結果、録音1の音データを聴いてみれば、やはりそんなにレイテンシーは無いのかもしれない。

パッドノイズの波形の頭に線を引いて、ad2の波形の頭にも線を引いて、その線をグリッドにして音符を配置する事で、生じたレイテンシーがどれ程の感覚なのか検証しようという事です。この場合のlogicのファイルのテンポは102です。

生じたレイテンシーの時間で作った音符を連打したファイルが<録音1>ですが、なるほど・・275分音符か・・・、、ビビビビビっという程の遅れなので気にするまでも無いのかな。

 

<録音2>は左がパッドノイズで右がad2の音なのですが、<録音1>の間隔でしか遅れてないので、やはり気にするまでもないかな。

<録音2>はかなり正確に録音しています。この場合ad2の音はモノラルで出力してサウンドカードに送らなければなりません、何故ならそれは、ライド音は自分は右に振っていて、左からはリバーブやルームマイクの音が遅れて出力される場合があるからです。その遅れた左チャンネルの音を録音して検証してしまっては意味がありません、ミキサーのPANでモノラルにしておく必要があります。

 

・・・なるほど・・・ビビビビビっというぐらいの遅れでしかない・・・・

・・・なるほど・・・そんなに気にするまでもない所まで来ているのかもしれないな、、しかし後ちょっとのレイテンシーも解消できるのなら解消したほうがいい。

 

そしてmidi信号も少し遅延があるんだなぁ・・・AD2よりは速いけども。

まぁ今日のVERIFYはここまでにしときますかね。ついでにライドパッドのパッドノイズを録音した時の写真です↓

・遅延のディレイをヘッドフォンで確認してみました

それは右耳のヘッドフォンはroland m-120からのアウトで、左耳のヘッドフォンはyamaha dsp ax-10からのアウトという方法で遅延のディレイを聴いてみるという事ですが、この実験上手く行きました。

やはりax-10の遅延が大きいことから、ディレイがステレオで生じました。バスドラはクローゼットに入れたみたいなディレイが生じました。ライドですがやはり左が遅延が大きいax-10なのでディレイで遅れて左から聞こえます。

という事でやはりax-10のヘッドフォンアウトで遅延を感じながらの演奏は問題があるし気にするレベルだという事です。

 

この検証ですが二つのヘッドフォンを使用しました。

一つのヘッドフォンをroland m-120に、もう一つのヘッドフォンをax-10に繋いでいて、どちらも同じRを使用します。m-120のヘッドフォンRを右耳に、ax-10のヘッドフォンRを左耳に装着しました。

 

---検証7--- 

今回は、yamaha dsp ax-10のスピーカーからad2の音を出力し、パッドノイズとの遅延を検証してみました。下の写真のようにマイクを設置して録音しています。

要するにスピーカーから出力した場合、どれくらいの遅延が起きるのかという事です。

・一番上のトラックは96分音符と、275分音符を打ち込んでいる

・その次のトラックは、パッドノイズは右チャンネルでマイクで録音していますね、

 そしてAD2のライド音はYAMAHA DSP AX-10のヘッドフォンアウトから出力してい 

 て、その信号を左チャンネルに録音しています。ax-10のエフェクトはオフです。

 結果これは、付点96分音符程の遅延がありますね。

・その次はパッドノイズは右チャンネルでマイクで録音していますね、

 そしてAD2のライド音は、roland M-120のヘッドフォンからアウトから出力してい

 て、その信号を左チャンネルに録音しています。

 結果これは275分音符分の遅延である事がわかります。

・その次はパッドノイズは右チャンネルでマイクで録音していますね、

 そしてAD2のライド音は、ax-10のスピーカーから出力していて、それをマイクで

 拾って左チャンネルに録音しています。

 結果これは275分音符分の遅延である事がわかります。

 

結論ですが、AX-10を経由してエフェクトオフでスピーカーからアウトしてもM-120のヘッドフォンアウトでモニターした時の遅延と何も変わらないという事です、BPM102で275分音符分しか遅延していないのです。なのでDSPエフェクトオフならスピーカーアウトでも何も気にする必要はなかったのです。

 

しかし問題はAX-10のヘッドフォンアウトからモニターした場合と、AX-10のエフェクトをオンにしてスピーカーからアウトした場合、付点96分音符分、遅延が起きるという事です。

結局スピーカーから出力してもDSPエフェクトをオンなら遅延が大きいですね。

AX-10のヘッドフォンからモニターする場合も、DSPエフェクトがオンであれオフであれ遅延が大きいですね。

なので小さい遅延でモニターするのなら、M-120のヘッドフォンアウトでモニターするか、AX-10のDSPエフェクトをオフにしてスピーカーから出力するという事になります。

余計な回路をキャンセルした方が遅延が少ないという事なのかな?。

 

またしてもマニアックな検証

下の写真2枚をみてほしい

↑参考写真1

↑参考写真2

僕はドラムの録音でいつもハットよりスネアが前に出たりハットよりバスドラが前に出ます。MIDI信号録音をしてマトリクスエディターで見てみるとハットは正確に均等に発音していてもスネアやバスドラがハットより前に出るのです。

MIDI信号なら後から編集できるのでスネアとバスドラを全部選択して少しだけ後にずらします。するとカッコ良くなりノリが出るのです。

だいぶん練習しても良くなりません。

なのでこれはDTX700がおかしいからではないか・・・もしかしたらハットのmidi信号送信が少し遅れる事でスネアやバスドラが前に出るのではないか、と思い

ハットやスネア、バスドラのpadの遅延を検証しようと思ったのです。

 

参考写真1のテイクは各padにad2のライド音をアサインしています、なぜならこれは正確な遅延やズレを検証するためです、これによりバスドラだけが異様に発音が遅いなどの発見があると思ったのです。

 

いつものようにオーディオトラックのL側にパッドノイズ、R側にad2のライド音、そしてmidi信号も記録しています。

結果midi信号に関しては275分音符よりも短く問題ないですが、dtx700のバスドラのトリガー設定がwait time8になっていた時は遅延が起きている、このwait timeとは波形のどの部分で決定するのかという項目です。

wait time1にすると遅延は回避できています。

 

そして参考写真2ですが、今度はそれぞれのpadにad2ライド音を割り当てるのではなく、ハットのpadにはハット、スネアのpadにはスネア、バスドラのpadにはバスドラをアサインして発音しています。

 

サックスプレイヤーが波形のトップ、いわゆるアタック?の部分で演奏を合わせるとか言っていますが、確かにpadノイズなら波形のトップは見えるけどやはりスネアやハット、バスドラは波形のトップは判定しにくいし特に波形のトップに合わせなくても良い気がします、参考写真2は波形の出だしで完全に揃っていますがこれで問題ないです、再生して聴いてみると同時に鳴って問題ない気がしますが・・・

 

 

甲野善紀身体操作術という映画でサックスプレイヤーがベースは波形のトップまでに時間がかかり、そこのトップとシンバルを合わせるということをやっている、

自分はそれを聴いてからやるので余計に遅くなると言っている。

 

今回ベースの波形は出してないが、、まぁ要するに少し後ノリにして波形の頭であるアタックが一致するという事ですな。

 

ベースの波形は今回見てないが多分波形のトップは遅い、、

だから結局シンバルやkick、その他の楽器も96分音符?程の遅れで後ノリにしてしまえということね。

 

甲野善紀身体操作術という映画では

意識の中でスッと行こうとした時になかなかいけない

自分でやろうと思うと空を切る

意識して狙ってやろうとすると遅れる

 

体の中の
居着きの中であり

気持ちの中の 居着きの中である

 体の中の滞る部分はない

なぜか

物凄く緊張したり不愉快な思いをしてるのに

みぞうちが凄く抜けててゆったりと抜けているという事はあり得ない

とても愉快なのに

みぞうちがグッと詰まるという事はない

 

体の方がそうなれば、不愉快になろうと思っても慣れない

どんな職業であれ、どんな立場であれ

無関係ではない

 

要するに、、後ノリや前ノリ、、ましてやハットとスネアをジャストで合わせるといった作業において頭で考えて意識して合わせれる場合もあることはあるが、、、

 

しかし体をベースにして、体で考えてできる場合もある、

体で覚えろと・・・・

体の中の
居着きの中、、、体の中に居着くという事は要するに体が覚えるという事だな、、、

脳のシナプスと考えてもいい。

 

BPM102で96分音符後ノリにするぐらいのレベルならなんとかなりそうだ、流石に275分音符分ズラすとか無理だしそれ、、ほとんど同時。

そして今回の検証ですが、またしても何も気にする事はない、dtx700がおかしいのかと思ったがそうではなく、自分の体の覚えが悪い、自分の修行が足りないという事ですな。厳しすぎて吐き気がしそうですが仕方ない・・・これが真実だ・・・だから俺はもう一度マトリクスエディターへ侵入する。

 

・・・本当の自分を知ってしまえば、躱すまでもない。

 

・トリガー設定Wait Time4ならどうなるのか

 

 

DTX700のkickのトリガー設定で、wait timeを8から1に変更していましたが、どうやらこれでは左のkick padが少し弱くなるので結局wait timeを4にしました、これで左の弱さが解消されたのですが、1から4に変更することでどれだけの遅延が生じるかを検証しました。

上の画像で見て分かると思いますが、ハットやスネアやwait time1のkickよりは遅くてwait time8よりは早いですね。

そして解りやすいように線を引いているのですが、275分音符よりも短い遅延ですね

そしてさらに他のpadのmidi信号との差でみるともっと遅延が短いですね。

なのでwait time4で気にするまでもないです。

 

レイテンシーを計算式で算出

僕んちのドラムの場合テンポ102で275分音符程のレイテンシーであることが分かりましたね。

なので計算して何ミリ秒なのか算出してみましょう。

僕の数式は60÷((102÷4)×275)=0.00855614973262032秒です。

8.55614973262032m秒、8.5m秒になります。

 

<GPT-3の答え>

BPMが102の場合、275分音符の間隔を計算すると、以下のようになります。

1分あたりの275分音符の数=BPM275

したがって、

1分あたりの275分音符の数=1022750.3709 275分音符

次に、1つの275分音符あたりの時間を計算します。

1つの275分音符あたりの時間=60102/275

計算すると、

1つの275分音符あたりの時間0.0086

おっしゃる通り、正しい値は約0.0086秒です。先程の誤りについてはお詫び申し上げます。ありがとうございました。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

8.5m秒で間違い無いですな、、僕のドラムセットの場合BPM102で275分音符程の遅延を画面で視覚的に確認しました。60÷((102÷4)×275)=0.00855614973262032秒、8.55614973262032m秒、8.5m秒になります。

 

midi信号はその2倍の速さの部分にいつも入っていますよね、

なので計算すると4.2ミリ秒です。midi信号の送信スピードの正体が解りましたね。

logic pro x 低レイテンシーモード

先ほど低レイテンシーモードの設定で<上限>が5msになっていました、これでは5ms以下の4msとかの遅延では低レイテンシーモードが作動しないという事でしょう、なので0msに設定しました。なので次回いつもの検証をしてみます、僕のドラムセットの場合BPM102で275分音符程の遅延を画面で視覚的に確認しました。 なので60÷((102÷4)×275)=0.00855614973262032秒、8.55614973262032m秒、8.5m秒になります。しかし今度は<上限>を0msにした事で275分音符よりも速い音符分の遅延を画面で確認できるかもしれません。

そしてI/Oバッファサイズや処理スレッド数、プロセス・バッファ・レンジ、などの設定も大きく遅延に影響してきます。自分の場合<I/Oバッファサイズ:32><処理スレッド数:自動><プロセス・バッファ・レンジ:大>にしています。

結果のレイテンシ:ラウンドトリップ4.5ミリ秒(出力1.5ミリ秒)、と書いていますがこれは本当に当たっている可能性が高いです、ラウンドトリップ4.5ミリ秒というのはかなり正確で当たっている可能性が高いです、なぜなら僕のドラムセットの場合BPM102で275分音符程の遅延を画面で視覚的に確認し、60÷((102÷4)×275)=0.00855614973262032秒、8.55614973262032m秒、遅延8.5m秒になるのですが、これは途中BOSSのエフェクターVESTAXのミキサーを経由しているのでその分微かに遅延が生じているのです、

BOSSのエフェクトやミキサーの分の遅延を引けばちょうど4ms秒になりそうです。

この辺の細かい検証はここの記事の<オーディオアンプやミキサーのレイテンシーが気になったので検証してみました>に書いているのですがこの記事を読めばエフェクトオフでかなり遅延が消えているのを視覚的に確認できますよね。

>>>>そして検証してみました↓

レイテンシーモードの上限0ms、上限5ms、上限10ms、上限30ms、という風に毎回切り替えて録音しました。左チャンネルにライドパッドのノイズを録音、右チャンネルはAD2のライド音を録音していますPANはちゃんとセンターです。一番上のトラックはMIDIデータで349分音符が入っています。

結果的には上限を0msにしようが30msにしようがあまり変わりませんでした、若干上限10msの場合少し遅れた気がします、なので結局0msに設定してみました。

そしてついでに”結果のレイテンシ:ラウンドトリップ4.5ミリ秒(出力1.5ミリ秒)”が正確で正しいのかを検証し計算式で計算しました、すると答えは

BPMが102でパッドノイズとAD2のライド音の差が349分音符分の差があるので、60÷((102÷4)×349)0.006741952=6.7msとなります。

結果は6.7msなので"ラウンドトリップ4.5ミリ秒"にかなり近いですね、かなり近いけどちょっと違いますな。しかしかなり正確な情報でもある。

↑今日はたまたま低レイテンシーモードなしでもかなり遅延が少なかったのですが、やはりいつも開くプロジェクトファイルではオーディオ録音データを沢山使っていてメモリを使ってしまうので低レイテンシーモード無しではかなりの遅延を検証しなくても感じられるのでいつも低レイテンシーモードをオンにします。

↑そしてライドをBPM102で349分音符で叩いてみました、これでレイテンシー6.7msがどれくらいか良く解りますね。ビビビビビーーーーッという程でしかない。