DJの内容をPCに流して録音するとたまに音飛びが入ってしまうことがあります。
よくある原因としては何らかのソフトが定期的にオーディオインターフェイスのレイテンシを増加させているという現象が考えられるのですが、
どうもこの ”どのプログラム(プロセス)がレイテンシを増加させているか” の調べ方が良くわかりませんでした。
ネットで調べてみたら、Native Instrumentsのナレッジベースにちょうど良さそうなソフトが紹介されていました。
Latencymonというソフトです。
<http://www.resplendence.com/latencymon>
Home EditionとProfessional Editionがあり、Home Editionはフリーソフトです。
インストール時は画像を取得しませんでしたが、インストール先の指定やスタートメニュー作成の有無など一般的な内容なので困らないと思います。
インストールして実行してみるとこんな感じです。
左上の再生ボタンのようなボタンを押すとレイテンシの観測が始まります。
しばらく放置して結果を見た上で、どれにどんな対策をするかを考えます。
まずメインのタブです。
画面上部には診断メッセージが表示されます。うちのシステムはドロップアウトなくリアルタイムにオーディオを処理できる、との診断のようです。
下に5つ並んでいるメーターのようなものはレイテンシです。
上から
・現在のレイテンシ
・観測期間中最大のレイテンシ
・観測期間中最大の割り込みサービスルーチン(ISR)実行時間
・観測期間中最大の遅延プロシージャ呼び出し(DPC)実行時間
・観測期間中最大のハードページフォールト回復時間
となります。
プロセスがずらっと並んでいますが、左から3列目にあるハードページフォールトの回数でソートをすると、ハードページフォールトの回数が多いプロセスがわかります。
この情報を参考に常駐アプリを停止したり、OSのサービスの実行を見直したりできます。
左から3列目が割り込みサービスルーチンの件数、4列目が遅延プロシージャ呼び出しの件数です。
これらは十分に速い速度(Latencymonの説明を見ると100マイクロ秒以内)に実行できていれば問題ないらしいのですが、実行に時間がかかる場合や
あまりに件数が多くオーディオプロセスと同じプロセッサで何度も処理することになると音飛びの原因になりえます。
3-4列目で件数から当たりを付けることができます。
5列目は最大の実行時間です。普段はレイテンシが低いのに定期的に音飛びがする、などという場合はこの列で調べてみると良いと思います。
6列目がトータルの実行時間です。全体的にレイテンシが高い場合はこの列の情報が参考になりそうです。
プロセスの場合はメモリ使用量なんかですぐ分かったりするもんですが、ドライバが原因の場合原因究明は結構難しそうです。
ドライバ名称でうまいこと原因のデバイスかOSの設定を突き止めて、
特定のデバイスのドライバだった場合は
・ドライバをアップデートしてみる
・録音時はデバイスの使用をやめてみる
OSの設定だった場合は
・該当しそうな設定を変更(有効/無効の切り替えなど)
・特定のサービスに関連する場合はサービスを止めてみる
などなど、個別に試していくしかなさそうです。
うちのシステムも問題なしのお墨付きは頂きましたが、もうちょっと頑張れないかこの機会に見直ししてみたいと思います。