33 コンピューターオーディオのリソースと対策
リアルタイムのオーディオ処理は、表計算処理やインターネットでの使用を前提とした一般的なコンピューターにとっては負荷の高い作業です。 Liveのようなアプリケーションの使用には、パワフルなCPUと高速のハードディスクが必要です。 このセクションではこういった事柄に目を向け、コンピューターを使ってオーディオを扱う際に起こる問題の予防と解決策についてアドバイスします。
33.1 CPU負荷への対処
オーディオハードウェアを通してサウンドを継続して出力するためには、Liveは毎秒ごとにものすごい数の演算処理を行わなければなりません。 プロセッサーがこの処理について行けないと、オーディオにとぎれやクリック音(カチッという音)が入ってしまいます。
コンピューターの処理速度に影響を及ぼす要素には、CPUのクロック速度(MHzやGHzで表されます)、アーキテクチャ、温度(高温環境では最新型のCPUにサーマルスロットリング機能が働きCPU処理速度が低下します)、メモリーキャッシュのパフォーマンス(CPUがメモリからデータを取り込む効率)、システムバスの帯域幅があり、あらゆるデータが通過するコンピューターの「パイプライン」となっています。
Liveは、マルチコアおよびマルチプロセッサーシステムに対応しています。 インストゥルメント・エフェクト・I/Oなどからの処理負荷を、使用可能なリソースに分散することができます。 マシンおよびLiveセットによっては、処理能力は旧システムの数倍になります。
33.1.1 CPUロードメーター
コントロールバーのCPUメーターには、現在のコンピューター使用率が許容量に対するパーセンテージで表示されます。 例えば、10パーセントと表示されている場合、コンピューターは待機の状態になっています。 100パーセントと表示されている場合、CPUはほぼ限界に達していますので、とぎれやクリック音が聞こえたり、オーディオにさまざまな問題が発生します。
CPUメーターにはオーディオ処理により発生する負荷が計測され、その他のコンピューターの実行処理(Liveのユーザーインターフェースなど)については計測されません。
CPUメーターは、平均または現在のCPU使用率を表示でき、また完全にオフにすることもできます。
[平均]CPUメーターには、CPU負荷の総計ではなく、現在オーディオを処理しているCPUの平均量が表示されます。 [現在]CPUメーターには、現在のCPU使用量の合計が表示されます。
CPUメーターをクリックすると、さまざまなオプションが表示されます。
デフォルトでは、Liveには[Current]レベルは表示されません。 表示させるには、ドロップダウンメニューから有効にする必要があります。
Live 11の新規インストールでは、CPU過負荷インジケーターもデフォルトでオフになります。 このオプションは、必要に応じてドロップダウンメニューから[CPU過負荷表示]を選択して再度有効にすることができます。
CPU負荷の判断に、Liveでは1つのオーディオバッファーを処理するのに必要な時間が計算されます。 この値が、1つのオーディオバッファーを実際に再生するのにかかる時間と比較されます。
たとえば、CPUメーターの値が50%の場合、これはLiveでは1つのオーディオバッファーの再生に要する時間の2倍の速度で処理されていることを意味します。
100%を超える値は、1つのオーディオバッファーの再生よりも計算に時間がかかる場合に可能です。
Liveではオーディオスレッドが最優先となることが要求されますが、スレッドの最終的な優先順位付けはオペレーティングシステムにより行われるため、Liveの処理が中断される場合もあります。 他のアプリケーションがLiveのCPUメーターにCPUスパイクを生じさせることがあるのはこのためです。
33.1.2 マルチチャンネルオーディオによるCPU負荷
CPUを断続的に消費するものに、オーディオハードウェアとのデータ転送処理があります。 プロジェクトに必要のない入力と出力を無効にすることで、この処理による負荷を最小限に抑えることができます。 [Audio]環境設定には入力と出力設定ダイアログにアクセスする2 つのボタンがあり、入力と出力の有効/無効を個々に設定することができます。
オーディオ設定変更のリクエストがなされると、通常、オーディオハードウェアドライバーはオーディオを一時的に中断してしまうため、Liveは、使用されていないチャンネルを自動で無効に切り替えることはしません。
33.1.3 トラックとデバイスによるCPU負荷
一般的に言えば、Live内で使用されるトラックとデバイスはすべて、CPUにある程度の負荷をかけます。 しかし、Liveは、機能していないトラックとデバイスに対するCPUサイクルの無駄を防ぐスマート設計がなされています。
例えば、動作していないLiveセットにデバイスをドラッグしても、CPUの負荷はそれほど上がりません。 負荷は、クリップ再生が開始されたりオーディオがエフェクトに供給されたりして初めて上がります。 入ってくるオーディオが何もない場合、エフェクトは次に必要とされるまで動作を停止します。 (エフェクトがリバーブやディレイといった「テイル」を作成する場合は、すべての演算処理が完了してから動作を停止します。
この仕組みは、LiveセットのCPU負荷平均を低減するのに大変効果的ですが、ピーク負荷を軽減することはできません。 極限状態であってもLiveセットが確実に継続再生されるを確かめるには、すべてのデバイスを使用可能にし、すべてのトラックで同時にクリップを再生してみてきちんと再生されるか確認します。
セッションビューで、ミキサーセクションの[パフォーマンスインパクトの表示/非表示]セレクターをクリックすると、各トラックのCPUへの影響を表示させることができます。
[パフォーマンスインパクト]セクションでは、各トラックに独自のCPUメーターが用意されており、6つの三角形が点灯して現在のセットのCPUレベルへの各トラックの影響を示します。 影響の大きいトラックをフリーズしたり(「トラックのフリーズ」参照)、そのトラックからデバイスを削除したりすると、CPU負荷が下がります。
33.1.4 トラックのフリーズ
Liveの[トラックをフリーズ]コマンドは、デバイスやクリップセッティングにより CPU にかかる負荷の調整に役立ちます。 トラックを選択し[トラックをフリーズ]コマンドを実行すると、Liveは、そのトラックに各セッションクリップ用とアレンジメント用のサンプルファイルを作成します。 この処理を行うと、それ以降トラック内のクリップは、CPU負荷の高いデバイスやクリップセッティングをリアルタイムで処理するのではなく、それぞれの「フリーズファイル」を再生します。 [トラックをフリーズ]コマンドは、Liveの[編集]メニューまたはトラックとクリップの右クリック(Win)/Ctrl-クリック(Mac)コンテキストメニューから実行できます。 グループトラックをフリーズすることはできませんのでご注意ください(「グループトラック」参照)。フリーズできるのは、クリップを含むトラックだけです。
通常、フリーズは即時に完了します。 しかし、ハードウェア、エフェクト、デバイス、またはシンセサイザーへルーティングしているExternal Audio Effect(「外部オーディオエフェクト」参照)またはExternal Instrument(「外部インストゥルメント」参照)を含むトラックをフリーズする場合、フリーズ処理はリアルタイムで行われます。 リアルタイム・フリーズが必要である場合、Liveにより自動検知され、処理に関するオプションを選択することができます。 オプションについて、詳しくはリアルタイムレンダリングのセクションをご参照ください(「リアルタイムレンダリング」参照)。
処理能力が十分であれば(コンピューターの性能が上がったら)、フリーズされているトラックを選択し、[編集]メニューから[フリーズを解除]を選択してデバイスまたはクリップ設定を変更できます。 処理能力がそれほど高くないマシンの場合は、CPU負荷の高いトラックをフリーズ解除して編集し、編集が完了した時点で再びフリーズするといいでしょう。
編集機能の多くは、フリーズしたトラックへも使用できます。 クリップのローンチは自由に行え、ボリューム・パン・センドなどのミキサーコントロールも使用可能です。 ほかにも以下のような機能が行えます。
- クリップの編集、カット、コピー、ペースト、複製、トリム
- ミキサーオートメーションとミキサークリップエンベロープのドローと編集
- 結合
- セッションビュークリップのローンチをアレンジメントビューに記録
- セッションビューシーンの作成、移動、複製
- フリーズした MIDIクリップをオーディオトラックへドラッグ
リバーブなどタイムベースのエフェクトを含むフリーズされたトラックに対して編集を行う場合、トラックのフリーズを解除すると、場合によってはフリーズ解除前と異なって聞こえる場合があります。 これは、トラックがフリーズしている場合、使用されているエフェクトはまったく計算されていないため、編集された入力に対する反応を変更することができないためです。 トラックが再びフリーズ解除されると、すべてのエフェクトがリアルタイムで再計算されます。
フリーズされているアレンジメントビューのトラックは、クリップの長さを超えるマテリアルを再生します(Reverbエフェクトの「テイル」部分など)。 フリーズされたテイルは、アレンジメント内の対応するクリップの隣に斜交平行線模様のリージョンとして表示されます。 フリーズされたテイルは、フリーズ解除されると消える(解除されるとリアルタイムで処理されるため)別個の「一時的な」クリップとして扱われます。 そのため、アレンジメント内のフリーズされたクリップを移動する場合、フリーズされたクリップだけでなくフリーズされたテイルクリップも一緒に移動しておくと良いでしょう。
フリーズされたセッションクリップの場合、フリーズされたクリップにはループサイクルが2つしか含まれていません。つまり、リンクされていないクリップエンベロープを伴うクリップ(「クリップエンベロープのクリップへのリンクを解除する」参照)は、フリーズされている場合、2ループサイクルのあと異なって再生されます。
フリーズされたクリップをセッションビューまたはアレンジメントビューのドロップエリアへドラッグすると、そのクリップを含むフリーズされた新規トラックが作成されます。 アレンジメント内でクリップが部分的に選択されている場合、フリーズされた新規トラックには、選択されたクリップ部分のみが含まれます。
[トラックをフリーズ]により生成されたサンプルは、Liveセットが保存されるまで一時録音フォルダー内に保存されます。 Liveセットが保存されると、フリーズサンプルはプロジェクトフォルダーのサブディレクトリSamples/Processed/Freezeへ移されます。 Samples/Processed/FreezeExternal InstrumentまたはExternal Audio Effectを含むトラックのフリーズファイルは、アンフリーズ時に即座に廃棄されます。
フリーズされたトラックをフラット化することもできます。 この処理を行うと、オリジナルのクリップとデバイスがオーディオに置き換えられます。 [フラット化]コマンドは、[編集]メニューから選択できます。
[トラックをフリーズ]コマンドを使えば、デバイスが多く使用されたトラックにより生じるCPU負荷が低減するだけでなく、コンピューター間のプロジェクト共有が簡単になります。 処理能力の低いコンピューター上でも、CPU負荷の高いトラックをフリーズすることで、大型のLiveセットの動作が可能になります。 また、Liveセットで使用されているデバイスがインストールされていないコンピューターでも、フリーズサンプルを使えばこのセットを再生することができます。
33.2 ディスク負荷への対処
ハードディスクのアクセススピード(回転速度にも関係していますが、回転速度と全く同じというわけではありません)により、Liveのパフォーマンスが制限されることがあります。 オーディオに最適化されたコンピューターの多くが速度7200RPM以上のドライブを使用しています。 ラップトップはパワー消費を低減するため5400RPMまたはそれよりも低速のドライブを搭載していることが多く、そのため、ラップトップ上のプロジェクトではトラック数が少ないのが通常です。 Liveが生成するディスクアクセス量は、一度に読み書きされるオーディオチャンネル数とおおまかに比例しています。 ステレオサンプルを再生しているトラックは、モノラルサンプルを再生しているトラックに比べてディスクアクセス量が多くなります。
ハードディスクがオーディオの読み書きの速度をある程度に保てなくなると、ハードディスク過負荷インジケーターが点滅します。 オーディオを録音の際に過負荷が発生すると、録音されたサンプルにとぎれが生じ、再生時に音が欠落します。
ハードディスクの過負荷を防ぐには、以下のことを行ってください。
- オーディオ設定のチャンネル設定ダイアログでステレオ入力の代わりにモノラル入力を選択して、書き込みが行われているオーディオチャンネルを減らします。
- 選択されているクリップにRAMモードを使用します(「クリップのRAMモード」参照)。
- 可能ならば、ステレオサンプルの代わりにモノラルサンプルを使って、再生中のオーディオチャンネルを減らします。 Liveから呼び出せるデジタルオーディオ編集プログラムを使って、ステレオサンプルをモノラルに変換できます(「Liveセットのファイル参照を表示・変更する」参照)。