Strudelify
She Bangs cover art

Sound Loaded

She Bangs

Ricky Martin

KeyD♭ majorTempo143 bpm
0:00/0:00
// She Bangs — Ricky Martin
// 143 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 11 "Ricky Martin's Vocals" vibraphone (copy of ch 4 rock organ)
// note: Full arrangement: all 133 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(143/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 · "MIDI MAN!A 3000!"
const bass = note(`<
  A ~ A ~ A ~ B C D E F@4 D@2 G H I@2 J K L M L H I@2 J K L M N O P Q R S T U D E F@5 D@2 E F@4 V W@2 ~@3 I@2 J K L M L
  M I@2 J K L M N O P Q R S T U D E F@5 D@2 E F@4 V W X@2 D E F@4 V W N O P Q R S T ~@2 D E F@5 D@2 E F@4 V W
>`.pickRestart({
  A: "gb1@5 ~ gb1@2 ~@8", B: "gb2@5 ~ gb2@2 ~@8", C: "~@12 db1@3 ~", D: "gb1@3 ~@3 gb1@2 e1@2 db1@2 e1@2 f1@2",
  E: "gb1@3 ~@5 gb1@2 gb1@2 e1@2 db1@2", F: "db1@3 ~@3 db1@2 f1@2 ab1@2 f1@2 db1@2", G: "~@3 gb1 a1 gb1 ~@2",
  H: "~@6 gb1@2 a1@3 ~ gb1@3 ~", I: "[db1@3 ~@3 db1@2 f1@2 db1@2 ~@2 db1@5 ~@3 db1@2 db1@2 db1@2 db1@2 db1@2]/2",
  J: "db1@3 ~@3 db1@2 f1@2 db1@2 ~@4", K: "~@6 db1@2 db2@3 ~ ab1@2 a1@2", L: "gb1@3 ~@3 gb1@2 a1@2 gb1@2 ~@4",
  M: "~@8 e2@3 ~ db2@2 a1@2", N: "b0@7 ~@7 b0@2", O: "d1 b0 ~@3 b0!3", P: "~@5 gb1!3", Q: "a1 gb1 ~ gb1 ~@4",
  R: "ab1@2 ab1@2 ab1@2 ab1@2 ab1@2 ab1@2 eb1@3 ~", S: "ab1@3 ~@3 ab1@2 ~@2 ab1@2 eb1@3 ~", T: "~@4 db1@3 ~@5 db1@3 ~",
  U: "~@2 db1@2 ~@2 db1@2 db2@3 ~ ab1@2 a1@2", V: "db2@3 ~ b1@3 ~ a1@3 ~ ab1@3 ~", W: "gb1@15 ~", X: "[gb1@31 ~]/2",
})).s("gm_electric_bass_finger").gain(0.72)

