Strudelify

Baby Don't Change Your Mind

Knight

KeyG majorTempo117 bpm
0:00/0:00
// Baby Don't Change Your Mind — Knight
// 117 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 91 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(117/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 · epiano2 · "#FM.Piano"
const epiano2 = note(`<
  A@3 B@4 C@2 D E@5 F G@2 H@2 I J@4 B@4 C@2 D E@5 F G@2 H@2 I J@4 B@4 C@2 D E@5 F G@2 H@2 I J@4 K@20 L@2
>`.pickRestart({
  A: "[~@8 g3 ~ a3 ~ b3 ~ [c5,e5,a5]@3 ~ [b4,d5,g5]@4 b3 ~ [a3,c5]@2 d5@2 e5@2 [f3,a4,c5]@4 [c5,f5] ~ [g3,g4,b4,d5]@3 ~ [f3,d4,g4,b4]@2 [a4,c5]@2 [f3,d5] ~ [e3,g4,b4,d5]@2, ~@14 c4@6 ~@4 g4@4 g3 ~ e5@3 ~@9 f4 ~ b4@2 ~@2]/3", // Am G Am F F5 G G7 Am …
  B: "[~@2 [e3,g4,c5,e5] ~ [e3,c5]@8 f3 f#3 [a4,c5,e5]@3 ~@7 g3 ~ a3 ~ b3 ~ [c5,e5,a5]@3 ~ [b4,d5,g5]@4 b3 ~ [a3,c5]@2 d5@2 [g3,e5] ~ [f3,a4,c5]@4 [c5,f5] ~ [g3,g4,b4,d5]@3 ~ [f3,d4,g4,b4]@2 [a4,c5]@2 [f3,d5] ~ [e3,e4,g4,b4,d5]@2, ~@4 [e4,g4]@6 ~@2 [f4,a4,c5]@2 g3@9 ~@7 c4@6 ~@22 f4 ~@5, ~@18 [g4,b4,d5]@11 ~@11 g4@5 ~ e5@3 ~@11 b4@2 ~@2]/4", // C Am G Am C F F5 G …
  C: "[~@2 [e3,g4,c5,e5] ~ [e3,c5]@8 f3 f#3 [a4,c5,e5]@3 ~ [g4,b4,d5]@8 ~@2 g3 g#3 [a3,a4,d5,f5]@2, ~@2 [e4,g4]@3 ~ [f4,a4,c5] g3@6 ~ [g4,b4,d5] ~]/2", // C Am G Dm Em F G
  D: "~@2 [g4,a4,c#5,e5]@11 ~@3, ~@2 a3@13 ~", // A7
  E: "[a2@2 ~@2 b2@2 ~ b2 c#3@2 d3 ~ e3 ~ [d3,c5,e5,f5,a5]@4 [a3,a4,c5,e5]@2 f4 [f4,a4,c5,e5] ~@2 [d3,f4,a4,c5,e5]@2 a2 ~ [a2,f4,a4,c5,e5]@2 [e3,e4,g4,b4,d5]@4 [d4,g4,b4,d5]@2 b3 [d4,g4,b4,d5] ~ b3 d4 ~ d4 ~ [b3,g4,d5] d4 [d3,f4,a4,c5,e5]@4 [a3,a4,c5,e5]@2 f4 [f4,a4,c5,e5] ~@2 [d3,f4,a4,c5,e5]@2 a2 ~ [a2,f4,a4,c5,e5]@2 [e3,e4,g4,b4,d5]@4 [d4,g4,b4,d5]@2 b3 [d4,g4,b4,d5] ~ b3 d4 ~ d4 ~ d4@2 c#4@2, [a4,c#5,e5,a5]@13 ~@7 a2@2 ~@18 [e4,g4,b4,d5]@4 ~@8 a2@2 ~@18 [e4,g4,b4,d5]@4 [e4,g4,b4,d5]@4]/5", // Dm7 Am Fmaj7 Dm7 Fmaj7 Em7 G Dm7 …
  F: "[c4,g4,a#4,d5,f5]@4 g3@2 c4@4 c4 ~ c4@4, ~@6 [g4,a#4,c5,e5]@9 ~", // Gm7 C7
  G: "[f3@2 e3 ~ d#3@2 [d3,f4,g#4,c5,d5]@4 [c4,f4,g#4,c5,d5]@2 [c4,f4,g#4,c5] ~ c4@4 g3@2 c4@2 c4@2 g3@2 c4@2 c4@4, [g4,a4,c5,e5]@4 ~@8 d5@2 [g4,a#4,c5,e5]@7 ~ [g4,a#4,d5,f5]@9 ~]/2", // Dm7b5 Fm Am7 C7 Gm7
  H: "[f3@2 e3 ~ d#3@2 [d3,f4,g#4,c5,d5]@4 [c4,f4,g#4,c5,d5]@2 [c4,f4,g#4,c5] ~ c4@4 g3@2 c4@2 [c4,g4,e5]@2 g3@2 c4@2 [g4,a#4,d5]@2 [g4,a#4]@2, [g4,a4,c5,e5]@4 ~@8 d5@2 [g4,a#4,c5,e5]@7 ~ c5 ~ [g4,a#4,d5,f5]@4 [c4,f5]@4, ~@30 d5 ~]/2", // Dm7b5 Fm C Gm Am7 C7 Gm7 F5
  I: "[a3,d4,g4,a4,c5]@5 ~ [d3,d4,f#4,a4,c5]@10", // Am7 D7
  J: "[~@6 [d3,f5]@2 ~@8 g2@4 ~@4 g3 ~ a3 ~ b3 ~ [c5,e5,a5]@3 ~ [b4,d5,g5]@4 b3 ~ [a3,c5]@2 d5@2 e5@2 [f3,a4,c5]@4 [c5,f5] ~ [g3,g4,b4,d5]@3 ~ [f3,g4,b4]@2 [a4,c5]@2 [f3,d5] ~ [e3,g4,b4,d5]@2, d6@9 ~@5 f4@14 ~@36, g3@6 ~@2 [g3,d5]@9 ~@27 g3 ~@19, ~@2 c6@6 ~@4 g4@16 ~@12 g4@5 ~ e5@3 ~@11 b4@2 ~@2, ~@2 g5@2 ~ c5@3 [b3,d4]@6 ~ c4@3 ~@14]/4", // Dm Am G Am F F5 G G7 …
  K: "[~@2 [e3,g4,c5,e5] ~ [e3,c5]@8 f3 f#3 [a4,c5,e5]@3 ~@7 g3 ~ a3 ~ b3 ~ [c5,e5,a5]@3 ~ [b4,d5,g5]@4 b3 ~ [a3,c5]@2 d5@2 e5@2 [f3,a4,c5]@4 [c5,f5] ~ [g3,g4,b4,d5]@3 ~ [f3,g4,b4]@2 [a4,c5]@2 [f3,d5] ~ [e3,g4,b4,d5]@2, ~@4 [e4,g4]@6 ~@2 [f4,a4,c5]@2 g3@9 ~@7 c4@6 ~@8 g3 ~@19, ~@18 [g4,b4,d5]@11 ~@11 g4@5 ~ e5@3 ~@11 b4@2 ~@2]/4", // C Am G Am F F5 G G7 …
  L: "[~@2 [e3,g4,c5,e5] ~ [e3,c5]@8 f3 f#3 [a4,c5,e5]@3 ~ [g4,b4,d5]@11 ~@3, ~@4 [e4,g4]@6 ~@2 [f4,a4,c5]@2 g3@9 ~@9]/2", // C Am G Em F
})).s("gm_epiano2").gain(0.19)

