WaveTable は、周期的なウェーブ データを参照テーブルに保存し、MetaSound でウェーブテーブル合成とサンプリングを実行する方法を提供します。
このガイドでは、異なるサンプル モードを持つ 2 つの WaveTable を使用した MetaSound の作成方法について説明します。
- Fixed Resolution - バンク内のすべての WaveTable の解像度を強制的に均一にします。このモードはロックステップ ミキシング、補間、空間化をサポートするもので、振動とエンベロープに役立ちます。
- Fixed Sample Rate - バンク内のすべての WaveTable のサンプル レートを強制的に均一にします。このモードは共有速度での個別の音声再生をサポートするもので、サンプリングとグレイン化に役立ちます。
固定解像度の WaveTable Bank を作成する
画像をクリックするとフル サイズになります。
固定解像度の WaveTable Bank を作成するには、次の手順を実行します。
- コンテンツ ブラウザ で [Add (追加)] ボタンをクリックします。
- [Audio (音声)] > [WaveTable] > [WaveTable Bank] の順に選択します。
- WaveTable Bank の名前を「
WTB_FixedResolution」にします。 - WaveTable Bank をダブルクリックして WaveTable Bank エディタ を開きます。
- [Details (詳細)] パネルで、次の手順を実行します。
- Bipolar を無効にします。
- Entries の [+Add Element (+要素を追加)] ボタンを 2 回クリックします。
- Index [0] を展開し、Curve Type を Linear (Ramp Out) に設定します。
- Index [1] を展開し、Curve Type を Linear (Ramp In) に設定します。
- WaveTable Bank を保存します。
- WaveTable Bank エディタ を閉じます。
固定サンプル レートの WaveTable Bank を作成する
画像をクリックするとフル サイズになります。
固定サンプル レートの WaveTable Bank を作成するには、次の手順を実行します。
- コンテンツ ブラウザ で [Add] ボタンをクリックします。
- [Audio] > [WaveTable] > [WaveTable Bank] の順に選択します。
- WaveTable Bank の名前を「
WTB_FixedSampleRate」にします。 - WaveTable Bank をダブルクリックして WaveTable Bank エディタ を開きます。
- [Details] パネルで、次の手順を実行します。
- Entries の [+Add Element] ボタンを 2 回クリックします。
- Index [0] を展開します。
- Curve Type を Sine (360 deg) に設定します。
- Duration (Sec) を「0.5」に設定します。
- Index [1] を展開します。
- Curve Type を Sine (360 deg) に設定します。
- Duration (Sec) を「1.0」に設定します。
- WaveTable Bank を保存します。
- WaveTable Bank エディタ を閉じます。
MetaSound ソースを作成する
画像をクリックするとフル サイズになります。
生成とエンベロープに WaveTable Banks を使用する MetaSound を構成します。次の手順を実行すると、上記のグラフの MetaSound を作成できます。
- コンテンツ ブラウザ で [Add] ボタンをクリックします。
- [Audio] > [MetaSound Source (MetaSound ソース)] の順に選択します。
- 新しい MetaSound に「
MSS_WaveTableDemo」と名前を付けます。 - MetaSound をダブルクリックして、MetaSound エディタ を開きます。
- [Interfaces (インターフェース)] パネルで、UE.Source.OneShot インターフェース エントリの横にある [削除 (ゴミ箱)] ボタンをクリックします。これにより、ループするサウンドでは使用されない On Finished Output ノードが削除されます。
ジェネレータ セクションを構築する
- グラフで On Play Input ノードを見つけて、ピンを空白の領域に引き出します。ノード検索で「Trigger Repeat」と入力し、接続先のノードを作成します。ノードをドラッグすると、グラフ内でノードを移動できます。
- Trigger Repeat ノードで次の手順を実行します。
- Period を「1.0」に設定します。
- RepeatOut ピンから引き出して、Trigger Counter ノードを作成します。
- Trigger Counter ノードで次の手順を実行します。
- Reset Count を「2.0」に設定します。
- On Trigger ピンから引き出して、WaveTable Player ノードを作成します。
- Count ピンを WaveTable Player ノードの Index ピンに接続します。
- WaveTable Player ノードで次の手順を実行します。
- Bank ドロップダウンをクリックして
WTB_FixedSampleRateに設定します。 - Pitch Shift を「440.0」に設定します。
- Loop を有効にします。
- Bank ドロップダウンをクリックして
エンベロープ セクションを構築する
- 空白の領域を右クリックして、Get WaveTable From Bank ノードを作成します。
- Get WaveTable From Bank ノードで次の手順を実行します。
- Bank ドロップダウンをクリックして
WTB_FixedResolutionに設定します。 - TableIndex ピンから引き出して、Promote to Graph Input を選択します。この操作により、「TableIndex」という名前の Float Input ノードが作成されます。
- Out ピンから引き出して、WaveTable Envelope ノードを作成します。
- Bank ドロップダウンをクリックして
- WaveTable Envelope ノードで次の手順を実行します。
- On Play ピンから引き出して Get On Play ノードを作成します。
- ノードの下部にある下向き矢印をクリックして、ピンのリストを展開します。
- Mode を Loop に設定します。
アウトプットを接続する
- 空白の領域を右クリックして、Mono Mixer (2) ノードを作成します。
- Mono Mixer (2) ノードで次の手順を実行します。
- In 0 ピンを WaveTable Player ノードの Mono Out ピンに接続します。
- Gain 0 (Lin) ピンを WaveTable Envelope ノードの Out ピンに接続します。
- Out ピンを Out Mono Output ノードに接続します。
- MetaSound を保存します。
MetaSound をテストする
MetaSound エディタのツールバー にある [Play (再生)] ボタンをクリックし、MetaSound を再生します。TableIndex グラフの入力値は、ノードの Input Widget (Dial) をクリックして上下にドラッグすることにより調整できます。
WTB_FixedSampleRate の WaveTable は、毎秒交互に再生されます。ゲインは WTB_FixedResolution の WaveTable によって制御されます。これは TableIndex グラフ入力によって選択されます。0 から 1 の TableIndex 値は、バンク内の WaveTable 間のブレンドを生成します。
応用編
以上でクイック スタートが完了しました。次は、このプロジェクトをさらに発展させることを検討してみましょう。次の提案事項を試してみることをお勧めします。
- このガイドでは使用されていない WaveTable Oscillator ノードや Evaluate WaveTable ノードなどの WaveTable ノードを使用して MetaSound を構築します。WaveTable ノードの詳細については、「MetaSounds リファレンス ガイド」を参照してください。
- Curve Type を Custom に設定することにより、WaveTable カーブをカスタマイズします。ツールバーやカーブの編集の詳細については、「カーブ エディタ」を参照してください。
- Curve Type を File に設定し、[Wave Table Settings (Wave Table 設定)] > [File Path (ファイル パス)] を設定することにより、オーディオ ファイルを WaveTable としてインポートします。