Comment detail

Tiny MML (Nested Flatten)
これはなかなか素晴らしいツール。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
(function playbeep(scr, quaver, beep){
	if(!beep) (beep = WSH.CreateObject("SfcMini.DynaCall")).Declare("kernel32", "Beep");
	if(!quaver) quaver = 250;
	var S = { c:262, d:294, e:330, f:349, g:392, a:440, b:494, r:0 };
	with(Math) scr.replace(/([a-grA-G])(\d?)(\+*)(-*)(\.?)/g, function($, s, t, p, m, d){
		var hz = s.charCodeAt(0) > 96 ? S[s] : round(S[s.toLowerCase()] * 1.06);
		var dr = round(quaver * pow(2, p.length) * pow(2, -m.length) * (d ? 1.5 : 1));
		if(hz) beep(t ? hz * pow(2, t - 3) : hz, dr);
		else WSH.Sleep(dr);
	});
})("e+g+c4++g+a+g++r.c-e.g-c4+b.a-g++.r++");
// 大文字は半音上,0~9で高さ指定(省略で3),+-.で長さ調整(伸び|縮み|付点)。

Index

Feed

Other

Link

Pathtraq

loading...