// bass · electric bass finger · "Fing.Bass"
const bass = note(`<
  ~@4 A@2 B@4 C@3 D@2 E F G H I J K L ~@3 M@2 N@4 O@2 P Q R S T U V W X Y L ~@3 A@2 Z@4 AA@3 AB@2 AC AD AE V AF X Y L
  ~@3 AG AH AI@3 ~@3 AG AH AJ@2 AK ~@3 AG AH AL@2 AK
>`.pickRestart({
  A: "[~@8 g1@2 a1 ~ b1@2 c2@6 ~@2 b1 ~ a1@3 ~ g1 ~ f1@2]/2",
  B: "[~@2 f1@2 g1@2 f1@2 f1@2 g1 ~ f1 ~ e1@5 ~ e1 ~ e1 ~ e1 ~ f1 ~ f#1@2 g1@6 a2 ~ d2 ~ g1 ~ g1@2 g1!2 a1@5 ~ a2@2 e2@2 a1@2 a1@2 e2@2 ~@2]/4",
  C: "[a1@2 ~@2 b1@2 ~ b1 c#2@2 d2@2 e2@2 d2@5 ~ a1@3 ~ d2@2 a1@2 a1@2 e1@4 ~@2 e1@2 b1@2 e2@2 e2@2 b1@2 e2@2]/3",
  D: "[d2@3 ~ a1@3 ~ d2@2 a1@2 a1@2 e1@4 ~@5 e1 e1@2 e1@2 a1@2 d2@2]/2", E: "c2@3 ~ g1 ~ a1@2 c2@2 e2@2 g2@3 ~",
  F: "f2@2 e2 ~ d#2@2 d2@3 ~ e2 ~ f2@2 c2@2", G: "~@2 e2 ~ e2 ~ e2@2 c2@2 ~@2 g2@2 f#2@2",
  H: "f2@2 e2@2 d#2@2 d2@3 ~ c2@2 d2@2 e2@2", I: "~@2 e2@2 g2 ~ g2@2 c2@2 ~@2 c#2@2 d2@2",
  J: "a2@2 d2 ~ a2@3 ~ d2@3 ~ a2@3 ~", K: "g2@5 ~ d2@2 g2@3 ~ d2@3 ~", L: "g1@7 ~",
  M: "[~@8 g1@2 a1 ~ b1@2 c2@4 c2 ~ c2@2 b1 ~ a1 ~ e1@2 a1@2 f1@2]/2",
  N: "[~@2 f1@2 g1@2 f1@2 f1@3 ~ f1 ~ e1@6 ~@4 e1 ~ f1 ~ f#1@2 g1@5 ~ g1 ~ d2 ~ g1 ~ g1@2 g1!2 a1@5 ~ a2@2 e2@2 a1@2 a1@2 e2@2 ~@2]/4",
  O: "[a1@2 ~@2 b1@2 ~ b1 c#2@2 d2@2 e2@2 d2@5 ~ a1@3 ~ d2@2 a1@2 a1@2 e1@2]/2",
  P: "~@2 e1@2 e1@2 ~ e1 e1@2 g1@2 g1 ~ b1@2", Q: "d2@3 ~ a1@2 ~ a1 d2@2 a1@2 a1@2 e1@2",
  R: "~@2 e1 ~ e1@2 ~ e1 e1@2 g1@2 d2@2 c#2@2", S: "c2@3 ~ g1 ~ a1@2 c2@2 e2@2 g2@2 f#2@2",
  T: "f2@2 e2 ~ d#2@2 d2@3 ~ e2 ~ d2@2 e2@2", U: "~ g2 e2 d2 c2 ~ g2 f#2", V: "f2@2 e2@2 d#2@2 d2@3 ~ d2@2 d#2@2 e2@2",
  W: "~@2 g2@2 e2!2 g2@2 c2@2 ~@2 c#2@2 d2@2", X: "d2@2 a2 ~ a2@2 d2@2 d2@2 a1@2 e1!2 f#1@2",
  Y: "g2@5 ~ d2@2 g2@3 ~ f2 ~ d2@2",
  Z: "[~@2 f1@2 g1@2 f1@2 f1@3 ~ f1 ~ e1@6 ~@2 e1 ~ e1 ~ e1 ~ f1@2 g1@5 ~ g1 ~ d2 ~ g1 ~ g1@2 g1!2 a1@4 e2@2 a1@3 ~ a1@2 e2@2 a1@3 ~]/4",
  AA: "[a1@2 ~@2 b1@2 ~ b1 c#2@2 d2@2 e2@2 d2@4 ~@2 a1@3 ~ d2@2 a1@2 a1@2 e1@4 ~@2 e1@2 e2!2 e2@2 e2@2 d#2@2 e2 d#2]/3",
  AB: "[d2@3 ~ a1@2 ~ a1 d2@2 a1@2 a1@2 e1@4 ~@2 e1@2 e2!2 e2@2 e2@2 d#2@2 e2 d2]/2",
  AC: "c2@3 ~ g1 ~ a1@2 c2@2 e2@2 g2@2 c3@2", AD: "f2@2 e2 ~ d#2@2 d2@3 ~ d2 ~ d#2@2 e2@2",
  AE: "~ g2 e2 d2 c2 c3 g2 f#2", AF: "~@2 g2@2 e2 d2 c2@2 c2@2 ~@2 c#2@2 d2@2", AG: "~@8 g1@2 a1 ~ b1@2 c2!2",
  AH: "c2@4 ~@2 b1 ~ a1@3 ~ g1 ~ f1@2",
  AI: "[~@2 f1 ~ g1@2 f1@2 f1 ~ f1@2 f1 ~ e1@6 ~@2 e1 ~ e1 ~ e1 ~ f1@2 g1@6 ~@12]/3",
  AJ: "[~@2 f1@2 g1@2 f1@2 f1 ~ f1@2 f1 ~ e1@6 ~@2 e1 ~ e1 ~ e1 ~ f1@2 g1@2]/2", AK: "~@2 b1!2 b1@2 d2@2 g1@3 ~@5",
  AL: "[~@2 f1 ~ g1@2 f1 ~ f1 ~ f1@2 f1 ~ e1@6 ~@2 e1 ~ e1 ~ e1 ~ f1@2 g1@2]/2",
})).s("gm_electric_bass_finger").gain(0.4)

