Strudelify

Giocala

Rossi Vasco

KeyF majorTempo100 bpm
0:00/0:00
// Giocala — Rossi Vasco
// 100 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 129 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · epiano1
const epiano1 = note(`<
  A@3 B@2 C D E@2 F G F H C D E@2 C D E@2 F G F H ~@7 I ~ J K@2 B@2 C D E@2 F G F H ~@7 I ~ J L@2 M@2 L@2 N@2 F G O P
  K@2 B@2 C D E@2 F G F H K@2 B@2 C D E@2 F G F H ~@7 I ~ J ~@26
>`.pickRestart({
  A: "[~@15 [g3,bb3,c4,d4,f4]@4 [bb3,d4,g4]@5, ~@7 f5@4 g5@5 ~@8, ~@15 [bb4,d5]@14 ~@19, ~@8 [g3,g4]@7 ~@9, ~@10 f4@5 ~@9]/3", // Gm7 Gm Bb G
  B: "[~@10 [a4,d5,f5]@2 e5@2 ~@4 f4 ~ d4@6 [d5,f5]@3 ~ f5@2, [a3,c4,d4]@5 ~@3, f4@9 ~@7, ~@7 [a4,d5,f5]@6 a4@3]/2", // Dm D7 Dm
  C: "g3@5 ~@7 c4@4, [d4,f5]@15 ~, [g4,bb4]@9 ~ [f4,g4,bb4]@6, ~@3 g3@4 ~", // Dm Gm Gm7
  D: "[d4,g4]@3 ~@2 g3@3, bb4@9 ~@7, ~@3 [d4,g4]@3 ~@2", // G5
  E: "[[d4,f4,a4]@2 ~@3 [a4,d5,f5] ~@5 [a3,d4,f4]@5, ~@4 [d4,f4]@8 [a4,c5,f5]@7 ~@13, ~@16 d3@15 ~]/2", // Dm F
  F: "[f4,g4,c5,f5]@3 [f4,g4,c5,f5]", G: "~@3 g5, [e4,g4,c5], ~@3 [f5,c6]@5", H: "~@3 g5, [e4,g4,c5], ~@3 f5@5",
  I: "[e5,g5,c6]@15 ~", J: "~@5 e4@3, ~@3 g4@5, ~@3 c4@4 ~",
  K: "[~@7 [g3,bb3,c4,d4,f4]@4 [bb3,d4,g4]@5, [bb4,d5,f5]@15 ~@17, g4@13 ~@19, ~@2 f4@5 ~@9, ~@3 g5@5 ~@8]/2", // Gm7 Gm Bb
  L: "[c5@5 c5@2 a4 ~@3 [d4,f4]@3 [c4,c5]@2, d4@21 ~@11, [a4,f5]@7 f5@6 ~@3, d5@4 ~@3 d5@7 ~@2]/2", // Dm C Dm
  M: "[~@6 [d4,f4]@15 ~@3 bb4@4 [e4,g4,c5]@4, [d5,f5]@27 ~@5, [bb3,bb4]@3 ~, ~@11 f4@3 ~@2]/2", // Dm C Dm Bb
  N: "[~@6 [d4,f4]@15 ~@3 bb4@4 [f4,bb4] ~@3, [d5,f5]@27 ~@5, [bb3,bb4]@3 ~, ~@11 f4@3 d4@2]/2", // Dm Bb5 Dm Bb
  O: "[g4,c5,f5,g5,c6]@3 [f4,g4,c5], ~@12 f5 ~@3", P: "[e4,g4,c5,e5,g5,c6] ~@7",
})).s("gm_epiano1").gain(0.38).pan(0.4)

// chords · epiano1 · soft notes
const epiano1_soft = note(`<
  ~@3 A B ~@2 C ~@4 D ~@2 C ~@3 C ~@4 D ~@9 E ~@2 A B ~@2 C ~@4 D ~@9 E ~@14 A B ~@2 C ~@4 D ~@2 A B ~@2 C ~@4 D ~@9 E
  ~@26
>`.pickRestart({
  A: "~@12 [a4,c5] ~@3", B: "~@4 a3@7 ~ e5@2 ~@2", C: "~@2 c4 ~@13", D: "~@3 c6@5", E: "~@7 c4",
})).s("gm_epiano1").gain(0.19).pan(0.4)

