Strudelify
Baby I Love Your Way cover art

1994 · Unity

Baby I Love Your Way

Big Mountain

KeyE majorTempo75 bpm
0:00/0:00
// Baby I Love Your Way — Big Mountain
// 74.5 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 7, 4/4 at bar 8) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 86 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(74.5/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.

// other · brass section · "Brass Sec"
const brass_section = note("<~@38 A B ~@4 C ~ D E F G ~@15 H I J@2 K@2 L M N O J@2 P@2 ~@2 J@2 P@2 ~>".pickRestart({
  A: "~@14 [b3,b4] [c#4,c#5]", B: "[e4,e5] [d4,c5,c#5] ~@14",
  C: "~@9 [b3,b4] [e4,e5] [g#4,g#5] [a4,a5] [g#4,g#5] ~ [e4,e5]", D: "~@14 g#4 b4",
  E: "~@2 [a4,c#5,e5] ~@3 [a4,c#5,e5] ~@3 [f#4,b4,c#5,e5] ~@3 [f#4,b4,c#5,e5] ~", // A F#sus4
  F: "~@2 [f#4,a4,c#5,e5] ~@3 [f#4,a4,c#5,e5] ~@3 [f#4,a4,c#5,e5] ~@4 b4", G: "[c#5,e5] ~@15",
  H: "[b4,b5] [c5,c6], ~@8 b5 ~@7", I: "[f5,f6] [d#5,e6] d5 ~@13",
  J: "[~@9 [d4,d5] [g4,g5] [a4,a5] [a#4,a#5] [a4,g5] ~ [c5,c6]@2 [c5,c6,c#6] [a4,a5] ~@13]/2", // D G A A# A7 C C#maj7 A
  K: "[~@7 [d5,d6]@2 [c5,c6] [a#4,a#5] [a4,a5] [g4,g5] [a4,a5] ~ [c5,c6]@2 [c#5,c6] [a4,a5] ~@13]/2", // D C A# A G A C C#maj7 …
  L: "~@9 [d4,d5] [g4,g5] [a4,a5] [a#4,a#5] [a4,g5] ~@2", M: "~@3 c4 ~@3 d4", N: "~@6 f4@2 ~ c5 ~ c5 ~ c5 ~ c5",
  O: "f5@3 ~@13", P: "[~@7 [d5,d6]@2 [c5,c6] [a#4,a#5] [a4,a5] [g4,g5] [a4,a5] ~ [c5,c6]@3 [a4,a5] ~@13]/2",
})).s("gm_brass_section").gain(0.56)

// other · brass section · "Brass Sec" · soft notes
const brass_section_soft = note("<~@39 A ~@26 B ~ C ~ D ~@5 C ~ E ~@3 C ~ E ~>".pickRestart({
  A: "d#4 [c4,c#4,d5,d#5] ~@14", B: "~ [e5,d#6] [b4,c#5,c#6,d6] ~@13", C: "~ c#5 ~@14", D: "~ c#6 ~@14",
  E: "~ [c6,c#6] ~@14", // C#maj7
})).s("gm_brass_section").gain(0.32)

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

// bass · electric bass finger · "Fing.Bass" · soft notes
const bass_soft = note("<~@36 A ~ B ~@5 C D ~@2 E F ~@2 G ~@7 H ~@4 I J K ~@7 K ~@5 K ~@4>".pickRestart({
  A: "~@12 c#3 ~@3", B: "~@5 a#2 [g2,g#2,a2] [e2,f2,f#2] ~@8", C: "~@15 [d2,d#2,e2]", D: "c#2 ~@15",
  E: "~@11 b2 ~@2 [g2,a2,b2] [d2,e2,f2]", F: "c2 ~@15",
  G: "~@5 [f#2,g#2,b2,c#3] [a#2,d#3] [c3,c#3,f3] [d3,d#3,f#3,g#3] ~@7", H: "~@5 c#2 [a1,a#1,b1,c2] [f#1,g1,g#1] ~@8",
  I: "~@10 [c#2,d2] [e2,g2] ~@2 b1 [g1,a#1]", J: "[f1,f#1] ~@15", K: "~@14 c2 ~",
})).s("gm_electric_bass_finger").gain(0.26)