// chords · string ensemble 1 · "#St.Strin"
const string_ensemble_1 = note(`<
  A@3 B@2 C D E F G H@2 ~@3 I J@2 K@2 L M@4 B@2 C D E F G H@2 ~@3 I J@2 K@2 L M@4 B@2 C D E F G H@2 ~@3 I J@2 K@2 L M@4
  B@2 C D E N@3 B@2 C D E N@3 B@2 C D E O
>`.pickRestart({
  A: "[~@8 g3@2 a3@2 b3@2 [a4,c5,e5]@3 ~ [g4,b4,d5]@4 b3 ~ [e4,a4]@2 [e4,a4] ~ [g3,e4,a4,c5] ~ [f4,a4,c5]@2 ~@2 [f4,a4,c5] ~ [g3,d4,g4,b4]@4 [d4,g4]@2 [d4,g4] ~ [d4,g4,b4] ~ [e3,g4,b4,d5]@2, ~@7 c4@2 ~@3 [a3,c5]@2 ~ f3@2 ~@3 [f3,b4]@2 f3 ~]/3", // Am G A5 Am7 F G G5 G …
  B: "[~@2 [e3,g4,c5,e5] ~ [e4,g4,c5]@7 ~ [f3,f4,a4,c5] [f#3,f4,a4,c5] [g4,c5,e5]@2 ~@8 b5 c6 d6 e6 f6 g6 a6@2, ~@3 e3@7 ~@4 g3@10 ~@8, ~@9 [g4,b4,d5]@5 ~@2]/2", // C F C G
  C: "~@2 g6@5 ~ f5 g5 a5 b5 c6 d6 e6@2", D: "~@2 f6 ~ d6@3 ~ e5 f5 g5 a5 b5 c6 d6@2", E: "~@2 e6 ~ c6@7 ~ c6!2 e6@2",
  F: "~@2 d6@8 ~@2 d6!2 f6@2", G: "~ e6@6 ~", H: "[a6 ~ a6!3 ~ a6!3 ~ a6!2 e6 d6 e6@12 ~@6]/2", I: "~@5 c5 e5 a5",
  J: "[g5@6 f5@4 c6@2 c6@2 c6@11 ~ c6@2 e6@2 a6@2]/2", K: "[g6@3 f6@2 c7!2 c7@5 ~ e5 g5 a5]/2", L: "c6@7 ~",
  M: "[~@2 g4 a4 b4 c5 d5 e5 f5 g5 a5 b5 c6 ~@11 g3@2 a3@2 b3@2 [a4,c5,e5]@3 ~ [g4,b4,d5]@4 b3 ~ [e4,a4]@2 [e4,a4] ~ [g3,e4,a4,c5] ~ [f4,a4,c5]@2 ~@2 [f4,a4,c5] ~ [g3,d4,g4,b4]@4 [d4,g4]@2 [d4,g4] ~ [d4,g4,b4] ~ [e3,g4,b4,d5]@2, ~@7 d6@7 ~ c4@2 ~@3 [a3,c5]@2 ~ f3@2 ~@3 [f3,b4]@2 f3 ~]/4", // Am G A5 Am7 F G G5 G …
  N: "[~@8 g3@2 a3@2 b3@2 [a4,c5,e5]@3 ~ [g4,b4,d5]@4 b3 ~ [e4,a4]@2 [e4,a4] ~ [g3,e4,a4,c5] ~ [f4,a4,c5]@2 ~@2 [f4,a4,c5] ~ [g3,d4,g4,b4]@4 [d4,g4]@2 [d4,g4] ~ [d4,g4,b4] ~ [e3,g4,b4,d5]@2, ~ d6@5 ~ c4@2 ~@3 [a3,c5]@2 ~ f3@2 ~@3 [f3,b4]@2 f3 ~]/3", // Am G A5 Am7 F G G5 G …
  O: "~ d6@5 ~@2",
})).s("gm_string_ensemble_1").gain(0.48)