// chords · piano
const piano = note(`<
  ~@16 A@4 B@2 C@2 A@4 B@2 C@2 D@2 E F G@2 H@2 I@2 J@4 K@2 I@2 J@4 L@2 ~@3 M@3 B@2 C@4 N@2 B@2 C@2 D@2 E F G@2 H@2 I@2
  J@4 K@2 I@2 J@4 L@2 ~@2 I@2 J@4 L@2 D@2 E F G@2 O@2 ~ I@2 J@4 K@2 I@2 J@4 L@2
>`.pickRestart({
  A: "[gb4@3 ~ db5@2 [e5,e6]@4 [a4,a5]@4 [eb5,eb6]@4 a4@2 b4@2 db5@2 ~@2 [g5,g6]@2 ~@2 [ab5,ab6]@4 f4@2 ab4@2 [gb5,gb6]@4 f4@2 ab4@2 [f5,f6]@4 f4@2 ab4@3 ~ [d5,d6]@3 ~ f4@2 ab4@2]/4", // E A Eb G Ab Gb F D
  B: "[[db5,db6]@3 ~ [b3,db4,f4,ab4]@3 ~@3 [db5,db6]@4 ~@2 [db5,db6]@4 ~@2 [db5,db6]@5 ~@5, ~@14 [db4,f4,ab4]@5 ~ [db4,f4,ab4]@7 ~@5]/2", // Db Db7 Db
  C: "[[db5,db6]@7 ~ [d5,d6]@2 db4@2 gb4@2 [eb5,eb6]@4 db4@2 gb4@2 [d5,d6]@2 [db5,db6]@7 ~]/2", // Db D Eb D Db
  D: "[~@5 [b4,b5] ~ [b4,b5] ~@5 [b4,b5] ~ [b4,b5], [b3,d4,gb4]@31 ~]/2", // B Bm
  E: "~@5 [a4,a5] ~ [gb4,gb5], [gb3,a3,db4]@7 ~", F: "~@2 [gb4,gb5]@2 ~@2 [a4,a5]@2 ~@2 [a4,a5]@5 ~",
  G: "[[ab3,c4,eb4]@10 [ab4,ab5]@2 ~@2 [ab4,ab5]@5 ~@4 [ab4,ab5]@3 [ab4,ab5]@5 ~]/2", // Ab
  H: "[[db5,db6]@2 [db5,db6]@2 ~@6 [db5,db6]@2 ~@6 [db5,db6]@2 ~@6 [db5,db6]@2 [db5,db6]@3 ~, [ab3,db4,f4]@3 [db5,db6]@2 ~@2 [db5,db6]@2 ~@2 [db5,db6]@2 ~@3, ~@8 [ab3,db4,f4]@7 ~ [ab3,db4,f4]@7 ~ [ab3,db4,f4]@7 ~]/2", // Db
  I: "[[a3,db4,gb4]@3 ~@3 gb5@2 [a4,a5]@2 [db5,db6]@2 ~@6 [a4,a5]@2 ~@2 [db5,db6]@2 [d5,d6]@3 ~ [db5,db6]@3 ~, ~@6 gb4@5 ~@3 [a3,db4,gb4]@9 ~@9]/2", // Gbm A Db A Db D Db Gbm
  J: "[[f3,ab3,b3]@5 ~ [f4,f5]@2 [ab4,ab5]@2 [b4,b5]@2 ~@2 [f3,ab3,b3]@4 ab4@4 [b4,b5]@2 [d5,d6]@3 ~ [db5,db6]@3 ~, ~@9 ab5 ~@6]/2", // Fdim F Ab B Fdim B D Db
  K: "[[f3,ab3,b3]@5 ~ [f4,f5]@2 [ab4,ab5]@2 [b4,b5]@2 ~@6 [a4,a5]@2 ~@2 [db5,db6]@2 [d5,d6]@3 ~ [db5,db6]@3 ~, ~@14 [a3,db4,gb4]@17 ~]/2", // Fdim F Ab B A Db D Db …
  L: "[[f3,ab3,b3]@5 ~ [f4,f5]@2 [ab4,ab5]@2 [b4,b5]@2 ~@2 [a3,db4,gb4]@17 ~]/2", // Fdim F Ab B Gbm
  M: "[[a3,db4,gb4]@3 ~@3 gb5@2 [a4,a5]@2 [db5,db6]@2 ~@2 [a3,db4,gb4]@4 f4@2 ab4@2 [gb5,gb6]@4 f4@2 ab4@2 [f5,f6]@4 f4@2 ab4@3 ~ [d5,d6]@3 ~ f4@2 ab4@2, ~@6 gb4@5 ~@37]/3", // Gbm A Db Gbm Gb F D
  N: "[~@2 f4@2 ab4@2 [gb5,gb6]@4 f4@2 ab4@2 [f5,f6]@4 f4@2 ab4@3 ~ [d5,d6]@3 ~ f4@2 ab4@2]/2", // Gb F D
  O: "[[db5,db6]@2 [db5,db6]@2 ~@6 [db5,db6]@2 ~@2 [db5,db6]@5 ~@13, [ab3,db4,f4]@3 [db5,db6]@2 ~@11, ~@8 [ab3,db4,f4]@7 ~@17]/2", // Db
})).s("gm_piano").gain(0.72)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@2 B@2 ~@4 C D E@4 D@3 F G H I@2 J F D F G H I@2 J F K@2 L@2 M@2 N O P@6 Q@2 P@6 Q@2 ~@4 G H I@2 J F J F G H I@2 J F
  K@2 L@2 M@2 N O P@6 Q@2 P@6 Q@2 ~@2 P@6 Q@2 K@2 L@2 M@2 N ~@2 P@6 Q@2 P@6 R@2
