カーペットフラクタルの可聴化と音楽生成

岩淵勇樹

フラクタル図形の一種としてカーペットフラクタルを定義する. カーペットフラクタルをラスタースキャン方式によって可聴化することにより,音楽的な音声を生成することができた. 本手法はいくつかの2値パラメーターだけで曲を生成できるため,容易に導入できる他,直接入力以外の方法と組み合わせることも可能である.

Musical Sonification of Carpet Fractals

We define “Carpet Fractals” a kind of fractals. We discovered to be able to generate musical sounds by raster scanning from Carpet Fractals. This method enable to generate various music easily by binary parameters, not only direct input.

はじめに

データから音楽を生成したり,聴覚を用いてデータを理解するために,可聴化という技法が研究されている. 可聴化はどのようなデータをソースとするかによって意味合いが変わり,またどのような出力が得られるかで聴き手の印象が大きく変わる. 生成音楽としては,表現できるパターンが自由すぎてテーマ性のない音楽になるか,反対にどの出力も似たり寄ったりで飽きやすいものになるということが多々ある.

提案手法では,短い数列を入力とするため,簡単な操作によって音楽を生成可能となり,さまざまなデータを可聴化させることができる. また,いくつかの変形を用いることで,音の印象もある程度の多様性を与える.

背景

フラクタルやセルオートマトンなど,数学的なデータを可聴化する試みは数多くされているが[引用], [引用], [引用],それらの多くは数値を音高に割り当てたメロディ生成で,直接音として鳴らす例は少ない.

著者らはこれまで,閉曲線に対する形状操作等の直接操作によって周期音声信号を変化させる方式による音色の操作方法を提案してきた. これは画像と音声の相互変換の一手法であるが,生成できるのは音色であり,音楽生成とはなっていない.

画像を音声に変換する方法として,テクスチャなどをラスタスキャンする研究もされており[引用],幾何学的図形をこの方法で可聴化することにより,従来のシンセサイザと同等な音声を生成することが可能である.

その一方で,数値演算を音楽に応用する方法として,プログラミングにおける初等的な演算を用いて音楽を生成する,ワンライン音楽が発見された[引用]

音色とメロディを同時に生成する音楽的な可聴化である. 提案手法はワンライン音楽よりは音階の豊かさは乏しいが,同様に音色とメロディを同時に生成する.

カーペットフラクタル音楽

カーペットフラクタルの定義と生成法

ジェネレータ$B$として$m \times n$の2次元配列を設定する. 各要素$a_{ij}$には$0$か$1$が割り当てられる.

\begin{eqnarray} B = \begin{bmatrix} a_{11} & a_{21} & \cdots & a_{m1}\\ a_{12} & a_{22} & \cdots & a_{m2}\\ \vdots & \vdots & \ddots & \vdots\\ a_{1n} & a_{2n} & \cdots & a_{mn} \end{bmatrix} \end{eqnarray}

2次元配列の各要素に以下の置換を行う.

\begin{eqnarray} \left\{ 0 \rightarrow 0 B , 1 \rightarrow B \right\} \end{eqnarray}

$0 B$はすなわち$m \times n$の$0$のみによる2次元配列である. 1回の置換操作により,要素数は横に$m$倍,縦に$n$倍になる.

この置換を初期配列$\begin{bmatrix}1\end{bmatrix}$を起点として順次適用し,各ステップ毎に単位正方形上に縮小してプロットした図形の極限をカーペットフラクタルと定義する.

例えば,ジェネレータを以下のように設定すると,に示されるシェルピンスキーのカーペット$S$が生成される. なお,要素の値が$0$である点を白,$1$である点を黒としている.

\begin{eqnarray} B = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 1 \end{bmatrix} \end{eqnarray} \begin{eqnarray} S_0 = \begin{bmatrix} 1 \end{bmatrix} , S_1 = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 1 \end{bmatrix} \nonumber \\ S_2 = \begin{bmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 1 & 0 & 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 1 \\ 1 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 1 \\ 1 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 1 & 0 & 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \end{bmatrix} \nonumber \end{eqnarray}

シェルピンスキーのカーペット

シェルピンスキーのカーペット

Sierpinski carpet.

また,別の例としてシェルピンスキーのギャスケットの変形$G$を挙げる.

\begin{eqnarray} B = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix} \end{eqnarray} \begin{eqnarray} G_0 = \begin{bmatrix} 1 \end{bmatrix} , G_1 = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix} , G_2 = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ \end{bmatrix} \nonumber \end{eqnarray}

