Strudelify

This Is the Moment (live)

Rene Froger

KeyE majorTempo68 bpm
0:00/0:00
// This Is the Moment (live) — Rene Froger
// 68 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 23, 4/4 at bar 23, 2/4 at bar 40, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 59 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(68/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.

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  ~@11 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS@3 AT
>`.pickRestart({
  A: "~@12 b1@6 ~@3 b1 ~@2", B: "b1@21 ~@3 e2@13 ~@5 e2@2 ~@4", C: "e2@21 ~@3 b1@13 ~@5 b1@2 ~@4",
  D: "b1@22 ~@2 e2@13 ~@5 e2@2 ~@4", E: "e2@19 ~@5 c#2@13 ~@5 c#2@2 ~@4", F: "c#2@11 ~ g#1@7 ~@2 g#1 ~@2",
  G: "g#1@20 ~@4 f#1@13 ~@5 f#1@2 ~@4", H: "b1@17 ~ e1@6 f#1@14 ~@4 f#1@3 ~@3", I: "b1",
  J: "e1@13 ~@5 e1@2 ~@4 e1@20 ~@4", K: "e1@7 ~@2 e1 ~@2 e1@10 ~@2", L: "e1@13 ~@2 e1@4 d#2@4 ~ c#2@11 ~ b1@11 ~",
  M: "a1@13 ~@5 a1@2 ~@4 a1@11 ~ f1@10 ~@2", N: "f#1@12 ~@6 f#1@3 g#1@2 ~ a1@3 ~@3 a1@6 ~@3 a1@6 ~@3",
  O: "g#1@23 ~ c#2@24", P: "a1@6 b1@2 ~ c#2@3 d#2@6 c#2@5 ~ b1@11 ~ b1@8 ~@4", Q: "e2@15 ~", R: "e2@47 ~",
  S: "b1@13 ~@5 b1@2 ~@4 b1@21 ~@3", T: "e1@15 ~@3 e1 ~@5 e1@20 ~@4", U: "b1@13 ~@5 b1@2 ~@4 b1@20 ~@4",
  V: "e1@13 ~@5 e1@2 ~@4 e1@14 ~@4 g#1@6", W: "c#2@12 ~@6 c#2@2 ~@4 c#2@15 ~@3 f#1@6",
  X: "g#1@13 ~@5 g#1@2 ~@4 g#1@16 ~@2 e1@6", Y: "f#1@4 ~@2 f#1 ~ b1@5 ~ e1@2",
  Z: "f#1@13 ~@5 f#1@2 ~@4 b1@11 ~ b1@11 ~", AA: "b1@10 ~@2 b1@4 c#2@3 ~ d#2@4 e1@12 ~@6 e1@2 ~@4",
  AB: "e1@10 ~@2 e1@7 ~@2 e1 ~@2", AC: "e1@20 ~@4 e1@13 ~@2 e1@4 d#2@4 ~", AD: "c#2@11 ~ b1@11 ~ a1@13 ~@5 a1@2 ~@4",
  AE: "a1@11 ~ f1@10 ~@2 f#1@12 ~@6 f#1@3 g#1@2 ~", AF: "a1@3 ~@3 a1@6 ~@3 a1@6 ~@3 g#1@14 ~@4 b1@3 ~@3",
  AG: "c#2@24 f#1@14 ~@3 f#1@3 ~@4", AH: "g#1@7 ~ f#1@7 ~", AI: "b1@10 ~@2 b1@10 ~@2 e1@15 ~@3 b1@4 ~@2",
  AJ: "c2@11 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@3 f1@13 ~@5 f1@2 ~@4", AK: "f1@18 c2@3 c2@2 ~ f1@14 ~@4 f1@2 ~@4",
  AL: "f1@12 f1@6 c2@2 ~ c2@3 f1@13 ~@2 f1@4 e2@4 ~", AM: "d2@11 ~ c2@11 ~ a#1@17 ~ a#1@2 ~ a1@3",
  AN: "a#1@11 ~ a#1@5 ~ a1@5 ~ g1@12 ~@6 g1@3 a1@2 ~", AO: "a#1@3 ~@3 a#1@6 ~@3 a#1@6 ~@3 a1@11 ~ a1@5 ~ c2@5 ~",
  AP: "~@12 d3@12 g1@17 g1@3 ~ g1@3, d2 ~", AQ: "a1@17 ~ a1@6 g1@17 ~ g1@2 ~ g1@3",
  AR: "a1@17 ~ a1@5 ~ g1@11 ~ g1@5 ~ a1@5 ~",
  AS: "[a#1@11 ~ c2@11 ~ f1@7 ~@2 f1@3 f2@3 ~@3 d2@3 f1@6 f1@2 ~ f1@3 f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@2 ~ f1@8 ~ f1@3 f1@3 ~@3 f1@2 ~ f2@6 f1@2 ~ f1@2 ~ f1@2 ~ f1@6 f1@6 ~@3 f1!2 ~ f1 ~ f1!2 ~ f1!2 ~ f1!2 ~ f1!2 ~ f1!2 ~ f1]/3",
  AT: "f1!2 ~ f1!3 ~ f1 ~ f1!3 ~ f1!2 ~ f1!2 ~ f1!2 ~ f1!2 ~ f1!3 ~ f1 ~@18",
})).s("gm_electric_bass_finger").gain(0.35)

// chords · piano · "A.PIANO 2"
const piano = note("<~@2 A@6 B@4 C@4 D E F G H I J K L@2 M N O P Q R S T U V W@3 X Y Z AA AB AC AD ~@13>".pickRestart({
  A: "[~@14 f#6@20 ~@3 a3@11 ~@6 c#5@3 ~@15 f#4@9 ~@18 b4@2 ~@7 [d#4,g#4]@11 ~@6 b3@6 ~@21 f#5@3 [c#5,a5]@11 c#5@11 ~@4 b2@9 ~ e6@4 d#6@4 ~ g#5@4 ~@19 e3@5 ~@14 d#5@3 c#5@3 f#5@2 ~ e5@3 ~ b3@12 ~@6 c#5@6 [g#2,b4]@5 ~ [g#2,g#4,b4]@3, ~@12 a5@22 ~@3 e3@45 ~ d#3@46 ~@11 c#4@35 ~@15 e4@26 ~@14 [e4,g#4,b4]@24 c#5@17 ~@17, ~@13 [c#6,e6]@22 ~@2 c#4@35 ~@21 b3@11 b3@16 ~@17 a3@39 ~@41 b3@12 ~ c#3@47 ~@11, ~@57 a5@14 ~@24 d#4@11 ~@26 f#4@14 a4@3 c#5@5 ~@24 d#5@38 ~@17 g#3@22 [e5,g#5]@18 ~@15, ~@60 c#5@21 ~@2 b4@14 ~@5 b4@30 ~@11 e4@11 ~@25 g#5@21 ~@5 b5@24 ~@7 b3@18 g#4@12 ~ e4@12 g#4 ~@8]/6", // G#5 F#m G#m E C#m E
  B: "[d#4@3 ~@3 [b4,d#5,b5]@8 ~@2 [a#4,b4,d#5,g#5]@12 ~@6 b4@4 ~@10 e4@3 ~@7 a3@6 [b3,d#4,f#4]@6 ~@13 d#4@6 ~ e4@6 a3@6 c#4@5 ~ c#4@6 ~ [a3,c#4,e4]@6 ~@15 e5@3 ~@2 a5@23 ~@17 [e6,f#6]@2 ~@3 [e3,f#3,c#4]@2 ~@4, d#3@15 ~@13 d#3@10 ~@2 f#2@23 ~@14 b4@13 ~@37 e4@3 a4@4 c#5@5 c#5 e5@23 ~@12 a4@2 c#5@2 [f#5,b5]@2 ~@3 f#7@2 ~@6, ~@3 g#3@12 ~@24 [e4,f#4]@4 c#3@20 ~@13 d#4@5 ~@8 [c#4,f#4,a4]@7 ~@25 a3@46 ~ [e3,a3,c#4]@16 ~@2 a3 ~@5, ~@40 [a4,c#5]@5 a3@12 ~@13 f#3@18 ~ f#2@25 ~ [b2,f#3]@53 ~@24, ~@52 [c#4,e4,f#4,a4]@12 ~@12 f#4@13 ~@13 e4@12 ~@10 c#4@43 ~@7 f#4@2 b4@2 e5@2 a5@3 a6@2 a7@3 ~@4]/4", // B G#m B A Esus2 F#7 B5 Esus2 …
  C: "[~ [a3,c#4]@22 ~@19 d#6@3 [g#5,e6]@3 d#6@9 b5@3 f#5@11 ~@19 c#5@6 a3@23 ~@13 e6@4 d#6@5 g#5@3 ~@12 [g#3,b3]@11 ~@13 e4@3 g#4@3 c#5@5 ~, e3@22 ~@2 [f#3,g#3,b3,d#4]@47 ~ c#4@47 ~@50 c#4@22 ~, ~@72 a3@18 e3@28 ~@2 [g#3,b3,d#4]@33 ~@15 [c#3,g#3]@23 ~, ~@84 e4@12 ~@72 [e4,c#5]@11 ~@13, ~@29 a4@3 ~@16 b5@7 ~@9]/4", // A C#m G#m G#m7 G#m C#5 C#m
  D: "[g#3,f#4,d#5]@12 [g#3,e4,b4]@11 ~ d#3@12 ~@6 [g#2,d#3] ~@2 d#4@3, ~@3 g#4, ~@13 g#3@3, ~@42 b3@5 ~", // G#7 E G#5
  E: "[c#4,a#4]@8 ~@4 [b3,g#4]@10 ~@2 [a3,c#4,e4]@14 ~@4 [c#4,a4]@3 ~@3, [g#2,d#3]@23 ~ f#2@18 ~@6", // F# E A F#m G#5
  F: "[b2,d#4,b4]@22 ~@2 [f#2,a3,c#4,e4]@13 ~@5 [c#3,b4,c#5,e5]@2 ~@4", // B F#m7 C#m7
  G: "[b2,b4,c#5,f#5]@11 ~ [b3,b4]@2 ~ c#5@6 ~@3 [d#4,d#5]@3 [e3,e4,e5]@5 ~@4 [a3,a4,a5]@8 ~@4, ~@11 b2@3 [c#3,c#4]@5 ~@4 d#3@3 ~@22", // Bsus2 B D# E A C#
  H: "[e4,g#4,b4,e5]@9 ~@3 [e4,g#4,b4,e5]@7 ~@2 [e4,g#4,b4,e5] ~@2 [e4,b4]@12 ~@12, ~@23 [a4,e5]@12 ~@13", // E E5 A5
  I: "[e4,g#4,b4,e5]@9 ~@3 [e4,g#4,b4,e5]@9 ~@3 [e4,a4,c#5,e5]@12 [e4,g#4,e5]@5 ~ [b3,e4,b4]@6", // E A E E5
  J: "[b3,e4,g#4]@9 ~@3 [e4,g#4,b4]@10 ~@2 [c#4,e4,g#4,b4]@8 ~@4 [b3,e4,g#4,b4]@11 ~", // E C#m7 E
  K: "[a3,c#4,e4,f#4]@8 ~@4 [a3,c#4,e4,g#4]@9 ~@3 [a3,c#4,f#4,a4]@11 ~ [f4,a4,c#5]@5 ~ [f4,g#4,b4]@6", // F#m7 Amaj7 F#m Faug Fdim
  L: "[~ [f#4,a4]@21 ~@8 [f#4,d#5]@5 ~@5 [a4,b4,f#5]@6 ~@2 [g#4,b4,d#5]@14 ~@4 b4@5 ~ [b4,d#5,f#5]@7 ~@5 [g#4,c#5,e5]@10 ~@2, e4@21 ~@8 a4@4 ~@14 f#4@14 ~@35]/2", // F#m D#m B7 G#m B C#m
  M: "[c#4,e4,a4]@10 ~@2 [d#4,f#4,a4]@11 ~ [d#4,f#4,a4,b4]@9 ~@3 [d#4,f#4,b4]@10 ~@2", // A D#dim B7 B
  N: "b3@5 ~@10 [b4,b5]@6 ~@3 f#4@18 g#4@3 a4@3, e3@21 [a4,a5]@19 ~@8, [f#4,b4]@14 d#4@7 c#4@23 ~@4, ~@6 b3@41 ~, ~@3 e4@11 ~@2", // B A B5
  O: "b3@5 ~@11 b4@5 ~@15 c#4@6 ~@6, e3@23 ~, [f#4,b4,b5]@13 ~@2 [d#4,b5]@6 [a4,a5]@23 ~@4, ~@3 b3@19 ~@2, ~@9 e4@12 c#4@3 f#4@19 ~@5", // B5 G#m A
  P: "[a3,c#4] ~@2 c#5 ~@2 b4@2, e3 f#4 ~@2, ~ a3@3 [c#4,e4,f#4,a4]@4, ~@5 a4@3 ~@8", // A F#m7
  Q: "[b3,d#4]@12 ~@6 d#6@2 ~ [g#5,e6]@2 ~ [f#5,d#6]@7 ~@17, [g#3,e4,g#4] ~, ~ b3 ~@2", // B C#m D#m C#m
  R: "~@13 [e6,f#6]@2 ~@3 [e3,f#3,c#4]@2 ~@5 [a3,c#4]@22 ~, [e3,a3,c#4]@16 ~@2 a3 ~@5 e3@22 ~@2, ~@6 f#4@2 b4@2 e5@2 a5@3 a6@2 a7@3 ~@28, ~@7 a4@2 c#5@2 [f#5,b5]@2 ~@3 f#7@2 ~@30", // Esus2 F#7 A B5
  S: "~@12 e6@3 ~ d#6@2 ~@3 g#5@3 b5@21 ~@3, [f#3,g#3,d#4]@47 ~", // G#7
  T: "~@12 e4@3 g#4@3 c#5@5 ~ [g#3,f#4,d#5]@12 [g#3,e4,b4]@11 ~, c#3@23 ~, g#3@23 ~@25, c#5@11 ~@37, ~ c#4@22 ~@25", // G#7 E
  U: "d#3@12 ~@6 [g#2,d#3] ~@2 d#4@3 [c#4,a#4]@8 ~@4 [b3,g#4]@10 ~@2, ~ g#4 ~@2, ~@15 g#3@9 [g#2,d#3]@23 ~, ~@18 b3@5 ~@25", // G#5 F# E G#5
  V: "[a3,c#4,e4]@14 ~@4 [c#4,a4]@3 ~@3 [b2,d#4,b4]@22 ~@2, f#2@3 ~@5", // A F#m B
  W: "[[f#2,a3,c#4,e4]@13 ~@5 [c#3,b4,c#5,e5]@2 ~@4 [b2,b4,c#5,f#5]@11 ~ [b3,b4]@2 ~ c#5@6 ~@3 [d#4,d#5]@3 [e3,e4,e5]@5 ~@4 [a3,a4,a5]@8 ~@4 [e4,g#4,b4,e5]@9 ~@3 [e4,g#4,b4,e5]@7 ~@2 [e4,g#4,b4,e5] ~@2 [e4,b4]@12 ~@12 [e4,g#4,b4,e5]@9 ~@3 [e4,g#4,b4,e5]@9 ~@3, ~@35 b2@3 [c#3,c#4]@5 ~@4 d#3@3 ~@45 [a4,e5]@12 ~@37]/3", // F#m7 C#m7 Bsus2 B D# E A E …
  X: "[e4,a4,c#5,e5]@12 [e4,g#4,e5]@5 ~ [b3,e4,b4]@6 [b3,e4,g#4]@9 ~@3 [e4,g#4,b4]@10 ~@2", // A E E5 E
  Y: "[c#4,e4,g#4,b4]@8 ~@4 [b3,e4,g#4,b4]@11 ~ [a3,c#4,e4,f#4]@8 ~@4 [a3,c#4,e4,g#4]@9 ~@3", // C#m7 E F#m7 Amaj7
  Z: "[a3,c#4,f#4,a4]@11 ~ [f4,a4,c#5]@5 ~ [f4,g#4,b4]@6 ~ [f#4,a4]@21 ~@2, ~@8 e4@7 ~", // F#m Faug Fdim F#m
  AA: "~@6 [f#4,d#5]@5 ~@5 [a4,b4,f#5]@6 ~@2 [g#4,b4,d#5]@14 ~@4 b4@5 ~, ~@5 a4@4 ~@14 f#4@14 ~@11", // D#m B7 G#m
  AB: "[b4,d#5,f#5]@7 ~@5 [g#4,c#5,e5]@10 ~@2 [e4,a4,c#5]@19 ~@5", AC: "[g#4,b4,e5]@21 ~@3 [e4,a4,c#5]@22 ~@2",
  AD: "[f#4,a4,e5]@4 ~@2 [f#4,a4,d#5]@5 ~ [g#4,b4,e5]@6 ~@6", // F#m7 D#dim E
})).s("gm_piano").gain(0.32)

// chords · piano · "A.PIANO 2" · soft notes
const piano_soft = note("<~@2 A@6 B C D E F G@3 H ~@7 I ~@3 J@2 ~ K ~ L M ~@6 N ~@17>".pickRestart({
  A: "[~@48 a3 ~@11 f#4@11 ~ a4@8 f#3@3 ~ d#4@11 ~@24 [d#4,g#4]@11 ~ [c#4,e4]@12 ~@23 [e4,f#4,a4,b4]@11 ~@40 [e4,g#4,b4]@12 c#4@7 ~@3 c#4@14 ~@14 [c#4,g#4]@12 ~@3 [e3,d#4]@4 ~@2, ~@36 b2@46 ~@2 b2@46 b2@46 ~@2 b2@3 ~@6 b3@10 e3@3 g#3@4 e3@19 ~@65, ~@37 f#3@43 ~@50 a3@7 ~@40 g#3@7 g#3@10 b2@34 ~@60, ~@51 a4@21 c#4 ~@10 g#4@24 ~@70 b4@27 b3@6 g#3@18 ~@60, ~@179 e2@50 ~@59]/6", // G#5 C#m Esus4 E C#5 Emaj7
  B: "~@31 g#4@7 ~@10, ~@13 g#2@24 ~@11, ~@19 d#3@6 g#3@13 ~@10, ~@11 b3@8 ~@5, ~@14 d#4@5 ~@5", C: "~@16 b2@19 ~@13",
  D: "~@6 [f#4,a4]@13 ~@29", E: "~@3 f#3@2 ~", F: "~ f#3@22 ~@25",
  G: "[~@24 e3@16 ~@32 e3@32 ~@4 [e3,d#4]@11 c#3 ~@24, ~@23 f#3@48 ~@73]/3", H: "e4@9 ~@15 g#2@13 ~@11", I: "c#4@7 ~@9",
  J: "[~@47 f#3@7 ~@3 c#4@15 ~@24]/2", K: "f#3@16 ~@9 f#3@22 ~", L: "~@8 e4@3 ~@5", M: "g#2@13 ~@35", N: "~@8 c#4@7 ~",
})).s("gm_piano").gain(0.16)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@11 A@7 B C D@4 E F@2 G H I J@2 K@3 L@5 M@3 N@3 O@3 P@3 Q@3 R@4>".pickRestart({
  A: "[~@36 c#5@37 ~@10 [b4,d#5]@36 ~@36 e5@12 g#4@47 ~ g#5@25 f#5@12 e5@12 d#5@23 [f#4,a#4,c#5]@13 b4@12 ~@18 a3@6, ~@132 c#5@35 ~@48 c#5@49 ~@48 a4@24, ~@215 e4@38 ~@83]/7", // B F#
  B: "d#5@23 ~@19 f#3@6, ~ a4", C: "~ b5, d#5@47 ~",
  D: "[e4@10 ~@2 [e4,b4]@11 ~ [e4,f#4,c#5]@24 b3@10 ~ e4@11 ~ [f#4,a4,c#5]@25 [e4,b4]@24 e4@15 d#4@5 e4@4 ~ [a4,b4]@10 ~ b5@11 ~@13 a4@6 [g#4,b4,f5,g#5]@6, e6@155 [g#4,b4]@12 a5@13 e4@12, g#4@23 a4@24 ~ g#4@23 ~@25 g#4@48 c#4@47 ~, ~@20 c#5@4 c#5@7 ~, ~@167 f#4 f#5@18 ~@6]/4", // E5 F#7 F#m E5 Asus2 Fdim G#m
  E: "[a3,c#4,a4]@17 ~@4 [g#4,b4]@2 ~ [f#4,a4]@2 ~@4 [a3,b4,d#5]@7 ~@2 [f#4,b4,d#5]@8 ~, f#5@25 ~@23, ~@17 f#3@3 [g#3,e4]@3 [a3,c#5]@3 ~@12 a3@9 ~, ~@9 [c#4,f#4,a4,c#5]@2 ~@13", // A G#m F#m B7 B C#m A F#m
  F: "[~@12 b5@11 ~ [g#3,e4,f#6]@12 ~ e6@10 ~ a5@18 e6@6 f#6@24, [g#3,g#4,b4,d#5]@23 [c#4,d#5]@13 [b3,e4,b4,c#5]@11 [c#4,e4,a4]@48 ~, ~@2 a3 ~]/2", // C#m G#m C#sus2 C#m7 A
  G: "~@21 c#4@26 ~, [b3,e4]@47 ~, ~@10 a3@13 ~", H: "[b3,e4]", I: "~@17 [b2,b3]@3 [e3,e4]@3 [a3,a4]@24 ~",
  J: "[~@17 [b2,b3]@3 [e3,e4]@3 [g#3,g#4]@24 b3@24 ~ e4@11 f#4@12 ~, ~@71 e3@12 ~@13]/2", // B E G#
  K: "[[g#3,g#4]@47 ~ e4@24 ~@12 e4@11 ~@13 d#5@12 [a#3,c#4,f#4,c#5]@11 ~ [g#3,b3,d#4]@12, ~@47 g#4@24 ~ [g#3,c#5]@23 d#4@24 ~@12 b4@13, ~@2 c#4@2 [b3,g#4] ~]/3", // G# F# G#m C#5 E
  L: "[[c#4,e4]@11 ~ [a3,c#4,e4]@5 ~ [c#4,e4,a4]@5 ~ [b3,d#4,f#4]@23 ~@26 a4@34 ~ [f#4,b4]@3 ~ [b4,c#5]@3 ~ [d#4,d#5]@3 ~@13 [b3,e4]@3 ~@3 [e4,g#4,b4]@3 ~@3 [c#4,e4,f#4,a4]@23 ~@6 b5@13 [b3,e4,g#4]@2 ~ e6@2 ~ [c#4,e4,a4]@11 ~ [c#4,e4,a4]@2 ~@4 [d#4,f#4,b4]@3 ~@3 [e4,g#4,b4]@15 [e4,g#4,b4]@4 [d#4,f#4,b4]@4 ~, c#5@23 d#5@24 [e4,f#4]@24 ~ [e4,f#4]@36 ~@7 [f#4,b4]@4 ~@13 g#4 ~@107, ~@47 c#5@13 e5@48 ~@12 e6@55 ~@16 e6@47 ~@2, ~@48 a3@23 ~@36 b3@4 [c#4,f#4]@3 ~@5 [b3,e4,g#4]@12 ~@37 [b3,e4,g#4]@18 ~@54]/5", // C#m A B B5 Bsus2 D# E5 E …
  M: "[[e4,e5,e6]@6 [d#4,d#5,d#6]@6 [b3,b4,b5]@6 [g#3,g#4,g#5]@6 [a4,e5]@11 ~ g#5@12 a4@10 ~@2 a4@6 ~@6 [a3,c#4]@17 ~@4 [g#4,b4]@2 ~ [f#4,a4]@2 ~@4 [a3,b4,d#5,d#6]@8 ~ [f#4,b4,d#5,f#6]@9 b5@12 b5@11 b3, ~@24 a3@44 c#5@3 a4@13 ~@5 f#3@3 [g#3,e4]@3 [a3,c#5]@3 ~@12 a3@9 ~ [g#3,b3,g#4,b4]@24, ~@8 c#5@14 [b4,b5] c#6@11 ~@14, ~@35 [g#4,b4]@13 [f#5,a5]@18 f5@6 f#5@25 ~@47, ~@45 [c#4,f#4,a4,c#5]@2 ~@25]/3", // E D# B G# A5 A G#m F#m …
  N: "[[g#3,d#4,b4,f#6]@11 ~@5 [a3,a4]@3 ~ g#3@3 ~ f#3@11 ~@7 b5@2 ~ c#6@2 ~ b4@5 ~ e4@5 ~@6 e3@7 a4@11 a4@3 e4@2 ~ a4@3 ~ c#5@2 ~ [a3,e4,a4,e5,e6]@12 [d#3,a3,d#4,b4,d#5,d#6]@11 ~ g#3@16 ~@2 b3@5 ~, ~@11 b4@5 ~@3 g#4@4 a4@19 ~@2 c#5@3 ~@6 e5@7 e5@12 c#5@20 ~@52, ~@12 c#4@11 ~@18 b4@4 ~@2 g#3@12 ~@13 [f#3,a5]@25 ~@47, ~@12 g#3@4 ~@19 a3@13 ~@11 b3@7 ~@29 e3@11 ~@14 e3@23 ~, ~@13 e6@11 a5@18 ~@5 b5@6 ~@8 e6@11 ~@47 e6@24 ~]/3", // G#m7 A A5 B7 F#m
  O: "[~ f4@2 g4 a4@2 ~ c5@2 ~@2 f5 ~@2 a5@2 ~ c6 ~@2 e6@3 ~ [c4,f4,a4]@12 [f4,a4]@3 ~@3 [f4,a4,c5]@3 ~@3 [d4,f4,g4,a#4]@23 ~@6 c6@13 [c4,f4,a4]@2 ~ f6@2 ~ f4@6 f4 g4@2 ~ a#4@2 c5 ~ e5 ~@2 a5 [e4,g4,a#5]@2 c6 ~@3 [f4,a4,c5]@11 ~ c5 ~@3 [f4,f6]@3 ~ [g4,e6]@4, [c3,c4]@24 ~@12 c4 ~@35 [c4,f4,a4]@18 ~@6 [d4,a#4]@11 ~ d4@2 ~@25 a4@3 ~ e4@4 ~, ~@6 a#4@2 ~ d5@2 ~@94 a4@2 ~@2 d5@2 ~ f5@2 ~@4 e6@2 ~@24, ~@10 e5@2 ~ g5@2 ~ a#5@2 ~ d6@2 ~@2 f6@56 ~@16 f6@12 ~@10 d6@2 f6@12 f6@4 ~@9]/3", // F Gm7 F Edim F C F Gm
  P: "[[f4,f5,f6]@6 [e4,e5,e6]@6 [c4,c5,c6]@6 [a3,a4,a5]@6 [d4,d5,d6]@32 ~ d4 ~ e4 f4@5 ~ [d4,d5]@6 [a#3,a#4]@17 ~@4 [a4,c5]@2 ~ [g4,a#4]@2 ~@4 [a#3,g4,c5,g5,g6]@8 ~ [g4,a#4,e5,e6]@9 c6@12 c6@11 c4, ~@24 a3@47 ~@18 g3@3 [a3,f4]@3 [a#3,d5]@3 ~@12 a#3@9 ~ [a3,c4,a4,c5]@24, ~@57 [d5,d6]@2 [f5,f6]@6 d6@7 a#5@22 ~@50, ~@29 [e5,e6] ~@15 [d4,g4,a#4,d5]@2 ~@25]/3", // F E C A D A# Am Gm …
  Q: "[[a3,e4,a4,c5,g6]@11 ~@5 [a#3,a#4]@3 ~ a3@3 ~ g3@11 a#3@10 [c5,c6] [d5,d6] ~@6 [f4,f5]@6 ~@6 f3@6 ~@12 a#3@10 [c5,c6] [d5,d6] ~@7 f4@6 ~@6 f3@6 [g3,g4,a#4]@11 ~ [g3,a#4]@5 ~ [a3,a4,c5]@6, ~@11 c5@2 f6@11 a#5@18 ~@18 f5@11 a#4@19 ~@5 [c5,c6]@6 f5@7 f5@12 a#5@24, ~@12 d4@11 ~ d4@24 e4@23 g3@13 ~@12 a3@12 c4@6 ~@30, ~@12 a4@7 a4@4 a#4@19 ~@5 [c5,c6]@6 ~@8 f6@11 a#5@18 ~@19 f6@11 ~@24, ~@12 a3@4 ~@31 a3@12 c4@7 ~@5 d4@25 e4@24 ~@11 g4@6 ~@7]/3", // Am7 A# C D F C D Gm …
  R: "[[a#3,a#4,d5,f6]@11 ~ [g3,c5,e6]@11 ~ [f3,c4,f6]@20 ~ g3@5 c3@3 f3@3 c3@3 a3@3 g3@2 ~ g3@3 ~ f3@2 ~ [a4,f6]@11 ~ [f4,c6]@8 ~ a#4@20 ~ a#4@2 c5@2 d5@2 e5@2 ~ [f3,c4,a4,f6]@53 ~@16, ~@11 g4@12 a4@21 [a#3,a#4,f6]@27 c4@12 c5@8 ~@31 f5@54 ~@16, ~@72 f3@19 ~ [f3,c4,f6]@30 ~@70]/4", // A# C F5 Dm F5 F A#5 F5
})).s("gm_string_ensemble_1").gain(0.33)

// chords · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note("<~@11 A@7 B@2 C D ~@2 E F ~ G H I J@2 K L M N O@2 ~@3 P Q R S ~@14>".pickRestart({
  A: "[~@36 [f#4,a4,d#5]@37 ~@10 [f#4,g#4]@36 ~@13 [f#4,a4,d#5]@35 [f#4,b4,d#5]@47 ~@38 [g#4,b4]@11 ~@12 f#5@11 ~@14 [d#4,g#4]@12 [e4,f#4,c#5]@24, ~@214 g#3@49 [g#3,b3]@47 ~@2 a3@17 ~@7, ~@215 c#4@49 [d#4,b4]@23 ~@49]/7", // D#dim F#sus2 D#dim B G#m G#5 F#7 G#m
  B: "[[b3,f#4,b4]@23 ~ [b4,c#5,e5]@23 ~@2 b3@47, ~@24 f#3@17 ~@6 c#5@47 ~@2, ~@48 [b4,f#5]@47 ~]/2", C: "b3@5 ~@19",
  D: "e4@10 ~@2 b4@11 e4@24 ~", E: "f#4@16 ~@14 f#4@7 ~@11", F: "~@24 g#4@11 ~ [c#4,g#4]@12", G: "g#4@20 ~ f#4@26 ~",
  H: "g#4@20 ~ [a3,c#4,f#4]@27", I: "~@24 [c#4,e4]@13 ~@11, ~@23 b3@12 ~@13",
  J: "[~@24 e4@12 ~@11 b2@25 ~@12 c#5@12, ~@23 b3@12 ~@48 f#3@13]/2", K: "[d#4,b4]@47 ~", L: "g#3@23 f#4@13 ~@12",
  M: "~@37 f#4@11", N: "a3@5 ~@19", O: "[c#4@23 ~ [c#4,b4]@36 ~@36]/2", P: "~@3 f#4@2 ~", Q: "~@6 f#4@7 ~@35",
  R: "g#4@11 ~ g#4@7 ~@5 c#4@24", S: "d#4 ~",
})).s("gm_string_ensemble_1").gain(0.13)

// chords · trombone
const trombone = note("<~ A@2 ~@34 B C D E@3 F G H ~@13>".pickRestart({
  A: "[~@15 a4@12 g#4@5 e4@6 f#4@47 ~@11]/2", B: "~@24 [e4,g#4]@15 ~@3 [e4,g#4]@2 ~@4",
  C: "[e4,a4]@23 ~ [e4,g#4]@15 ~@3 [e4,g#4]@2 ~@4", D: "[e4,a4]@22 ~@2 [e4,g#4]@14 ~ [e4,g#4]@4 ~ [d#4,f#4]@3 ~",
  E: "[c#4@9 ~@3 b3@10 ~@2 a3@11 b3@11 ~@2 c#4@11 ~ a3@12 a4@11 ~ g#4@2 f#4@3 e4@3 d#4@3 c#4@3 ~@4 a3@7 ~@2 b3@6 ~@3 [g#3,b4]@23 ~, g#4@12 e4@24 c#4@11 ~@4 b4@8 ~@13]/3", // G#m
  F: "[f#4,b4]@4 b4@2 a4 g#4 [a3,a4]@8, ~@12 e4@13 ~@23", G: "[b3,b4]@3 [g#3,e4]@3 [b3,b4]@6 [a3,a4]@11 ~",
  H: "[a3,a4]@11 ~ [b3,a4]@11 ~ [g#3,g#4]@12 ~@12", // A B7 G#
})).s("gm_trombone").gain(0.3).pan(0.4)

// chords · brass section · "BRASS 1"
const brass_section = note("<~@37 A B C D@3 E F@2 G@3 H@3 I J K L@4>".pickRestart({
  A: "~@23 e3@17 ~@2 e3@2 ~@4", B: "e3@21 ~@3 e3@15 ~@3 e3 ~@5", C: "e3@21 ~@3 e3@14 ~ e3@4 ~ d#3@4",
  D: "[c#3@11 ~ b2@12 a2@36 f2@12 f#2@16 ~ f#2@3 ~ g#2@2 a2@3 ~@4 a2@7 ~@2 a2@8 ~ g#2@22 ~@2]/3",
  E: "c#3@22 ~@2 f#2@23 ~", F: "[g#2@23 f#2@24 b2@11 ~@2 b2@11 ~@13 g#4@2 ~@4 b4@3 ~@3, ~@72 e3@16 ~ b2@3 ~@4]/2",
  G: "[~@6 f4@17 ~@12 [c5,a5]@7 f3@2 ~ [d5,a#5] ~@2 [f3,a#5]@24 f3@12 [c5,a5]@6 f3 ~@2 [d5,a#5] ~ c6 [f3,f5]@23 ~@7 c5@2 ~@4 c5@3 ~ [a4,c5,f5]@2 ~@2 [g4,c5,e5]@2 ~@2, [c3,c4,c5]@23 f3@17 ~@6 [e5,c6]@2 ~@47 e5@2 ~@23 [f3,a4]@16 ~@4 e3@4, ~@47 f5@24 ~@24 a#5@25 ~@15 f3@4 ~@5]/3", // F Gm A#5 F Gm F C F
  H: "[[c5,f5]@4 [a3,c5,f5]@3 ~ [a3,a4,f5]@3 ~ a3@5 ~ c4@5 ~ d5@12 f5@3 ~ e5@3 ~@2 a4@2 ~ d5@10 d5 ~ a4@5 ~ f4@5 ~ g2@16 ~@2 [g3,a#4]@2 ~ [a2,a3,c5]@2 ~ [a#3,d5]@2 ~@4 [a#2,e4,e5]@7 ~@2 [a#2,e4,c5]@8 ~ a3@12 c4@11 ~, d3@11 c5@4 ~@2 c5@6 ~@35 e5@2 a#2@12 ~@17 g2@3 ~@3 a#2@3 ~@22 [a2,c5]@23 ~, ~ c3 f3@4 ~@6, ~@12 f4@3 ~@3 f4@3 ~@3 [a#2,a#3]@35 f5@6 d5@6 [g3,g4,a#4]@14 ~@59]/3", // F5 F Dm Gm Am A# A#dim C7 …
  I: "[g4,g5]@11 ~ [f4,f5]@12 [g2,g3]@21 c5 ~ d5, d3@22 ~@2 a#4@19 ~@5", // G F G
  J: "c5@6 f4@6 f5@11 ~ [g3,a#4]@21 c5 ~ d5, a2@23 g2@24 ~, a3@19 ~@29", // Gm
  K: "c5@6 f4@6 f5@12 [g2,g3,a#4]@11 ~ [g2,g3,a#4]@6 [a2,a3,c5]@5 ~, [a2,a3] ~", // Gm Am A
  L: "[[a#2,a#3,d5]@11 ~ [c3,c4,e5]@12 [f2,f3,c4,f4,a4]@20 ~ [f2,f3,c4,f4,a#4]@26 ~ [f2,f3,f4,a4]@20 ~ c4@15 c4@5 ~@2 c4@7 ~ [f2,a3,c4,f4,a4]@53 ~@16, ~@71 c4@20 ~@2 [f2,f3,f4,a#4]@30 ~@69]/4", // A# C F Fsus4 F A#5
})).s("gm_brass_section").gain(0.48).pan(0.6)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@17 A B C D E F G@2 H I ~@8 J@5 K@2 L@2 M N ~@13>".pickRestart({
  A: "~@7 a3", B: "b3@11 ~ a3@12, ~@23 a#3@3 ~@22", C: "b3@36 ~@2 d3 c#3 ~@8, ~@18 e3 ~@5, ~@37 d#3@2 ~@9",
  D: "e3@47 ~", E: "e3", F: "e3@15 ~ e3@4 d#3@4 c#3@11 ~ b2@12", G: "[a2@12 f3@12 ~@2 a3@3 a3@3]/2", H: "g#3@3 b3",
  I: "a3@6 b3@2 c#4@3 ~ d#4@6 c#4@6 b3@24",
  J: "[~@18 a3@6 b3@22 ~@2 a3@24 b3@36 ~@2 d3 c#3 ~@8 e3@47 ~ e3@48 e3@15 ~ e3@4 d#3@4, ~@47 a#3@3 ~@58 e3@2 ~@130, ~@109 d#3@2 ~@129]/5",
  K: "[c#3@11 ~ b2@12 a2@36 f3@36]/2", L: "[~@2 a3@3 a3@3 g#3@12 b3@4 f#3@8]/2", M: "g#3@23 f#3@24 ~",
  N: "a3@11 ~ a3@12 g#3@12 ~@12",
})).s("gm_overdriven_guitar").gain(0.27).pan(0.3)

// other · overdriven guitar · "OVERDRIVE" · soft notes
const overdriven_guitar_soft = note(`<
  ~@18
  [~@22 b3 ~@25]
  [~@40 c3 b2 ~ a2 ~@4, ~@21 a#2 ~@2]
  ~@15
  [~@46 b3 ~]
  ~
  [~@16 c3 b2 ~ a2 ~@28, ~@9 a#2 ~@14]
  ~@21
>`).s("gm_overdriven_guitar").gain(0.13).pan(0.3)

// other · flute
const flute = note("<~@11 A@2 B C D ~@11 E F G H ~@2 I J K L ~@4 M@2 ~@16>".pickRestart({
  A: "[~@30 d#5@2 ~@5 d#5@2 ~ d#5@2 ~@3 d#5@2 ~@3 d#5@2 ~ d#5@2 ~@2 e5@2 ~@3 e5 ~@5 d#5 e5@2 ~@3 e5 ~ e5@2 ~@4 d#5@2 ~@4 e5@2 ~@2 d#5 ~ d#5@2, ~@32 e5@2 e5@2 e5@2 ~ e5@2 ~ e5@2 e5@2 ~ e5@2 e5@2 ~ e5@2 ~ e5@2 ~@3 e5@2 ~@3 e5@2 e5@2 ~@3 e5@2 ~@5 e5@2 e5@2 ~ e5@2 e5@2 ~@3 e5@2 e5@2 ~, ~@33 d#5@2 d#5@2 ~@6 d#5@2 ~@3 d#5@2 ~@6 d#5@2 ~ d#5@2 d#5@2 ~ d#5@2 d#5@2 ~@3 d#5@2 d#5@2 d#5@2 ~ d#5@2 d#5@2 ~@3 d#5@2 d#5@2 ~ d#5@2 ~@4]/2",
  B: "~@4 e5@2 ~@4 d#5@2 ~@2 e5 ~ e5@2 ~@4 d#5@2 ~@4 e5@2 ~@2 d#5 ~ d#5@2 ~@4 e5@2 ~@4 d#5@2, e5@2 e5@2 ~@3 e5@2 e5@2 ~ e5@2 ~@5 e5@2 e5@2 ~ e5@2 e5@2 ~@3 e5@2 e5@2 ~ e5@2 e5@2 ~@3 e5@2 e5@2 ~, ~ d#5@2 d#5@2 ~ d#5@2 d#5@2 ~@3 d#5@2 d#5@2 ~ d#5@2 d#5@2 ~@3 d#5@2 d#5@2 ~ d#5@2 ~@5 d#5@2 d#5@2 ~ d#5@2 d#5@2 ~@2",
  C: "~@2 e5 ~ e5@2 ~@4 d#5@2 ~@4 e5@2 ~@2 d#5 ~ d#5@2 ~@4 e5@2 ~@4 d#5@2 ~@2 e5 ~ e5@2 ~@4 d#5@2, e5@2 ~@5 e5@2 e5@2 ~ e5@2 e5@2 ~@3 e5@2 e5@2 ~ e5@2 e5@2 ~@3 e5@2 e5@2 ~ e5@2 ~@5 e5@2 e5@2 ~, ~ d#5@2 d#5@2 ~ d#5@2 d#5@2 ~@3 d#5@2 d#5@2 ~ d#5@2 ~@5 d#5@2 d#5@2 ~ d#5@2 d#5@2 ~@3 d#5@2 d#5@2 ~ d#5@2 d#5@2 ~@2",
  D: "~@4 e5@2 ~@2 d#5 ~ d#5@2 ~@4 e5@2 ~@4 d#5@2 ~@24, e5@2 e5@2 ~@3 e5@2 e5@2 ~ e5@2 e5@2 ~@3 e5@2 e5@2 ~@25, ~ d#5@2 d#5@2 ~ d#5@2 ~@5 d#5@2 d#5@2 ~ d#5@2 d#5@2 ~@26",
  E: "~@5 b4@3 ~ e5@2 ~@4 b5@2 ~@4 a5@27", F: "~@6 b4@3 e5@2 ~@4 b5@2 ~@4 a5@27",
  G: "~@25 g#5@2 ~ g#5@2 ~@2 f#5@2 g#5 g5 f#5 ~@11, ~@24 f#5@2 ~ f#5@2 ~ f#5@2 ~@16, ~@31 g#5@2 ~@15",
  H: "~@25 [f#4,f#5] [e4,e5] [f#4,f#5] [e4,e5] [f#4,f#5] [e4,e5] [f#4,e5,f#5] [e4,f#4,f#5] ~ [e4,f#4,f#5] ~ e4 [f#4,e5] [e4,f#5] [f#4,e5] [e4,f#4,f#5] ~@7, ~@33 e5@2 e5@2 ~@11, ~@18 f#5 ~@5", // F# E F# E F# E F#7 Esus2 …
  I: "~@38 c#4 ~ d#4 c#4 d#4 ~ d#4 ~ d#4 c#4, ~@36 c#4@2 ~@7 c#4@2 ~, ~@37 d#4@2 ~@9",
  J: "~@3 b5 c#6 b5 c#6@2 ~@2 b5@2 ~@11 a#5 ~@3 g#5@2 ~ d#5 ~ c#5 ~@2 g#4@2 a#4 ~ a#4 g#4 a#4 g#4@2 ~@4, c#6@2 c#6@2 ~@5 c#6@2 ~@37, ~ b5@2 ~@5 b5@2 ~@24 a#4@2 ~@12",
  K: "a5@13 ~@5 a5 ~@5 b5@19 ~@5", L: "f#5@4 ~@2 f#5 ~@2 a5 ~@2 b5@12",
  M: "[~@24 a5@11 ~ g#5@3 f#5@2 e5@3 d#5@3 c#5@3 ~@46]/2",
})).s("gm_flute").gain(0.1).pan(0.3)

// other · flute · soft notes · E G#sus2
const flute_soft = note(`<
  ~@28
  [~@21 c#5@26 ~]
  [~@36 f5 e5@2 ~@9]
  [~@24 [e4,e5]@2 ~@15 [e4,e5]@2 ~@5]
  ~@2
  [~@43 c#4 ~@4]
  [~@38 g#4@2 ~@3 a#4 g#4 [g#4,a#4] a#4 g#4]
  ~@24
>`).s("gm_flute").gain(0.05).pan(0.3)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note("<A@4 ~@55>".pickRestart({
  A: "[b3@4 ~@8 [d#4,b4,b5]@6 ~@18 g#4@3 a4@2 ~ b3@4 ~@9 [d#4,b4,b5]@6 ~@2 c#4@11 c#4@6 ~@6 [a3,c#4,f#4]@11 ~ [e4,f#4]@11 ~@12 b4@12 [b2,a3,c#4,e4,f#4]@24 ~@35, e3@37 ~@4 e3@43 ~@2 b2@45 ~@61, [f#4,b4]@12 ~@6 [a4,a5]@2 c#4@20 ~@2 f#4@11 ~@8 a5@19 e4@17 ~@13 [c#4,e4,f#4,a4]@23 ~@59, ~@4 b3@36 ~@7 b3@35 ~@15 [a3,c#4]@11 ~@84, ~@7 e4@29 ~@5 [b4,b5]@8 e4@14 a4@22 ~@107]/4", // G#m F#m Esus2 F#m7 B5 A F#m7 A …
})).s("gm_epiano2").gain(0.3)

// other · trombone
const trombone_2 = note("<~@32 A B C D@3 ~@21>".pickRestart({
  A: "~@11 e4@4 ~ d#4@3 ~ g#3@3 ~ b3@24", B: "c#4@23 ~", C: "g#3 ~",
  D: "[a3@10 ~@2 a3@3 ~@3 c#4@3 ~@3 b3@18 ~@5 c#4@23 ~@2 b3@48 ~@24]/3",
})).s("gm_trombone").gain(0.4).pan(0.8)

// other · trumpet
const trumpet = note("<~ A@2 ~@32 B C ~@22>".pickRestart({
  A: "[~@15 c#4@11 c4@5 c#4@5 ~ e4@2 ~ a3@2 f#3@42 ~@12, ~@39 c#4@2 ~@55]/2",
  B: "~@6 c#4@3 ~@3 e4@2 ~@4 a4@2 ~@4 f#4@22 ~@2", C: "f#4@6 c#4@2 ~@4 e4@3 ~@3 a4@2 ~@4 b4@24",
})).s("gm_trumpet").gain(0.4)

// drums · kick
const kick = s("bd").struct(`<
// … 69 more lines

More by Rene Froger