概要

Record Sketchとは?

overview
RecordSketch概観

 

RecordSketchインタフェース
RecordSketchインタフェース

Record Sketchはペンタブレットを用いて行う描画運動を元に音楽生成を行うことができるシステムです。具体的にはペンタブレットからユーザ(描画行為者)の描画運動情報(描画速度・筆圧)を抽出し、これに基づいて音楽生成ソフトウェアMAX/MSPを用いて描画情報に対応した音楽を生成します。このように描画された視覚的情報と音楽という聴覚的情報の関連性に注目したメディアアート作品はこれまでにも多くの作品例が挙げられますが、従来の作品においては完成された絵の幾何学的情報や色彩情報に注目しているのに対し、本作品では絵が描かれる際の描画過程に注目しています。本システムの体験を通して、ユーザは描画運動と音楽の対応を楽しみながら絵を描くことができます。また、一連の描画運動情報はレコード形状の紙面上に記録されるため、生成された音楽を保存し後からいつでも再生することが可能となっています。この作品は早稲田大学ものづくり工房企画・RTミドルウェアコンテスト2013(SI2013)に参加しています。
本システムの構成は以下のようになっています。

システム構成
システム構成

本システムは大きく分けて①描画情報取得、②レコード記録、③画像処理、④音楽生成と4つのパートに分けられます(上図参照)。①と②に部分では、主にRTミドルウェアの技術を導入しており各段階の処理はRTコンポーネントとして機能しています。③と④、レコード上に記録された線を読み込み、音を出力する処理はMAX/MSPによって実現されています。
まず、①描画情報取得部分ではペンタブレットから描画速度・筆圧を抽出し、そのパラメータに基づいてレコードに波形を記録するペン付きアクチュエータの目標速度の指令を生成します。②レコード記録部分では、①のRTコンポーネントから受けた速度指令からペン位置を操作するためのステッピングモータのステップ数を制御します。次に③画像処理部分でレコードに記録された波形情報を画像処理することで波形の振幅・周波数情報を取得し、ここで得られたパラメータを元に④音楽生成部分で音を生成します。

ソフトウェア

