トップ Tsugiブログ GameSynthをデータ・ソニフィケーションに活用してみよう
2021/03/12

GameSynthをデータ・ソニフィケーションに活用してみよう

ソニフィケーションとは、「複雑な情報を音で理解しよう」とする試みのことで、近年宇宙や数学、化学やアートの分野で行われています。

面白い例として、「天の川の銀河を聞く」「髪の毛の健康状態を聞く」といったプロジェクトが、こちらのサイトにて紹介されています。

GameSynthに新たに搭載されたCSV Dataモジュールは、CSVデータの情報をModularモデルにインポートする機能があります。
CSV data module
ご自身のプロジェクトのCSVデータを、GameSynthに搭載されている120種類のサウンドモジュールと繋いでいけば、オリジナリティ豊かで綺麗な音を出せるデータソニフィケーション作品を作り出していけるでしょう。

たとえば下の動画は、火星の軌道をソニフィケーションした惑星データ分析パッチです。
CSVデータに記された地球や太陽との位置データを使って、各ジェネレーター・プロセッサーモジュールのパラメーターを制御しています。




こういった創作はSFゲームやアニメーションだけに留まらず、デジタルインスタレーションや博物館での展示など、科学やアートの分野でも活用していけるでしょう。


CSV Dataモジュール

CSV Dataモジュールは、CSVファイル内のデータに基づいて制御信号を生成し、トリガー入力がされるたび新しい値の行を読み取ります。これにより、読み取り周波数の変調またはランダム化が可能です。新しい読み取り値を待つ間、出力は最後の値を保持します。

モジュールには4つの出力があり、これらはCSVファイルの最初の4列に相当します。より多くの列が必要な場合は、データを複数のCSVファイルに分け、複数のCSV Dataモジュールを使用するといいでしょう。

CSV data module


モジュールパラメーター

Reading Mode(読み込み)モード:
CSVファイルの行の読み込みの「一度だけ」「ループ読み込み」「ピンポンループ」設定が可能です。
Processing(加工):
出力データの「加工なし」「クリッピング」「正規化」「列ごとに正規化」設定が可能です。

応用例




CSV Dataモジュールを使った上の作例では、磁気のような音をデザインしていますが、音源にジェネレーター(発音モジュール)を使わず、Comb Filter(コムフィルター)から音を発する仕組みになっています。

CSV1列目(つまりモジュールの左ライン)では、インパルス(0、+1、-1の値)をループ送信し、2列目(つまりモジュールの右ライン)は、フィルターのフィードバック制御を行っています。

また、このようにCSVデータを使って波形を作り出す場合、「波形を滑らかに変換するモジュール」を使うのも便利でしょう。たとえばSmoothというコントロールモジュールは、不連続なシグナル、角ばったシグナルを滑らかな曲線に変換します。

  • CSVファイルはヘッダー行なし、かつ全行に同数のデータを含む必要があります。
  • 項目はコンマで区切る必要があります。
  • 項目が数値でない場合、その値は0に設定されます。
  • 値は[-1…1]の範囲としてください。(範囲外の値が含まれている場合、前述のクリッピングや正規化オプションを使用するのもいいでしょう)

今回紹介した作例は、リポジトリにて「Magnetic Engine(磁気エンジン)」「Planetary Data Analysis(惑星データ分析)」というパッチ名で提供されており、リポジトリ画面から英名で検索すると、すぐにツールから呼び出せます。


CSV Dataを使った面白いソニフィケーション作品を手掛けておられる方、ぜひともTsugiまでお知らせください!






Copyright © Tsugi GK. All rights reserved.