Cubaseにおける「マルチティンバー方式vsシングルティンバー方式」

Cubase / DTM

『ひとつのインスタンス内で複数の楽器パートをまとめる「マルチティンバー方式」か、それとも、一つの楽器パートごとにひとつのインスタンスを使う「シングルティンバー方式」か、どちらがパフォーマンス的に好ましいか?』

──これはDAWでの制作、特に大規模なオーケストレーションや複雑なサウンドデザインを行う際に、システムのパフォーマンスを左右する問題として、長らく議論されてきました。

結論からいうと、現代のCubaseを始めとしたDAW環境(マルチコアCPU搭載パソコン)においては、一つの楽器パートごとにひとつのインスタンスを使用する「シングルティンバー方式」のほうが、CPUパフォーマンスおよび安定性の面で優位であるというのが、現在の主流の見解といえます。

かつては、メモリー管理やCPU負荷の面から「マルチティンバー方式が好ましい」というコンセンサスがあった時期がありました。

それがなぜ、かつての常識(マルチティンバー方式=軽量)が逆転したのかについて、この記事では、Cubaseでのケースを取り上げながら解説します。

CPU負荷とマルチコア処理のメカニズム

現在のCPUは、初期のマルチコアCPUと比べて数多くのコアを搭載しており、マルチスレッド処理(分散処理)に長けています。

そしてCubaseのオーディオエンジンは、各トラックの処理をCPUの各コア(スレッド)に分散させることで効率化を図っています。

まずは、この「マルチコアCPUによるマルチスレッド処理」が、それぞれの方式に対してどのような影響を及ぼしているのかを見てみます。

「シングルティンバー(1音色1インスタンス)方式」の場合

Cubaseのスケジューラは、各トラックを独立した「タスク」として扱います。

例えば16個のトラックがあれば、基本的にはこれらを空いているCPUコアへ均等に割り振ります。

理論的には全コアをフル活用できるため、トータルの処理能力が向上します。

「マルチティンバー方式」の場合

1つのプラグインインスタンス(例:Kontakt)内で16パートを鳴らすと、そのプラグイン自体のオーディオ処理は構造上、単一のCPUコア(または少数のコア)に集中する傾向があります。

Cubase側からは「1つの重いプラグイン」に見えるため、他のコアが遊んでいるのに、そのプラグインを担当している1つのコアだけが過負荷状態になる「ボトルネック」が発生しやすくなります。

結果的に、突発的な高負荷やオーディオ・ドロップアウトが発生する背景要因になり得ます。

例えば、「タスクマネージャーで見るとCPU処理に余裕があるのに、ドロップアウトしてしまう」という問題のうち一定割合は、単一のCPUコアに負荷が集中する結果生じていると考えられます。

※プラグイン音源のマルチスレッド設定について

見過ごされがちな点ですが、プラグイン音源自体が独自の分散処理(マルチスレッド処理)に対応している場合があります(KontaktやOpusなど)。

その場合、多くのケースでは設定画面に「いくつのCPUコア(スレッド)を割り当てるか」の項目があり、任意の数を指定できるようになっています。

しかしDAWで使用する際には、この機能をオフにする(割り当てスレッド数を1にする)ことを推奨します。

ちなみにスタンドアローンで使用するときには、マルチスレッド設定をオンにするとCPU負荷分散のメリットを享受できます。

DAWで使用する場合は、DAW側のマルチスレッド処理とバッティングする可能性が高く、うまく処理が分散されずに、かえって遅くなったり、突発的に大きなCPU負荷を生じてドロップアウトやプチノイズの原因ともなり得ます。

Cubase特有の技術「ASIO Guard」

Cubaseには「ASIO Guard」という、CPU負荷を削減&抑制する機能があります。

これは、録音やモニタリングといった「リアルタイム処理」を必要としないトラックのデータを先読みし、それを事前処理してバッファリングしておくことで、CPU負荷を下げるという仕組みです。