// bass · electric bass pick
const bass = note(`<
  ~ A B C@2 A D E F G H G I A D E F A D E F G H G I J K L K M@3 N@2 I A B C@2 A D E F G H G I J K L K M@3 N@2 I O P Q R
  O P Q S G T U V A B C@2 A D E F G H G I A B C@2 A D E F G H G I J K L K M@3 N@2 I O P Q R O P Q S O P Q R O P Q S O P
  Q R O P Q S W@2
>`.pickRestart({
  A: "g2@4 ~@4 g2 ~ g2@4 d2@2", B: "g2@6 ~@2 g2 ~ g2@2 f2@4", C: "d2@4 d3@4 d2 ~ d2 ~ c3@3 ~",
  D: "g2@6 ~@2 g2 ~ g2@2 c2@4", E: "d2@7 ~ d2 ~ d2@4 ~@2", F: "d2@7 ~ d2 ~ d2@2 d2@4", G: "c2@13 ~@2 g1",
  H: "c2@13 ~@3", I: "c2", J: "f2!7 bb1", K: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ ab2@4 g2@4", L: "f2!8",
  M: "[f2@2 f2@2 f2@2 f2@2 f2@2 f2@2 f2@2 bb1@15 ~ c2@16 ~@2]/3", N: "c2@15 ~", O: "d2@5 ~ d3 d2 ~ c2 d2 ~ c2@4",
  P: "d2@6 d3 d2 d2@4 c2@4", Q: "bb1@6 ~ bb1!2 ~ bb1@2 f1@4", R: "bb1@6 ~ bb2 ab1@3 c3 c2@3 d3",
  S: "bb1@6 ~ f1 bb1@3 ~ bb1@4", T: "c2@10 g2 ~@2 a2@2 ~", U: "c2@3 g2", V: "c2 ~@7", W: "[d2@19 ~@13]/2",
})).s("gm_electric_bass_pick").gain(0.57)

// other · trombone
const trombone = note("<~@3 A ~@2 B C ~@29 A ~@2 B C ~@19 D ~@21 A ~@2 B C ~@19 E ~@7 D ~@7 D ~@5>".pickRestart({
  A: "f5 ~ f5@2 e5 ~@3 f5 ~@7", B: "~@7 f5", C: "~ f5 e5 ~ f5 ~@3", D: "d5!2 ~@14", E: "c5 d5 ~@14",
})).s("gm_trombone").gain(0.43).pan(0.6)

// other · trumpet
const trumpet = note("<~@3 A ~@2 B C ~@29 A ~@2 B C ~@19 D ~@21 A ~@2 B C ~@19 E ~@7 D ~@7 D ~@5>".pickRestart({
  A: "d5@2 d5@2 c5 ~@3 d5 ~@7", B: "~@7 d5", C: "~@2 d5 ~ c5 ~@3 d5@2 ~@6", D: "f5!2 ~@14", E: "e5 f5 ~@14",
})).s("gm_trumpet").gain(0.42).pan(0.4)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~ A@2 B C A@2 B C D E D E A@2 B C A@2 B C D E D E F ~ G ~ G ~ H@3 I A@2 B C A@2 B C D E D E F ~ G ~ G ~@5 J K ~ L J K
  ~ L D E D ~ A@2 B C A@2 B C D E D E A@2 B C A@2 B C D E D E F ~ G ~ G ~ M N O P ~@4 J K ~ L J K ~ L Q K ~ L J K ~ L J
  K ~ L ~@2