これらの図形は自己アフィンフラクタルのうちの限定的な集合であり, その他有名なフラクタル図形であるカントールの塵,Vicsek fractal,Hexaflake(変形)などもこの方法で生成可能である().

(a) シェルピンスキーのギャスケット(変形)

(b) カントールの塵

(c) Vicsek Fractal

(d) Hexaflake(変形)

有名なカーペットフラクタル

Famous carpet fractal.

にカーペットフラクタルの例としてジェネレータと生成図形を示す.

(a1) $P$のジェネレータ

(a2) $P_5$

(b1) $Q$のジェネレータ

(b2) $Q_5$

カーペットフラクタルの例

Examples of carpet fractal.

カーペットフラクタルの可聴化

カーペットフラクタルの途中段階をラスタ走査によりPCM信号化することにより可聴化する).

ラスタスキャン

ラスタスキャン

Raster scanning.

例えば,で例示したシェルピンスキーのギャスケット$G_2$は以下のような1次元信号に変換される.

$[1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0]$

これはサンプル数$16$となり,サンプリング周波数$8000$[Hz]で再生すると$0.002$秒の音声出力が得られる. これでは短くて音楽的に聴こえないが,$G_{10}$では同様にして約$131$秒の音声出力が得られる.

例として,に$P_2$から生成される波形を示す.

カーペットの波形の例

カーペットの波形の例

Example of wave form of carpet.

今回はデモプログラムとして$4 \times 4$の大きさのジェネレータを用いた置換回数$5$回,サンプリング周波数$8192$[Hz]の可聴化プログラムを作成した. 本プログラムでは$2^{16} = 65536$通りの音声信号を生成できる.

他の音声合成方法との関わり

Scanned Synthesisとしてのカーペットフラクタル音楽

Max Mathewsらによって1998-2000年に開発・提唱された新しい物理モデル音源方式として,Scanned Synthesisがある[引用], [引用] .物理モデルで決定される動的な点群を任意の曲線で走査(サンプリング)することによって音声信号を生成する手法であり,これにより,リアルタイムに減衰などの変化をする音を生成することができる. また,これに関連した音合成方式として,地表面軌道合成(Wave Terrain Synthesis,波形地表面合成とも呼ばれる)が提案されている[引用], [引用].これは,静的な2変数関数(地表面)を任意の曲線で走査し,走査したそれぞれの点での関数値を波形値とする方式である.Scanned Synthesisでは時間的に変化する動的な物理モデルを用いるのに対し,地表面軌道合成では時間的に固定された静的な地表面を用いる.また,Scanned Synthesisでは,点群の連結が弦のように1次元的であったり格子状のように2次元的であったりと次元が自由であるのに対し,地表面軌道合成では地表面が2変数関数に限られる.

カーペットフラクタル音楽は,$0$と$1$を値としてもつフラクタル平面を,多数の並行な直線で走査(ラスタスキャン)するため,Wave Terrain Synthesisの一種ともいえる(ただし,走査経路は閉曲線ではないため厳密には異なる).

Granular Synthesisとしてのカーペットフラクタル音楽

Granular Synthesis(細粒合成,グラニュラー合成)[引用], [引用]とは,1〜100[ms]程度の粒子(grain)を時間軸上に多数配置して音声を生成する音声合成方法である. カーペットフラクタルによる音声変調の一つとして,細粒合成の考えを基に,音声信号をジェネレータとしたカーペットおよび音声信号の生成を試みた(). これはサンプリング周波数$44100$[Hz]で約6秒のピアノの音声信号を一定間隔ごとに区切り,$591$[px] $\times$ $473$[px]の画像を作り,$Q$のジェネレータ((b1))の配置でコピーしラスタスキャンを行ったものである. 聞こえとしては,元のピアノ音がプツプツと途切れた音として4倍の長さで音色を変えながら4回鳴る,という結果が得られた. これは矩形パルスをgrainとしたGranular Synthesisといえる. 置換回数が1回のみなのでフラクタルとは言えないが,このように音声加工に応用することも可能である.

ピアノ音を元にしたカーペット

