1
+ BSP . SONG = ( function ( SONG = { } ) {
2
+ Array . prototype . rotate = function ( t ) { return this . slice ( t , this . length ) . concat ( this . slice ( 0 , t ) ) }
3
+ var w0 = new Float32Array ( [ 0 , 1 , .5 , .3 , .5 , .1 ] ) ,
4
+ w1 = new Float32Array ( [ 0 , 1 , 0 , 0 , 1 , 0 , .1 , .25 , .1 , .6 ] ) ,
5
+ w2 = new Float32Array ( [ 0 , .2 , .1 , .1 , .3 ] ) ;
6
+ var A = [ w0 , w0 ] , B = [ w1 , w1 ] , C = [ w2 , w2 ] ;
7
+ /* ----------------------------- */
8
+ SONG . title = "stormlord 2"
9
+ SONG . author = "bryc"
10
+ SONG . date = "jan-14-2018"
11
+ SONG . comment = "pattern variables, rotated patterns, periodic waves.<br>remake of a remake of a remake (https://soundcloud.com/bryc/stormlord-two)"
12
+ SONG . bpm = 81
13
+ SONG . divide = 6
14
+ SONG . cVol = [ .25 , .19 , .08 , .045 , .06 , .05 , .05 ]
15
+ SONG . wave = [ A , B , B , B , C , C , C ]
16
+
17
+ var bass = [
18
+ [ 'd-3' ] , , , , , [ 'd-3' ] ,
19
+ - 1 , , [ 'd-3' ] , , , [ 'a#2' ] ,
20
+ , , , , , [ 'a#3' ] ,
21
+ - 1 , , [ 'a#2' ] , , , [ 'a#2' ] ,
22
+ ]
23
+ var bass2 = [
24
+ [ 'a-2' ] , , , , , [ 'a-2' ] ,
25
+ - 1 , , [ 'a-2' ] , , , [ 'd#3' ] ,
26
+ , , , , , [ 'd#4' ] ,
27
+ - 1 , , [ 'd#3' ] , , , ,
28
+ ]
29
+ var bass3 = [
30
+ [ 'a-2' ] , , , , , [ 'a-2' ] ,
31
+ - 1 , , [ 'a-2' ] , , , [ 'g#2' ] ,
32
+ , , , , , [ 'g#3' ] ,
33
+ - 1 , , [ 'g#2' ] , , , ,
34
+ ]
35
+ var pad0_0 = [
36
+ [ 'c-5' ] , , , , , ,
37
+ , , , , - 1 , [ 'd-5' ] ,
38
+ , , , , , ,
39
+ , , , , , - 1 ,
40
+ ]
41
+ var pad0_1 = [
42
+ [ 'c-5' ] , , , , , ,
43
+ , , , , - 1 , [ 'd-5' ] ,
44
+ , , , , , ,
45
+ , , , , , - 1 ,
46
+ ]
47
+ var pad0_2 = [
48
+ [ 'c-5' ] , , , , , ,
49
+ , , , , - 1 , [ 'c-5' ] ,
50
+ , , , , , ,
51
+ , , , , , - 1 ,
52
+ ]
53
+ var pad1_0 = [
54
+ [ 'f-5' ] , , , , , ,
55
+ , , , , - 1 , [ 'f-5' ] ,
56
+ , , , , , ,
57
+ , , , , , - 1 ,
58
+ ]
59
+ var pad1_1 = [
60
+ [ 'e-5' ] , , , , , ,
61
+ , , , , - 1 , [ 'f-5' ] ,
62
+ , , , , , ,
63
+ , , , , , - 1 ,
64
+ ]
65
+ var pad1_2 = [
66
+ [ 'e-5' ] , , , , , ,
67
+ , , , , - 1 , [ 'd#5' ] ,
68
+ , , , , , ,
69
+ , , , , , - 1 ,
70
+ ]
71
+ var pad2_0 = [
72
+ [ 'a-5' ] , , , , , ,
73
+ , , , , - 1 , [ 'a-5' ] ,
74
+ , , , , , ,
75
+ , , , , , - 1 ,
76
+ ]
77
+ var pad2_1 = [
78
+ [ 'g-5' ] , , , , , ,
79
+ , , , , - 1 , [ 'a#5' ] ,
80
+ , , , , , ,
81
+ , , , , , - 1 ,
82
+ ]
83
+ var pad2_2 = [
84
+ [ 'g-5' ] , , , , , ,
85
+ , , , , - 1 , [ 'g-5' ] ,
86
+ , , , , , ,
87
+ , , , , , - 1 ,
88
+ ]
89
+
90
+ var melody1 = [
91
+ , , , [ 'a-5' ] , - 1 , [ 'c-6' ] ,
92
+ - 1 , , [ 'c-6' ] , - 1 , , [ 'c-6' ] ,
93
+ , , , [ 'd-6' ] , - 1 , ,
94
+ , , , [ 'a-5' ] , , ,
95
+ [ 'g-5' ] , , , , - 1 , [ 'f-5' ] ,
96
+ , , [ 'e-5' ] , , , [ 'f-5' ] ,
97
+ , , , , , ,
98
+ [ 'a#5' ] , , , , , ,
99
+ [ 'c-6' ] , , , [ 'a-5' ] , , [ 'g-5' ] ,
100
+ [ 'f-5' ] , , [ 'd-5' ] , - 1 , , [ 'c-5' ] ,
101
+ , , , [ 'd-5' ] , - 1 , ,
102
+ [ 'c-5' ] , [ 'd-5' ] , [ 'f-5' ] , [ 'g-5' ] , [ 'a-5' ] , [ 'c-6' ] ,
103
+ [ 'd-6' ] , , , , , ,
104
+ , - 1 , [ 'f-6' ] , - 1 , , [ 'g-6' ] ,
105
+ , , , , , ,
106
+ , , , , , ,
107
+ ]
108
+
109
+ SONG . seq = [
110
+ bass . concat ( bass2 , bass , bass3 ) ,
111
+ melody1 , melody1 . rotate ( - 3 ) , melody1 . rotate ( - 6 ) ,
112
+ pad0_0 . concat ( pad0_1 , pad0_0 , pad0_2 ) ,
113
+ pad1_0 . concat ( pad1_1 , pad1_0 , pad1_2 ) ,
114
+ pad2_0 . concat ( pad2_1 , pad2_0 , pad2_2 ) ,
115
+ ]
116
+
117
+ /* ----------------------------- */
118
+ return SONG ;
119
+ /* ----------------------------- */
120
+ } ) ( ) ;
0 commit comments