// chords · rock organ · "#Rot.Orga"
const rock_organ = note("<~@17 A B@3 ~@13 C D E F@2 ~@6 G H I J K L M N ~@8 O P Q@3 R ~@19>".pickRestart({
  A: "[g#3,f#4,b4,d#5]", B: "[[c#4,g#4,c#5]@2 f#3@2 ~ [b4,d#5,f#5], e5@5 ~, ~@2 [a4,c#5]@3 ~, ~@2 b3]/3",
  C: "~@10 [b4,c5,d5,e5,f5,g5,a5,b5] [a3,b3,c4,d4,e4,f4,g4,a4] [g2,a2,b2,e3,f3,g3] [c3,d3,e3,f3,g3] [a3,b3,c4,d4,e4,f4] [g4,a4,b4,c5,d5,e5,f5]", // Bm7b5 Am7 Em C Dm7 G7
  D: "g#5@12 [f#5,g#5] e5 f#5@2, g5 ~@13 f5 ~", E: "e5@4 c#5@3 ~", F: "[[a4,c#5,e5]@3 [b4,d#5,f#5], f#4 ~]/2",
  G: "~ [b4,e5] [b4,e5,g#5] [b4,e5] ~@2 [b4,e5,g#5] ~@2 [b4,d#5] [b4,d#5,f#5] [d#5,f#5] ~@2 [b4,d#5,f#5] ~", // E5 E E5 E B D#m B
  H: "~ [g#4,c#5] [g#4,c#5,e5] [g#4,c#5] ~@2 [g#4,c#5,e5] ~@2 [g#4,c#5] [g#4,c#5,e5] [c#5,e5] [f#4,b4,d#5]@2 [f#4,b4,d#5]@2", // C#5 C#m C#5 C#m C#5 C#m B
  I: "~ [a4,c#5] [a4,c#5,e5] [a4,c#5] ~@2 [a4,c#5,e5] ~@2 [f#4,b4,c#5] [f#4,b4,c#5,e5] [c#5,e5] ~@2 [f#4,b4,c#5,e5] ~", // A F#sus4 C#m F#sus4
  J: "~ [a4,c#5,e5] [a4,c#5,e5,f#5] [a4,c#5,e5] ~@2 [a4,c#5,e5,f#5] ~@2 [a4,c#5,e5] [a4,c#5,e5,f#5] [e5,f#5] ~@4", // A F#m7 A F#m7 A F#m7 Esus2
  K: "~ [b4,e5] [b4,e5,g#5] [b4,e5] ~@2 [b4,e5,g#5] ~ [f#4,g#4,b4,d#5]@8", // E5 E E5 E G#m7
  L: "~@2 [g#4,c#5,e5] [g#4,c#5] ~@2 [g#4,c#5,e5] ~@2 [g#4,c#5] [g#4,c#5,e5] [c#5,e5] ~@2 [f#4,b4,d#5]!2", // C#m C#5 C#m C#5 C#m B
  M: "[a4,c#5] ~ [a4,c#5,e5] [a4,c#5] ~@2 [a4,c#5,e5] ~@2 [f#4,b4,c#5,e5]!2 [b4,c#5,e5] ~@2 [f#4,b4,c#5,e5] ~", // A F#sus4 C#m7 F#sus4
  N: "[a4,b4,c#5,e5]@3 ~", O: "g#5@12 [f#5,g#5] [e5,f#5] f#5@2", P: "e5 c#5",
  Q: "[[f#4,a4,c#5,e5]@40 [g4,a#4,d5,f5]@6 [a4,b4,c5] [c4,d4,e4,f4,g4]]/3", R: "b3 ~@15",
})).s("gm_rock_organ").gain(0.2)

// chords · synth strings 1 · "#OB Strin"
const synth_strings_1 = note("<~@21 A@6 ~@12 A@6 ~@21 B@6 ~@2 C@8 D@3 ~>".pickRestart({
  A: "[[e4,g#4] d#4 ~@2 g#4 d#4 ~@2 g#4 d#4 ~ e4, b3@16 [a3,c#4]@16 b3@15 ~ [a3,c#4]@16 b3@15 ~ [a3,c#4]@16, ~ f#4@2 e4@2 f#4@2 e4@2 f#4@2 ~]/6", // E A
  B: "[[f4,a4] e4 ~@2 a4 e4 ~@2 a4 e4 ~ f4, c4@16 [a#3,d4]@16 c4@15 ~ [a#3,d4]@16 c4@15 ~ [a#3,d4]@16, ~ g4@2 f4@2 g4@2 f4@2 g4@2 ~]/6", // F A#
  C: "[[f4,a4]@2 e4@2 ~@4 a4@2 e4@2 ~@2 f4 [e4,g4] [f4,a4]@2 e4@2 ~@4 a4@2 e4@2 ~@2 f4@2, c4@16 [d4,a#4]@16 c4@15 ~ [a#3,d4]@13 ~@11 g4@16 f4@16 g4@16 ~@8, ~@8 g4@16 f4@16 g4@16 ~@4 c4@20 [a#3,d4]@16 c4@15 ~ [a#3,d4]@16]/8", // F Em F Gm A#
  D: "[a4@2 e4@2 ~@2 f4 [e4,g4] [f4,a4]@2 [e4,g4]@2, c4@15 ~ [a#3,d4]@12 c4@20, ~ g4@2 ~@3]/3", // Em F Em A#
})).s("gm_synth_strings_1").gain(0.32)