// chords · brass section · "Brass Sec"
const brass_section = note(`<
  ~@4 A B C D E F G@2 H I H J K@4 L M@2 ~@3 A B C D E F G@2 H I H J K@4 L M@2 ~@3 A B C D E F G@2 H I H J K@4 L M@2 ~@3
  A B C D N ~@3 A B C D N ~@3 A B C D N
>`.pickRestart({
  A: "~@7 [c4,e4,a4]", B: "~@2 [b3,d4,g4]@5 ~ [a3,c4,e4]@2 e4 ~ [a3,c4,e4] ~ [a3,c4,e4]@2",
  C: "~@2 [a3,c4,f4] ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@2 d4 ~ [g3,b3,d4] ~ [g3,b3,d4]@2", // F G
  D: "~@2 [g3,c4,e4] ~ [g3,c4,e4]@7 ~ [f3,a3,c4]!2 [a3,c4,e4]@2", E: "~@2 [g3,b3,d4]@6 ~@4 [g3,b3,d4]!2 [a3,d4,f4]@2",
  F: "~ [g3,c#4,e4]@6 ~", // C#dim
  G: "[[a3,a4]@3 ~ [b3,b4]@3 [b3,b4] c#4@2 d4@2 [e4,e5] ~ [c4,e4,f4]@6 ~@12, ~@8 c#5 ~ d5 ~@21]/2", // A B E Fmaj7
  H: "~@7 [b3,e4,b4] [d4,g4,d5] ~ [d4,g4,d5] ~ [b3,e4,b4] [d4,g4,d5]@2 ~", I: "[c4,e4,f4]@3 ~@5",
  J: "[c4,f4,g4]@4 ~@2 [c4,e4,g4]@7 ~@3", // Csus4 C
  K: "[[c4,e4,f4,a4]@4 ~@2 [c4,d4,f4,g#4]@7 ~ [c4,e4,g4]@7 ~ [d4,f4,g4,a#4]@7 ~@3]/2", // Fmaj7 Dm7b5 C Gm7
  L: "[d4,g4,a4]@5 ~ [d4,f#4,a4]@7 ~@3", M: "[[g3,c4,d4]@12 ~@2 [g3,b3,d4]@15 ~@3]/2", N: "~@2 [g3,b3,d4]@11 ~@3",
})).s("gm_brass_section").gain(0.3).pan(0.7)

