トップ Tsugiブログ MetaPlanesを使ったGameSynthのコントロール
MetaPlanesを使ったGameSynthのコントロール
2024/03/14

MetaPlanesを使ったGameSynthのコントロール

GameSynth Tool APIは、GameSynthとお気に入りの制作ツールを簡単に統合させ、プロシージャルサウンド作成によってサウンドデザインのワークフローを改善できるツールです。通常、Pythonや類似の言語で簡単なスクリプトを作成することで、こういった連携が可能となります。

あるいは、GameSynthをリモートで制御する独自のスタンドアロンアプリケーションも作成できます。本記事では、GameSynth用の小さなコントロールサーフェスであるMetaPlanesの開発例を見てみましょう(こちらからダウンロード可能です)。


MetaPlanesの利用

MetaPlanesには、マウスを動かしてGameSynthの現在のパッチのメタパラメータを制御できる、4つの平面が搭載されています。再生モードは2種類あります。

①いずれかの平面をクリックすると、パッチ再生が開始します。マウスポインターの座標、角度や中心または隅からの距離、移動速度全てを使って、パッチのメタパラメータへ値を送信します。マウスを放すとすぐに再生が停止します。この再生方法は、メタパラメータの数が限られた短いサウンド(様々な表面での衝突音など)に最適です。

②再生ボタンを押してパッチを再生し、4つの平面全てを使ってメタパラメータを調整します。完了したら、もう一度再生ボタンを押してパッチを停止します。アンビエンスなどの尺の長いサウンドに最適です。



選択モードによって、様々なマッピングや背景を利用できます。たとえば、Circular(円)モードでは中心からの角度と距離をメタパラメータにマッピングでき、Mixer(ミックス)モードでは4つのコーナーとマウスポインターの距離に基づいてメタパラメータ値をコントロールできます。

また、オートメーションも利用可能です。ある平面でマウスでドットを動かしつつ、別の平面をオートメーションで動かせるため、より複雑なモジュレーションも行えます。

GameSynth Tool APIは現在、新たなパッチがGameSynthにロードされ、メタパラメータが変更される可能性がある場合に通知を送信しません(これは今後のバージョンでAPIに追加される予定です)。従って、GameSynth側で(新しいパッチのロードや編集により)メタパラメータリストが変更された場合、MetaPlanes画面上部の同期ボタン を押す必要があります。

実装コード

GameSynth Tool APIは、TCPを使用してGameSynthをリモート制御するコマンドを送信するため、アプリケーションは任意の言語で作成できます。今回のMetaPlanesは、WinFormsを使用してC#で開発されました。GameSynth Tool APIのコマンドのうち以下の4つのみを使用しています。

  • プログラムの開始(および[更新]ボタンを押す)時、現在のGameSynthパッチ内のメタパラメータのリストが、get_metanamesコマンドで取得されます。
  • 次に、ユーザーが平面または[再生]ボタンをクリックすると、playコマンドによってパッチ再生が開始します。マウスが移動すると、set_metavalueコマンドが呼び出され、マッピングに基づいてメタパラメータの値が更新されます。
  • パッチ本体の再生時間が終了した時、マウスボタンが放された時、再生ボタンが再度押された時に、再生は自動で停止します。この際、stop関数が呼び出されます。

MetaPlanesは、GameSynth Tool APIのサンプルページからダウンロードできます。全機能やキーボードショートカットについては、ユーザーマニュアルを参照してください。ご自身での利用例、GameSynth Tool APIを使った独自スクリプトやツールを開発された際は、ぜひお気軽にDiscord等でお知らせください!


GameSynth



Copyright © Tsugi GK. All rights reserved.