ピアノ音を元にしたカーペット

Carpet with piano sound.

ワンライン音楽による生成

で例示したシェルピンスキーのギャスケット$G_{10}$を, 生成コードが30文字程度のプログラムで再現できた.

(((t/1024)&(t%1024))==0)?255:0

従来のワンライン音楽でもシェルピンスキーのギャスケットが描かれるプログラムが存在するが,それは時間-振幅値での表示であり,それとは異なる.

一般のカーペットフラクタルも同様の手法でプログラムを作成できる可能性があり,ワンライン音楽上の研究として還元することができるかもしれない.

考察

ジェネレータのある1行が横に回転されても生成される音楽の聴こえは変わらない.

ジェネレータに1が多いと継続音が多くなり,1が少ないと逆にパルス音が多くなる.

今回生成したカーペットフラクタルによる音楽は振幅値が0か1,つまり1ビットの音楽である. これはすなわち矩形波の組み合わせとなるため,矩形波に近い音色に凝り固まってしまう.0と1の中間値の濃淡を持たせるフラクタル生成法を用いることによりさらに多様な音色を作ることができると考えられる.

カーペットフラクタル音楽の拍子はジェネレータの縦幅に起因する. 縦幅が偶数の場合,4つ打ち的なビートに聞こえる.

カーペットの反復回数によってメロディが一緒に大幅に変わってしまうため,同じ反復を繰り返すのではなく,リズムパターンで重畳するなどの工夫もあると音楽制作に有用と思われる. また,カーペットフラクタル音楽は高周波を多く含むため,音楽活用の際にはLPFを通すなど,ある程度の加工があることが望ましいと考えられる.

カーペットでの置換の際,ジェネレータが$x$軸方向にコピーされることによってパルス幅変調(PWM)のような効果が得られる. 例えば,以下のジェネレータを用いると,パルス幅が徐々に広がるような音声が生成される.

\begin{eqnarray} \begin{bmatrix} 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\ \end{bmatrix} \nonumber \end{eqnarray}

ワンライン音楽は短い式で曲を生成できるが,演算子を適切に使うことに熟練を要する.一方,カーペットフラクタル音楽はいくつかの2値パラメーターだけで曲を生成できるため,容易に導入できる他,直接入力以外の方法(画像データやセンサー入力など)と組み合わせることも可能である.

まとめと展望

カーペットフラクタルから音楽的な音声信号を得ることができた. 今後は提案法を元に,インタラクティブコンテンツへの応用などを行いたい. また,現在$2$値であるパラメータを実数値にしたり,配列置換とは異なるステップを用いるなど生成法を工夫することにより,さらに面白みのある音楽生成をできるようにしたい. 本研究では音楽を作れることが特徴の一つではあるが,部分的に波形を切り出してDTMにおける音色生成ロジックに利用することも期待される.

参考文献

  1. Ogawa, K. and Kuhara, Y.: Life Game Orchestra as an Interactive Music Composition System Translating Cellular Patterns of Automata into Musical Scales, The 9th International Conference on New Interfaces for Musical Expression (2009).
  2. Wolfram Research: WolframTones: An Experiment in a New Kind of Music.
  3. Díaz-Jerez, G.: FractMus Overview.
  4. Yeo W. S. and J. Berger: Application of raster scanning method to image sonification, sound visualization, sound analysis and synthesis, Proc of the 9th Int. Conference on Digital Audio Effects (2006).
  5. Heikkilä, V.: Discovering novel computer music techniques by exploring the space of short computer programs, arXiv (2011).
  6. 岩淵勇樹・秋田純一・北川章夫: 閉曲線を利用した音色の操作法, 芸術科学会論文誌 Vol.10(2011).
  7. Boulanger, R., Smaragdis, P., and Ffitch, J.: Scanned synthesis: An introduction and demonstration of a new synthesis and signal processing technique, In Proceedings of the 2000 International Computer Music Conference (2000).
  8. cSounds.com: scanned synthesis.
  9. 青柳龍也, 小坂直敏, 平田圭二, 堀内靖雄: コンピュータ音楽―歴史・テクノロジー・アート―, 東京電機大学出版局(2001).
  10. 小坂直敏: コンピュータ音楽で用いる珍しい音合成方式, 音響学会音楽音響研究会資料(2005).