Embedded Files

IanniXを用いた3次元図形譜と聴覚障がい者のための音の可視化


東洋大学総合情報学部総合情報学科メディア文化コース4年 内田亘俊


Iannixを用いた3次元図形譜

作成方法等解説


音楽を表現するには一般的に楽譜を用いるが、20世紀中期頃になってからアメリカの作曲家、モートン・フェルドマンによって図形により音楽を表現する「図形譜」が発案されたとされる。

20世紀の作曲家の場合、図形譜で表現するのに2次元図形を使用していたが、最近になって3次元図形も活用されるようになった。

そこで、図形譜作曲ソフトウェア「Iannix」による2次元視点から3次元視点への切り替え、midiとIannixの連携を受けて、微分音での演奏シミュレーションを説明したいと思う。

最初に下の画像がIannixを起動した時のスタート画面である。

起動した時は、このように何も図形が表示されていなく、xy軸だけ表示されている画面になっている。

次に、軸上に図形を描く。

今回は下の画面右の「RESAMPLE」ボタンの下の関数図形のサンプルより「2D rosette or 3D sphere?」を選択する。

すると、下の画像のように軸上に2次元の花形の図形が追加され、画面右に関数やパラメータの編集画面が表示される。

今度は上の画像のように表示されている2次元図形を3次元図形に変換する。

xy座標画面にカーソルを置き、Windowsの場合はAltキーを押しながら、macの場合はoptionキーを押しながらドラッグ・アンド・ドロップをする事で新たにz軸が表示され、元々2次元であった図形が3次元図形に変換され、正確には本来2次元のように見える座標に表示されていた3次元図形が、視点を変える事によってz軸が現わされた事により、きちんとした3次元に見えるようになったのである。

この形でも図形譜としては成り立つが、このままでは音が出なく、人によっては少し見にくいので、音を出す点「Triggers」の追加と上の画像右下のパラメータを操作する。

そして、「Triggers」を追加するには、上の画像右上の「RESAMPLE」ボタンを押すと、「Generate triggers instead of resampling curve」のボタンを押し、「Number of points」の数値を好きな値に変更する。

「OK」ボタンを押す事で適用され、変更が下の画像のように図形譜に反映される。

コンピュータで演奏するには音源が必要である。

そこで、ここでは微分音チューニングソフトウェア「Scala」と仮想midiインターフェース「loopMIDI」でIannixとmidi連携し、演奏をシミュレーションする。

普段私達が効いている音楽は12平均律(C、Cシャープ、D、Eフラット、E、F、Fシャープ、G、Gシャープ、A、Bフラット、B)で表されるものが多い。

「12平均律(またはそれを省略して「平均律」)」とは、1オクターブ(基準のCからその1個上の高さのCまでの音)を12分割した音のそれぞれである。

それに対して「微分音」とは、1オクターブをn分割した音のそれぞれである。

この時、nに入る値は12より小さくても、12でも、12より大きくても良い。

微分音は民族音楽や現代音楽、エレクトロニック等、様々なジャンルの音楽の演奏場面で使用されている。

Scalaでの微分音のチューニング方法を説明する。

下の画像がScalaのスタート画面である。

まず、下の画像のように「File」メニューの「New」から「Equal temperament」という選択肢を選ぶ。

選択肢を選ぶと平均律を微分音に分割する画面が出現する。

出現した画面の「Division」の値を好きな数値に変え、その後に「Number of tones」の数値の欄をクリックすると「Division」で変更した値が「Number of tones」に同期され、それぞれ同じ数値になる。

ここでは、midi音源が出せる音の数が2⁷-1=127音という事で、128音目を1オクターブ上の音として128平均律に設定する。

ここまで終了した時点で画面中央右下の「Equal Temperament Data」を押すと設定したデータがScala内のスタート画面のコンソール部分に表示され、「適用(A)」、「OK(O)」の順にクリックする事で微分音チューニングの設定が反映される。

設定した微分音を鍵盤でシミュレーションしたり、微分音鍵盤の平均律の割り当てを変更するには上の画像左上の「Play」をクリックすると下の画像のように鍵盤が表示される。

鍵盤の設定と確認が終わったら、「閉じる(C)」、あるいは「×」ボタンを押して鍵盤の画面を閉じ、下の画像の左上にある「Relay」を押すと、画像のように「Microtuning MIDI Relay」という、仮想midiインターフェースを介してコンピュータ内のシフトウェア・シンセサイザーの音源として適用する画面が出現する。

この時同時に、下の画像のようにloopMIDIの画面も表示させておく。

midi入力を仮想midiインターフェースに設定する。

ここでは下の画像のように、loopMIDIの中の「loopMIDI Port」に設定する。

設定した後の画面は、下の画像のようになる。

続いて、midi出力を設定する。

上の画像の右下「Change」を押すと、下の画像の中央にあるような「MIDI Sound Settings」という、出力音源を設定する画面が出てくるので、ここでは下の画像のように、midi出力を「Microsoft GS Wavetable Synth」に設定する。

設定した後は下の画像のようになっている。

上の画像中央「MIDI Program」の中の楽器を変える事で、出力音源を好みの楽器に設定出来る。

その後、「適用(A)」、「OK(O)」の順にクリックし、下の画像右下のように「Start Relaying」ボタンを押す。

下の画像のようになっていれば動作している事になる。

これでIannixとScalaがmidi経由で連携され、Iannixでの演奏が可能になる。

Iannixでの演奏シミュレーションの前に、下の画像中央にある手の形をした「Locks objects position」ボタンの左の「Allows cursors selection」をクリックする事で、図形譜の中の演奏位置をリアルタイムで鮮明に見る事が出来る。

