リアルタイム入力をするとMIDIが前にズレてしまうのでレイテンシーの差を検証してみた

これまでMIDIのリアルタイム入力をすると音符がどうしても前にズレてしまって困っていました。

しっかりとカウントに合わせてプレイしているのにグリッドよりもわすがに前に入力されてしまうので「なんでだろ~?タイムが悪いのかな?」と悩まされてきました。

もしかするとレイテンシーの設定のせいではないかと気が付いたので数値を変更して検証してみました。

気が付くきっかけになった動画はこちら

この動画の1分辺りからレイテンシーについて解説されています。

この動画を見て「もしかすると?」と気が付いたわけです。

検証環境

CPU Core i7-6700 3.4GHz。
サンプルレートは48kHz
Studio Oneを空の状態で新規ファイルを起動。
起ち上げた音源はPresenceのドラムStandard Kitのみ。
テンポは100でハイハットを八分音符で2小節をリアルタイム入力しました。

サイズの変更はオーディオインターフェイスのソフトから変更できます。

入力にはMIDIパッドのMPD218を使用。

画像で比較

リアルタイム入力して音符のズレを比較してみました。
画像はクリックすると大きくなります。

512

まずはこれまで使用してきた512サンプルです。
いくら正確に入力しているつもりでも音符がどうしても前にズレてしまって困っていました。
この位ズレてしまうとクオンタイズをかけた時に前にズレてしまうことがあるんですよね。

256

次に256サンプルに変更してみました。

やりました~~!!

音符のズレは見事に解消されてグリッドにほぼピッタリと入力することができました。

128

次に128サンプル。
ここまでくると機械の遅れと言うよりも人間(私)のズレのようですね^^;。

64

ついでに64サンプル。
タイミング的には問題ありませんがここまで数値を下げしまうとCPU使用率が気になります。

検証結果 数値の比較

メニューから「Studio One→オプション→オーディオ設定」を見るとレイテンシーの数値を見ることができます。その数値を一覧にしてみました。
CPU使用率はStudio Oneトランスポートバーにあるパフォーマンスモニターのおおよその数値です。

ブロックサイズ CPU使用率 入力レイテンシー 出力レイテンシー
512サンプル 1% 15.27ms 15.10ms
256サンプル 2% 9.94ms 9.77ms
128サンプル 4% 5.27ms 5.10ms
64サンプル 8% 2.94ms 2.77ms

まとめ

「レイテンシー=遅延」と言うと音が遅れる事だとばかり思っていました。

よくよく考えれば遅れている音を遅れないようにするために若干早く入力していたってことだったんですね。だから前にズレていた!

同じような問題でお困りの方がいましたらぜひブロックサイズを小さい数値に変更してみてください。

ブロックサイズの数値を下げるほどパソコンへの負荷がかかりますので負荷がかかり過ぎないように数値を設定すると良いようです。

私はしばらく256サンプルで様子を見たいと思います。

レイテンシーについてはこちらの記事が参考になります。
最適なバッファサイズとは? | FUN | Dirigent

追記

しばらく256サンプルで使っていましたが、音源を7~8個起ち上げたらクリップノイズが発生してしまいました。

ノイズは出たりでなかったりしているので、もうしばらくこのまま256で使って、ノイズが出続けるようなら512サンプルに戻します。

追記2

もうしばらく使っているとまたもクリップノイズが発生。

特にKontaktのオーケストラ音源を使っているとよくノイズが発生しました。

ノイズがちょっとでも入ると萎えるので512サンプルに戻しました。

シェアする

  • このエントリーをはてなブックマークに追加