Kontakt音源の元サンプルを完璧に収録する

(2021.05.15執筆)


製品版の音源から、WAV収録の必要性に迫られたのでメモ書き。
この章の目的は2つあります。

  1. Kontakt等のサンプル元を、音価を損なうことなくDAW上で再現する方法を身につける
  2. player専用の.ncw音源(取り出せない)からWAVを収録し、SforzandoやLinuxで動かせるようにする



基本動作がKontaktは重たく不安定、Sforzandoの方が使い勝手が良いために決行。
full版のみ対応のKontakt音源は、Save multi asという項目からWAVに変換できますが、player対応のものは今回の手順を踏む必要が在ります。

音源によっては収録の手間が相当なので、普段遣いに相応しいものだけに絞る。具体的にはSymphonySeriesEssentialくらいの規模を想定。

抑えておくべきこと

音源サンプルを完璧な状態で収録するに際し、いくつか抑えておくべき要点があります。

  1. 出音のサンプルレート(Hz)を音源サンプル元の数値に合わせる(48000Hz等)
  2. DAW上のMixビットレート設定(bit)を32bit.float以上にする(24bit音源の場合)
  3. 元ファイルから出音まで、GainやPan等のパラメータは一切動かなさい!(±0)で固定!
  4. WAV書き出し時、サンプル元と同じサンプルレート、bit深度で収録



サンプルレートとbit深度を合わせるのは当然として、想定外に大変なのが「音源の一切のパラメータを触らず、±0の状態で出音させる」という一点に尽きます。

例えばgain(音量)を少しでも弄ったなら、元々24bit内で綺麗に収まってた音源情報が24bit内に収まりきれなくなり、この後の24bit収録でも音価が損なわれてしまうからです。

参考 ⇒ CD音質の此処がダメ「ハイレゾ(24bit)と比較して」


参考リンクは16bitの音源主体で描かれてますが、これを「24bit音源」に置き換えてご覧ください。音量を弄ったことによる劣化の原理は一緒です。差は微々たるものですが。。。可能なら処置しておくに限る。どうせ手間は変わりませんので。

つまり完全な収録を目指すなら、Kontakt音源の内部パラメータの尽くをリセット。新たにインストゥルメントを立ち上げ、元の音源ファイルのみを新規に読み込ませた状態で臨む必要が在ります。

これはDAW上の設定やトラック内のパラメータも同様です。
1つ1つ見ていきましょう。

使用環境

  • DAW: REAPER 6.25↑
  • Kontakt6.2(Komplete 12 Ultimate)



他のDAWはどうか知りませんが、REAPERでは完璧な再現と収録が可能と思われます。
何といっても出音の細かい部分まで此方で確認・設定ができるので、要所さえ抑えれば確かな収録の手応えを得られます。

まず、DAWのREAPER側の設定から追っていきます。

REAPER側の収録・初期設定

  1. file⇒プロジェクト設定:サンプルレートを合わせる(48000Hz等)、レンダリング時のリサンプリングを「最高」に
  2. file⇒メディア設定:録音時(フリーズ、レンダリング時)のbit深度をサンプル元に合わせる(24bit等)
  3. file⇒高度な設定:トラックのミキシングbitは64bit浮動↑、パンもデフォルト状態なのを確認
  4. 音源元トラックの「Gain」は初期値の0.00(-符号のつかない表記が望ましい)、「PAN」は中央に
  5. その他オプション(細かい所)



↓より画像付きで補足してみます。

ファイル⇒プロジェクト設定⇒プロジェクト設定

プロジェクト設定

サンプルレートは収録元の音源に合わせます。OSにLinuxを使ってる場合は同時にJackサウンドサーバーの方を合わせるのも忘れないように。
そして念の為、レンダリング(書き出し時)リサンプリングモードを最高の状態にしておきます。

ファイル⇒プロジェクト設定⇒メディア設定

メディア設定

録音時のbit深度を収録元に合わせます、2021年現在の主流は24bitが大半と思われます。
収録ではトラックのフリーズを多用するので、フリーズ項目もカスタムの24bitに設定。

そしてWAV書き出し情報に余計なものを含めないこと。BWFちゃん何とかのチェックを外しておきます
些細ですが書き出し後のサンプル容量の節約になりますので。

ファイル⇒プロジェクト設定⇒高度な設定の確認

高度な設定

ミキシングに関する設定の確認です。ミキシング時のbit深度は多めに。PAN-LAWもデフォルトの値に。
此処は初期値のままで大丈夫だと思います。

メインウィンドウ⇒トラック設定の確認

トラック設定

フェーダー(Gain)は初期値の0.00。Panは中央なのを確認。



とりあえず此処までが重要な項目、↓からの細かい箇所は補足程度に。