下の動画が3次元図形譜の128平均律微分音の演奏をシミュレーションしたものである。

ここで紹介した事以外でもIannixでは、下の画像や動画のように2次元での図形譜の作成でも十分に表現出来る。

図形譜作成ソフトウェアはIannixだけでなく「HighC」やフランス国立音響音楽研究所(IRCAM)が紹介している「OpenMusic」等、様々な種類が存在している。

因みに、中でも「HighC」は初心者でも分かりやすく、使いやすいソフトウェアである。

下の動画はこれまでに「HighC」で作成した音楽であるが、x軸が時間、y軸が音高(周波数)、色が表すものが演奏される楽器の種類である。

また、下の動画はこれまでIannixで作成した音楽である。

円形や楕円形のような繰り返し演奏されるものは画面の中央頂上を一番低い周波数として、各図形内の軌道を再生位置を表す「Cursor」が進む事によって周波数が高くなり、各図形の中央頂上に戻る事により元の周波数の高さに戻るという仕組みになっている。


波形や直線等の図形で表されるものに関しては、開始位置を一番低い音として、時間が進み、再生位置が終わりに図形の近づくにより、高い音になるという構造である。

今回例として挙げた、IannixやHighC、OpenMusicは容易に始める事が出来るので、試してみると良いと思う。

聴覚障がい者のための音の可視化

作成方法等解説


私は、今まで多くの障がい者と関わりを持ってきた。

その範囲は発達障害を持つ方々や、知的障がい者と呼ばれる方々等様々である。

今年の春、私は耳がほとんど聞こえない、いわゆる「聴覚障がい者」と呼ばれる学生と知り合った。

その学生に何度か話を聞いている中で、彼は音に関して興味を持っていて興味深いエピソードを話してくれたので彼のために、また、聴覚障がい者のために少しでも役に立つ事は出来ないか、と考えた事が動機である。

そこで、ここでは音を可視化し、聴覚障がい者に音を表現するためにオンラインのビジュアルライブコーディングツール「hydra」にて、音が入力された時の映像の制御方法を紹介する。

まず、この「hydra」には幾つか類似した系列のツールがあるので、「hydra」と共に紹介する。


「hydra」

https://hydra.ojack.xyz/

または

https://hydra-editor-v1.glitch.me/


「PIXELJAM」

http://pixeljam.glitch.me/


「hydra inside a webpage」

https://hydra-webpage.glitch.me/


「SpaceX p5.js Editor」

https://spacex-p5js-editor.glitch.me/


「p5.js Web Editor」

https://editor.p5js.org/


これらの中で、ここでは「hydra」を使用する。

まず、hydraを開くと下の画像のような画面になっている。

また、開始時の映像は幾つかあるパターンの中でもランダムで生成されるので、毎回同じ映像が出るとは限らない。

上の画像の映像内右上の「×」を押し、既にある映像を編集していく。

このように、プログラムをリアルタイムで編集、実行しながら、音や映像をその場で即興的に生成していくパフォーマンスの形態を、「ライブコーディング」という。

「hydra」内のライブコーディングに関する詳しい概要説明は、「ojack/hydra: Livecoding networked visuals in the browser (https://github.com/ojack/hydra) 」ページ内、関数に関する説明は「hydra/funcs.md at master · ojack/hydra (https://github.com/ojack/hydra/blob/master/docs/funcs.md) 」ページ内を参照出来る。

ここでは、音の入力に同期して映像を制御する関数「a.fft」を活用し、音を可視化する。

下の動画を見て頂きたい

動画では、ライブコーディングで生成した映像に「()=>(a.fft[0]*0.5+1)」と入力する事によって、一番低い周波数に大きく反応するように編集している。

関数の解説になるが、「()=>(a.fft[0]*0.5+1)」の中の、「[]」内の値は数値を高い値に設定すればする程、高い周波数に反応するようになっている。

続いて、「()=>(a.fft[0]*0.5+1)」の中の、「0.5」という値は、映像が音に反応する大きさを示していて、大きい値に設定する程、入力された音に対する反応が大きくなる。

「()=>(a.fft[0]*0.5+1)」の中の、「1」という値は、音が入力されていない時の映像やその中で使用されている形の、標準を「1」とした時の変化率を表していて、数値を大きく設定する程、音が入力されていない時のデフォルトの映像が変化する。


以上の3次元図形譜と音の可視化を通して、音を視覚的に表現する事に関して、3次元図形譜については、今後様々な4次元、5次元等、様々な次元で表現された図形譜が出現する可能性や、音の可視化に関しては、今回のように音のタイミングや音の大きさだけでなく、音高にも反応出来るようになる期待を感じた。


参考文献:

「Iannix」 : https://www.iannix.org/en/

「Scala Home Page」 : http://www.huygens-fokker.org/scala/

「微分音の鳴らし方・再生法 - 微分音のメモ帳 -microtonal memo-」 : https://sites.google.com/site/microtonalmemo/how-to-microtuning#TOC-Scala-1

「HighC - draw your music」 : http://highc.org/

「IRCAM | Ircam」 : https://www.ircam.fr/lircam/

「Ircam Software | Ircam Forum」 : https://forum.ircam.fr/collections/detail/technologies-ircam/

「hydra」 : https://hydra.ojack.xyz/

「ojack/hydra: Livecoding networked visuals in the browser」 : https://github.com/ojack/hydra

「hydra/funcs.md at master · ojack/hydra」 : https://github.com/ojack/hydra/blob/master/docs/funcs.md

Page updated
Google Sites
Report abuse