Strudelify

Carmen

Georges Bizet

KeyG minorTempo120 bpm
0:00/0:00
// Carmen — Bizet Georges
// 120 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 8 trumpet (copy of ch 13 trumpet)
// note: Full arrangement: all 68 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · string ensemble 1 · "xxxxxxxx"
const string_ensemble_1 = note(`<
  A@2 B C A@2 D E A@2 B C A@2 D E F G F H I J K L@2 A@2 B C A@2 D E M N O P Q R S T U V W X@2 Y ~@11 A@2 B C A@2 D Z AA
  AB
>`.pickRestart({
  A: "[g5@3 a5]/2", B: "c6 b5 c6 b5", C: "c6@2 b5 a5", D: "bb5", E: "~@12 b5@3 ~, d6@7 ~",
  F: "~@5 b4 e5 gb5 g5@4 gb5@4", G: "e5@6 g5@2 gb5@5 b4 db5 b4", H: "~@4 g5@4 [eb5,gb5]@6 b5 ~, e5 ~",
  I: "[e5,g5] [d5,gb5] [c5,e5]@2", J: "[b4,eb5]", K: "[e5,g5] [gb5,a5] [e5,g5]@2",
  L: "[bb5@8 a5@8 bb5@8 [gb5,a5]@4 d6 a5 gb5 d5, gb5@3 ~]/2", // Gbm
  M: "[eb3,eb4,g4,bb4,eb5] ~@3 [eb3,eb4,g4,bb4,eb5] ~@3 [eb3,eb4,g4,bb4,eb5] ~@3 [eb3,eb4,g4,bb4,eb5] ~@3", // Eb
  N: "[eb3,eb4,g4,bb4,eb5] ~@3 [eb3,eb4,g4,bb4,eb5] ~@3 [eb3,eb4,g4,bb4,eb5] ~@3 [eb3,eb4,g4,bb4]@3 ~", // Eb
  O: "bb5@4 c6@3 bb5 g5@4 g5@4", P: "g5@3 f5 g5@3 ab5 g5@8", Q: "ab5@4 f5@3 bb5 g5@8", R: "eb5@4 c5@3 f5 bb4@8",
  S: "[f5,ab5]@5 [ab5,c6] [g5,bb5] ab5, ~@14 f5 ~", T: "[eb5,g5] [d5,f5] [eb5,g5] [f5,ab5] [eb5,g5]@4",
  U: "[bb4,d5]@4 [bb4,g5]@4 [bb4,g5]@4 [d5,gb5]@3 a5", V: "[g5,b5]@15 ~", W: "[ab5,c6]",
  X: "[[d5,bb5] [eb5,c6] [g5,bb5]@4 [f5,ab5]@2]/2", Y: "eb5@2 eb6 d6 c6 bb5 ab5 g5 f5 eb5 d5 c5 bb4 ab4 g4 f4",
  Z: "[bb4,f5,d6] ~ [f4,bb5] ~ [bb4,f5,d6] ~ [f4,bb5] ~ [bb4,f5,d6] ~ [f4,f5,bb5] ~ [bb4,f5,d6] ~ [f4,f5,bb5] ~", // Bb Bb5 Bb Bb5 Bb Bb5 Bb Bb5
  AA: "[gb4,d5,gb5,d6] ~@3 [gb4,d5,gb5,d6] ~@3 [gb4,d5,gb5,d6] ~@3 [gb4,d5,gb5,d6] ~@3", // D
  AB: "[g4,d5,g5,b5] ~@3 [g3,d5,g5,b5] ~@11", // G
})).s("gm_string_ensemble_1").gain(0.15).pan(0.6)