>`.pickRestart({
  A: "[~@4 f4@2 d4@2 ~@2 f4@2 ~@2 bb4@3 ~ bb4@2 f4@2 d4@2 ~@2 f4@2 d4@2 bb4 ~, ~ bb4@2 ~ bb4@2 d4@3 ~@3 bb4@2 ~@2]/2",
  B: "~@2 d4 a3 ~ d4 ~ f4, ~ f4@2 ~ f4@2 a3@2", C: "~@4 d4@2 a3@2 ~@2 d4@2 a3@2 f4 ~, ~@2 f4@5 ~ f4@4 ~@4",
  D: "~ f4 c4 g3 f4 c4 ~ f4, ~@3 g3", E: "~ f4 c4 g3 f4 c4 g3 f4", F: "[f3,c4]@7 ~, f4 ~@15", G: "[f3,c4,f4]@7 ~",
  H: "[~@2 c4 ~@2 c4 ~@2 c4 g3 ~ c4 g3 ~ c4 ~@2 c4 ~@2 c4 ~@2 c4, ~ f4@2 g3@2 ~ g3@2 ~@7 g3@2 ~ g3@2 ~ g3@2 ~, ~@8 f4@4 ~@2 f4@5 ~ f4@5 ~ f4@4 ~@2 f4@5 ~ f4@4 ~@2 f4@4]/3",
  I: "~@2 c4 g3 ~ c4 g3 f4, g3 ~@3, ~@2 f4@4 ~@2 f4@5 ~@3", J: "d4@4 [d4,f4,a4] ~ [f4,a4]@4 ~@6, ~@3 d4 ~@4",
  K: "~@3 [d4,f4,a4]@2 ~@3", L: "[d4,f4,bb4] ~", M: "~ c4 g3 f4 c4 g3 f4 c4, f4@5 ~@11", N: "g3 f4 c4 g3 f4 c4 g3@2",
  O: "f4 c4 g3 ~ c4 g3 f4 c4, ~@3 f4@2 ~@3", P: "g3 f4 c4 g3 f4 c4 g3 f4", Q: "~@4 [d4,f4,a4] ~ [d4,f4,a4]@4 ~@6",
})).s("gm_electric_guitar_clean").gain(0.37)

// chords · synth brass 1
const synth_brass_1 = note("<~@9 A@4 ~@8 A@4 ~@4 B@2 ~@12 A@4 ~@18 C@4 ~@8 A@4 ~@8 A@4 ~@36>".pickRestart({
  A: "[f4@16 e4@16 f4@15 ~ e4@16, c4]/4", B: "[[c4,f4]@14 bb3@13 ~@5, ~@14 d4@11 ~@7]/2",
  C: "[f4@16 e4@16 f4@15 ~ e4@2 ~@14, c4@25 ~@7]/4",
})).s("gm_synth_brass_1").gain(0.22)

// chords · piano
const piano = note(`<
  ~@25 A@2 B@2 C@3 D E D ~@12 A@2 B@2 C@3 D E D ~@36 A@2 B@2 C@3 D E D F ~@3 G@2 H@2 G@2 H@2 ~@11 I@3