オプション⇒設定⇒メディアアイテムの初期値

メディアアイテムの初期値

メディアItemにはフェードインアウトを含ませないこと。上記のチェックを外した状態。

オプション⇒設定⇒バッファリング

バッファリング設定

スレッドは最大値の表記。パソコンのCPUによって最大値が異なる。たいたい初期値で問題ない。

オプション⇒設定⇒レンダリング

レンダリング設定

書き出しを何度も繰り返すので、レンダリング終了時にwindowを自動で閉じる(Automatically Close RenderingWindow when ~ finished)にチェックがあると良いかも。他の項目は参考程度。

オプション⇒設定⇒プラグイン互換性

VST互換設定

懸念事項は「プラグインからのデノーマライズを抑制(推奨)」という項目。 これは極小のDCオフセット(?)が入るかもしれないらしく、外しておいたほうが良いという意見があります。

参考 ⇒ 「StudioOneは音が良い」は本当化〜REAPERとの比較を通して検証



まぁ一音だけの収録では変化ないようです。チェック項目○×それぞれで収録したサンプル同士を比べても結果は同じでした。同一サンプルであるという確認の元(後述)

オプション⇒設定⇒プラグインVST

VST設定

REAPER側がKontaktに及ぼす設定。参考程度に。

Kontakt本体の設定

次にKontakt本体の下準備。サンプル元を読み込むKontakt本体の方は、注意深く各パラメータをリセットする必要があります。

上部の歯車アイコンからメインボリューム0db、MixDownをPerfectに設定
メニューから新規インストゥルメントを作成。
そして内側左上のスパナマークからampをAttack,Releaseそれぞれ0.00msに設定です。


kontakt基本設定

  • マスターVolume0.0db
  • マスターTune=440Hz
  • メインVolume0.0db
  • メインPan中央
  • MixDown設定をPerfectに
  • amp_AttackTime=0.00ms
  • amp_Sustain=0.0db
  • amp_Release=0.00ms


これで音源を読み込む真っ白な受け皿枠(空インスト枠)ができました。

次に収録したい音源を読み込む

空インスト枠のスパナアイコンを一旦閉じて、収録したい音源マルチサンプルを新たに読み込みます。

収録元の音源

そこから収録したいアーティキュレーションの音源サンプルを1列ずつコピー。
コピーしたら、一旦その音源は閉じて終了させます。1度にはできないので、1列ずつです。

で、立ち上げておいた空のインストゥルメントのMapping Editorに貼り付け。
空のインストゥルメントに音源を貼り付け

はい、この状態からWave Editorも開くと、一音ずつサンプルの詳細を確認することができます。
音源によっては一音ずつVolumeやTuneが微調整されてたりもしますが、今回のケース(Violins1)は大丈夫ですね。


WaveEditor

総サンプル数、ビットレート、ループポイント、音の長さと同期するテンポ(四捨五入表示)など、おおよそ必要な情報が得られます。

試しに出音をレンダリングしてみる

まずはG2の音を録ってみようと思います。
REAPERの方でG2のノートを充分な長さ、今回のサンプルは8秒未満ですね。
テンポ計算も入れてきっかりサンプル分測ることもできますが、最初は大体でいいでしょ。
収録スピードを優先させるなら、ちょっと音価を広めに録って次の音程へ、と流れ作業で進めるのが楽です。

一つノートを置いたら、トラックごとフリーズ(WAVステレオ出力)します。
フリーズ設定で24bitにしてれば、Kontakt内部のサンプルと同一の音を取り出すことができます。


フリーズ

トラックを右クリック⇒フリーズを経て一つ収録が完了です。

収録したWAV(24bit)と元ファイルが同一データになることの証明

収録したWAVアイテムを試しに位相反転させてみてください(アイテムを右クリック⇒アイテム設定から)
Kontaktから出音される音と、WAVで収録した音が同一であれば、位相反転で打ち消し合ってMasterは無音-infの状態となります。(各トラックのメータは鳴ってるのに)

WaveEditor

↑この状態であれば収録が成功しています。


もしもmasterトラックから-144dbとか僅かでも鳴ってるなら、収録したWavのbitがはみ出てます。 間違って各設定を0.0dbにしたつもりが-0.0dbになってたりとか、その逆も然り。(ボリュームを不用意に触りすぎた場合、表示上は見えなくても、小数点以下でわずかに音量が変化してる例もある)

落ち着いて、リセットして、始めからやり直してみてください。
まず一つ。最初の行程をきちんと体感すれば、後は流れ作業です。

上手く行ったらおつかれさまでした。ちょっと休憩をはさみましょ。

効率よく収録を進めるアイデア