>`.pickRestart({
  A: "[~@10 gb3 g3 db4 g3 gb3@17 ~]/2", B: "[~@2 [db3,gb3]@29 ~]/2",
  C: "[gb3,a3,db4]@3 ~@3 [gb3,a3,db4]@2 [gb3,a3,db4]@2 [gb3,a3,db4]@2 ~@2 [gb3,a3,db4]@2", // Gbm
  D: "[gb3,a3,db4]@3 ~@3 [gb3,a3,db4]@2 ~@2 [gb3,a3,db4]@2 ~@2 [gb3,a3,db4]@2", // Gbm
  E: "[f3,ab3,b3]@3 ~@3 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2", // Fdim
  F: "~ [gb3,a3,db4] ~ [gb3,a3,db4]@2 [gb3,a3,db4] ~ [gb3,a3,db4]", // Gbm
  G: "[f3,ab3,b3]@3 ~@3 [f3,ab3,b3]@4 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2", // Fdim
  H: "~ [f3,ab3,b3] ~ [f3,ab3,b3]@2 [f3,ab3,b3] ~ [f3,ab3,b3]", // Fdim
  I: "[[f3,ab3,b3]@3 ~@3 [f3,ab3,b3]@4 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@4 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@4 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2]/2", // Fdim
  J: "[gb3,a3,db4]@3 ~@3 [gb3,a3,db4]@4 [gb3,a3,db4]@2 ~@2 [gb3,a3,db4]@2", // Gbm
  K: "[[gb3,b3,d4]@3 ~@3 [gb3,b3,d4]@4 [gb3,b3,d4]@2 ~@2 [gb3,b3,d4]@4 [gb3,d4]@2 ~@2 [gb3,b3,d4]@4 [gb3,b3,d4]@2 [gb3,b3,d4]@3 ~]/2", // Bm D Bm
  L: "[[gb3,a3,db4]@7 ~@3 ab3@2 a3 ab3 gb3@5 ab3 a3 ab3 gb3@4 ab3@2 a3 ab3 gb3@2]/2", // Gbm
  M: "[[ab3,c4,eb4]@3 ~@3 [ab3,c4,eb4]@4 [ab3,c4,eb4]@2 [ab3,c4,eb4]@6 [ab3,c4,eb4]@4 [ab3,c4,eb4]@2 [ab3,c4,eb4]@2 [ab3,c4,eb4]@2 [ab3,c4,eb4]@3 ~]/2", // Ab
  N: "~@4 [ab3,db4,f4]@3 ~@5 [ab3,db4,f4]@3 ~", O: "[ab3,db4,f4]@3 ~@3 [ab3,db4,f4]@2 ~@3 [ab3,db4,f4] ~@4",
  P: "[[gb3,a3,db4]@3 ~@3 [gb3,a3,db4]@2 ~@2 [gb3,a3,db4]@2 ~@2 [gb3,a3,db4]@4 [gb3,a3,db4]@2 ~@2 [gb3,a3,db4]@2 ~@2 [gb3,a3,db4]@2 ~@2 [f3,ab3,b3]@4 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@4 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@4 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@4 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@4 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@4 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2]/6", // Gbm Fdim
  Q: "[~ [f3,ab3,b3] ~ [f3,ab3,b3] ~ [f3,ab3,b3] ~ [gb3,a3,db4]@2 [gb3,a3,db4] ~ [gb3,a3,db4]@2 [gb3,a3,db4] ~ [gb3,a3,db4]]/2", // Fdim Gbm
  R: "[~@2 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2 ~@2 [f3,ab3,b3]@2 ~@2 [gb3,a3,db4]@5 ~@13]/2", // Fdim Gbm
})).s("gm_acoustic_guitar_steel").gain(0.72)

// other · tenor sax
const tenor_sax = note(`<
  ~@8 A B C D E ~ F G ~@22 H ~ I@2 J K J K L M N@2 O@2 P@3 ~ Q R ~@2 S T U V W X Y Z AA ~ AA ~ AB@2 AC@2 AD AE AF@2 H ~
  I@2 J K J K L M N@2 O@2 P@3 ~ Q R AG ~@2 K ~@3 AH AC@2 AD AE AF@2 H ~@2 I@2 J K J K L M N@2 O@2 P@3 ~