>`.pickRestart({
  A: "[[f3,a3,c4,f4,c5]@8 ~@2 bb4@4 [f3,bb3,d4,f4]@9 ~ [bb3,eb4,g4,bb4,eb5]@4 [bb3,d4,f4,bb4,d5]@4, ~@4 [c4,f4,a4,c5]@3 ~@9]/2", // F Bb Eb Bb F
  B: "[[f3,a3,c4,c5]@8 ~@4 a4@2 [f3,bb3,d4,f4]@9 ~ [bb3,eb4,g4,bb4,eb5]@4 [bb3,d4,f4,bb4,d5]@4, f4 ~@7 [c4,f4,c5]@6 ~@18, ~@2 a4 ~@5, ~@5 bb4@2 ~@9]/2", // F Bb Eb Bb F5
  C: "[[f3,a3,c4,c5]@4 ~ bb4@2 [f3,bb3,d4,f4]@8 [f3,g3,c4,f4]@9, f2@7 ~@17, f4 ~@7 [c4,f4,a4,c5]@6 ~@34]/3", // F Bb Fsus2 F
  D: "[e3,g3,c4,f4]", E: "[f3,g3,c4,f4]@15 ~",
  F: "~@4 d5 [f5,a5] d6 a6 ~@2 a6@2 ~@4, ~@2 d4@2 ~@5 f6@2 ~@5, ~@3 [f4,a4]@2 ~ f6@2 [a5,d6]@2 ~@6", // F D5
  G: "~@4 [a3,c4,d4]!2 ~@10", H: "~@4 [bb3,c4,f4]!2 ~@10",
  I: "[~@17 d5@22 ~@9, ~@15 d4@13 ~@20, ~@4 a4@5 ~@3, ~ f4 ~]/3",
})).s("gm_piano").gain(0.54).pan(0.7)

// chords · synth strings 2
const synth_strings_2 = note("<~@21 A@4 ~@5 B@5 ~@13 C ~ D ~@2 E@4 ~@37 C ~ D ~@2 F@4 ~@26>".pickRestart({
  A: "[c3@31 ~]/4", B: "[~@7 c3@31 ~@2]/5", C: "~@2 [eb5,g5] [d5,f5]", D: "~@8 [eb5,g5]@4 [d5,f5]@3 ~",
  E: "[c3@61 ~@3]/4", F: "[f4@16 ~@16 f4@17 ~@15, [c3,c4,e4]@31 ~]/4",
})).s("gm_synth_strings_2").gain(0.37).pan(0.7)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@35 A@2 B@2 C@2 B@2 D@4 E@2 F@2 E@2 G H G H I@8 J@4 A@2 B@2 C@2 B@2 D@4 A@2 B@2 C@2 B@2 D@4 E@2 F@2 E@2 ~@4 I@24 K ~
>`.pickRestart({
  A: "[[d5,g5]@31 ~]/2", B: "[[d4,d5,f5]@15 ~]/2", C: "[d5@31 ~, g5@9 ~@7]/2",
  D: "[f5@16 e5@15 f5@16 ~ e5@14 ~@2, c4, [g5,c6]@31 ~]/4", E: "[[c4,f4,a4]@7 [d4,f4,bb4]@5 ~@4]/2",
  F: "[[c4,f4,a4]@12 ~@2 [d4,f4,bb4]@9 ~@9]/2", G: "f4 e4 c4 f4 e4 c4 f4 e4", H: "c4@13 ~@3",
  I: "[[f4,a4,d5]@30 [bb4,f5]@28 [c4,e4,g4]@4 ~ [f4,a4,d5]@31 [bb4,d5,f5]@32 ~@2, ~@30 d5 ~@97]/8", // Dm Bb5 C Dm Bb
  J: "[f5@16 e5@15 f5@16 e5@2 ~@15, [c4,g5,c6]@3 ~]/4", K: "[d4,a4,d5], [f5,c6,d6]@11 ~@5",
})).s("gm_string_ensemble_2").gain(0.25)

// chords · string ensemble 2 · soft notes
const string_ensemble_2_soft = note("<~@35 A@2 B@2 A@2 B@2 ~@26 A@2 B@2 A@2 B@2 ~@4 A@2 B@2 A@2 B@2 ~@40>".pickRestart({
  A: "[bb4@31 ~]/2", B: "[a4@15 ~]/2",
})).s("gm_string_ensemble_2").gain(0.12)

// other · pad new age
const pad_new_age = note("<~@66 A@2 ~@61>".pickRestart({
  A: "[c4@19 ~@13]/2",
})).s("gm_pad_new_age").gain(0.5)

