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

(2021.05.15執筆)


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

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



基本動作が製品版の音源は重たく不安定、Sforzandoの方が使い勝手が良いために決行。
業界標準サンプラーで有名な、full版のみ対応のKontact音源は、Save multi asという項目からWAVに変換できますが、player対応のものは今回の手順を踏む必要が在ります。
基本的に2020年度現在までの音源に関しては、既に組み上がったものより自分で一から築き上げたほうが格段に優れた演奏ができるので、コアな方向けの備忘録ということで。

音源によっては収録の手間が相当なので、普段遣いに相応しいものだけに絞る。

抑えておくべきこと

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

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



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

例えばgain(音量)やpitch(音程)を少しでも弄ったなら、元々24bit内で綺麗に収まってた音源情報が24bit内に収まりきれなくなり、この後の24bit収録でも音価が損なわれてしまうからです。なお、完全な収録が難しいけれどピークに余裕がある場合は、Gainを約+6dbする毎に1bit分のデータを繰り上げてサンプルが再生されるので、より細やかな響きまで救えます。

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


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


トラックのbit深度を測るプラグイン⇒「Bitter」で検索


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

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

使用環境

  • DAW: REAPER 6.25↑
  • Kontact6.2



他の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に及ぼす設定。参考程度に。

Kontact本体の設定

次にサンプラー側。今回は参考に、業界標準のこの子を例に上げます。
Kontact本体の下準備。サンプル元を読み込むKontact本体の方は、注意深く各パラメータをリセットする必要があります。

上部の歯車アイコンからメインボリューム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)は大丈夫ですね。




総サンプル数、ビットレート、ループポイント、再生位置、音の長さと同期するテンポ(四捨五入表示)など、おおよそ必要な情報が得られます。 収録時は、一旦ループと再生位置をリセットします。

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

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

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


フリーズ

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

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

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

WaveEditor

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


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

サンプルレート(Hz)の設定は一致してるか?
ピッチはズレてないか。
ボリュームはリセットされてるか?
他のエフェクトはオフになってるか? ループクロスフェードが起こってないか。


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

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

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

では、下準備ができた後の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手の繰り返しに短縮されます。

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

おわりに

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


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

音源が形になるまでの過程を思うと貴重に思える。製作者さんの工程をちょと辿ってみることで、音源(演奏者さんやエンジニアさんの背景)への意識や曲作りに臨む姿勢も変わってくると思います。

敬意をもって、その一音に込められた響きを活かせるよう大切に扱わせて頂く。