>`.pickRestart({
  A: "db5@3 ~@3 c5@2 db5@2 a4@2 ~@4", B: "~@6 db5@2 d5@3 ~ db5@3 ~", C: "~@4 b4@3 ~ b4@2 ab4@2 ~@2 bb4@2",
  D: "b4 db5 ~@6", E: "db5@3 ~@3 c5@2 db5@2 ab4@2 ~@4", F: "~@4 db5@3 ~ db5@3 ~@3 b4@2",
  G: "a4@2 gb4@2 ~@2 gb4@2 ~@4 gb5@3 ~", H: "~@4 db5@3 ~@6 db5@3", I: "[gb5@3 ~@11 gb4@9 ~ d5@3 ~ [db5,eb5]@3 ~]/2",
  J: "~@5 ab4 ~ b4", K: "~@8 d5@3 ~ db5@3 ~", L: "db5@5 b4 ~ a4", M: "gb4@5 ~ db5@2 d5@3 ~ db5@3 ~",
  N: "[~@12 db5@2 c5@4 db5@5 ~ d5@2 db5@2 a4@2 gb4@2]/2", O: "[f4@5 ~ ab4@5 ~ b4@15 ~@5]/2",
  P: "[~@4 ab4@2 g4@4 ab4@4 b4@25 ~@9]/3", Q: "~@3 ab4 f4 gb4 ~ d5", R: "c5 [db5,eb5] ~ a4 gb4 db4 ~@2",
  S: "~ f3 ~ ab3 ~@4", T: "~@2 f3@2 ~@2 d4@2 db4@3 ~@5", U: "~@2 f3@2 ~@2 ab3@2 ~@7 f3",
  V: "~@2 ab3@2 ~@2 d4@2 db4@3 ~@5", W: "~ gb3 ~ a3 ~@3 gb3", X: "~@2 a3@2 ~@2 d4@2 db4@3 ~@5", Y: "~@3 db4 ~ a3 ~ ab3",
  Z: "a3@3 ~@13", AA: "~@2 gb3@2 a3@3 d4@3 db4@2 ~@4", AB: "[gb3@31 ~]/2", AC: "[[b3,d4]@31 ~]/2",
  AD: "[gb3,a3]@3 [gb3,a3] ~@2 [gb3,a3]@2 [gb3,a3]@3 [gb3,a3] ~@2 [gb3,a3]@2", // Gbm
  AE: "[gb3,a3]@3 [gb3,a3] ~@2 [gb3,a3]@2 [gb3,a3]@3 [gb3,a3] ~@4", AF: "[[ab3,c4]@31 ~]/2", AG: "~@4 gb5@3 ~@9",
  AH: "~@2 gb4@2 ab4@2 a4@2 ~@3 gb4 ab4@2 bb4@2",
})).s("gm_tenor_sax").gain(0.72)

// other · alto sax · "mm3k"
const alto_sax = note(`<
  ~@8 A B C D E F G H ~@22 I ~ J@2 K L K L M N O@2 P@2 Q@3 ~ R S ~@2 T U T U V W X Y Z AA Z AA AB@2 AC@2 AD AE AF@2 I ~
  J@2 K L K L M N O@2 P@2 Q@3 ~ R S AG ~@2 L AH ~@2 AI AC@2 AD AE AF@2 I ~@2 J@2 K L K L M N O@2 P@2 Q@3 ~