Cubaseでは、このASIO Guardを活用することが、安定した制作環境の構築には欠かせません。

では、ASIO Guardがそれぞれの方式に対して、どのような影響を及ぼしているのかを見てみましょう。

「シングルティンバー(1音色1インスタンス)方式」の場合

各トラックが独立しているため、ASIO Guardが個別に効きやすく、効率的にCPU負荷を下げることができます。

特定のパートに対して、録音やモニタリングといったリアルタイム処理が必要な場合でも、必要最小限のトラックのみをリアルタイム処理の対象に出来るため、CPUが効率的に用いられることが期待できます。

「マルチティンバー方式」の場合

複雑なルーティングやMIDI信号の依存関係により、ASIO Guardの恩恵を十分に受けられない、あるいは全体のスループットが「最も重い経路」に引っ張られるケースが生じます。

マルチティンバーを構成しているインスタンス内の特定のパートだけをリアルタイム処理したい場合でも、同じインスタンス内の他のパートもリアルタイム処理の影響を受けてしまうため、ASIO Guardの効率は下がると考えられます。

メモリー(RAM)に関する視点

かつてマルチティンバーが推奨された最大の理由は「RAMの節約」でした。同じインスタンス内であれば、パート間で波形サンプルデータを共有できるためです。

しかし現在は以下の理由から、このメリットの意義は薄れています。

  • 「メモリの低価格化・大容量化」
    64GBや128GBのメモリ搭載が一般的になり、インスタンスごとのオーバーヘッド(数十MB程度)が許容範囲になった。
  • 「プラグインの進化」
    例えばサンプラープラグインのKontaktには、別々のインスタンスであっても、同一サンプルを参照する場合にデータを共有する仕組みが実装されており、高いメモリー効率化が図られている。

専門家やユーザーの見解とトレンド

最後に、作曲家やアレンジャーたちの見解や実践例、またVI-Controlなどの専門フォーラムでのコンセンサスについてまとめてみます。

Disabled Track(無効化トラック)テンプレートの台頭

現在のプロフェッショナルなCubaseのトラック構成の主流は、数百~数千トラックを事前に立ち上げて一旦「無効化」しておき、使用するものだけをその都度「有効化」するスタイルである──と言われています。

そこではシングルティンバー方式が用いられており、テンプレート上では「1トラックにつき1音色で設定されたインストゥルメントトラック」が無効化された状態で多数並んでおり、スタンバイしています。

制作の効率化の上では、よく使用する楽器群をテンプレートとして事前に構築しておくことと、DAWの安定した動作が重要になりますが、このスタイルは「管理の明瞭さ」と「CPU負荷の効率性」から、プロアマ問わず多くのクリエイターに採用されており、Youtube等でその実践例を目にすることが出来ます。

このスタイルを実践するに当たっては、マルチティンバー方式だと管理が煩雑になり困難なため、自ずとシングルティンバー(インストゥルメントトラック)方式による構成に落ち着きます。

その理由の一つは、マルチティンバー方式を用いる場合だと、MIDIトラックとの接続設定や、オーディオ出力のパラアウト設定など、個々に煩雑な設定が必要になることから、メンテナンス性や直感的な視認性が著しく低下する問題が生じるためです。

例えば、ミックスダウン(ステムの書き出し)を行う際、マルチティンバー方式だと意図したトラックだけを単独で書き出すのに複雑な設定が必要になったり、オートメーショントラックとオーディオトラックの連携が分かり難くて混乱したりすることがあります。

また別の問題点としては、Cubaseのバージョンによっては、『マルチティンバー設定を施したインスタンスとMIDIトラックの接続設定が、有効化する時に正しく再接続されない』というバグがあるため、マルチティンバー方式を選びづらいという背景もあります。

こうした状況から、マルチティンバー方式は何かしら明確な意図がなければ選択し辛い、というのが実情と言えるでしょう。

