MIDIミュージックの時代に戻りたいとお考えの方は、PS4の内蔵シンセサイザーは利用できない(存在しないので)、自分のPCサウンドカードのGeneral MIDIインストゥルメントに頼れないと気づくでしょう。しかし、Wwiseにはビルトインシンセサイザーが組み込まれて提供されていますので、今回はリアルなシンセをWwiseで自作する方法を紹介したいと思います。
この記事では、MIDIでコントロールできるサンプルインストゥルメントを作成する上で私が便利だと思ったストラテジーを、いくつか説明します。Wwiseのオンラインドキュメントにも例が掲載されていますが(すでに読んでいると思います)、もう少し詳しくみていきます。ホーンセクションを作成して、そのセクションでノートを維持させたり、ダイナミックなレイヤを設定したり、キーボードのモジュレーションホイールでコントロールしたりして、音も結構いいものに仕上げてみます!
生の演奏をモジュレーションホイールで調整しながら再生した、シンプルなデモ。Wwiseのアウトプットを、自分のDAWでレコーディングしたもの。Wwiseトランスポートの"Original"ボタンのチェックは外した。コンバージョン設定は、22k Vorbis、Qualityは2.2。このMP3デモは、このホーンセクションを入れたサウンドバンクとほぼ同じサイズ。
元となる素材を作成する
それでは、お好みのDAWでロングノートを再生できるホーンセクションを準備できたら、そのサンプルインストゥルメントをサンプリングします!まず、サンプリングするノートを決めます。DAWのサンプルインストゥルメントと1対1の関係にするには、一般的にホーンセクションの範囲内で半音ずつ進めて、ノートを1つずつサンプリングします。でもこれはビデオゲームの開発なので、リソースを節約しなければなりません。今回の例では、マイナーサード(minor 3rd)間隔でホーンセクションをサンプリングします。つまり、1オクターブを作成するのに4サンプル必要となります。具体的には、Cでスタートするとして、C、D#、F#、Aです。省いたノートは、サンプルの上下半音だけピッチを変化させて補います。ほかにもパーフェクトフォース(perfect 4th)など間隔を広げて試してみましたが、1つのサンプルでカバーする範囲が広がると、ノイズが発生してしまいます。自分でやってみると、リバーブの多いホーンセクションだと、1つのサンプルで対応する範囲の両端で、リバーブのサイズが極端に小さく、または大きくなるのが分かります。
次に、ホーンセクションをモジュレーションホイールでコントロールできるようにしたいので、サンプリングする時にこれを考慮します。メーカーによっては、ホーンセクションのダイナミクスが変わるときの音色の移り変わりを、商用ライブラリを使って真似ることができるのですが、それには複数のサンプルをクロスフェードさせてローパスフィルターのモジュレーションを調整します。では集中してホーンセクションを聞きながら、モジュレーションホイールをゆっくり動かしてみてください。音の大きいレイヤと小さいレイヤがクロスフェードする瞬間を、聞き取れましたか?大丈夫、僕にも分かりません。でも、モジュレーションホイールを一番上まで回してサンプリングして、それから真ん中に戻してもう一度すると、ラッキーなことに希望通りの結果を得られました。普通はモジュレーションホイールはCC1で、MIDIの場合だと、これがちょうどCC1値の127と64に該当します。
だけど、もっと長いサンプルを作成する必要があるのでは?いいえ、後述のとおり、これはWwiseのSource Editorのおかげで重要なポイントではありません。ただ、リバーブが最後まで鳴り終わるのに充分なスペースをとることだけ、注意してください。なお、長くサステインしたホーンのノートを連続して再生することはあまりないので、バリエーションも1つだけで何とかなります。自分が使っている商用サンプルインストゥルメントを掘り下げてみると(Kontaktのレンチのアイコンをクリック)、実はそこにも1つのバリエーションしかないことに気づくかもしれません。
CC1 64で3オクターブのセッションが、このようになりました:
最初のノートをインポートする
インポートするときに、まず1つのノートだけで試してみてください。理由はあとで分かります。最初に上位レベルの構造をみていきます。
これが、最初のノートのMIDI設定です。
Note Trackingが有効になっているので、このオーディオオブジェクトは、受信したMIDIノートに合ったピッチになります。例えば、C3を受信するとWwiseがピッチを1200セント上げて、それに合わせます。ただ前述のとおりこれでは音があまりよくないので、Key Rangeフィルタを使ってサンプルのトラッキング対象のノート範囲を制限します。このホーンセクションはマイナーサードでサンプリングしたので、サンプル1つがカバーするノートは、ルートノート(C2)、半音上(C#2)、半音下(B1)の3つです。
MIDIデータとCCデータをルーティングする
サンプルインストゥルメントをテストするには、MIDIをDAWからWwiseへルーティングします。詳細がドキュメンテーションですでに説明されているので、ここでは省略します。MIDIがWwiseへ入っていくところまで設定できたら、正しいノートさえ押せばホーンのサンプルを再生できるということに気づくと思います。さて、モジュレーションホイールをWwiseに送るには、Control Surface Bindingを追加する必要があります。すでにMIDIノートが送信されていれば、すぐにWwiseのMIDI Learnがモジュレーションホイールの動きを感知しますが、紐付けが1チャンネルに限定されることに気づくでしょう。ホーンセクションにチャンネルフィルターは設定されていないので、今のところ、これでOKです。新しい紐付け設定を、下図のように“Current Selection”グループに追加してください。
CC1の紐付けが設定できたら、次にRTPCカーブを追加します。下図のとおり、CC1 127サンプルのボイスボリュームとローパスフィルターの両方を、CC1でコントロールするように設定してみました。
これが、CC1 64のサンプルです:
お気づきのとおり、両者を組み合わせると、モジュレーションホイールを上げるにつれてCC1 127サンプルがフェードインして、CC1 64サンプルが同時にフェードアウトします。この時点で、バーチャルボイス設定を“Play from elapsed time”にしてください。また、これも気づいたかもしれませんが、サンプルは一回だけ再生されてループしません。
ループを設定する
次に、ループポイントの設定です。普段のループ音でやっている通りに、オーディオオブジェクトのループを設定します。ソースエディタでサンプルごとに表示させます。ループポイントは手作業で設定できます。私は、このようにループポイントを入れる結果となりました:
ファイルのエンドポイントの移動を忘れないように。ループポイントを設定し終わったら、このファイルの右半分は一切使いません。完璧主義者にとって、こんな仕方でループポイントを設定するのは不満かもしれませんが、実際に1つのノートを10秒間も流したいとあまり思わないことを、忘れないでください。
*ヒント: スライダーで設定できる範囲を超えてクロスフェードを長くしたいときは、直接入力で増やせます。
エンベロープとリリース
ループポイントを設定してからホーンセクションをテストしてみると、今度はホーンが止まらなくなったのではないかと思います。これをフィックスするためにエンベロープを追加します。私が気に入った設定内容は、こちらです:
中でも一番大事なのが、“Stop playback after release”。
CC1 127とCC1 64のサンプルで、ボイスボリューム用に新しいRTPCカーブを追加して、それをコントロールするのに新しく作成したエンベロープを適用させます。デフォルト形状のRTPCカーブで充分だと思います。私のCC1 127サンプルは、こうなりました(エンベロープRTPCカーブだけを表示)。
もう一度ホーンセクションをテストしてみると、ノートをリリースしてから0.5秒間かけてループがフェードアウトするはずです。でもリバーブが自然にディケイしないので、不自然な感じがします。
フィックスするにはリリースサンプルをCC1 127と64のどちらも作成します。2つのサンプルをコピペするのが一番簡単です。これで、C2ノートに4つのサンプルが入りました。
それでは複製した方の設定をいくつか変えます。
- “Looping”のチェックを外します
- エンベロープ付きのRTPCカーブを削除します
- MIDIタブで、MIDI Eventsの設定項目の1つであるPlay Onを、“Note-On”から“Note-Off”に切り替えます。
次に、これらのリリースサンプルをソースエディタで開き、ファイルの一番最後にあるリバーブテイル以外を切り取ります。最終的に、私のリリースサンプルはこのようになりました。
フェードインがあるのに注目してください。このフェードインを、エンベロープ設定でリリースタイムとして指定したフェードアウトにできるだけ合わせてください。リリースサンプルを再生するときにボリュームが急に大きく聞こえないようにするのが、目的です。
リリースサンプルを設定すれば、ホーンセクションの音が断然ナチュラルに聞こえます。
*ヒント: ソースエディタのウィンドウに“ ! ”が表示された場合は、クロスフェード長さを減らして0に戻します。
全体を完成させる
1つのノートが完成したので、ホーンセクションの残りの範囲でも同じ作業を繰り返します。作成したばかりのノートを、残りをインポートするときのテンプレートにすれば、多少は時間を節約できます。ただし、サンプルごとに毎回ソースエディタを開いて、ループポイントを設定したり、リリーステイルを切り取ったりする必要はあります。
それがすべて終わったら、名前を変えた方がいいオブジェクトはないか、考えます。私は全部のノート名の冒頭に“01_”、“02_”、と追加して、アルファベット順にソートした時にピッチに合わせたレイアウトが反映されるようにしました。完成したホーンセクションをすべて整理すると、こうなります:
コンバージョン設定とパフォーマンス
次に、すべてをできるだけ小さくまとめるコツを紹介します:
- CC1 64のサンプルは、サンプルレートを低くします。モジュールホイールを下げているので、ホーンセクションのハイエンドは、最初からそれほどありません。
- リリースサンプルの代わりに、リバーブを設定することが可能かもしれません。
- ローノートに使うサンプルレートは、できるだけ低く抑えて、特に、ノートを個別に聞くことがなければ、低いレートにします。
- 短いループにします。これも、ローノートやCC1 64サンプルなどに特に言えることです。
最終的に、私は3オクターブのホーンセクションのデータサイズを、約0.74mbまで下げることができました。
最後に
いかがでしょうか。Wwiseでサンプルインストゥルメント作成のアイデアに貢献できたでしょうか。新しいワークフローであることは、間違いありません。また、DAWからWwiseへの変換が厳密でないのに気づくと思います。商用ライブラリの裏ではかなり手の込んだプログラミングが行われていることもあり、それだとWwiseに取り込める内容が制限される可能性があります。例えばインストゥルメントがラウンドロビンにどう対応するかなど、シンプルなことで予期せぬ結果になります。当然、Wwiseをよく理解していた方が、一連の作業で大きなプラスです。今後、ゲームオーディオの分野がMIDIの道を進んでいくならば、「テクニカルミュージックデザイナー」という肩書も全然ありだと思います。
法的通知
自分でホーンセクションをレコーディングしようと考えている人以外は、ここまでの作業に商用サウンドライブラリを使ったはずです。生のサンプル波形を直接使うわけではなく、レイヤ素材としてホーンセクションを重ねるケースがあるとおもいます。今回の手法に関して、必ずソフトウエア使用許諾契約書(EULA)を確認するか、直接メールで問い合わせてください。新しいゲームオーディオ手法なので、恐らく幾つかの会社は許諾しないと思われます。
コメント