// chords · string ensemble 2 · "#St.Strin"
const string_ensemble_2 = note("<~@2 A@3 ~@52 B@4 ~@25>".pickRestart({
  A: "[~@3 c#5@3 b4@2 [a2,c#4]@8 [g#2,b3]@8 f#2@8 b2@8 ~@8, ~ e4@4 ~, ~@16 f#3@25 ~@7, ~@3 a3@2 ~]/3", // A G#m
  B: "[[e3,b3,e4,g#4]@7 ~ [f#4,d#5]@7 ~ c#3@12 [b2,f#4]@3 ~ [a2,b3]@15 ~ e6@8 [f#4,f#5,f#6]@8, ~@7 [d#3,b3]@8 [b4,c#5]@32 ~ d2@16, ~@15 e4@13 ~@3 e4@16 [e4,g4,e5]@9 ~@8, ~@16 e5@31 ~@17, ~@32 d#5@9 ~@23]/4", // E D#m B5 Asus2 F# G#m Bsus2 Em
})).s("gm_string_ensemble_2").gain(0.32)

// other · string ensemble 1 · "Violins" · E C# E D# C# B E C# …
const string_ensemble_1 = note(`<
  ~@49
  [~@4 [e5,e6] ~@3 [e5,e6] ~@3 [e5,e6] ~@3]
  [[e5,e6] ~@3 [e5,e6] ~@3 [e5,e6]!2 [c#5,c#6] ~ [e5,e6] [d#5,d#6] [c#5,c#6] [b4,b5]]
  [[e5,e6] ~@3 [e5,e6] ~@3 [e5,e6]!2 [c#5,c#6] ~ [e5,e6] ~@3]
  ~@34
>`).s("gm_string_ensemble_1").gain(0.4)

// chords · electric guitar clean · "#Chrs.Gtr"
const electric_guitar_clean = note(`<
  ~@9 A B C D A B C D E F C G H I H I H I A B C D A B C D E F C G H I H I H I A J K C A J L@2 ~@8 E F C M ~ N O N P N O
  Q R N O N P N O N O N P N O
>`.pickRestart({
  A: "~@2 [e4,g#4,b4] ~@3 [e4,g#4,b4] ~@3 [d#4,g#4,b4] ~@3 [d#4,g#4,b4] ~", // E G#m
  B: "~@2 [c#4,e4,g#4] ~@3 [c#4,e4,g#4] ~@3 [c#4,e4,g#4] ~@3 [c#4,e4,g#4] ~", // C#m
  C: "~@2 [c#4,e4,a4] ~@3 [c#4,e4,a4] ~@3 [c#4,e4,a4] ~@3 [c#4,e4,a4] ~", // A
  D: "~@2 [c4,e4,a4] ~@3 [c4,e4,a4] ~@3 [c4,e4,a4] ~@3 [c4,e4,a4] ~", // Am
  E: "~@2 [d#4,g#4,b4] ~@3 [d#4,g#4,b4] ~@3 [d#4,g#4,b4] ~@3 [d#4,g#4,b4] ~", // G#m
  F: "~@2 [e4,g#4,c#5] ~@3 [e4,g#4,c#5] ~@3 [e4,g#4,c#5] ~@3 [e4,g#4,c#5] ~", // C#m
  G: "~@2 [e4,f#4,b4] ~@3 [e4,f#4,b4] ~@3 [d#4,f#4,b4] ~@3 [d#4,f#4,b4] ~", // Esus2 B
  H: "~@2 [e4,g#4,b4] ~@3 [e4,g#4,b4] ~@3 [d#4,f#4,b4] ~@3 [d#4,f#4,b4] ~", // E B
  I: "~@2 [f#4,a4,c#5] ~@3 [f#4,a4,c#5] ~@3 [e4,a4,c#5] ~@2 [e4,a4,c#5]!2 ~", // F#m A
  J: "~@2 [c#4,e4,g#4] ~@3 [c#4,e4,g#4] ~@3 [c#4,e4,g#4] ~@3 [b3,e4,g#4] ~", // C#m E
  K: "~@2 [c#4,e4,a4] ~@3 [c#4,e4,a4] ~@3 [e4,f#4,b4] ~@3 [e4,f#4,b4] ~", // A Esus2
  L: "[~@2 [c#4,e4,a4] ~@3 [c#4,e4,a4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~ [a3,c#4,f#4]@15 ~, ~@15 e3@16 ~]/2", // A E F#m
  M: "~@2 [c#4,e4,a4] ~@13", N: "~@2 [f4,a4,c5] ~@3 [f4,a4,c5] ~@3 [e4,g4,c5] ~@3 [e4,g4,c5] ~",
  O: "~@2 [g4,a#4,d5] ~@3 [g4,a#4,d5] ~@3 [f4,a#4,d5] ~@2 [f4,a#4,d5]!2 ~", // Gm A#
  P: "~@2 [g4,a#4,d5] ~@3 [g4,a#4,d5] ~@3 [f4,a#4,d5] ~@3 [e4,g4,c5] ~", // Gm A# C
  Q: "~@2 [f4,a4,c5] ~@3 [f4,a4,c5] ~@3 [f4,a4,c5] ~@3 [f4,a4,c5] ~", // F
  R: "~@2 [f4,a#4,d5] ~@3 [f4,a#4,d5] ~@3 [e4,g4,c5] ~@3 [e4,g4,c5] ~", // A# C
})).s("gm_electric_guitar_clean").gain(0.46).pan(0.3)