ソースコードはgithub.com上で配布しています。下記先からクローンして使用してください。
(https://github.com/ogata-lab/RecordSketch)

MAX6による処理

MAX6(MAX/MSP)とは、下図のように複数個のパッチをつなぎあわせることで画像処理や音楽生成といった処理内容を可能とするマルチメディア向け統合開発環境です。本システムでは、レコードに記録された波形の画像処理や音楽生成といった処理をMAXを用いて実現しています。
以下は、本システムを構成するにあたり作成したMAXのパッチとなっています。

■アクチュエータに対する速度指令

システム構成①の部分ではペンタブレットから取得されるペンの描画速度・筆圧からアクチュエータの目標速度を算出するために、MAXのパッチを利用しています。本パッチはRTCとMAXをブリッジするプラグインであるRTCGatewayを導入しているためMAXのパッチ構成がここではRTコンポーネントとして機能しています。(http://ogata-lab.jp/tech/814.html)
RTCGateway

■画像処理

レコード上に記録された波形をUSBカメラで画像認識し、そこから取得された波形画像を基にMAXの画像処理パッチによって音楽生成用の数値データを用意します。具体的には画像処理範囲をレコードの半径方向に一定領域だけ限定し、範囲領域内におけるペン記録の座標情報を時系列データとして獲得していきます(右下図参照)。
cut_movie_ver3.0recordscan

■音楽生成

画像処理を行った結果得られた数値データに基づきMAXを用いて音楽生成を行っています。

selectSound_ver2.0
本システムにおける音楽は複数種類の周波数のサイン波が合成されることによって生成されるプリミティブな音によって構成されます。ここで生成される音は描画行為における描画速度や筆圧といったパラメータの変化にともないその性質が変化します。
サイン波の重ね合わせによる音生成部分ではユーザの描画行為における筆記速度に比例して音高が高くなるように設定されており、また筆圧の強度に比例して音量が大きくなるように設定されています。左図はサイン波の周波数・振幅を画像処理から得られたパラメータの性質に応じて変化させるパッチとなっています。

描画運動情報と音の関係

描画運動情報と波形の関係
描画運動情報と波形の関係

RecordSketchにおいて、レコード上に記録される波形は「筆圧が強ければ強いほど振幅が大きく」なり、「ペン速度が速ければ速いほど波形の往復運動が激しく」なるようにデザインされています。(左図はCommandPlot.maxpat上に表示される記録ペンの目標位置と記録ペン速度の推移のグラフです。)波形情報から音を出力する際には、振幅が大きいほど出力される音域が広く、波の往復運動が激しくなるほど出力される音の変化が激しくなります。

実行マニュアル

必要なもの

  • 以下の条件を満たすPC
  • スピーカ
  • Wacom社intuosシリーズのペンタブレット
  • レコード記録・再生装置

ソフトウェアのセットアップ

RTCGatewayの導入

RTCGatewayとはCycling’74社のMax(MAX/MSP)とRTミドルウェアである産業総合技術研究所開発のOpenRTM-aistとの間でデータ交換を行うことができるプラグインです。
以下のURLからRTCGatewayのビルド方法・使用方法について確認できます。
(http://ogata-lab.jp/tech/814.html)

macTabletRTCの導入

macTabletRTCはWacom社intuosシリーズのペンタブレットを使用する際のペン位置・筆圧・ペンの傾きを取得し出力するRTコンポーネントです。
以下のURLからmacTabletRTCのビルド方法・使用方法について確認できます。
(http://ogata-lab.jp/tech/807.html)

ソフトウェアの起動

各種RTコンポーネントの起動・接続

本システムを開始するための準備としてまず各種RTコンポーネントをOpenRTM-aist上で起動し、システム構成図に示した通り各コンポーネントのデータポート同士を接続しアクティベートする必要があります。
[各種RTCの起動・接続]
OpenRTM-aistを起動し、ペンタブレットのRTコンポーネントであるmacTabletRTCをRTsystemEditor上に表示させます。
[各種MAXパッチの起動]
上記ソフトウェアの項目で紹介したMAXの各種パッチファイル(CommandPlot.maxpat・generateSound_ver3.maxpat)を開いてください。アクチュエータの目標速度を算出するパッチであるCommandPlot.maxpatを開いた後、パッチ画面左上に位置しているactivateボタンをクリックすることでOpenRTM-aistのRTsystemEditor上にMAX_MSP_RTCという名前のRTコンポーネントが表示されます。
macTabletRTC・MAX_MSP_RTC・PlotterRTCすべてのRTコンポーネントをRTsystemEditorに表示後、それぞれのパッチを接続することでレコードスケッチのソフトウェアにおけるセットアップは完了です。

装置のセットアップ

実行方法

レコードスケッチでは実際にペンタブレット上でペンを操作する前にMAXパッチファイルを操作し、装置の初期化等の処理を行う必要があります。以下の操作をペンタブレット上で描画作業を始める前に行ってください。

MAXパッチファイルの操作

RTコンポーネントの起動・接続が終了後、レコードスケッチの実行をするために各MAXパッチファイルの操作を行う必要があります。以下、各maxpatファイルの操作手順を説明します。

  1. sketchInterface.maxpat:本パッチファイルはRecordSketchにおいて絵を描くインタフェースとなっています。ファイルを開いた後、画面上のtoggleボタンをクリックすることで線を描く準備ができます。

  2. CommandPlot.maxpat:本パッチファイルはペンタブレットから取得されるペン座標・筆圧情報から波形記録部分のペン付きアクチュエータの目標速度を算出します。

  3. generateSound_ver3.maxpat:本パッチファイルはレコードに記録された線を認識し、音楽を生成するためのパラメータを用意、最終的にそのパラメータに基づいて音を出力するパッチです。まず、パッチ画面内のusesrcdimボックスのチェックボタンをチェックします。次に画面上部にあるleft、top、right、bottomの各種数値を適当に設定することで画像を読み取る範囲を限定します。ここで設定された読み取り範囲は動画上に赤枠の四角形として表示されます。最後に画面最上部に位置するtoggleボタンをクリックすることで線情報の読み取りおよび音の再生が開始されます。

ペンタブレットの利用

各種maxpatファイルの設定が終了後、ペンタブレット上でペンの筆記速度・筆圧を変化させながら描画行為を行うことで、それに応じた音がMAXによって生成されます。なお、maxpatファイルにおいて設定可能なパラメータを変化させることで出力される音の性質が変化するので適宜パラメータを変更することでレコードスケッチによる表現を楽しんでください。