Date:2022-04-25
Tidal Cycles の演奏を Processing でビジュアライズする方法 〜前編〜 OSCの利用
TidalCyclesの演奏をYouTubeやWebで検索すると、TidalCyclesコードの背景に「音と同期したビジュアライズ映像」をよく見かけます。今回はTidalCyclesのライブ演奏をProcessingでビジュアライズする方法を「前編」と「後編」に分けて学んでいきます。
環境/macOS Montery Apple Silicon Mac
前半では下記内容にて、送信側の設定や解析などを学んでいきます。
ーーーーー
Index/目次
・Tidal CyclesのOSC接続方法
・SuperColliderにてOSC接続コードを実行
・解析ツール OSC Data Monitor をインストール
・OSCを解析しメッセージを確認する
・あとがき
ーーーー
TidalCyclesの演奏をリアルタイムで他のアプリに接続させるには、Open Sound Control (OSC)という通信プロトコルを利用します。
Open Sound Control (OSC) は、音楽演奏データをネットワークで共有するための標準的な通信プロトコルです。DAW(デジタルオーディオワークステーション)、ビジュアライザー、ミキサーを含む様々なライブコーディングやその他のシステムとの通信に利用します。
今回OSCにて接続する Processing 以外でもMax, PureData, Sonic Pi, openFrameworks, TouchDesigner など様々なアプリケーションにも利用できます。
Tidal CyclesのOSC接続方法
TidalCyclesは、そもそもTidalCycles自体が音を出力しているわけでなく、パターン化されたOSCメッセージをSuperCollider(SuperDirtライブラリ)へ送信し音を出しています。
今現在、TidalCyclesを利用している人は既にTidalCyclesとSuperColiider間にてOSCを利用しています。
TidalCycles から他アプリケーションへメッセージを送る方法は、
1. TidalCyclesから直接OSCメッセージを送信する方法と、
2. SuperColliderからOSCメッセージを送信する方法の2通りあります。
今回は、2. の SuperColliderからProcessingへOSCメッセージを送信する方法を試します。
前編では、SuperColliderからOSCメッセージを送信するまでを行い、
後編で、Processingで受信、処理を行いビジュアライズさせる方法を学んでいきます。
SuperColliderにてOSC接続コードを実行
まずは、下記コードを startup.scd に追加記載し再起動します。既に他にコードがある場合、一番最初に追加してください。
startup.scd は、Fileから「Open startup file」を選択すると開きます。
var addr = NetAddr.new("127.0.0.1", 2020);
OSCFunc({
arg msg, time;
var latency = time - Main.elapsedTime;
addr.sendBundle(latency, msg)
},
'/dirt/play').fix;
上記では、127.0.0.1 の 2020ポート を利用しメッセージを送信します。
127.0.0.1 というのはローカル・ループバック・アドレスと呼ばれ、自分自身を指す特別なIPアドレスです。ポート番号は任意にて使用されてないポートであれば指定できます。
また、コード内の最後(.fixの前)には OSC Address というものを記載しています。環境によって異なるようで、上記では、 ‘/dirt/play’ ですが 、’/play 2′ などの場合もあります。
自身のOSC Addressの確認は、SuperColliderエディタを新規で開き、 OSCFunc.trace(true); と打ち込み実行します。true を false に変え実行すると停止します。
OSCFunc.trace(true); /*start*/
OSCFunc.trace(false); /*stop*/
TidalCyclesで音を鳴らすとOSCメッセージが右下のコンソールに出力されるので確認してください。
解析ツール OSC Data Monitor をインストール
先ほどの OSCFunc.trace(true); でOSCメッセージの確認はできますが、Kasper Kamperman氏によるOSC Data Monitor というアプリを利用し解析します。下記Webサイトよりダウンロードできます。
OSC Data Monitor / Kasper Kamperman
OSCを解析し送信されたメッセージを確認する
ダウンロードした OSCDataMonitor-masterフォルダから、2017の新しい方 Current 2017 Version Applications を開き、application.macosx のフォルダを開くとOSC_Data_Moniterのアプリケーションがあるので開きます。(筆者の環境はMac)
1に先ほどSuperColliederコードで追加した、ポート番号2020を打ち込み、ADD PORTをクリックしリストにポートを加えます。
2にリスト内の2020をクリックすると3に追加され、TidalCyclesで音を出すとコンソールにOSCメッセージが記載されます。
3をのポート番号をクリックすると解析が停止され、リストに戻ります。
あとがき
OSC (Open Sound Control) を利用すると様々なアプリケーションへの接続が可能になります。TidalCyclesのライブコーディングを音だけでなく、別のアプリに拡張することで、アイディア次第で面白い表現ができるかと思います。
後半では、受信する側のProcessingでの設定・解析・描画方法を学んでいきます。
Tidal Cycles の演奏を Processing でビジュアライズする方法 〜後編〜 Processingの設定と描画
barbe_generative_library
サウンドプロダクション入門 DAWの基礎と実践
初版/ 2021.3.23
ページ数/208ページ
出版社/ビー・エヌ・エヌ
言語/日本語
ーーーーー
”Books”では、”barbe_generative_Library”として、
barbe_generative_diary の創作において実際に購入し、読んだ本を紹介します。
ーーーーー