Attractor II(COBOLで音楽を生成 -3-)

初版 2019/08/18 00:35

改訂 2019/08/30 03:18

COBOLは事務処理用の言語と言われていますが、テキストデータの処理はけっこうできるので、他のアプリと連携すればたいていのことは出来てしまいます。

この作品は2枚の翼と呼ばれるアトラクターをプロットするためのデータをCOBOLで生成し、グラフィック処理と音楽生成処理を別のアプリで行った例です。


グラフのプロットは「gunplot」音楽データ(MML)への変換にはスクリプト言語「awk」を使っています。




Attractor II


Attractor II | YAMAZAWA

Attractor II by YAMAZAWA, released 29 July 2015 1. 壱之巻(大型竪琴) 2. 弐之巻(鳴りもの)

https://yamazawa.bandcamp.com/album/attractor-ii



[データ生成プログラム]


program-id. attractor2.


data division.

working-storage section.

01 i pic 9(6).

01 a pic s9v999999.

01 b pic s9v999999.

01 x0 comp-2.

01 x1 comp-2.

01 y0 comp-2.

01 y1 comp-2.

01 ad pic x(20).


procedure division.

display '2mai no tsubasa' upon syserr

display 'a=' upon syserr no advancing accept ad compute a = function numval(ad)

display 'b=' upon syserr no advancing accept ad compute b = function numval(ad)

compute x0 = 0.1 compute y0 = 0

perform varying i from 1 by 1 until i > 10000

compute x1 = y0 + a * x0 + (5 * x0 ** 2) / (1 + x0 ** 2) + 1 - 0.2 * function exp(-y0 ** 2)

compute y1 = -b * x0 + 5 * (-1 ** i)

display x1 ' ' y1

compute x0 = x1 compute y0 = y1

end-perform

exit program.



10000個のデータがプロットされる様子。こちらは「processing」で書きました。


Attractor2

null

http://etext-music.com/processing/attractor2.html



#プログラミング #COBOL

Author
File

mugen

様々なプログラミング言語を使って、音楽を自動作曲しています。

使用している言語

・awk
・COBOL
・JavaScript
・R
・サクラ
・ドリトル
・なでしこ

https://yamazawa.bandcamp.com/

Default