再帰関数によって生成される音楽をご紹介します。
「再帰関数」とは、自分自身を使って定義される関数です。関数の値を求めるために、何度も自身の関数の値を求めることになります。このとき関数に指定する値を音程に変換して音楽にしたものが「再帰関数音楽」です。くわしい話は先達のページにお譲りしたいと思います。
ここでは、3種類の再帰関数の音楽を生成できます。
Tarai(x, y, z) = y … if x ≦ y Tarai( Tarai(x-1, y, z), Tarai(y-1, z, x), Tarai(z-1, x, y) ) … otherwise
Tak(x, y, z) = z … if x ≦ y Tak( Tak(x-1, y, z), Tak(y-1, z, x), Tak(z-1, x, y) ) … otherwise
Ack(x, y, z) = z+1 … if x = 0, y = 0 Ack(x, y-1, 1) … if z = 0 Ack(x-1, z, z) … if y = 0 Ack( x, y-1, Ack(x, y, z-1) ) … otherwise
以下の「作成」ボタンを押すと音楽を生成し、「演奏」「停止」ボタンで演奏の開始と停止ができます。「保存」のリンクから生成した音楽(midiファイル)を保存できます。
ご参考リンク