>`.pickRestart({
  A: "db4@3 ~@3 c4@2 db4@2 a3@2 ~@4", B: "~@6 db4@2 d4@3 ~@2 db4@3", C: "~@4 b3@3 ~ b3@2 ab3@2 ~@3 bb3",
  D: "b3@3 db4 ~@12", E: "~ db4@3 ~@2 c4@2 db4@2 ab3@2 ~@4", F: "~@6 db4@2 d4@3 ~ db4@3 ~",
  G: "~@4 db4@3 ~ db4@3 ~@3 b3@2", H: "a3@2 gb3@2 ~@2 gb3@2 ~@4 gb4@3 ~", I: "~@4 db5@3 ~@9",
  J: "[gb5@3 ~@11 gb4@9 ~ d5@3 ~ [db5,eb5]@3 ~]/2", K: "~@5 ab4 ~ b4", L: "~@8 d5@3 ~ db5@3 ~", M: "db5@5 b4 ~ a4",
  N: "gb4@5 ~ db5@2 d5@3 ~ db5@3 ~", O: "[~@12 gb4@2 f4@4 gb4@5 ~ a4@2 gb4@2 db4@2 c4@2]/2",
  P: "[b3@5 ~ f4@5 ~ ab4@19 ~]/2", Q: "[~@4 f4@2 e4@4 f4@4 ab4@25 ~@9]/3", R: "~@3 b3 ab3 a3 ~ gb4",
  S: "f4 gb4@2 a4 gb4 db4 ~@2", T: "~ f2 ~ ab2 ~@3 f2", U: "~@2 ab2@2 ~@2 d3@2 db3@3 ~@5", V: "~ gb2 ~ a2 ~@3 gb2",
  W: "~@2 a2@2 ~@2 d3@2 db3@3 ~@5", X: "~@3 a3 ~ gb3 ~ f3", Y: "gb3@3 ~@13", Z: "~@2 gb3@2 a3@2 d4 ~@3 db4 ~@3 b3 ~",
  AA: "~@2 db4 ~@13", AB: "[a3@15 ~]/2", AC: "[[b3,d4]@31 ~]/2",
  AD: "[a3,db4]@3 [a3,db4] ~@2 [a3,db4]@2 [a3,db4]@3 [a3,db4] ~@2 [a3,db4]@2", // A
  AE: "[a3,db4]@3 [a3,db4] ~@2 [a3,db4]@2 [a3,db4]@3 [a3,db4] ~@4", AF: "[[c4,eb4]@31 ~]/2", AG: "~@4 gb5@3 ~@9",
  AH: "db5@3 ~@13", AI: "~ gb3 ab3 a3 ~ gb3 ab3 bb3",
})).s("gm_alto_sax").gain(0.72)

// other · brass section
const brass_section = note(`<
  ~@7 A B C D E F G H I ~@22 J K L@2 M N O N P Q L@2 M N O N R S T U V W X Y Z AA AB@2 AC AD X AE@2 AA AF AG AH@2 AI AJ
  AK@2 J K L@2 M N O N P Q L@2 M N O N R S AL U AM ~@2 AN AO ~@2 AP AH@2 AI AJ AK@2 J AQ ~ AR AS M N O N P Q L@2 M N O N
  R S
