// midi ref: onlinesequencer.net/4920020
tick=12E3,
length=576E3,
hold=36E3,
decay=16384,
t%=length,
i=f=>isNaN(f)?0:f,
C = 261.63,
Db = 277.18,
D = 293.66,
Eb = 311.13,
E = 329.63,
F = 349.23,
Gb = 369.99,
G = 392.00,
Ab = 415.30,
A = 440.00,
Bb = 466.16,
B = 493.88,
A1=[
[0,1,Gb,5],
[1,2,Db,5],
[2,3,Gb,5],
[3,4,Db,5],
[4,5,Gb,5],
[5,6,Db,5],
[6,7,Gb,5],
[7,8,Db,5],
[8,9,Gb,5],
[9,10,Db,5],
[10,11,Gb,5],
[11,12,Db,5],
[12,13,B,4],
[13,14,A,4],
[14,16,Db,5],
[16,17,A,4],
[17,18,B,4],
[18,19,E,5],
[19,20,Eb,5],
[20,21,E,5],
[21,22,Gb,5],
[22,23,Eb,5],
[23,24,B,4],
[24,25,Gb,5],
[25,26,B,4],
[26,27,Gb,5],
[27,28,B,4],
[28,29,Gb,5],
[29,30,B,4],
[30,31,Gb,5],
[31,32,Bb,4],
[32,33,Gb,5],
[33,34,Bb,4],
[34,36,G,5],
[36,37,Gb,5],
[37,38,D,5],
[38,39,Gb,5],
[39,40,D,5],
[40,41,E,5],
[41,42,Gb,5],
[42,44,E,5],
[44,46,D,5],
[46,48,Db,5],
],
A2=[
[0,1,D,4],
[1,2,Gb,4],
[2,3,A,4],
[3,4,Gb,4],
[4,5,A,4],
[5,6,Gb,4],
[6,7,D,4],
[7,8,Gb,4],
[8,9,A,4],
[9,10,Gb,4],
[10,11,A,4],
[11,12,Gb,4],
[12,13,B,3],
[13,14,Eb,4],
[14,15,Gb,4],
[15,16,Eb,4],
[16,17,Gb,4],
[17,18,Eb,4],
[18,19,B,3],
[19,20,Eb,4],
[20,21,Gb,4],
[21,22,Eb,4],
[22,23,Gb,4],
[23,24,Eb,4],
[24,25,G,3],
[25,26,B,3],
[26,27,D,4],
[27,28,B,3],
[28,29,D,4],
[29,30,B,3],
[30,31,G,3],
[31,32,Bb,3],
[32,33,D,4],
[33,34,Bb,3],
[34,35,D,4],
[35,36,Bb,3],
[36,37,D,4],
[37,38,Gb,4],
[38,39,A,4],
[39,40,Gb,4],
[40,41,A,4],
[41,42,Gb,4],
[42,43,Db,4],
[43,44,E,4],
[44,45,A,4],
[45,46,E,4],
[46,47,A,4],
[47,48,E,4],
],
A3=[
[0,3,D,3],
[3,6,D,2],
[6,10,A,2],
[10,12,Db,3],
[12,18,B,2],
[18,24,Gb,2],
[24,26,G,2],
[26,32,D,3],
[32,36,Bb,2],
[36,44,A,2],
[44,46,G,2],
[46,48,Db,3],
],
piano = array => i(array.reduce((_, v) => _ + (t > v[0] * tick) * (t < v[1] * (tick + hold)) * (sin(sin(a = t / 7680 * v[2] / 4 * (2 ** (v[3] - 1))) + sin(a/4) * 2 + tan(sin(a/4)) * PI + sin(a/2)) / ((t - (v[0] * tick)) / decay + .1)), 0) / 32),
triangle = array => i(array.reduce((_, v) => _ + (t > v[0] * tick) * (t < v[1] * tick) * (asin(sin(t / 7680 * v[2] / 8 * (2 ** (v[3] - 1))))), 0) / 4),
piano(A1)+piano(A2)+triangle(A3)