// other · glockenspiel · "Glockensp"
const glockenspiel = note(`<
  A B C D E B C D F G H I ~ J ~ K L K L M N ~ A B C D E B C D F G H I ~ J ~ K L K L M N ~ A B C D E B C D F G H O ~ P Q
  K L K L M N ~ A B C D E B C D E B C D E B C D E B C D E B C D R
>`.pickRestart({
  A: "~@14 a7 ~", B: "~@2 g7 ~@5 c7 ~ d7 ~ e7 ~ e7 ~", C: "~@2 f7 ~ d7 ~@3 b6 ~ c7 ~ d7 ~ d7 ~",
  D: "~@2 e7 ~ c7 ~@7 c7!2 e7 ~", E: "~@2 d7 ~@11 a7 ~", F: "~@2 d7 ~@9 d7!2 f7 ~", G: "~@2 e7 ~@13",
  H: "a6 ~@3 b6 ~@2 b6 c#7 ~ d7 ~ e7 ~ e7 ~", I: "~@12 c7 ~ b6 ~", J: "e7 ~@11 c7 ~ b6 ~", K: "~@10 c7 ~ e7 ~ a7 ~",
  L: "g7 ~@5 f7 ~@9", M: "~@10 e7 ~ g7 ~ a7 ~", N: "c8 ~@15", O: "~@2 e7 ~ e7 ~ e7 ~ e7 ~@3 c7 ~ b6 ~",
  P: "~@2 e7!3 ~ e7 ~ e7 ~@3 c7 ~ d7 ~", Q: "~@2 e7 ~@3 a7 ~ g7 ~@7", R: "~@2 d7 ~@13",
})).s("gm_glockenspiel").gain(0.48).pan(0.6)