>`.pickRestart({
  A: "~@14 [e5,e6] [f5,f6]", B: "[db4,db5,gb5,gb6]@3 ~@3 [c4,c5]@2 [db4,db5]@2 [a3,a4]@2 ~@2 [db4,db5]@2",
  C: "~@6 [db4,db5]@2 [d4,d5]@3 ~ [db4,db5]@3 ~", D: "~@4 [b3,b4]@3 ~ [b3,b4]@2 [ab3,ab4]@2 ~@2 [bb3,bb4]@2",
  E: "[b3,b4]@2 [db4,db5]@2 ~@2 [db4,db5]@2 [d4,d5]@3 ~ [db4,db5]@3 ~", // B Db D Db
  F: "[db4,db5]@3 ~@3 [c4,c5]@2 [db4,db5]@2 [ab3,ab4]@2 ~@2 [db3,db4]@2", // Db C Db Ab Db
  G: "~@2 [db3,db4]@2 ~@2 [db3,db4]@2 [d3,d4]@3 ~ [db3,db4]@3 ~", H: "~@4 [db4,db5]@3 ~ [db4,db5]@3 ~@3 [b3,b4]@2",
  I: "[a3,a4]@2 [gb3,gb4]@2 ~@2 [gb3,gb4]@2 ~@4 [gb3,gb4,e5,f5,gb5]@3 ~", // A Gb
  J: "~@4 [db4,db5,db6]@3 ~@5 [db4,db5,db6]@3 ~", // Db
  K: "~ [db4,db5,db6] ~ [db4,db5,db6] ~ [db4,db5,db6] [a4,db5,gb5,g5] [db4,db5,db6]", // Db Gbm Db
  L: "[[gb4,gb5,gb6]@3 ~@11 [gb3,gb4,gb5]@9 ~@9]/2", M: "~@5 [ab3,ab4] ~ [b3,b4]",
  N: "~@2 [db4,db5]@2 ~@4 [d4,d5]@3 ~ [db4,db5]@3 ~", O: "[f3,f4]@3 ~@7 [ab3,ab4]@2 ~@2 [b3,b4]@2",
  P: "[db4,db5]@5 [b3,b4] ~ [a3,a4]", Q: "[gb3,gb4]@5 ~ [db4,db5]@2 [d4,d5]@3 ~ [db4,db5]@3 ~",
  R: "[db4,db5]!2 [b3,b4]!2 [a3,a4]!2 [ab3,ab4]!2", // Db B A Ab
  S: "[gb3,gb4,eb5,gb5]@7 ~@3 f5 [d5,e5] [a4,b4,db5] [gb4,ab4] d4 [a3,b3,db4], ~@7 e4", // Ebm Dsus2 A Gbsus2 A
  T: "[gb2,gb3]@3 ~@4 gb4@7 ~@2, ab3 ~@15", // Gb
  U: "db5@7 ~@5 b3 [d3,e3,db4] [gb3,ab3,a3,d4,e4] [b3,db4,gb4,ab4,a4], ~@4 gb5@3 ~", // Dbm D Gbm
  V: "[gb4,ab4,gb5,gb6]@9 eb6 [a5,b5,db6] [gb5,ab5] [db5,d5,e5] [f3,g3,ab4,a4,b4] [d3,e3,e4,gb4] [db3,b3,db4,d4], [gb2,gb3,eb4]@13 ~@3", // Gbsus2 A Gbsus2 Dbm Fdim D G Ebm
  W: "[b2,ab3,a3] [e3,gb3] [db3,d3]@2 ~@12", X: "~ f3 ~ ab3 ~@4", Y: "~@12 [b4,db5,f5,ab5]@3 ~",
  Z: "[b4,db5,ab5]@3 ~@13", AA: "~@2 f3@2 ~@2 d4@2 db4@3 ~@5",
  AB: "[~@2 gb3@2 ~@2 a3@2 ~@10 gb3@2 ~@2 d4@2 db4@3 ~@5, [gb4,a4,db5,gb5]@23 ~@9]/2", // Gbm
  AC: "[b4,db5,eb5,gb5,a5] gb3 ~ a3 ~@4", AD: "~@2 gb3@2 ~@2 d4@2 db4@3 ~@5, ~@6 [db5,gb5,db6]@9 ~",
  AE: "[~@2 f3@2 db4@2 d4@2 db4@3 ~@7 f3@2 ~@2 ab3@2 ~@8, ~@4 [db5,db6]@19 ~@9]/2", AF: "~ gb3 ~ a3 ~@4",
  AG: "~ gb3 gb3@2 ~ ab3 d4@2 [a3,db4,a4]@3 ~@2 db4@3, ~ gb4@4 ab4@3 ~@4 db5@3 ~", AH: "[[b4,d5,gb5]@27 ~@5]/2",
  AI: "[gb3,gb4]@3 [gb3,gb4] [a4,db5,gb5]@2 [e3,gb3,gb4]@2 [gb3,gb4]@3 [gb3,gb4] [a4,db5,gb5]@3 ~", // Gb Gbm Esus2 Gb Gbm
  AJ: "[gb3,gb4]@3 [gb3,c4,gb4] [a4,db5,gb5]@2 [gb3,gb4]@2 [gb3,gb4]@3 [gb3,gb4] [a4,db5,gb5]@3 ~", // Gb Gbdim Gbm Gb Gbm
  AK: "[[ab4,c5]@7 ~ eb5@7 ~ ab5@15 ~, ab3@31 ~]/2", AL: "[gb4,db5,gb5]@7 gb4@7 ~@2, [gb2,gb3]@3 ~@13, ab3 ~@15",
  AM: "~@4 [gb4,db5,gb5,a5,db6,gb6]@3 ~@9", AN: "~@8 [d4,d5,d6]@3 ~ [db5,db6] g4@3, ~@12 db4@3 ~",
  AO: "[db4,db5,db6]@3 ~@13", // Db
  AP: "~@2 [gb4,gb5]@2 [ab4,ab5]@2 [a4,a5]@2 ~@5 ab3 [bb3,bb4]@2, ~@5 gb4 ab4 ~, ~@11 gb3@2 ~@3", // Gb Ab A Bb
  AQ: "~@2 [db4,db5]@2 ~ [d4,d5]@3 [eb4,eb5]@3 [e4,e5]@3 [f4,f5]@2", // Db D Eb E F
  AR: "[gb4,gb5,gb6]@13 [e5,ab5,a5,bb5,c6] [e4,d5,e5,gb5] [a4,b4,db5]", // Gb Am D A
  AS: "[d4,gb4,ab4] [a3,b3,db4] [d3,e3,gb3,ab3] [a2,b2,db3] [gb2,ab2] e2@3 ~@8, e4@3 ~@13", // Abm7b5 A E7 A Gbsus2
})).s("gm_brass_section").gain(0.72)

// other · distortion guitar · "THIS IS OURS!"
const distortion_guitar = note(`<
  A ~ B ~@5 C D ~@3 E F@2 G ~@6 H G ~@6 I J K L ~ M@2 N O ~@25 P ~ H ~@5 H J K L ~ M@2 N O ~@17 Q R S T@2 U V W X J K L
  ~ M@2 N O Y ~@16