では、下準備ができた後のWAV収録です。後は繰り返し手順になります。

  1. 適切な長さのノート、或いはテンポを設定する
  2. トラックをフリーズする(REAPERでは該当トラックがミュートになる)
  3. トラックのミュートを解除
  4. ノートを次の音程にずらす
  5. 1〜4を繰り返す


この間、何らかの操作をショートカットキーで行えたら、大幅な時間短縮が見込めます。

トラックのフリーズ(収録)&ミュート解除をショートカットキーで

一番多用する「トラックのフリーズ」(トラックのWAV書き出し)は、REAPERのアクションリスト「Render tracks to stereo stem tracks(and mute origin)」というアクションで実行可能です。これをショートカットに割り当てるのも良いですが、このままだと選択トラックがミュート状態になってしまうのが頂けない。ミュート解除のひと手間が余計。

そのため、コマンド後にトラックのミュートを解除するアクションも追加で実行するよう改良を加えます。

アクションショートカット

アクションの合わせ技は「新規カスタムアクション」から組み上げることができます。


カスタムアクションを開いたら、左側から実行させたいアクションを選んで、右にドラッグです。
多すぎるコマンドの中から目当ての物を見つける「検索」がコツ。

アクションショートカットRender

まずは"Render"のキーワードでRender tracks to stereo stem tracks(and mute origin)を探します。トラックWAV書き出しのコマンドです。


アクションショートカットunmute

続いて"Unmute"...ミュートを解除するコマンドです。フリーズ実行後は新規トラックに選択が移ってしまうので「トラック全てのミュートを解除する」を後ろに持っていきます。

右側の一覧は既に出来上がってます。。。OKで閉じる。

アクションショートカット

再びアクションリストを開くと、カスタムアクションが先頭に見える。これにショートカットキーを割り当てると良いです。画面では"Ctrl + B"で実行できるようにしてます。BounceのB


ショートカットキー登録後のWAV収録手順

この仕込みをシておくと

  1. 適切な長さのノート、或いはテンポを設定する
  2. Ctrl+B(該当トラックの書き出し)
  3. ノートを次の音程にずらす


というシンプルな3手の繰り返しに短縮されます。

(組み合わせで、他にも良い手段があるかもしれません)

元サンプルの長さぴったりに収録する方法

特に思い入れがなければ読み飛ばし推奨ですが、サンプル数ちょうどで収録をすることもできます。

REAPERは、テンポ(BPM)が最大960.000、しかも小数点以下第3位まで設定できるのが強み。
速いテンポでノートを長めにとるほど、収録WAVのサンプル数を細やかに調整できるのです。

48000Hz✕ステレオ2chのサンプルでノートの長さを一定に定めた場合、以下のような例の計算式でBPM(テンポ)を求めることができます。

48000Hz 24bit 4/4拍*30小節で収録...

例えば、ノートの長さを4/4拍子の全音符30小節分なが〜くとった場合のテンポ設定は

求めるBPM = 30*4(拍)*30(小節)*48000(Hz)*2(ch) ÷ 総サンプル数(Sample_end)

計算をまとめて

345600000÷総サンプル数(Sample_end)=求めるBPM(小数点第四位以下切り捨て)

となります。


V1e-SusVib-G2-v96_127.ncwというサンプルを例にとってみると。
WaveEditor

総サンプル数が371509なので、345600000÷371509=930.260(bpm)が求めるテンポです。端数を切り捨てる所がポイントです。


WaveEditor

まぁだいたい四分音符120個分の長さのノートに対し、930.260(bpm)のテンポでトラックレンダリングすることで、48000hzステレオ2ch総サンプル数(371509)ぴったりの収録結果を得られます。


何となく計算のコツをつかめたら、Excel(LibreOffice)等で一括計算してあげると楽です。

おわりに

う〜ん、ここまで備忘録的なメモでしたが。。。
誰もやらなそうだな...(' '*)


。。。これまで一万くらいのサンプル収録してようやく音質劣化させない方法にたどり着く。
主要なサンプル収録はやり直し、けど時間は有限。本当にお気に入り音源くらいしか出来ないんじゃないかとも思うし。
此処までこだわる必要はなかろうし。。

ちなみにViolins1のアンサンブル弦収録だけで丸3日溶けました。。。


DTM上にデータがあってもこれほど時間を要するのだから、実際に舞台を借りて人手を集めて演奏された音源を機材で収録してエディットして製品にまで仕立て上げるのにどれほどの労力を要するか?!。。気が気が遠くなりますね。。。膨大なコストですよ。。

音源が形になるまでの過程を思うと貴重に思える。


話逸れましたが一応、収録例。こういうことも出来るという一例として締めくくらせていただきます
(はよ曲つくれ)