// chords · acoustic guitar steel · "#Nyl.Gtr."
const acoustic_guitar_steel = note("<A B@2 C D ~@47 E@3 F G@3 H I ~@3 J K ~@6 L M N ~@11>".pickRestart({
  A: "~@10 e4 ~@3 b3 ~, ~ e2, ~@9 b3@4 e4@2 ~, ~@11 g#4@5",
  B: "[~@2 d#4 ~@3 b3 ~@4 e4@2 ~ d#4 e4 c#4@3 ~ [c#3,g#3,c#4,e4,g#4]@2 [b2,b3,d#4] ~@7 e3@2, g#2@7 ~ c#3@11 ~@5 a2@8, ~ b3@4 d#4@2 ~@2 g#3@3 ~ g#3@6 ~@6 a3@2 c#4@5, ~@3 g#4@5 ~@2 c#4@4 ~@10 c#4@2 e3@3 a3@2 ~]/2", // C#m B
  C: "~@2 b3 ~@3 f#3 ~@3 a3 ~@4 a#2, g#2@4 f#2@3 e3, ~ f#3@4 b3@2 ~@2 e3@4 a3@3, ~@3 d#4@5 ~@3 c#4@5",
  D: "~ [a3,c#4,e4,b4]@14 ~, [b2,f#3]@15 ~", // A B5
  E: "[~@16 [e4,g#4]@7 ~@2 f#4@6 ~ [g#3,b3,e4]@15 ~, ~@15 [e3,b3]@8 ~ [d#3,b3,d#4]@7 c#3@16 ~]/3", F: "[a2,e4]@7 ~",
  G: "[~ g4@7 f#4@7 ~ [e4,g#4]@7 ~ [d#3,b3,d#4,f#4]@7 ~ [g#3,b3,e4]@12 b2@4, [d3,a3,c4]@15 [e3,b3]@8 ~@8 c#3@12 ~@5, ~ e4@14 ~@33]/3", // E B E D7 E5
  H: "a2@15 ~", I: "~ g4@7 f#4@8, d3@15 ~, a3 ~, ~ [c4,e4]@14 ~", J: "[b3,b4]@7 ~ [b3,b4]@7 ~",
  K: "[b3,b4]@7 ~ [a#3,d4,f4]@8, ~@7 [c3,g3]@9", // B A# C5
  L: "~@3 a4 g4 f4 d4 c4 ~@4 a4@2 d5 ~, ~ c4@3 ~@4 d4@7 ~, ~@2 f4@2 ~@6 f4@5 ~",
  M: "~@3 a#4 a4 g4 f4 d4 [c4,e4] ~ [a#3,d4]@2 [a3,c4]@2 [g3,a#3]@2, ~ d4@3 ~@12, ~ g4 ~@6", N: "[f3,a3] ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.48)

// chords · electric guitar jazz · "Jazz Gtr."
const electric_guitar_jazz = note("<~@12 A ~@4 B@2 C ~@10 D ~@3 A B@2 E F ~@6 G H ~@14 I J K@2 L ~@20>".pickRestart({
  A: "[f#3,c4] ~@7", B: "[g#3@15 ~]/2", C: "f#3@15 ~", D: "f#3 ~@7", E: "f#3@7 [a#3,f4,a#4]", F: "[b3,f#4,b4] ~",
  G: "~@4 b3@3 ~ g#3@6 ~@2", H: "c#3@6 ~@4 c#3!2 b2@4", I: "g#3@7 ~", J: "c#4@7 [c4,e4,g#4]",
  K: "[[a3,c#4,f#4]@8 ~@8 [a3,c#4,e4]@15 ~, ~@15 f#3@15 ~@2]/2", L: "[b3,c#4,e4,a4] ~",
})).s("gm_electric_guitar_jazz").gain(0.32).pan(0.8)

// other · electric guitar muted · "Muted Gtr"
const electric_guitar_muted = note("<~@30 [c4 ~@7] [g#3 f#3 e3 ~ b2 g#2 f#2 e2 d#2 ~ d#2 ~ b2@4] ~@54>")
  .s("gm_electric_guitar_muted").gain(0.48).pan(0.8)

// other · flute · "Flutes"
const flute = note(`<
  ~@22 A@2 B@2 ~@4 C ~@9 A@2 B@2 ~@10 D ~@10 E F G@2 H@2 I ~ J K G@2 H@2 ~@2 G@2 H@2 ~
>`.pickRestart({
  A: "[~@9 c#5 f#5 g#5 a5 g#5 ~ b5@2 [b5,c#6] g#5 ~@13]/2", // Bsus2
  B: "[~@7 [b5,c6] ~ b5 a5 g#5 f#5 g#5 ~ b5@3 g#5 ~@13, ~@7 c#6@2 ~@6 a#5 ~@16]/2", // Cmaj7
  C: "~@9 [b5,c6] [g#5,b5] [c5,e5] [b4,c5]!4", D: "~@5 b4 [g#4,b4]!6 ~@4, ~@2 g#4 ~@5", E: "~@8 [c6,d6]!8",
  F: "[c6,e6,f6] ~@15", G: "[~@9 d5 g5 a5 a#5 a5 ~ c6@2 [c6,d6] a5 ~@13]/2",
  H: "[~@7 [c6,c#6] ~ c6 a#5 a5 g5 a5 ~ c6@3 a5 ~@13, ~@7 d6@2 ~@6 b5 ~@16]/2", I: "~@9 d5 g5 a5 a#5 a5 ~@2",
  J: "~@9 [f6,a6]@7", K: "[e6,f6] [c6,d6] [f5,g5,a5,b5] e5 ~@12",
})).s("gm_flute").gain(0.4).pan(0.4)

// other · flute · "Flutes" · soft notes · G#m Csus2
const flute_soft = note(`<
  ~@54
  [~@12 [g#4,b4]!4]
  [[g#4,b4]!4 g#4 ~@11]
  ~@10
  [~ [c#6,d6,d#6] ~@14]
  ~@7
  [~@3 [c5,d5] ~@12]
  ~@11
>`).s("gm_flute").gain(0.16).pan(0.4)

// other · marimba · C A# Am Gm
const marimba = note(`<
  ~@72
  [~ c4 f4 a4 g4 f4 d4 c4 d4 ~ f4 ~ a4 ~ d5 ~]
  [~ d4 g4 a#4 a4 g4 f4 d4 [c4,e4] e4 [a#3,d4] d4 [a3,c4] c4 [g3,a#3] a#3]
  ~@12
>`).s("gm_marimba").gain(0.48).pan(0.8)

// drums · kick
const kick = s("bd").struct(`<
  ~@7 A@5 B A@5 B A@13 B A C A B A D A@3 B A@7 B A@2 ~@7 E A B A@2 D A B A@3 B A@3 B A B A@5 B A@2
>`.pickRestart({
  A: "x!2 ~ x!3 ~@2", B: "x!2 ~ x!3 ~ x", C: "x ~ x ~@3 x ~ x ~ x ~@2 x ~@2", D: "x ~ x ~@3 x ~ x!3 ~@5",
  E: "~@13 x ~@2",
})).gain(0.32)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@7 [~@7 x ~@7 x]!45 [~@7 x ~@8] ~@8 [~@7 x ~@7 x]!24 [~@7 x ~@8]>").gain(0.16)

// drums · snare
const snare = s("sd").struct("<~@7 A B A@11 C A@5 B A@11 D A@14 ~@7 E A@4 F A@7 B A G A@10>".pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@4 x ~@2 x ~@3", C: "~@4 x ~@3 x!2 ~@2 x ~@3", D: "~ x!3", E: "~@4 x!2 ~ x ~@6 x ~",
// … 117 more lines