// chords · string ensemble 1
const string_ensemble_1_2 = note(`<
  A B C D E B F G A B C D E B F G H I H I J K L M N A B C D E B F G O@2 P@2 Q R S T U V W X@2 Y P@2 Q R S T Z@2 AA AB AC
  A B C D E B F AD AE AF
>`.pickRestart({
  A: "b3@4 c4@4 b3@4 c4@3 ~, [d4,g4]@8 [d4,g4]@7 ~", B: "[b3,d4,g4]@2 [db4,e4,a4] [d4,gb4,a4]",
  C: "[c4,e4] [b3,d4] [c4,e4,g4] [b3,d4,g4], g4 ~", D: "[c4,e4,g4] [c4,e4,a4] [eb4,gb4,b4] [d4,gb4,a4]",
  E: "[b3,d4,g4] [c4,d4,g4] [b3,d4,g4] [c4,d4,g4]", F: "[d4,f4,bb4]", G: "[d4,gb4,a4]@6 [b3,d4,g4] ~",
  H: "[b3,e4,g4]@3 [a3,d4,gb4]", I: "[a3,db4,e4] [b3,eb4,gb4]", J: "[c4,e4,g4]@3 ~ [a3,d4,gb4]@4 [c4,e4,g4]@8",
  K: "[b3,eb4,gb4]", L: "[c4,e4,g4]@4 [d4,gb4,a4]@4 [c4,e4,g4]@7 ~", M: "[bb3,db4,gb4] [a3,db4,gb4]",
  N: "[bb3,db4,gb4]@7 ~ [a3,d4]@4 [a3,c4]@4, ~ gb4", O: "[[bb3,eb4,g4]@31 ~]/2", P: "[bb3,eb4,g4]/2",
  Q: "[bb3,d4,f4] [bb3,eb4,g4]", R: "[c4,f4,a4]@8 [bb3,d4,f4]@7 ~", S: "[c4,f4,ab4]", T: "[c4,eb4,g4]",
  U: "[bb3,d4,g4]@3 [a3,d4,gb4]", V: "[b3,d4,g4]", W: "[c4,f4,ab4]@15 ~",
  X: "[[bb3,d4,f4]@4 [ab3,c4]@4 [bb3,g4]@15 ~ [bb3,d4,f4]@8, ~@4 eb4@19 ~@9, ~@4 gb3 ~@27]/2", // Bb Ab Eb Bb
  Y: "[bb3,eb4,g4] [bb3,d4,f4]", Z: "[[bb3,d4,g4]@3 [a3,gb4] [b3,g4]@2 [b3,eb4,gb4]@2, ~@12 d4@11 ~@9]/2",
  AA: "[c4,e4,g4] [b3,e4,ab4] [c4,e4,a4]@2", AB: "[d4,g4,b4] [c4,e4,g4] [d4,g4,b4] [c4,e4,g4]",
  AC: "[d4,g4,b4] [d4,gb4,a4]@3", // G D
  AD: "[bb2,bb3] ~ [f2,f3] ~ [bb2,bb3] ~ [f2,f3] ~ [bb2,bb3] ~ [f2,f3] ~ [bb2,bb3] ~ [f2,f3] ~", // Bb F Bb F Bb F Bb F
  AE: "[d3,gb3,d4] ~@3 [d2,d3,gb3,d4] ~@3 [d2,d3,d4] ~@3 [d2,d3,d4] ~@3", AF: "[g2,g3,b3] ~@3 [g2,g3,b3,g4] ~@11",
})).s("gm_string_ensemble_1").gain(0.1)