// other · synth bass 2 · "#Syn.Bass"
const synth_bass_2 = note(`<
  A B@3 C B@3 D E F@3 G@2 ~@7 A B@3 C B@3 D E F@3 G@2 ~@7 A B@3 C B@3 D E ~ H@2 I J ~@7 A B@3 C B@3 C B@3 C B@3 C B@3 C
  B@3 K
>`.pickRestart({
  A: "~@7 a6", B: "[~@2 g6@5 ~ c6@2 d6@2 e6 ~ e6@4 f6@2 d6@3 ~ b5@2 c6@2 d6@2 d6@4 e6@2 c6@6 ~@2 c6!2 e6@2]/3",
  C: "~@2 d6@7 ~@5 a6@2", D: "~@2 d6@7 ~@3 d6!2 f6@2", E: "~@2 e6@7 ~@7", F: "[~@14 e6@13 ~ c6@2 b5@14 ~@4]/3",
  G: "[e6@11 ~ c6@2 b5@10 ~@8]/2", H: "[~ e6!3 e6@2 c6 b5@7 ~@2]/2", I: "~@2 e6!2 e6@2 e6@2 e6@3 ~ c6@2 d6@2",
  J: "~@2 e6@3 ~ a6 ~ g6@7 ~", K: "~@2 d6@7 ~@7",
})).s("gm_lead_8_bass_lead").gain(0.18).pan(0.3)

// other · electric guitar clean · "#Chrs.Gtr"
const electric_guitar_clean = note(`<
  ~@4 A B C D E F G@2 H I J K@6 L@2 ~@3 A B C D E F G@2 H I J K@6 L@2 ~@3 A B C D E F G@2 H I J K@6 L@2 ~@24
>`.pickRestart({
  A: "~@14 [g3,g4]!2", B: "~ g4 [g3,g4]!4 ~ [g3,g4]!2 ~ [g3,g4]!5 g4",
  C: "[g3,g4] ~ [g3,g4]!4 ~ [g3,g4]!2 ~ [g3,g4]!4 g3 [g3,g4]", D: "~ g4 [g3,g4]!4 ~ [g3,g4]!3 ~ [g3,g4]!3 g3 [g3,g4]",
  E: "~ g4 [g3,g4]!4 ~ [g3,g4]!3 ~ [g3,g4]!3 g#3 [a3,a4]", // G A
  F: "~ a4 [a3,a4]!4 ~ [a3,a4]!3 ~ [a3,a4] a4 [a3,a4] a3 [a3,a4]", // A
  G: "[[a3,a4]@3 ~ [a3,a4]@2 ~@2 a4@2 [a3,a4]@2 [a3,a4]@2 [c4,e4,a4]@4 ~ [e4,a4] [c4,e4,a4] ~@2 [e4,a4] [c4,e4,a4] ~ [c4,e4,a4] ~ [e4,a4,c5] ~ [d4,g4,b4]@2, ~@7 a3@2 ~@9 c4@2 ~@2 e4@2 ~@8]/2", // A Am A5 Am A5 Am G
  H: "~@3 [g4,b4] [d4,g4,b4] ~@2 [g4,b4] [d4,g4,b4] ~@2 [g4,b4] [d4,g4,b4] ~ [d4,g4,b4] ~, ~ d4 ~ g4 ~ d4 ~@2", // G
  I: "[c4,e4,a4]@2 ~ [e4,a4] [c4,e4,a4] ~@2 [e4,a4] [c4,e4,a4] ~ [c4,e4,a4] ~ [e4,a4,c5] ~ [d4,g4,b4]@2, ~ c4 ~ e4 ~@4", // Am A5 Am A5 Am G
  J: "~@3 [g4,b4] [d4,g4,b4] ~@2 [g4,b4] [d4,g4,b4] ~@2 [g4,b4] [d4,g4,b4] ~@2 [g4,b4], ~ d4 ~ g4 ~ d4 ~ d4", // G
  K: "[c4,c5] ~ c4 [c4,c5]!2 ~@2 [c4,c5]!2 ~ [c4,c5]!4 c4 [c4,c5]", // C
  L: "[[d3,g3,c4,f4]@11 ~ [g3,c4,f4] ~ [d3,g3,b3,f4]@15 ~@3]/2", // Dm7 Csus4 G7
})).s("gm_electric_guitar_clean").gain(0.22).pan(0.3)