>`.pickRestart({
  A: "[gb2,db3]@3 ~@3 [gb2,db3]@2 ~@8", B: "[gb2,db3]@3 ~@13", C: "~@7 gb3", D: "db4@3 ~ a3@2 gb3@5 ~ e3@2 db3@2",
  E: "~@3 b3@3 a3@2 b3@2 a3@2 gb3@2 e3@2", F: "[gb3@10 e3@2 db3@11 ~@9]/2", G: "[db3,gb3]@15 ~",
  H: "~@12 [db4,gb4]@3 ~", I: "~@2 db4@2 gb4@2 a4@2 db5@7 ~", J: "[b3,d4,gb4]@15 ~", K: "~@5 b3 d4 gb4",
  L: "[gb3,a3,db4]@15 ~", M: "[[c4,eb4,ab4]@31 ~]/2", N: "~@4 [db3,ab3]@3 ~@5 [db3,ab3]@3 ~", O: "~@4 [db3,ab3]@3 ~@9",
  P: "~@4 [db3,gb3]!2 db3 [db3,gb3]", Q: "e4!15 ~", R: "db4!4 a3!4 gb3!2 db4!4 b3!2",
  S: "b3!2 [a3,b3] a3!3 gb3@3 ~ a2@2 b2@2 [b2,c3] ~, ~@6 a3 ~@9", T: "[db3@3 b3@4 ab3@2 f3@4 ~ b3@4 ab3@4 f3@9 ~]/2",
  U: "b3!4 ab3!3 f3!3 b3!3 [b3,db4] db4!2", V: "d4!2 db4!2 c4!2 db4!2 ab3@3 ~@5", W: "db4!4 b3!4 [a3,b3] a3!3 ab3!3 ~",
  X: "gb3@2 gb2 ab2@2 ~ a2@2 bb2@2 b2@2 c3@2 db3@2", Y: "[gb4,b4]@15 ~",
})).s("gm_distortion_guitar").gain(0.72)

// other · orchestra hit · Gb Db D Eb E F
const orchestra_hit = note(`<
  ~@57
  [~@12 [gb5,gb6]@3 ~]
  ~@41
  [~@12 [gb5,gb6]@3 ~]
  ~@15
  [~@2 [db5,db6]@2 ~ [d5,d6]@3 [eb5,eb6]@3 [e5,e6]@3 [f5,f6]@2]
  ~@17
>`).s("gm_orchestra_hit").gain(0.72)

// other · trumpet · "PLEASE!"
const trumpet = note(`<
  ~@8 A B C D E F G H ~@22 I J K@2 L M L M N O K@2 L M L M N ~@3 P ~@10 Q@2 ~@9 I J K@2 L M L M N O K@2 L M L M N ~@3 R
  ~@2 M ~@3 S ~@6 I ~@2 K@2 L M L M N O K@2 L M L M N ~
