フラクタル  3Dフラクタル  3Dカオス  再帰関数音楽  リンク集  雑記集  MyRoom 

再帰関数音楽

再帰関数によって生成される音楽をご紹介します。

「再帰関数」とは、自分自身を使って定義される関数です。関数の値を求めるために、何度も自身の関数の値を求めることになります。このとき関数に指定する値を音程に変換して音楽にしたものが「再帰関数音楽」です。くわしい話は先達のページにお譲りしたいと思います。

ここでは、3種類の再帰関数の音楽を生成できます。

Tarai関数(たらいまわし関数(竹内関数))
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関数(マッカーシー版たらいまわし関数)
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関数(多変数アッカーマン関数)
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ファイル)を保存できます。

演奏設定 テンポ:
音色: GM音色一覧
根音:
オクターブ:
オクターブ範囲:
音階オフセット:
音階逆順:
発音強弱(1-127):
開始音強弱:, 開始経過音数=
終了音強弱:, 終了経過音数=
終了音長割合(%):
発音時間割合(%):

再帰関数:
関数初期値: x=, y=, z=
出力最大音数:




保存:tarai.mid

ご参考リンク

tos.