// other · electric guitar clean · "#Chrs.Gtr" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@6 A B C D ~ E F E G H@6 ~@7 A B C D ~ E F E G H@6 ~@7 A B C D ~ E F E G H@6 ~@26
>`.pickRestart({
  A: "~@14 g4 ~", B: "~@10 [g3,g4] ~@3 g4 ~", C: "~@10 [g3,g4] ~@3 g#4 ~", D: "~@10 [a3,a4] ~ a3 ~ a4 ~",
  E: "~ e4 ~ c4 ~@4", F: "~ g4 ~ d4 ~ g4 ~@2", G: "~ g4 ~ d4 ~ g4 ~ g4", H: "~@2 c5 ~@11 c5 ~",
})).s("gm_electric_guitar_clean").gain(0.16).pan(0.3)

// other · piccolo
const piccolo = note(`<
  A B@3 C D@5 ~@12 A B@3 C D@5 ~@12 A B@3 C D@5 ~ E@2 F G ~@7 A B@3 C B@3 C B@3 C B@3 C B@3 C B@3 H
>`.pickRestart({
  A: "~@7 a6", B: "[~@2 g6@5 ~ c6@2 d6@2 e6 ~ e6@4 f6@2 d6@4 b5@2 c6@2 d6 ~ d6@4 e6@2 c6@7 ~ c6 e6@3, ~@45 c6 ~@2]/3",
  C: "~ d6@5 ~ a6",
  D: "[~@2 g6@5 ~ c6@2 d6@2 e6 ~ e6@4 f6@2 d6@4 b5@2 c6@2 d6 ~ d6@4 e6@2 c6@7 ~ c6!2 e6@4 d6@9 ~ d6!2 f6@4 e6@10 ~@4]/5",
  E: "[~ e6!3 e6@2 c6 b5@5 ~@4]/2", F: "~@2 e6!2 e6@2 e6@2 e6@4 c6@2 d6@2", G: "~@2 e6@3 ~ a6@2 g6@7 ~",
  H: "~@2 d6@9 ~@5",
})).s("gm_piccolo").gain(0.25).pan(0.4)

// chords · trumpet · "#B.Trumpe"
const trumpet = note(`<
  ~@4 A@2 B C@3 D@2 E F E G H@4 I J@2 ~@3 A@2 B C@3 D@2 E F E G H@4 I J@2 ~@3 A@2 B C@3 D@2 E F E G H@4 I J@2 ~@3 A@2 B
  K@2 ~@3 A@2 B K@2 ~@3 A@2 B K@2