// other · trumpet
const trumpet = note(`<
  ~@8 A B C B A B ~@6 D E D F G ~@8 H@2 I J K L M N O P Q R S T U V W X Y Z AA AB AC@2 AD ~@7 AE AF AG
>`.pickRestart({
  A: "~@13 d5!3", B: "g5@7 ~@9", C: "~@15 g5", D: "~@15 c5", E: "gb5@15 ~, c5 ~@15",
  F: "gb5@6 ~ db5 a5@6 ~ db5, c5 ~@15", G: "gb5@7 ~ a5@4 [gb5,a5] ~ [gb5,a5] ~",
  H: "[eb4,g4] ~@3 [eb4,g4] ~@3 [eb4,g4] ~@3 [eb4,g4] ~@3", I: "g4@4 ab4@3 g4 eb4 ~@3 eb4 ~@3",
  J: "eb4@3 d4 eb4@3 f4 eb4@5 ~@3", K: "f4@4 d4@3 g4 eb4@7 ~", L: "c4@4 eb4@3 a4 d4@7 ~",
  M: "c4@7 ~ c4@2 ab4@2 g4@2 f4@2", N: "eb4 d4 eb4 f4 eb4@3 ~", O: "g4@4 bb4@3 ~ bb4@4 a4@3 gb4", P: "b4",
  Q: "~@2 ab4 [ab4,bb4] g4@2 ab4@2 d4@2 eb4@2 f4@4", R: "~@2 eb4 [eb4,f4] c4@2 ab4@2 g4@6 ~@2",
  S: "~@2 bb3 [bb3,c4] g3@2 ab4@2 g4@4 f4@4", T: "eb4 ~ bb3 c4 d4 eb4 f4 g4 ab4 bb4 c5 d5 eb5 d5 eb5 f5",
  U: "g5@4 ab5@3 g5 eb5 ~@3 eb5@2 ~@2", V: "eb5@3 d5 eb5@3 f5 eb5@4 ~@4", W: "f4@4 d4@3 g4 eb4@6 ~@2",
  X: "c5@4 a4@3 d5 bb4@4 ~@4", Y: "ab4@7 ~ ab4@2 eb5@2 d5@2 c5@2", Z: "g4 ab4 bb4 c5 bb4@3 ~",
  AA: "g4@4 bb4@3 ~ bb4@4 a4@3 c5", AB: "b4@8 b4@7 ~",
  AC: "[d5@2 c5 [c5,d5] b4@2 b4 ~ a4@2 b4@2 c5@6 b4 [b4,c5] g4@2 e5@2 d5@2 b4!2 g4@2 c5@2]/2", // Csus2 Cmaj7
  AD: "b4@2 d5 [d5,e5] b4@2 a4@2 d5 ~@3 d5 ~@3", // Dsus2
  AE: "[bb4,d5] ~ [f4,bb4] ~ [bb4,d5] ~ [f4,bb4] ~ [bb4,d5] ~ [f4,bb4] ~ [bb4,d5] ~ [f4,bb4] ~", // Bb Bb5 Bb Bb5 Bb Bb5 Bb Bb5
  AF: "[gb4,a4] ~@3 [gb4,a4] ~@3 [gb4,a4] ~@3 [gb4,a4] ~@3", AG: "[g4,b4] ~@3 [b3,g4,b4] ~@11",
})).s("gm_trumpet").gain(0.21).pan(0.2)