>`.pickRestart({
  A: "db5@3 ~@3 c5@2 db5@2 a4@2 ~@4", B: "~@6 db5@2 ~ d5@3 db5@3 ~", C: "~@4 b4@3 ~ b4@2 ab4@2 ~@2 bb4@2",
  D: "[a4,b4]@2 db5@2 ~@2 [db4,db5]@2 [d4,d5]@3 ~ [db4,db5,d5]@3 ~", E: "db5@3 ~@3 c5@2 db5@3 ab4 ~@4",
  F: "~@2 [db4,db5]@2 ~@2 [db4,db5]@2 [d4,d5]@3 ~ [db4,db5]@3 ~", G: "~@4 db5@3 ~ db5@3 ~@3 b4@2",
  H: "a4@2 gb4@2 ~@2 gb4@2 ~@4 [gb4,gb5]@3 ~", I: "~@4 [db5,db6]@3 ~@5 [db5,db6]@3 ~", J: "~@12 [gb4,gb5]@3 ~",
  K: "[gb5@3 ~@11 gb4@9 ~ d5@3 ~ [db5,eb5]@3 ~]/2", L: "~@5 ab4 ~ b4", M: "~@8 d5@3 ~ db5@3 ~", N: "db5@5 b4 ~ a4",
  O: "gb4@5 ~ db5@2 d5@3 ~ db5@3 ~", P: "[gb5,gb6]@15 ~", Q: "[~@4 db6@15 ~@13]/2", R: "~@4 gb5@3 ~@9",
  S: "~@2 gb4@2 ab4@2 a4@2 ~@3 gb4@2 ab4 bb4@2",
})).s("gm_trumpet").gain(0.72)

// other · piano
const piano_2 = note(`<
  ~@16 A B ~@2 C D@3 A B ~@2 C D@3 E F G@2 H I J K ~@4 L M N O ~@2 P@2 Q ~@5 A B ~@26 L M N O ~@2 P@2 Q ~@15 R@2 S@2 ~@7
  L M N O ~@8
>`.pickRestart({
  A: "a3@3 ~ ab3@2 a3@5 ~@5", B: "a3@2 a3@2 ab3@2 a3@5 ~@5", C: "~ g3 ab3 g3 ab3 g3 ab3 g3",
  D: "[ab3@2 ab3@2 g3@2 ab3@4 ab3@2 ab3@2 a3@5 ~@7 a3@2 b3@2 a3@4 gb3@5 ~@9]/3", E: "[b3,d4]@2 [b3,d4]@4 [b3,d4]@5 ~@5",
  F: "~@3 [b3,d4]@2 [b3,d4]!3", // Bm
  G: "[[db4,gb4]@3 ~ [db4,gb4]@3 ~ [db4,gb4]@3 ~ [db4,gb4]@2 [db4,gb4]@9 ~@3 gb4@2 gb4@2 gb4@2]/2", // Gb5
  H: "eb4@2 eb4@4 eb4@5 ~ eb4@2 eb4@2", I: "eb4@2 eb4@4 eb4@5 ~@3 eb4@2", J: "f4@3 f4@3 f4@2 f4@2 f4@2 ~@2 f4@2",
  K: "f4@3 f4@3 f4@2 f4@3 ~ f4@2 f4@2", L: "f4@3 ~ f4@2 f4@2 f4@2 f4@2 f4@2 f4@2", M: "f4@2 f4@2 gb4@2 f4@5 ~@5",
  N: "~@2 f4@2 f4@2 f4@2 f4@3 ~@3 f4@2", O: "[db5,gb5]@3 ~ [db5,gb5]@2 [db5,gb5]@5 ~@5",
  P: "[~@14 [d4,b4]@4 [d4,b4]@2 [db4,a4]@2 [db4,a4]@2 [b3,ab4]@3 ~ [a3,gb4]@3 ~]/2", Q: "[ab3,f4]@7 ~@9",
  R: "[gb4@3 ~ gb4@3 ~ gb4@3 ~ gb4@2 gb4@9 ~@9]/2",
  S: "[eb4,ab4,c5]@2 [eb4,ab4,c5]@4 [eb4,ab4,c5]@5 ~ [eb4,ab4,c5]@2 [eb4,ab4,c5]@2", // Ab
// … 140 more lines

More by Ricky Martin