KontaktのCPU負荷について解説しようと思い立ったのですが
「 百聞不如一見 」と言うことで、負荷実験用の音源を作成しました。

Stresser

Kontakt 5.8.1 以下では動作しません。CPUに負荷をかける目的のため自己責任でご利用ください。

「ストレッサー」とネーミングしました。CPU負荷を確認するだけのちょっぴり不憫な音源です。

Download ( 103kB )

この音源は

『Kontakt内・外の再生クオリティ設定』と『使用するオーディオサンプルフォーマット』の

関係による負荷量の変動を、手軽に検証する目的で設計されました。

再生負荷の要となる3種類の『クオリティ』

  • アプリケーションのサンプリングレート
  • Kontakt内部のHQI設定
  • オーディオデータのフォーマット

これらを関連付けて説明するとややこしいのですが

音を鳴らしながら負荷を観察すると、関係性が分かりやすいかと思います。

ではStresserの説明に移ります。

Waveform波形を SINE,SAW,PULSE  から選択します。

S.Rateにてオーディオサンプルのフォーマットを以下6段階から選択します。

11025
22050
44100
96000
192000
384000

(単位: Hz)

HQIでは再生クオリティを Standard,High,Perfect  から選択します。

Rootは、演奏キーがRoot地点から何音離れているかの距離が表示されます。

キーボード上の赤いキーが、サンプルがマッピングされたRoot地点です。

SAW は倍音を含むため、低クオリティ設定の場合はノイズが混じりますが

SINE は倍音を含まないためか、低クオリティ設定にもかかわらずノイズが混ざったりしません。

S.Rate HQI共に高クオリティ設定の場合は、SINE  1voiceでもCPUが100%になったりします。

また、そういった高負荷設定時にホストアプリケーションのサンプリングレートを上げると

更に負荷が高くなりそうで、逆に低くなったりします。

憶測ですが、ダウン・アップリサンプリング的なアルゴリズムにて

クオリティ・フォーマットの整合を取る処理が負荷に関係しているのかもしれませんね。

KontaktのCPU負荷については

  • KSPプログラミングによるGUI動作設計、内部パラメータの切り替え等の不備
  • ダイナミクス系エフェクトの応用的運用
  • 波形のクロスフェード時におけるボイス数の一時的な倍化(表示はされない)

など、(他にも忘れてしまったことが)色々ありますが、、、

『フォーマットやクオリティ設定が原因となり得る』と頭の片隅にあると

自作ライブラリを作成するなどといった場合にトラブルの事前対処が出来るかもしれません。

最後に、マニュアルを読まない方にとっては小ワザなのですが

発音負荷への単純な対処法です。

通常時はHQIをStandardに設定し

Options   >   Engine   >   Offline Interpolation Quality (for Mixdown)

この項目をPerfectに設定することで、バウンス時のみ最大クオリティの音質となります。

Kontaktが重いときの原因は? ②へ