// other · french horn
const french_horn = note(`<
  A B C D A B E F A B C D A B E F G H I J K L M N O A B C D A B E F P@2 Q R S T U V W X@2 Y Z AA AB AC AD AE AF AG AH AI
  AJ@2 AK A B C D A B E AL AM AN
>`.pickRestart({
  A: "b3 ~ b3!3 g3!3 b3 ~ b3!3 c4 d4 c4", B: "b3 ~ b3!2 c4 b3 a3 b3 db4@4 d4@2 ~@2",
  C: "e4 ~ e4!3 b3!3 e4 ~ e4!3 f4 g4 f4", D: "e4 ~ e4 d4 c4 ~ c4!2 b3@4 a3@2 ~@2",
  E: "bb3 ~ bb3!3 f3!3 bb3 ~ bb3!3 a3 g3 a3", F: "gb3 ~ gb3 g3 a3@2 gb3 d4 d4@4 b3 ~@3", G: "~@3 b3 e4@8 gb4@4",
  H: "e4@7 ~ gb4@2 e4 gb4 eb4@2 b3@2", I: "~@3 b3 e4@8 d4@4", J: "db4@7 ~ gb4@2 e4 gb4 eb4@2 ~@2",
  K: "e4!2 e4@2 gb4!2 gb4@2 g4!2 g4@2 e4!3 ~", L: "~ eb4 ~ b3 ~ eb4 ~ e4 ~ eb4 ~ b3 eb4 ~@3",
  M: "e4!2 e4@2 gb4!2 gb4@2 g4!2 g4@2 e4!2 e4@2", N: "bb4@7 gb4 a4@7 gb4", O: "bb4@7 gb4 a4@4 a4 ~ a4 ~",
  P: "g3 ~@3 g3 ~@3 g3 ~@3 g3 ~@3", Q: "bb3@4 c4@3 bb3 g3 ~@3 g3 ~@3", R: "g3@3 f3 g3@3 ab3 g3@5 ~@3",
  S: "ab3@4 f3@3 bb3 g3@7 ~", T: "eb3@4 c3@3 f3 bb2@7 ~", U: "f3@7 ~ f3@2 c4@2 bb3@2 ab3@2", V: "g3 f3 g3 ab3 g3@3 ~",
  W: "d3@4 g3@3 ~ g3@4 gb3@3 a3", X: "[d4@18 c4 [c4,d4] bb3@2 c4@2 f3@2 g3@2 ab3@4]/2",
  Y: "~@2 g3 [g3,ab3] eb3@2 c4@2 bb3@6 ~@2", Z: "~@2 eb3 [eb3,f3] bb2@2 ab3@2 g3@4 f3@4",
  AA: "eb3 ~ bb2 c3 d3 eb3 f3 g3 ab3 bb3 c4 d4 eb4 f4 g4 ab4", AB: "bb4@4 c5@3 bb4 g4 ~@3 g4@2 ~@2",
  AC: "g4@3 f4 g4@3 ab4 g4@4 ~@4", AD: "ab4@4 f4@3 bb4 g4@6 ~@2", AE: "eb4@4 c4@3 f4 bb3@4 ~@4",
  AF: "f4@7 ~ f4@2 c5@2 bb4@2 ab4@2", AG: "g4 f4 g4 ab4 g4@3 ~", AH: "d4@4 g4@3 ~ g4@4 gb4@3 a4",
  AI: "d5@8 eb5 [eb5,e5] e5 [eb5,e5] eb5 [eb5,e5] e5 [eb5,e5]", // Emaj7
  AJ: "[gb5@2 e5 [e5,gb5] eb5@2 e5 ~ a4@2 b4@2 c5@6 b4 [b4,c5] g4@2 e5@2 d5@2 b4!2 g4@2 e5@2]/2", // Esus2 Cmaj7
  AK: "d5@2 g5 [g5,a5] d5@2 c6@2 b5 ~@3 a5 ~@3", AL: "bb4 a4 f4 a4 bb4 a4 f4 a4 bb4 a4 f4 a4 bb4 a4 f4 a4",
  AM: "gb4 ~ gb4!4 ~ gb4!3 ~ gb4!2 ~ gb4 ~", AN: "b3 ~@3 b3 ~@11",
})).s("gm_french_horn").gain(0.25)

// other · orchestra hit
const orchestra_hit = note(`<
  A B C D A B E ~ A B C D A B E ~@10 A B C D A B E ~ F@2 ~@23 A B C D A B E G H I
>`.pickRestart({
  A: "[g4,g5] ~@7 [g4,g5] ~@7", B: "[g4,g5] ~@15", C: "[c4,c5] ~@7 [c4,c5] ~@7", D: "[c4,c5] ~@15",
  E: "[bb4,bb5] ~@7 [bb4,bb5] ~@7", F: "eb4 ~@7", G: "bb4 ~ f4 ~ bb4 ~ f4 ~ bb4 ~ f4 ~ bb4 ~ f4 ~",
  H: "d5 ~@3 d5 ~@3 d5 ~@5 d4 ~", I: "g4 ~@3 g3@2 ~@10",
})).s("gm_orchestra_hit").gain(0.18).pan(0.4)

// chords · trombone
const trombone = note("<~@2 A B ~@2 C D ~@2 A B ~@2 C D ~@11 A B ~@2 C D ~@27 A B ~@2 C E F G>".pickRestart({
  A: "~@12 [d4,b4]!2 ~ [f4,b4]", B: "~@5 [c4,e4] [c4,a4]!2 ~@8", C: "~@5 [d4,f4] [bb3,d4]!2 ~@8",
  D: "~@5 [gb4,a4] [d4,gb4]!2 ~@8", // Gbm D
  E: "[bb3,d4,f4,bb4] ~@3 [bb3,f4,bb4,d5] ~ bb3 ~ [bb3,d4,f4,bb4] ~@3 [bb3,f4,bb4,d5] ~@3", F: "[d4,a4,d5,gb5] ~@15",
  G: "[b3,b4,d5,g5] ~@3 [b3,g4,b4,d5] ~@11", // G
})).s("gm_trombone").gain(0.25).pan(0.4)