メリット・デメリットの比較

ここまで見てきたように、PC性能の向上や、制作面での効率やフィーリング、そうした要因によってマルチティンバー方式が用いられなくなっていった経緯を見てきました。

以下に、内容をまとめた比較表を示します。

項目 シングルティンバー(推奨) マルチティンバー(旧来)
CPU分散処理 優れている(全コアを活用) △ 劣る(1コアに集中しやすい)
RAM効率 △ わずかに劣る(オーバーヘッド有) 良い(サンプル共有が容易)
プロジェクト管理 容易(トラック=音色) △ 複雑(MIDI chとAudio Outの管理が必要)
Mixの柔軟性 容易(通常のフェーダー操作) △ 面倒(パラアウト設定が必要)
起動・ロード時間 △ インスタンス数により長くなる傾向 ○ 標準的

まとめ~認知負荷とクリエイティビティ

記事の冒頭でお伝えしたように、現代のCubaseを始めとしたDAW環境(マルチコアCPU搭載パソコン)においては、1音色ごとに1インスタンスを用いる「シングルティンバー方式」のほうが、CPUパフォーマンスおよび安定性の面で優位であるというのが、現在の主流の見解だと言えます。

もちろん個別のケースとして、マルチティンバー方式のほうがCPU負荷が小さくなる状況は当然起こり得ますし、多くのインスタンスを起動することによるオーバーヘッド(個々に積み重なる負荷)は小さなものとは言え、確実に存在します。

そもそもマルチティンバー方式は、10数年前のPC性能の制限内でうまく音楽制作を進めるために用いられてきた側面があります。

シングルティンバー方式でのプラグイン音源の大量使用は、当時はCPU負荷やメモリー効率の観点から、まだ現実的ではありませんでした。

また、MIDIハードウェア環境の仕組みがそのまま当時のDAWの構成に反映されていたことから、中級者以上のユーザーにとっては、プラグイン音源をマルチティンバー方式で操作することは当然のように捉えられていたという背景もありました。

時代をさらに遡ってみると、DAWの先祖に当たる「アナログ環境のマルチトラックレコーディング」というものは、ひとつのトラックにひとつの演奏が録音されるという、シンプルな構造で構成されていました。

それがDAWによってデジタル&バーチャル環境化し、様々な仮想ルーティングを施せるようになると同時に、PC性能がボトルネックとして顕在化するに至り、そうした問題を回避する手段の一つとして「マルチティンバー方式」がクローズアップされていった──という流れを見て取ることが出来ると思います。

その意味では、現在のシングルティンバー方式というのは、先祖返りのようなものと言えるのかもしれません。その直感的でシンプルな操作体系は、複雑化した音楽制作における「認知負荷の低減」に大きく役立つものだと考えられます。

制作中、特に右脳的なクリエイティブモードに入っているとき、「仮想ルーティングの把握」という左脳的で技術的な思考へのスイッチングコスト(認知負荷)は、微細ですが確実に創造性を阻害するものです。

シングルティンバー方式によるCPU負荷の分散とルーティングの簡潔化は、実はDAWのためだけでなく、「ユーザーの思考のレイテンシー」を最小化することにも役立つ──そんな風に言えるのかもしれません。

関連記事

ASIO-Guard徹底解説~制作環境の安定性とパフォーマンス向上のために
この記事では、Cubaseユーザーなら一度は目にしたことがある「ASIO-Guard」について取り上げます。DAWでの音楽制作において、安定した動作と低いレイテンシー(低遅延)は永遠のテーマで...
出力バスのASIO-Guardを有効化してCubaseのドロップアウトを防ぐ方法
もし、あなたがCubaseのオーディオのドロップアウトで困っているのなら、この記事の内容が役に立つ可能性があります。出力バスのASIO-Guardの問題は、Steinbergが公式に認めている...