>`.pickRestart({
  A: "[~@8 g2@2 a2 ~ b2@2 [a4,c5,e5]@3 ~ [g4,b4,d5]@4 b2 ~ [a2,a4,c5]@2 [e4,a4,c5] ~ [g2,e4,a4,c5] ~ [f2,e4,a4,c5]@2, ~@14 c3@6 ~@4 e4 ~@7]/2", // Am G Am Am7 Fmaj7
  B: "~@2 [f2,f4,a4,c5] ~ [g2,d4,g4,b4]@2 f2 ~ [f2,d4,g4,b4]@2 [g2,d4,g4,b4] ~ [f2,d4,g4,b4] ~ [e2,d4,g4,b4]@2", // F G G7 G G7 Em7
  C: "[~@2 [e2,e4,g4,c5] ~ [e2,e4,g4,c5]@7 ~ [f2,f4,a4,c5]!2 [a4,c5,e5]@3 ~ [g4,b4,d5]@7 ~@3 [g2,g4,b4,d5]!2 [a4,d5,f5]@3 ~ [a4,c#5,e5]@13 ~, ~@14 g2@11 ~@5 a2@16 ~@2]/3", // C F Am G Dm A
  D: "[[a2,a4]@3 ~ [b2,b4]@2 ~ [b2,b4] [c#3,c#5] ~ [d3,d5] ~ [e3,e5] ~ [d3,a4]@6 a4 ~@11]/2", // A B C# D E D5
  E: "~@7 [d3,d5] [e3,e5] ~ [e3,e5] ~ [d3,d5] [e3,e5]@3", F: "[d3,a4] ~", G: "[c3,a#4,g5]@5 ~ [c3,a#4,g5]@6 ~@4",
  H: "[~@14 [c3,a#4,g5]@7 ~@11]/2", I: "[d3,c5]@4 ~@2 [d3,c5]@7 ~@3", J: "[[g2,f4]@6 ~ [g2,f4]@7 ~@2]/2",
  K: "[~@2 [e2,e4,g4,c5] ~ [e2,e4,g4,c5]@7 ~ [f2,f4,a4,c5]!2 [a4,c5,e5]@3 ~ [b4,d5]@7 ~@7, ~@14 g2@11 ~@7, ~@9 g4@5 ~@2]/2", // C F Am Bm
})).s("gm_trumpet").gain(0.24).pan(0.3)

// drums · kick
const kick = s("bd").struct("<~ A@3 ~ B@17 C A@3 ~ B@17 C A@3 ~ B@18 A@3 ~ B@20>".pickRestart({
  A: "~@3 x", B: "x!4", C: "x ~@2 x",
})).gain(0.56)

// drums · snare
const snare = s("sd").struct(`<
  ~@4 A B@5 C B@10 ~@5 A B@5 C B@10 ~@5 A B@5 C B@10 ~@5 A B@7 D B@4 ~@3 A B@4
>`.pickRestart({
  A: "~@10 x ~ x!4", B: "~ x ~ x", C: "~@4 x ~@2 x!2 ~ x ~ x ~@3", D: "~@2 x ~ x!3 ~",
})).gain(0.56)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A@3 B A@5 C A@4 D@6 C A@4 B A@5 C A@3 C D@6 C A@4 B A@5 C A@3 C D@6 C@2 A@3 B A@15 B A@3 C
>`.pickRestart({
  A: "x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x", B: "x ~@2 x!2 ~@2 x!2 ~@7", C: "x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@3", D: "x!4",
})).gain(0.48)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~ A@3 B A@5 C A@4 ~@6 C A@4 B A@5 C A@3 C ~@6 C A@4 B A@5 C A@3 C ~@6 C@2 A@3 B A@15 B A@4
>`.pickRestart({
  A: "~ x ~ x ~ x ~ x", B: "~ x ~ x ~@4", C: "~ x ~ x ~ x ~@2",
})).gain(0.24)

// drums · open hat
const open_hat = s("oh").struct("<~@10 A ~@4 B@6 A ~@10 A ~@3 A B@6 A ~@10 A ~@3 A B@6 A@2 ~@24>".pickRestart({
  A: "~@7 x", B: "~ x ~ x ~ x ~ x",
})).gain(0.56)

// drums · crash
const crash = s("cr").struct("<~@10 [~@7 x] ~@21 [~@7 x] ~@21 [~@7 x] ~@36>").gain(0.48)

// drums · congas
const congas = s("conga:13").struct("<~ [~ x ~ x]!21 ~ [~ x ~ x]!21 ~ [~ x ~ x]!21 ~ [~ x ~ x]!24>").gain(1.02)

// drums · congas
const congas_2 = s("conga:18").struct("<~ A@20 B ~ A@20 B ~ A@20 B ~ A@23 C>".pickRestart({
// … 28 more lines

More by Knight