// bass · electric bass finger
const bass = note(`<
  A B C D A E F G H I C J K B L G M N M O P Q R S T A B C D A E F G U@2 V W X Y Z AA AB AC AD AE AF AG AH@2 AI AJ AK AL
  AM AN AO AP AQ A B C D A E F AR AS AT
>`.pickRestart({
  A: "g1@2 ~@2 d2@2 ~@2 g1@3 ~ d2@2 ~@2", B: "g1@3 ~ g1@3 ~ a1@3 ~ d2@2 ~@2", C: "c2 ~ g1 ~ c2 ~ g1 ~",
  D: "c2@3 ~ a1@3 ~ b1@3 ~ d2@2 ~@2", E: "g1@3 ~ g1@3 ~ a1@3 ~ d2@3 ~", F: "bb1@2 ~@2 f1@2 ~@2 bb1@3 ~ f1@2 ~@2",
  G: "d2@2 ~@2 d2@2 ~@2 d2@3 ~ g1@2 ~@2", H: "g1 ~ d2 ~ g1 ~ d2 ~", I: "g1@2 ~@2 g1@3 ~ a1@3 ~ d2@2 ~@2",
  J: "c2@2 ~@2 a1@3 ~ b1@3 ~ d2@3 ~", K: "g1@3 ~ d2@2 ~@2 g1@2 ~@2 d2@2 ~@2", L: "bb1@2 ~@2 f1@2 ~@2 bb1@2 ~@2 f1@3 ~",
  M: "e2@2 ~@2 b1@2 ~@2 e2@3 ~ d2@3 ~", N: "a1@3 ~ a1@3 ~ b1@3 ~ b1@2 ~@2", O: "a1@3 ~ a1@3 ~ b1@3 ~ b1@3 ~",
  P: "c2@3 ~ d2@3 ~ c2@2 ~@2 c2@3 ~", Q: "b1@3 ~ b1@3 ~ b1@2 ~@2 b1@3 ~", R: "c2@3 ~ d2@3 ~ c2@3 ~ c2@3 ~",
  S: "gb1@2 ~@2 gb1@3 ~ gb1@3 ~ gb1@3 ~", T: "gb1@3 ~ gb1@3 ~ d2@3 ~ d2@3 ~", U: "eb1 ~ eb1 ~ eb1 ~ eb1 ~",
  V: "eb1@3 ~ bb1@2 ~@2 eb2@2 ~@2 bb1@2 ~@2", W: "eb2@3 ~ bb1@2 ~@2 eb2@3 ~ bb1@2 ~@2",
  X: "bb1@2 ~@2 bb1@2 ~@2 eb2@3 ~ eb2@3 ~", Y: "f2@3 ~ a1@3 ~ bb1@3 ~ bb1@2 ~@2", Z: "f2@3 ~ c2@2 ~@2 f2@2 ~@2 f2@3 ~",
  AA: "c2@2 ~@2 g1@2 ~@2 c2@3 ~ g1@3 ~", AB: "g1@3 ~ d2@3 ~ d2@3 ~ a1@3 ~", AC: "g1@3 ~ d2@2 ~@2 g1@3 ~ d2@3 ~",
  AD: "f2@3 ~ c2@3 ~ f1@3 ~ f1@3 ~", AE: "bb1@3 ~ ab1@3 ~ eb2@3 ~ eb2@2 ~@2", AF: "eb2@3 ~ eb2@3 ~ bb1@3 ~ bb1@3 ~",
  AG: "eb2 ~@3 bb1@3 ~", AH: "eb2 ~ bb1 ~ eb2 ~ bb1 ~", AI: "bb1@3 ~ bb1@3 ~ eb2@2 ~@2 bb1@2 ~@2",
  AJ: "f2@3 ~ c2@3 ~ bb1@2 ~@2 bb1@3 ~", AK: "f1@3 ~ c2@3 ~ f2@2 ~@2 f2@3 ~", AL: "c2@3 ~ g1@2 ~@2 c2@2 ~@2 g1@3 ~",
  AM: "g1@3 ~ g1@3 ~ d2@2 ~@2 d2@3 ~", AN: "g1@2 ~@2 d2@3 ~ b1@2 ~@2 b1@3 ~", AO: "c2@3 ~ e2@3 ~ a1@3 ~ a1@3 ~",
  AP: "g1@3 ~ c2@2 ~@2 g1@2 ~@2 c2@3 ~", AQ: "g1@3 ~ d2@3 ~ d2@2 ~@2 d2@3 ~",
  AR: "bb1 ~ f1 ~ bb1 ~ f1 ~ bb1 ~ f1 ~ bb1 ~ f1 ~", AS: "d2 ~@3 d2 ~@3 d2 ~@3 d2 ~@3", AT: "g1 ~ g1 ~@5",
})).s("gm_electric_bass_finger").gain(0.31)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  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 ~@2 AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU
  AV AW ~@2 AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK ~