// other · rock organ
const rock_organ = note("<~@82 A@2 ~@2 B@2 ~@15 C@4 D@2 E F G@2 H@2 I@2 J K@3 L M N O P Q R ~>".pickRestart({
  A: "[~@4 d5 f5 g5@2 g5@2 ~ [f5,g5,ab5] g5@2 f5@14 ~@4]/2", B: "[~@4 d5 f5 g5 ~ g5@2 ab5 [f5,g5] g5@2 f5@15 ~@3]/2",
  C: "[~@5 g5@29 ~@2 d5@18 ~@2 g4@4 f4@4, ~@56 f4 ~@7]/4", D: "[a4@14 ~ c5, ~@14 f4 ~, ~@29 a4@2 ~]/2",
  E: "~ e5@7 a4@4 d5@4, f5@2 ~@10 c5 ~@3", F: "c5@6 f4@2 ab4 a4@6 ~",
  G: "[g4 f4 g4 a4 f4@4 d4@10 ~@7 d4 f4 a4 d5 f5 a5 d6, ~@8 c4 ~@23]/2",
  H: "[a6 [d6,f6] c6 [a5,d6] c5 f5 [a4,c5] g4@5 f4@7 ~@7 g5 c6 g5 d5 g4 f4]/2", // Dm D5 Am
  I: "[c6@3 g5 f5 ~ f5@3 g5 f5 c5@4 c6@3 g5 f5 c5 c6@3 g5 f5 ~ f5 g5 c6 f6@2, ~@13 c5 ~@2]/2",
  J: "a6@7 f6 e6@5 f6 g6 ~, g6 ~@15",
  K: "[e6@6 ~@3 f6 g6 ~ e6@8 ~ f6 g6 ~ e6@5 c6 d6@6 e6 f6 g6 ~ e6@3 ~ c6@2 a5@2, d6 ~@11 d6 ~@11 d6 ~@15 d6 ~@7]/3",
  L: "d6@7 ~ c6@8, c6 ~@15", M: "a5@7 ~ g5@6 g5 f5, g5 ~@15", N: "g5 a5@13 ~@2", O: "~@3 a4 c5@2 d5@2",
  P: "f5 [d5,f5] d5 [a4,c5] f5 [d5,f5] d5 [a4,c5] f5 [d5,f5] d5 [a4,c5] f5 [d5,f5] d5 [a4,c5]", // Dm Am Dm Am Dm Am Dm Am
  Q: "f5 [d5,f5] d5 [a4,c5] f5 [d5,f5] d5 [a4,c5] g5@4 f5@4", R: "eb5 e5@15",
})).s("gm_rock_organ").gain(0.4)

// other · epiano1
const epiano1_2 = note(`<
  ~@13 A B C D E B C F G H I J K L M N O P Q R Q R ~@8 G H S T K L M N O P Q R Q U ~@20 G H S T ~@12 K L M N O P Q R Q U
  ~@26
>`.pickRestart({
  A: "~@2 d4 ~ f4@2 d4 ~ g4@2 ~@6", B: "~@2 d4@2 f4@2 d4 ~ g4@4 f4@4", C: "~@2 a3@2 d4@2 a3 ~ f4@2 d4@2 a3@2 f4@2",
  D: "d4@2 a3@2 d4@2 a3@2 ~@2 c4 ~ c4@2 ~@2", E: "~@2 d4 ~ f4@2 d4 ~ g4@2 f4@2 ~@4", F: "d4 a3 d4 a3 f4 d4 ~@2",
  G: "~@2 c4@2 e4 ~ g4 ~ g4@2 e4@2 ~@2 c4@2", H: "~@2 c4@2 ~@2 bb3@3 ~ bb3@2 ~@4",
  I: "~@2 c4@2 e4@2 g4 ~ g4 ~ f4@2 e4@2 c4@2", J: "~@2 c4@2 ~@2 c4@2 ~@2 c4@3 ~ c4@2", K: "~@4 a4@5 ~ f4@4 bb4@2",
  L: "~ a4 g4 f4 ab4!2 g4 f4", M: "~@2 ab4 ~ ab4 ~ ab4 ~ a4@2 g4@2 f4 ~ ab4@2", N: "~@2 ab4 ~ ab4 ~ g4@2 f4@2 ~@6",
  O: "~@2 ab4 ~ ab4 ~ ab4 ~ a4 ~ a4@2 g4 ~ f4@2", P: "ab4 ~ ab4 ~ g4@2 f4@2 ab4@3 ~@5", Q: "f4 e4 c4 f4 e4 c4 f4 e4",
  R: "c4 ~@3", S: "~@2 c4@2 e4@2 f4 ~ g4 ~ f4@2 e4@2 ~@2", T: "~@2 c4@2 ~@2 c4@2 ~@2 c4@2 c4 ~ c4@2",
  U: "c4@4 ~@4 f4@2 e4@2 c4@3 ~",
})).s("gm_epiano1").gain(0.53)