>`.pickRestart({
  A: "~@2 d4 ~@7 [b3,d4] ~@5", B: "~@2 [g3,b3] ~@3 [g3,b3,d4] ~@3 a3 ~@3 c4 ~", C: "~@6 b3 ~@3 [g3,c4,e4] ~@5",
  D: "~@2 [g3,e4] ~@3 a3 ~@7 [gb3,c4,d4]@2", E: "~@10 d4 ~@3 [c4,d4] ~", F: "~@10 db4@3 ~ a3 ~",
  G: "~@6 [f3,bb3,d4] ~@7 bb3 ~", H: "~@2 [gb3,d4] ~@3 c4 ~ d4@3 ~@5", I: "~@6 c4 ~@3 b3 ~@5",
  J: "~@6 g3 ~@3 g3 ~@3 d4 ~", K: "~@2 c4 ~@7 g3 ~@5", L: "~@2 [c4,e4] ~@3 [g3,e4] ~@7 [gb3,d4] ~",
  M: "~@2 b3 ~@3 c4 ~@3 d4 ~@3 c4 ~", N: "~@2 d4 ~@7 [g3,a3,db4] ~@3 [gb3,a3] ~",
  O: "~@6 [bb3,d4] ~@3 [f3,bb3] ~@3 bb3 ~", P: "[gb3,d4] ~@11 d4 ~@3", Q: "~@4 e4 ~@5 e4 ~@3 gb4 ~",
  R: "~@2 a3 ~@7 [b3,eb4] ~@3 [gb3,eb4]@2", S: "~@6 [g3,b3,e4] ~@3 b3 ~@3 [a3,d4] ~", T: "~@6 db4 ~@9",
  U: "~@2 [c4,e4] ~@3 d4 ~@7 g3 ~", V: "~@2 [gb3,eb4] ~@7 [gb3,eb4] ~@3 b3 ~", W: "~@2 [g3,e4] ~@3 [gb3,d4] ~@9",
  X: "~@2 [db4,gb4] ~ gb4 ~ gb3 ~@7 a3 ~", Y: "~@2 db4 ~@3 [gb3,bb3] ~@3 [a3,d4] ~ d4 ~ d4 ~",
  Z: "~@10 [g3,d4] ~@3 d4 ~", AA: "~@2 g3 ~@3 b3 ~@3 [g3,a3] ~@3 d4 ~", AB: "~@6 [g3,b3,f4] ~@3 e4 ~@3 [g3,f4] ~",
  AC: "~@2 g3 ~@3 e4 ~@7 gb3@2", AD: "~@2 b3 ~@3 c4 ~@7 d4 ~", AE: "~@2 g3 ~@3 g3 ~@3 [a3,db4]@3 ~ [gb3,a3,d4] ~",
  AF: "~@2 f3 ~@3 [bb3,d4] ~@3 f3 ~@5", AG: "gb3 ~ gb3 ~@5 gb3@3 ~@5", AH: "[g3,eb4] ~@3 [g3,bb3]@3 ~ bb3 ~@7",
  AI: "bb3 ~@3 [bb3,eb4] ~@7 [g3,eb4]@3 ~", AJ: "[bb3,f4] ~@3 bb3 ~@3 [bb3,eb4] ~@3 [g3,bb3]@3 ~",
  AK: "a3 ~@3 [eb4,f4] ~@3 bb3 ~@3 [bb3,d4]@3 ~", AL: "ab3 ~@3 [f3,ab3,c4]@3 ~@5 [ab3,c4,f4]@3 ~",
  AM: "~@8 [g3,eb4] ~@3 c4@3 ~", AN: "d4 ~@3 bb3 ~@3 bb3 ~@3 c4@3 ~", AO: "~@4 g3 ~@3 b3 ~@3 [b3,d4] ~@3",
  AP: "~@4 ab3 ~@3 ab3 ~@7", AQ: "~@4 ab3 ~@7 eb4 ~@3", AR: "[g3,bb3,eb4] ~@3 g3@3 ~ [f3,d4] ~@7",
  AS: "~@4 [ab3,bb3,f4]@3 ~", AT: "eb4 ~@3 eb4@3 ~@5 bb3 ~@3", AU: "g3 ~@3 g3@3 ~ bb3 ~@3 eb4 ~@3",
  AV: "ab3 ~@7 g3 ~@7", AW: "eb4 ~@7 [bb3,f4] ~@7", AX: "bb3 ~@3 [bb3,g4]@3 ~ [bb3,d4] ~@3 [c4,gb4]@3 ~",
  AY: "b3 ~@3 g4 ~@3 [eb4,gb4] ~@7", AZ: "~@4 e4@3 ~ [a3,e4] ~@3 e4@3 ~", BA: "~@8 b3 ~@3 e4@4",
  BB: "~@4 [g3,d4] ~@3 c4 ~@3 d4@3 ~", BC: "~@2 b3 ~@3 d4 ~@9", BD: "~@2 [g3,d4] ~@3 d4 ~@7 c4 ~",
  BE: "~@6 b3 ~@3 c4 ~@3 [g3,b3] ~", BF: "~@2 [g3,c4] ~@3 a3 ~@3 gb3 ~@3 c4@2", BG: "~@2 b3 ~@3 c4 ~@7 g3 ~",
  BH: "~@2 [g3,d4] ~@7 g3@2 ~@2 d4 ~", BI: "~@2 [f3,d4] ~@3 f3 ~@7 d4 ~",
  BJ: "d4 ~ bb3 ~ bb3 ~ f3 ~@3 [f3,d4] ~ d4 ~@3", BK: "[gb3,a3,d4] ~@3 d4@9 ~ [gb3,a3] ~",
})).s("gm_acoustic_guitar_steel").gain(0.3).pan(0)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  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 ~@2 AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT
  AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK ~ BL
>`.pickRestart({
  A: "~@6 [g3,c4,d4] ~@3 g3 ~@5", B: "~@10 g3 ~@3 [gb3,d4] ~", C: "~@14 g3 ~", D: "~@10 [gb3,eb4] ~@5",
  E: "~@2 d4 ~@3 [g3,d4] ~@3 [g3,b3] ~@5", F: "~@2 [g3,d4] ~@3 g3 ~@3 [g3,a3]@3 ~ [gb3,d4] ~",
  G: "~@2 [f3,d4] ~@7 [f3,bb3] ~@3 d4 ~", H: "~@6 d4 ~ c4@3 ~ [g3,b3,d4] ~@3", I: "~@2 b3 ~@3 g3 ~@3 g3 ~@5",
  J: "~@2 [g3,b3] ~@3 [b3,d4] ~@3 db4 ~@3 gb3 ~", K: "~@2 [g3,e4] ~@7 c4 ~@3 [g3,b3,f4] ~", L: "~@10 [bb3,b3] ~@3 c4 ~",
  M: "~@2 d4 ~@3 g3 ~@3 b3 ~@3 [g3,d4] ~", N: "~@2 b3 ~@3 [g3,b3,d4] ~@7 d4 ~", O: "~@2 [f3,d4] ~@3 f3 ~@9",
  P: "~@8 gb3@3 ~ b3 ~@3", Q: "~@2 [b3,e4] ~@3 [b3,e4] ~ e4 ~ [g3,b3] ~@5", R: "~@2 [g3,db4] ~@3 [g3,a3] ~@5 eb4 ~@3",
  S: "~@2 e4 ~@11 gb4 ~", T: "~@2 db4 ~@3 g3 ~@3 [b3,eb4] ~@3 eb4@2", U: "~@6 [gb3,c4] ~@3 [c4,e4] ~@5",
  V: "~@10 b3 ~@5", W: "~@6 c4 ~@3 e4 ~@3 [g3,c4,e4] ~", X: "~@6 db4 ~@3 [gb3,db4] ~@3 gb3 ~",
  Y: "~@2 [gb3,bb3] ~@3 db4 ~@3 gb3 ~@5", Z: "~@6 [g3,c4] ~@9", AA: "~@2 d4 ~@11 c4 ~", AB: "~@2 c4 ~@7 g3 ~@3 b3 ~",
  AC: "~@2 c4 ~@3 a3 ~@9", AD: "~@10 [b3,d4] ~@3 g3 ~", AE: "~@2 [bb3,d4] ~@13",
  AF: "~@2 d4 ~@3 [gb3,c4,d4] ~ [c4,d4]@3 ~ d4 ~@3", AG: "~@12 [g3,eb4] ~@3", AH: "[g3,eb4] ~@7 eb4 ~@3 bb3@3 ~",
  AI: "ab3 ~@3 ab3 ~@7 eb4@3 ~", AJ: "eb4 ~@3 a3 ~@3 d4 ~@3 f3@3 ~", AK: "f3 ~@7 [ab3,c4,f4] ~@7",
  AL: "[c4,eb4] ~@3 [g3,eb4] ~@3 c4 ~@3 eb4@3 ~", AM: "bb3 ~@3 d4 ~@7 gb3@3 ~", AN: "[b3,d4] ~@7 g3 ~@3 g3 ~@3",
  AO: "[c4,f4] ~@3 [c4,f4] ~@3 c4 ~@3 [f3,ab3]@3 ~", AP: "[f3,d4] ~@4 ab3 ~@2 g3 ~@7, ~@4 c4@3 ~@9", AQ: "~@12 f3@3 ~",
  AR: "[g3,eb4] ~@7 d4@5 ~@3", AS: "bb3 ~@3 bb3@3 ~ [g3,bb3,eb4] ~@3 [g3,eb4] ~@3", AT: "bb3 ~@3 bb3@3 ~@5 bb3 ~@3",
  AU: "f4 ~@3 ab3@3 ~ [bb3,eb4] ~@7", AV: "~@8 d4 ~@3 [d4,f4] ~@3", AW: "[c4,f4] ~@3 [ab3,c4]@3 ~ c4 ~@3 [ab3,f4] ~@3",
  AX: "g3 ~@3 [c4,eb4] ~@3 eb4 ~@3 g3@3 ~", AY: "g3 ~@3 d4@3 ~@9", AZ: "d4 ~@3 [b3,d4] ~@11",
  BA: "[c4,g4] ~@3 [ab3,d4]@3 ~ c4 ~@3 [a3,c4]@3 ~", BB: "[b3,d4] ~@3 g3@3 ~@5 g3@3 ~",
  BC: "[g3,b3] ~@3 b3 ~@3 [a3,d4] ~@3 [c4,gb4]@3 ~", BD: "~@2 g3 ~@3 c4 ~@3 [b3,d4] ~@3 [c4,d4] ~",
  BE: "~@2 b3 ~@3 [g3,b3] ~@7 [gb3,d4] ~", BF: "~@2 e4 ~@3 g3 ~@3 [g3,e4] ~@3 f4 ~",
  BG: "~@2 e4 ~@3 e4 ~@3 eb4 ~@3 [gb3,d4]@2", BH: "~@2 [g3,d4] ~@3 [g3,d4] ~@3 d4 ~@3 d4 ~", BI: "~@6 b3 ~@7 gb3 ~",
  BJ: "~@2 bb3 ~@3 d4 ~@3 bb3 ~@3 f3 ~", BK: "~@2 f3 ~ [f3,d4] ~@9 bb3 ~", BL: "[b3,d4] ~@15",
})).s("gm_acoustic_guitar_steel").gain(0.3).pan(1)

// chords · acoustic guitar steel
const acoustic_guitar_steel_3 = note(`<
  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 ~@2 AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT
  AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM
>`.pickRestart({
// … 77 more lines

More by Georges Bizet