// chords · piano
const piano_2 = note("<~@103 A@2 B@2 C@2 D@2 C@2 B@2 E@2 D@2 C@2 B@2 C@2 D@2 F@2>".pickRestart({
  A: "[~@5 c5@2 a4 ~@3 [d4,f4]@3 [c4,c5]@2, ~@7 d5@7 ~@2, ~@7 f5@6 ~@3]/2", // Dm C
  B: "[~@6 [d4,f4]@15 ~@3 bb4@4 [e4,g4,c5]@4, [d5,f5]@27 ~@5, [bb3,bb4]@3 ~, ~@11 f4@3 ~@2]/2", // Dm C Dm Bb
  C: "[c5@5 c5@2 a4 ~@3 [d4,f4]@3 [c4,c5]@2, d4@21 ~@11, [a4,f5]@7 f5@6 ~@3, d5@4 ~@3 d5@7 ~@2]/2", // Dm C Dm
  D: "[~@6 [d4,f4]@15 ~@3 bb4@4 [f4,bb4] ~@3, [d5,f5]@27 ~@5, [bb3,bb4]@3 ~, ~@11 f4@3 d4@2]/2", // Dm Bb5 Dm Bb
  E: "[c5@5 c5@2 a4 ~@3 [d4,f4]@3 [c4,c5]@2, d4@21 ~@11, [a4,f5]@7 d5@7 ~@2, ~@7 f5@6 ~@3]/2", // Dm C Dm
  F: "[[c5,f5]@19 ~@13, d4@21 ~@11, a4 ~]/2", // F5
})).s("gm_piano").gain(0.44).pan(0.4)

// drums · kick
const kick = s("bd").struct("<~ A@23 B C@6 A@15 B C@6 A@3 D E@8 A@3 B A@11 B A@11 B C@6 A@3 B E@23 F B ~>".pickRestart({
  A: "x ~@6 x!2 ~@7", B: "x", C: "x!4", D: "x ~@6 x ~@8", E: "x ~@7 x ~@6 x", F: "x!2",
})).gain(0.72)

// drums · snare
const snare = s("sd").struct(`<
  A B@11 C B@7 D B@3 E B@21 E B@9 E F@8 B@3 G B@11 E B@11 H B@9 I F@23 E ~@2
>`.pickRestart({
  A: "~@14 x!2", B: "~ x ~ x", C: "~@2 x ~@3 x!2", D: "~@4 x ~@7 x ~ x!2", E: "~ x!2 ~", F: "~ x ~@2",
  G: "~@4 x ~@2 x!2 ~@7", H: "~@2 x ~ x!2 ~@2", I: "~@2 x!3 ~ x ~",
})).gain(0.72)

// drums · low tom
const low_tom = s("lt").struct("<~@24 A ~@32 B@8 ~@3 B ~@34 B@23 ~@3>".pickRestart({
  A: "~@7 x", B: "~@3 x",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A B C B A B C B A B C B A B C B A B C B A B C D E F E F E B G B C B A B C B A B C B A B C D E F E F E B H I H J K
  L@7 H I H M A B C B A B C B A B C D A B C B A B C B A B C D E F E F E B H I H N K L@7 K L@7 K L@6 O ~@2
>`.pickRestart({
  A: "~@2 x!14", B: "x!14 ~@2", C: "x!16", D: "x!12 ~@4", E: "~@2 x!4 ~@2 x!2 ~@2 x!4", F: "x!8 ~ x!3 ~ x ~@2",
  G: "x ~ x!14", H: "x ~ x!3 ~ x!3 ~ x!3 ~ x!2", I: "x ~ x!3 ~ x!3 ~ x!3 ~@3", J: "x ~ x!3 ~ x!4 ~@6", K: "~ x!7",
  L: "x!8", M: "x!2", N: "x ~ x!3 ~ x!3 ~@7", O: "x!7 ~",
})).gain(0.48)

// drums · mid tom
const mid_tom = s("mt").struct("<~@24 A ~@9 B ~@11 C ~@9 B ~@11 D ~@11 C ~@11 E ~@33 B ~@2>".pickRestart({
  A: "~@10 x ~ x!2 ~@2", B: "~@7 x", C: "~@13 x!2 ~", D: "~@5 x ~@2", E: "~@13 x!3",
})).gain(0.64)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@2 A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~@2 B A B A B A ~ A ~@3 A ~ A ~ A ~ A ~ A ~@2 B A B A B A ~ A ~@2 C ~ D ~
  C ~ D ~@2 A ~@3 A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~@2 B A B A B A ~ A ~@2 C ~ D ~ C ~ D ~ C ~ D ~ C ~ D ~ C ~ D
  ~ C ~ D ~@3
// … 36 more lines

More by Rossi Vasco