Strudelify

On Silent Wings

Tina Turner

KeyD majorTempo117 bpm
0:00/0:00
// On Silent Wings — TURNER TINA
// 117 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 124 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 25.
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 · string ensemble 2
const string_ensemble_2 = note(`<
  ~@4 A B C@2 D@4 E@2 C@2 F G H I J K L@2 ~@8 M@2 N@2 ~@18 A B C@2 D@4 E@2 C@2 M@2 N@2 O P Q@2 R@2 S@2 T U@3 J V ~@22 W
  X Y@2 Z ~ AA AB AC AD AE@4 AA AF AC AG
>`.pickRestart({
  A: "[g3,b3,e4]", B: "[f#3,a3,d4]", C: "[g3,b3]/2",
  D: "[[g3,b3] ~@15 a3@15 g3@24 ~ b3@8, e4@15 [f#3,d4]@16 [c4,e4]@32 ~]/4", E: "[a3,c4,e4]/2", F: "[d4,f#4]",
  G: "[d4,g4]", H: "[a3,f#4], d4 ~@15", I: "[c3,d4,g4]", J: "[e4,g4,b4]", K: "[d4,f#4,a4]", L: "[[g4,b4]@3 a4]/2",
  M: "[c4@3 d4, [f4,a4]@31 ~]/2", N: "[d4@23 c#4@7 ~@2, [e4,a4]@15 ~]/2", O: "[f#4,a4,d5]", P: "[f#4,a4,c#5]",
  Q: "[[g4,b4]@16 ~ [f#4,a4]@15, d4]/2", R: "[~ c#6, [f#5,a5,d6]]/2", S: "[b5@15 ~ a5@15 ~, g5@31 ~, d6 ~@31]/2",
  T: "[d5,f#5,a5]", U: "[c#5@15 ~ b4@15 [a4,f#5]@16 ~, ~@15 [d5,g5]@16 ~@17]/3", V: "[e4,a4,d5]", W: "g#5",
  X: "f#5@6 e5 d#5", Y: "[e5@19 ~ b4@4 e5@3 ~ b4@4]/2", Z: "c#5", AA: "g#6", AB: "f#6@2 e6 d#6", AC: "e6",
  AD: "b5 e6 f#6 g#6", AE: "[b6@24 d#6@7 c#6@24 ~ b5@3 a5@4 ~]/4", AF: "f#6@6 e6 d#6", AG: "b5 e6 d#6 ~",
})).s("gm_string_ensemble_2").gain(0.24).pan(0.7)

// 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 A U V W ~@2 X J Y Z AA AB AC ~ AD AE AF AG AH AI@5 AJ AK@2 AL AM ~@2 AN@4
  A AO@2 AP AQ AR AS AT O AU AV@3 X AW@3 AX AY ~ AZ@3 BA BB@5 BC BD@2 BE@7 BF@6 BG BH@4 BI BJ ~ X BK BL BM BN BO ~ BP BQ
  BJ BR BS BT ~
>`.pickRestart({
  A: "~@5 g3 ~@2", B: "~@2 d3 ~@2 b3 ~ d3", C: "d3@2 g3 ~@5", D: "~@2 [d3,g3] d3@2 [d3,g3] ~@2", E: "~ b3 ~@6",
  F: "~@2 [f#3,d4] ~@2 a3 ~@2", G: "~@2 g3 ~@2 [g3,b3] ~@2", H: "~@2 d4 ~@5", I: "e4@3 ~@2 g3 ~@2", J: "~@5 a3 ~@2",
  K: "~@2 g3 ~@5, e4@3 ~", L: "~@2 e4@3 e4 ~@2", M: "~@5 [a3,c4] ~@2", N: "~@2 [b3,f#4] ~ b3!2 ~@2, ~@3 f#4@3 ~@2",
  O: "~@2 f#4 f#4@3 ~@2", P: "d4@2 ~@3 f#4 ~@2", Q: "~@5 g4 ~ d4", R: "d4@3 ~@5", S: "~@2 g3 ~@2 b3 ~@2",
  T: "~@5 f#3 d4@2", U: "~@2 g3 ~@3 d4@2", V: "~@2 d4 ~@2 d4 ~@2", W: "~@2 f#4 ~@2 f#4 ~@2, ~@3 d4@3 ~@2",
  X: "~@2 a3 ~@5", Y: "~@5 [b3,f#4] ~@2", Z: "~@2 b3 ~@2 f#4 ~@2", AA: "a3@2 f4 ~@2 a3 ~ c4, c4@3 ~@5",
  AB: "~@2 f4 ~@2 f4 ~@2", AC: "d4@2 ~@3 [a3,d4] ~@2", AD: "~@2 f#4 ~@2 a3 ~@2", AE: "~@5 f#4 ~@2", AF: "~@5 g4 ~@2",
  AG: "~@2 d4 ~@2 f#4 ~@2, f#4@3 ~@5", AH: "~@2 f#4 ~@2 f#4 ~@2, d4@3 ~@5",
  AI: "[f#4@3 ~@2 f#4 ~@2 d4@2 ~@20 a3@2 ~@8, ~@3 c#4@3 c#4@16 ~@18, ~@19 d4@5 ~@16, ~@21 g4@16 ~@3]/5",
  AJ: "~@2 d4 ~@2 g4 ~@2", AK: "[~@2 f#4 ~@2 f#4 ~@2 b3@2 b3 ~@5, ~@7 d4@9]/2", AL: "a3 ~@3",
  AM: "d4@3 ~@3 d4@2, g4 ~@3",
  AN: "[~@5 g4 d4 ~@3 b3 e4@3 ~@7 a3 ~ d4 ~@7 b3, ~@3 d4@3 ~ d4@9 ~@3 d4@3 ~@10, ~@15 e4@16 ~]/4",
  AO: "[~@2 b3 ~ g3 ~@8 a3 ~@2, e4@3 ~@4 e4@9]/2", AP: "~@3 e4@3 e4@2", AQ: "~@2 [g3,e4] ~@2 g3 ~@2",
  AR: "~@2 c4 ~@4 e4", AS: "~@5 c4 ~@2", AT: "~@2 b3 ~", AU: "~@2 [a3,c4] ~@5",
  AV: "[f4@2 f4 ~@2 a3 ~@10 e4@2 e4 ~@2 [a3,e4] ~@2, ~@3 c4@8 ~]/3", // A5
  AW: "[~@2 c#4 ~@2 f#4 ~@2 d4@3 ~@2 b3 ~@7 [a3,f#4] d4@2, ~@3 c#4@16 ~@5]/3", // D
  AX: "a3@2 [a3,f#4] ~@2 a3 ~@2, ~@3 d4@3 ~@2", AY: "~@2 f#4 ~@2 f#4 ~@2",
  AZ: "[~@10 [a3,f#4] ~@5 a3@3 ~@5, ~@5 b3@16 ~@3]/3", BA: "~@2 d4 d4@3 ~@2",
  BB: "[a3@2 ~@3 a3 ~@4 e4 ~@7 e4 ~@18 [c4,g4] ~@2, ~@3 d4@13 ~@3 d4@13 ~@8, ~@8 b3@3 ~@3 b3@16 ~@10, ~@23 c#4@16 ~]/5", // C5
  BC: "~@2 f#4 ~@3 d4@2", BD: "[f#4@3 ~@2 f#4 ~@2 [c4,e4]@3 ~@5, ~@3 d4@5]/2",
  BE: "[~@2 c4 ~@2 g4 ~@4 f#4 ~@7 b3 ~@2 f#4 ~@2 g#4@2 g#4 ~@7 [d#4,g#4] ~@7 a4 ~@8 e4@5, ~@7 d4@16 d#4@9 b3@3 d#4@16 ~@5, ~@24 b3@3 ~@3 e4@10 ~@16]/7", // G#5
  BF: "[~@2 g#4 ~@5 g#4@2 [b3,g#4] ~@2 g#4 ~@2 e4@2 e4 ~@7 c#4 ~@7 [e4,g#4] e4@3 ~@7 g#4 ~@2, ~@3 e4@5 ~@7 f#4@8 ~, ~@7 d#4@8 ~@9]/6", // E
  BG: "c#4@2 c#4 ~@5, a4@3 ~@5",
  BH: "[~@10 f#4 ~@7 b3 ~@2 f#4 ~@4 b3 ~@5, ~@2 e4@16 ~ e4@5 ~@8, ~@8 c#4@3 ~@11 d#4@10]/4",
  BI: "~@2 b3 ~@2 g#4 ~@2, ~@3 d#4@3 ~@2", BJ: "~@2 a4 ~@5", BK: "b3@2 f#4 ~@5", BL: "~@2 g#4 ~@5",
  BM: "~@2 b3 ~@2 g#4 ~@2", BN: "~@2 c#4 ~@5, e4@3 ~@5", BO: "~@2 b3 ~@5", BP: "~@5 g#4 ~@2, ~@3 d#4@3 ~@2",
  BQ: "~@2 [c#4,e4] ~@3 e4@2", BR: "b3@3 ~@5, e4 ~@3", BS: "~@2 [b3,g#4] ~@2 g#4 ~@2", BT: "~@2 c#4 ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.08).pan(1)

// chords · pad warm
const pad_warm = note(`<
  A@4 B C D@2 B C E@2 F@2 D@2 G@4 ~@4 H@2 I@2 J@2 D@2 K@4 L M N O L P@3 L M N O Q R@3 S@2 T C D@2 B C E@2 F@2 D@2 U@4 L
  M N O L P@3 L M N O Q V W@2 X@2 W@2 Y@2 Z AA M AB@2 AC AD@2 AE AF M AG AH M AE AF M AG AH M Z AA M AB@2 AC AD@2 AE AF
  M AI
>`.pickRestart({
  A: "[b3 c4, d4, g3@31 ~]/4", B: "[e3,g3,b3]", C: "[d3,f#3,a3]", D: "[g3,b3]/2", E: "[c3,e3,g3]/2", F: "[c3,e3,a3]/2",
  G: "[d3,f#3,a3]/4", H: "[d3,f#3,b3]/2", I: "[c4@3 b3, [e3,g3]]/2", J: "[a3,c4,e4]/2",
  K: "[[f3,c4]@31 [e3,c#4]@32 ~]/4", L: "[a3,d4,f#4]", M: "[a3,c#4,e4]", N: "[g3,b3,d4]", O: "[f#3,a3]",
  P: "[[a3,c#4,e4]@15 ~ [d4,g4]@24 [c#4,e4,a4]@8, ~@5 b3@8 ~@3]/3", Q: "[g3,b3,e4]",
  R: "[[a3,c#4]@15 [g3,b3,d4]@32 ~]/3", S: "[g3,b3,d4]/2", T: "[e3,b3], g3 ~@15",
  U: "[[f3,a3,c4]@31 [e3,c#4]@32 ~, ~@31 a3 ~@32]/4", V: "[a3,d4], g3 ~@15", W: "[g3,c4,e4]/2", X: "[a3,d4,f#4]/2",
  Y: "[b3,d#4,f#4]/2", Z: "[b3,e4,g#4]", AA: "[d#4,f#4]", AB: "[[g#3,b3], e4 ~@31]/2", AC: "[g#3,b3,d#4]",
  AD: "[a3,c#4,e4]/2", AE: "[b3,g#4], e4 ~@15", AF: "[b3,d#4,f#4]", AG: "[g#3,b3,e4]", AH: "[a3,c#4,f#4]",
  AI: "[g#3,b3,e4]@13 ~@3", // E
})).s("gm_pad_warm").gain(0.28).pan(0.4)

// chords · pad choir
const pad_choir = note("<~@2 A@2 ~@120>".pickRestart({
  A: "[[c4,d4,a4]@3 [g3,a3,d4]@12 ~]/2", // D7 Gsus2
})).s("gm_pad_choir").gain(0.38)

// other · lead 8 bass lead
const lead_8_bass_lead = note("<~@84 A@4 B@2 C@2 ~@32>".pickRestart({
  A: "[~ d5@19 b5@16 a5@16 g5@8 f#5@2 ~@2]/4", B: "[~ f#5@3 g5@20 f#5@4 d5@4]/2",
  C: "[~ f#4@19 ~@4 d#6 e6 f#6@2 d#6 e6 f#6@2]/2",
})).s("gm_lead_8_bass_lead").gain(0.53)

// other · vibraphone
const vibraphone = note("<~@21 A B@2 ~@29 C D E F@2 ~ E G@2 H I J K L@2 M@2 ~@54>".pickRestart({
  A: "[f#3,a3]@7 ~", B: "[[g3,b3]@22 ~@2 a3@5 ~@3]/2", C: "~@3 d4", D: "b3@15 ~", E: "a3", F: "[b3@24 ~@4 a3@3 ~]/2",
  G: "[e4@11 ~@3 a4@2]/2", H: "~ b4@15", I: "a4@2 g4 a4", J: "~ f#4@15", K: "~@8 a4@3 ~ e4@4, d4@3 ~",
  L: "[a4@13 ~ g5@2]/2", M: "[~@16 c#5@13 ~@3, e5@29 ~@3]/2",
})).s("gm_vibraphone").gain(0.38)

// bass · electric bass finger
const bass = note(`<
  A B C D E F B G H I J K L M N O P Q R S T U V W X Y Z AA AB@2 AC AD AE AF AG AH Q AI AJ AK Q AL AJ AM Q AI AJ AN AO AP
  AJ AQ AR AS AT AU AJ AV T AW J AX L M AY AZ AE AF BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW
  BX BY BZ BA CA T CB CC CD BY CE CF CG CH CI BY CE CF CJ CK CI BY BZ BA CA CL CB CC CD BY CE CF CM
>`.pickRestart({
  A: "g1@5 ~ g1 ~ g1@7 ~", B: "g1@4 ~@2 g1 ~ g1@4 ~@4", C: "g1@5 ~ g1 ~ g1@6 ~@2", D: "g1@5 ~ g1 ~ d2@3 ~ d1@3 ~",
  E: "e1@5 ~ e1 ~ e1@6 ~@2", F: "d1@5 ~ d1 ~ d1@6 ~@2", G: "g1@4 ~@2 g1@2 d2@4 d2 ~@3", H: "e2@2 ~ e2 e2@3 ~",
  I: "d2@4 ~@2 d2 ~ d2@5 ~@3", J: "c2@4 ~@2 c2 ~ c2@6 g1@2", K: "c2@4 ~@2 c2 ~ b1@4 ~@2 b1 ~",
  L: "a1@5 ~ a1 ~ a1@5 ~@3", M: "a1@4 ~@2 a1 ~ a1@4 ~@2 d2 ~", N: "e2@5 ~ e2 ~ e2@5 ~@3", O: "e2@5 ~ e2 ~ e2@4 ~@4",
  P: "d2@5 ~ d2 ~ d2@2 ~@4 d2 ~", Q: "d2@4 ~@2 d2 ~ d2@4 ~@2 d2 ~", R: "d2@4 ~@2 d2@2 d2@5 ~ d2@2",
  S: "d2@5 ~ d2@2 c2@3 ~ c2@3 ~", T: "e2@4 ~@2 e2@2 e2@5 ~ e2@2", U: "d2@2 ~ d2 d2@2 ~ d2", V: "g2@5 ~ g2@2 g2@6 g2@2",
  W: "g2@5 ~ g2@2 d2@4 d2@3 ~", X: "b1@4 ~@2 b1 ~ b1@5 ~ b1 ~", Y: "b1@5 ~ b1 ~ b1@5 ~ b1@2",
  Z: "c2@5 ~ c2 ~ c2@5 ~ c2 ~", AA: "c2@5 ~ c2 ~ b1@3 ~ b1@3 ~", AB: "a1@4 ~@2 a1 ~ a1@5 ~@3",
  AC: "e2@5 ~ e2 ~ e2@5 ~ e2 ~", AD: "e2@5 ~ e2 ~ e2@4 ~@2 e2@2", AE: "f1@5 ~ f1@2 f1@7 ~",
  AF: "f1@5 ~ f1 ~ f1@3 ~ f1@3 ~", AG: "a1@5 ~ a1 ~ a1@7 ~", AH: "a1@5 ~ a1@2 a1 ~@3 a1@2 ~@2",
  AI: "b1@4 ~@2 b1 ~ a1@2 ~@2 a1@3 ~", AJ: "g1@4 ~@2 g1 ~ g1@4 ~@2 g1 ~", AK: "d2@2 ~ d2 a1 ~ a1 ~",
  AL: "f#1@4 ~@2 f#1 ~ f#1@4 ~@2 f#1 ~", AM: "g1@4 ~@2 g1 ~ a1@2 ~@2 a1@2 ~@2", AN: "f#1@2 ~ f#1 d2 ~ d2 ~",
  AO: "e2@4 ~@2 e2 ~ e2@4 ~@2 e2 ~", AP: "a1@4 ~@2 a1 ~ a1@4 ~@2 a1 ~", AQ: "g1@4 ~@2 g1 ~ g1@2 ~@2 g1@2 ~@2",
  AR: "g1@5 ~ g1 ~ g1@5 ~ g1@2", AS: "g1@4 ~@2 g1@2 d2@3 ~ d2@2 ~@2", AT: "e1@5 ~ e1@2 e1@3 ~@3 e1@2",
  AU: "d1@5 ~ d1 ~ d1@4 ~@2 d1@2", AV: "g1@4 ~@2 g1@2 d2@3 ~ d2@3 ~", AW: "d2@4 ~@2 d2 ~ d2@4 ~@2 d2@2",
  AX: "c2@4 ~@2 c2 ~ b1@3 ~ b1@2 ~@2", AY: "e1@5 ~ e1 ~ e1@5 ~ e1@2", AZ: "e1@5 ~ e1 ~ e1@4 ~@2 e1@2",
  BA: "a1@5 ~ a1 ~ a1@4 ~@2 a1@2", BB: "a1@5 ~ a1@2 a1@3 ~ b1@2 a1@2", BC: "d2@5 ~ d2 ~ d2@3 ~@3 d2@2",
  BD: "b1@5 ~ b1@2 a1@3 ~ a1@3 ~", BE: "g1@5 ~ g1 ~ g1@3 ~@3 g1@2", BF: "d2@5 ~ d2 ~ a1@3 ~ a1@3 ~",
  BG: "d2@5 ~ d2@2 d2@3 ~@5", BH: "f#1@5 ~ f#1 ~ f#1@3 ~@3 f#1@2", BI: "g1@5 ~ g1 ~ g1@5 ~ g1 ~",
  BJ: "g1@5 ~ g1 ~ a1@4 a1@3 ~", BK: "d2@5 ~ d2@2 d2@5 ~ d2@2", BL: "b1@5 ~ b1@2 a1@5 ~ a1@2",
  BM: "g1@5 ~ g1@2 g1@6 g1@2", BN: "f#1@5 ~ f#1@2 d2@5 ~ d2 ~", BO: "e2@4 ~@2 e2 ~ e2@4 d2@2 b1@2",
  BP: "a1@4 ~@2 a1 ~ a1@4 ~@2 a1@2", BQ: "c2@5 ~ c2 ~ c2@5 ~ c2@2", BR: "c2@5 ~ c2 ~ c2@3 ~ c2@4",
  BS: "d2@5 ~ d2 ~ d2@5 ~@3", BT: "d2@5 ~ d2 ~ d2@2 ~@2 d2@3 ~", BU: "c2@5 ~ c2 ~ c2@2 ~@4 c2@2",
  BV: "c2@5 ~ c2 ~ c2@2 ~@6", BW: "b1@5 ~ b1 ~ b1@3 ~@3 b1@2", BX: "b1@5 ~ b1 ~ b1@2 b1@2 b1@2 b1@2",
  BY: "e2@5 ~ e2 ~ e2@5 ~ e2@2", BZ: "c#2@5 ~ c#2@2 b1@5 ~ b1@2", CA: "e1@5 ~ e1@2 b1@3 ~ b1@2 ~@2",
  CB: "g#1@4 ~@2 g#1 ~ g#1@4 ~@2 g#1@2", CC: "a1@5 ~ a1 ~ a1@5 ~ a1 ~", CD: "a1@4 ~@2 a1@2 b1@3 ~ b1@3 ~",
  CE: "c#2@5 ~ c#2@2 b1@4 ~@2 b1@2", CF: "a1@5 ~ a1 ~ a1@5 ~ a1@2", CG: "g#1@5 ~ g#1@2 e1@3 ~ e1@3 ~",
  CH: "f#1@5 ~ f#1@2 f#1@3 ~ f#1@3 ~", CI: "b1@5 ~ b1@2 b1@3 ~ b1@3 ~", CJ: "g#1@5 ~ g#1@2 e1@3 ~@3 e1 ~",
  CK: "f#1@5 ~ f#1@2 f#1@3 ~@3 f#1 ~", CL: "e2@4 ~@2 e2 ~ e2@5 ~ e2@2", CM: "g#1@5 ~@11",
})).s("gm_electric_bass_finger").gain(0.53)

// chords · electric guitar clean
const electric_guitar_clean = note("<A@2 ~@122>".pickRestart({
  A: "[[b3,d4,g4]@4 ~@2 [d3,g3]@4 [d3,g3]@4 [d3,g3]@4 [d3,g3]@4 [d3,g3]@4 [d3,g3]@5 ~, ~@4 [b3,d4,g4]@27 ~]/2", // G G5 G
})).s("gm_electric_guitar_clean").gain(0.45)

// other · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@19 A B ~@6 C D ~@4 E F@2 G H I@2 J K L@2 M N@2 O P Q R@2 S@2 ~@2 T@2 U ~@8 V@2 W G H I@2 J K L@2 M N@2 O P Q ~@8 X Y
  Z@2 AA AB AC@2 AD AE@2 AF AG O AH AE@2 AF AG O X Y Z@2 AA AB AC@2 AD AE@2 AF
>`.pickRestart({
  A: "~@7 [g4,b4]@9, ~@3 e4@5", B: "[g3,b3,e4]@9 ~@7", C: "~@10 g3 ~ g3 ~ a3 ~", D: "a3@9 ~@7",
  E: "~ g3 ~ g3@5, f3, ~ c4@3", F: "[~@14 d4@11 ~@7, ~@12 a3@13 ~@7]/2", G: "~@4 [d4,f#4]@2 [d4,f#4] ~@9",
  H: "~@4 [c#4,f#4]@2 [c#4,f#4] ~@9", I: "[~@2 [a3,d4]!2 ~ a3 d4 a3@2 f#4@4 ~@3]/2", J: "~@3 f#4@4 ~",
  K: "~@4 f#4 ~ f#4@8 ~@2", L: "[~@4 g4@2 g4@6 f#4@2 f#4@4 e4@5 ~ e4@4 ~@2 d4@2]/2", M: "d4 ~@13 e4@2",
  N: "[~@2 f#4@17 ~ d4@2 e4@4 d4@4 e4@2]/2", O: "~ f#4@5 ~@2", P: "~@6 g4@2 g4@3 ~ f#4@2 f#4@2", Q: "~ e4@5 ~@2",
  R: "[~@10 g3@2 b3@2 c4@15 ~@3]/2", S: "[~@5 g3 b3 c4@2 g4@5 ~@2]/2", T: "[~@3 b3@3 a3@2]/2", U: "g3@11 ~@5",
  V: "[~@6 g3 ~@3 c4@2 e4@8 ~@12, ~@2 g3 ~@5]/2", W: "d4@2 c#4 ~", X: "~@4 [e4,g#4]@2 [e4,g#4] ~@9",
  Y: "~@4 [d#4,g#4]@2 [d#4,g#4] ~@9", Z: "[~@2 [b3,e4]!2 ~ b3 e4 b3@2 g#4@4 ~@3]/2", AA: "~@3 g#4@4 ~",
  AB: "~@4 g#4 ~ g#4@8 ~@2", AC: "[~@4 a4@2 a4@6 g#4@2 g#4@4 f#4@5 ~ f#4@4 ~@2 e4@2]/2", AD: "e4 ~@13 f#4@2",
  AE: "[~@2 g#4@17 ~ e4@2 f#4@4 e4@4 f#4@2]/2", AF: "~ g#4@5 ~@2", AG: "~@6 a4@2 a4@3 ~ g#4@2 g#4@2", AH: "e4@7 f#4",
})).s("gm_electric_guitar_jazz").gain(0.33).pan(0.4)

// other · lead 3 calliope
const lead_3_calliope = note("<~@96 A B ~@2 C@3 D E F G@2 H@3 I J@4 ~ K L ~@5>".pickRestart({
  A: "~@10 g#4@3 ~ a4@2", B: "~ g#4@8 ~@7",
  C: "[~@8 g#3 ~ b3@2 ~@2 b3@4 b3@2 b3 ~ b3@2 a3@4 g#3@2 e3@6 ~@6 c#3@2 c#3@2 e3@2]/3",
  D: "a3@4 a3 ~ g#3@5 ~ e3@2 e3@2", E: "~@2 c#3@3 ~@11", F: "~@6 c#4@2 e4@3 ~ e4@2 ~@2",
  G: "[e4@6 e4@2 g#4@2 b4@2 ~@2 b4@5 ~ b4@2 a4@6 g#4@2 e4 ~]/2",
  H: "[~@2 c#4@5 ~@3 b3 ~ b3@2 a4@6 g#4@2 f#4@6 e4 ~ e4@4 c#4@7 ~@7]/3", I: "~@6 b3@2 e4@3 ~ e4@3 ~",
  J: "[~@14 f#4@4 e4@31 ~@15, e4 ~@3]/4", K: "~@8 g#4@2 f#4 ~ e4@2 c#4@2", L: "e4 ~ e4 c#4@3 ~@2",
})).s("gm_lead_3_calliope").gain(0.4)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  A B@2 C@5 D@5 E@5 F@5 G@6 H@8 I@4 J@2 K@8 L@7 M@5 N@8 O@4 P@2 Q@6 R@4 S@6 T@3 U V@2 W@8 X@6 Y@4 Z@6 AA
>`.pickRestart({
  A: "[d3,g3,b3]@2 [d3,g3,b3] [d3,b3]@2 [d3,b3] [d3,g3,b3]@2, ~@3 g3@3 ~@2", // G
  B: "[b3!2 [g3,b3] g3@2 g3 g3@2 c4@2 [d3,c4] g3!2 [g3,c4] [d3,g3,c4]@2, d3@3 [d3,b3]@3 d3@4 ~ d3@3 ~@2, g3 ~@2 b3@5, ~@8 g3@3 c4@2 ~@3]/2", // G D7 C5 Csus2 G
  C: "[c4@2 c4 [g3,c4]@3 g3@2 [g3,b3,e4]@2 [g3,b3,e4] [g3,e4]@2 [g3,e4] b3 ~ [f#3,a3,d4]@3 f#3@2 f#3 d4@2 b3@2 b3 [g3,b3,d4]@3 [g3,b3,d4]@2 g3@2 g3 [g3,b3]@2 [g3,b3] [g3,b3,d4]@2, d3@6 [d3,c4]@13 [a3,d4]@3 [f#3,a3]@16 ~@2, g3@3 ~@8 b3@3 e4@16 ~@5 d4@3 ~@2, ~@14 g3@10 [g3,d4]@3 ~@13, ~@15 b3@9 ~@8 [b3,d4]@3 ~@5]/5", // C5 Em C D G D7 D5 F#m …
  D: "[[g3,b3]@2 [g3,b3] g3 ~ b3 ~@2 [a3,f#4]@2 [a3,f#4] f#4@2 f#4 ~@2 c4@2 [c4,e4] [g3,c4]@2 [g3,c4] [g3,c4,e4]@2 [g3,c4]@2 [g3,c4] [g3,c4]@2 c4!3 [a3,c4,e4]@2 [a3,c4,e4] [a3,c4]@2 [a3,c4] [a3,c4,e4]@2, ~@3 e4@3 e4@12 ~ e4@3 ~@2 e4@3 e4@3 ~@5 e4@3 ~@2, ~@3 b3@2 ~ b3@16 ~@18, ~@4 g3@2 g3@10 g3@3 ~@10 g3@11, ~@8 d4@3 [a3,d4]@3 [a3,d4,f#4]@16 [a3,e4]@2 ~@8]/5", // G D C C5 C C5 Am D5 …
  E: "[[a3,c4,e4]@2 [a3,c4,e4] e4@2 e4 ~@2 d4!3 [b3,d4]@3 [b3,d4,f#4]@2 d4@2 d4 [b3,d4]@2 [b3,d4,f#4] f#4@2 [a3,f#4]@2 [a3,d4,f#4] a3@2 a3 d4!2 [a3,d4]@2 [a3,d4] g4 g4@2 [a3,d4,g4]@2, ~@3 [a3,c4]@3 [a3,c4,e4]@16 ~@8 a3@2 g4@3 [a3,d4]@3 ~@2, ~@8 f#4@6 ~@2 f#4@5 ~ d4@4 ~ [d4,f#4]@3 f#4@10, ~@8 b3@3 ~@5 b3@3 ~@3 b3@16 ~@2]/5", // Am Bm D D5 Dsus4 Am D5 D
  F: "[[a3,f#4]@2 [a3,f#4] [a3,f#4]@2 [a3,f#4] [a3,d4]@2 [a3,d4,g4]@2 [a3,d4,g4] [a3,g4]@2 [a3,g4] d4 ~ b3@2 b3 g3@2 g3 e4 ~ [f#3,a3,d4]@2 [f#3,a3,d4] d4@2 ~@3 [g3,b3,d4]@2 [g3,b3,d4] g3 ~ b3!3, ~@3 d4@3 f#4@10 [g3,e4]@3 [b3,e4]@3 [g3,b3]@10 ~@3 b3 g3@2 [g3,d4]@2, ~@11 d4@3 g4@15 d4@3 ~@3 d4@3 ~@2, ~@14 a3@9 e4@16 ~, ~@15 d4@9 ~@3 [f#3,a3]@3 [f#3,a3]@10]/5", // D D5 Dsus4 A7 D G C E5 …
  G: "[[b3,d4]@2 [b3,d4] [g3,b3,d4]@2 [g3,b3] b3@2 b3!2 [b3,f#4] b3@2 b3 [d4,f#4]@2 [a3,d4]@2 a3 [a3,f#4]@3 ~@2 c4!2 [g3,c4] g3!3 e4!2 c4!2 [g3,c4,e4] [g3,c4]@2 [g3,c4] e4!2 c4@2 c4 a3!2 [a3,c4] [a3,c4,e4]@2, g3@3 ~@2 d4@3 d4@3 [d4,f#4]@3 b3@16 ~@8 c4@2 ~@3 c4@2 ~@3, ~@6 g3@16 [a3,d4,f#4]@16 ~@2 [a3,e4]@3 ~@5, ~@8 f#4@2 ~@6 f#4@3 ~@5 e4@3 [c4,e4]@3 ~@5 e4@3 ~@5 e4@3 ~@2, ~@9 d4@2 ~ g3 ~@2 [g3,c4] [g3,e4] ~@2 g3@5]/6", // Bm G B5 D D5 D C5 C …
  H: "[[a3,c4,e4]@2 [a3,c4,e4] c4@2 c4 ~@2 [b3,d4,f#4]@2 [b3,d4,f#4] d4@2 d4 f#4!2 d4!2 [d4,f#4] [b3,d4]@2 [b3,d4] ~@4 [a3,c4] f4!3 [a3,c4,f4]@2 [a3,c4]@2 [a3,c4] a3 a3@2 c4 ~ [a3,e4]@2 [a3,d4,e4] e4@2 e4 d4 ~ [a3,c#4,e4]@2 [a3,c#4,e4] [a3,e4]@2 [a3,e4] c#4 ~ [a3,d4]@2 [a3,d4] f#4@2 f#4 [a3,d4,f#4]@2, ~@3 [a3,e4]@3 [a3,c4,e4]@16 ~@5 [a3,c4]@3 ~@5 [c4,f4]@3 ~ c4@16 c#4@9, ~@11 [b3,f#4]@3 [b3,d4]@2 b3@3 ~@3 [b3,d4,f#4]@16 a3@2 ~@3 [a3,d4]@3 [a3,e4]@2 ~@3 c#4@3 a3@2 ~@3 [a3,d4]@3 ~@2, ~@16 f#4@2 ~ f#4@3 ~@2 f4@3 ~@5 f4@3 ~@3 f4@16 e4@10, ~@47 d4@9 f#4@3 ~@5]/8", // Am Bm D Bm Am F Am A5 …
  I: "[[a3,f#4]@2 [a3,f#4] [a3,c#4,f#4]@3 ~@2 b3@2 [b3,g4] b3@2 b3 d4!2 [a3,d4]@3 a3@2 a3 [a3,f#4]@2 a3@2 a3 [a3,d4,f#4]@3 [a3,d4,f#4]@2, c#4@3 ~@3 c#4@16 ~@2 f#4@3 ~@5, ~@6 f#4@13 [d4,f#4]@3 d4@5 ~@5, ~@3 a3@5 ~@8, ~@8 d4@3 [d4,g4]@3 [b3,g4]@16 ~@2]/4", // D F#m Em D5 D G5 Em
  J: "[a3@2 a3 ~@5 [b3,g4]@2 [b3,d4,g4] g4@2 g4 [b3,d4,g4]@2, c#4@5 c#4@11, ~@3 [a3,f#4]@3 [a3,f#4]@10, ~@11 [b3,d4]@3 ~@2]/2", // Em G D Bm
  K: "[[b3,g4]@2 [b3,g4] b3@2 ~@3 [a3,d4]@2 [a3,d4] [a3,f#4]@2 f#4 f#4@2 [a3,c#4,f#4]@2 [a3,c#4,f#4] a3@2 a3 ~@2 [b3,g4]@2 [b3,g4] b3@2 b3 d4@2 a3!3 a3@2 a3 ~@2 [g3,e4]@2 [g3,e4] e4@2 e4 e4@2 [d4,e4]@2 [a3,d4,e4] a3@2 a3 ~@2 b3@2 [b3,g4] g4@2 g4 [b3,g4]@2, d4@5 b3@16 ~ [a3,f#4]@10 [d4,f#4]@3 [d4,f#4]@3 f#4@13 e4@3 [a3,c#4,e4]@10, ~@3 g4@16 [c#4,f#4]@3 c#4@16 a3@12 ~ d4@8 d4@5, ~@5 d4 c#4@2 f#4@3 d4@2 a3 d4@10 d4@3 [d4,g4]@3 b3@8 d4@8 b3@10 ~@3 b3@3 ~@2, ~@6 [e4,a4]@16 ~@8 g4@13 [g3,b3]@3 g3@16 ~@2]/8", // Em D5 D F#m Em C Dsus2 Asus4 …
  L: "[c4@2 c4 g4@2 g4 [d4,g4]@2 b3@2 b3 [b3,g4]@2 [b3,g4] [d4,g4]@2 [c4,d4]@2 c4 g4 ~ c4 ~@2 b3 ~ g3 b3@2 [b3,e4] ~@2 [f#3,a3,d4]@2 [f#3,a3] f#3@2 f#3 a3 ~ [g3,b3,d4]@2 [g3,b3,d4] [b3,d4]@2 [b3,d4] [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4] b3@2 b3 [g3,b3,d4]@2, [d4,g4]@3 [c4,d4]@3 c4@10 g4@3 c4@2 ~ [c4,g4]@13 a3@3 f#3@16 ~@2, ~@8 [d4,g4]@3 d4@3 b3@10 [g3,e4]@2 e4@3 ~ e4@16 ~@10, ~@18 d4@14 ~@2 d4@4 d4 a3@16 ~, ~@20 g4@2 ~@3 b3@2 g3@3 [g3,b3]@10 ~@3 g3@3 ~@5 [g3,d4]@3 ~@2]/7", // G5 Em G5 Csus2 E5 D F#m G …
  M: "[g3@2 g3 [g3,b3]@2 [g3,b3] b3 ~ [a3,d4]@2 [a3,d4] f#4@2 f#4 ~@2 [g3,c4]@2 [g3,c4] [g3,c4]@2 [g3,c4] [g3,c4]@2 c4@2 c4 c4@2 c4 [c4,e4]!2 [a3,e4]@2 [a3,e4] [a3,c4,e4]@3 [a3,c4,e4]@2, b3@3 e4@3 [g3,e4]@10 e4@8 ~@16, ~@7 b3@16 ~ [g3,e4]@3 [g3,e4]@3 g3@10, ~@8 f#4@3 [a3,d4]@3 [a3,d4,f#4]@16 ~@2 c4@3 ~@5]/5", // G D5 C5 C A5 Am C D5 …
  N: "[[a3,c4,e4]@2 [a3,c4,e4] a3@2 a3 e4 ~ d4!2 [b3,d4,f#4] [d4,f#4]@2 [d4,f#4] [b3,d4,f#4]@2 [b3,d4]@2 [b3,d4] [b3,d4]@2 [b3,d4] ~@2 f4@2 f4 [a3,f4]@2 [a3,f4] [a3,c4]@2 [a3,c4]@2 [a3,c4] f4@2 f4 a3@2 [a3,d4,e4]@2 [a3,d4,e4] [d4,e4]@2 [d4,e4] a3@2 a3@2 a3 [a3,c#4,e4]@3 c#4 ~ f#4@2 f#4 f#4@2 f#4 [a3,d4,f#4]@2, ~@3 [c4,e4]@3 [a3,c4]@16 [b3,d4,f#4]@16 f4@16 ~ c#4@9, ~@7 e4@16 ~ [a3,c4]@3 c4@3 ~@5 c4@13 c#4@3 ~@3 a3@2 [a3,d4]@3 [a3,d4]@3 ~@2, ~@8 [b3,f#4]@2 ~ b3@3 ~@2 f#4@6 ~@8 f4@5 a3@3 ~@5 a3@3 d4@10 ~@8, ~@46 e4@5 ~@3 e4@10]/8", // Am Bm D Bm Dm Am Asus4 Dsus2 …
  O: "[[a3,f#4]@2 [a3,f#4] ~@2 c#4!2 ~ [b3,g4]@2 [b3,g4] [b3,d4,g4]@3 d4@2 [a3,f#4]@2 [a3,f#4] [a3,f#4]@3 f#4@2 d4@2 ~ f#4@2 f#4 [a3,d4,f#4]@2, c#4@5 ~@2 c#4@16 ~@3 d4@4 ~@2, ~@3 [a3,f#4]@3 [a3,f#4]@10 d4@3 d4@5 f#4@3 ~@5, ~@7 [b3,g4]@8 ~, ~@22 a3@5 a3@3 ~@2]/4", // D Em G D Em
  P: "[a3@2 a3 [a3,c#4,f#4]@3 ~@2 [b3,d4,g4]@2 [b3,d4,g4] g4@2 g4 [b3,d4,g4]@2, [c#4,f#4]@3 ~@3 [a3,c#4,f#4]@10, ~@11 [b3,d4]@3 ~@2]/2", // F#m G F#5 F#m Bm
  Q: "[b3@2 b3 ~@5 [a3,d4,f#4]@3 [a3,d4,f#4]@3 f#4@2 f#4@2 [a3,f#4] f#4@2 f#4 ~@2 [b3,g4]@2 [b3,g4] [b3,g4]@2 [b3,g4] d4@2 [d4,f#4]@2 [a3,f#4] [a3,f#4]@3 ~@2 [g3,e4]@3 [g3,e4]@2 [g3,e4] [g3,e4]@2, [d4,g4]@3 [b3,g4]@16 [a3,c#4]@3 a3@12 d4@4 ~@10, ~@3 d4@5 ~@6 d4@10 d4@6 g4@16 ~@2, ~@6 [e4,a4]@16 f#4@8 b3@13 b3@5, ~@6 c#4@8 a3@2 c#4@3 ~@3 c#4@16 [a3,d4,f#4]@10]/6", // D Em D C G5 Em A A5 …
  R: "[a3@2 a3 e4@2 e4 e4@2 [g3,e4]@2 [g3,e4] e4@2 e4 c4!2 [c4,d4,g4]@2 [c4,d4,g4] [c4,d4,g4]@3 d4@2 d4@2 d4 f#4@2 f#4 [a3,f#4]@2, d4@8 ~@3 [c4,g4]@5, e4@3 a3@3 [a3,c#4]@16 ~@2 [a3,f#4]@3 d4@5, ~@8 c4@3 [g3,c4]@3 [g3,e4]@16 ~@2, ~@27 a3@3 ~@2]/4", // C Csus2 D C5 A D C5 C
  S: "[[a3,d4]@2 [a3,d4] [a3,f#4]@3 ~@2 g3@2 [g3,c4,e4] g3@2 g3 ~ c4 d4@2 d4 [c4,d4,g4]@3 ~@2 [b3,e4,f#4]@3 [b3,f#4]@2 [b3,f#4] [b3,f#4]@2 [d#4,f#4]@2 [d#4,f#4] [b3,d#4,f#4]@3 ~@4 b3 g#4@2 g#4 ~ e4, ~@3 d4@13 [c4,g4]@3 ~@3 [c4,d4,g4]@16 [d#4,f#4]@10, ~@6 [a3,f#4]@16 ~@10 b3@3 ~@3 b3@4 ~ b3@3 [b3,g#4]@2, ~@11 c4@3 e4@10 ~@3 e4@3 e4@10 e4@3 e4@4 ~, ~@11 e4@3 g3@16 ~@18]/6", // D5 D C Csus2 Bsus4 B5 D#m B …
  T: "[~@2 b3 [b3,g#4]@3 ~@2 [c#4,e4,a4]@3 c#4@2 c#4 e4@2 [b3,e4]@2 b3 [b3,g#4]@2 [b3,g#4] [b3,e4,g#4]@2, d#4@3 d#4@8 ~, g#4@3 ~@3 [b3,g#4]@10 g#4@3 ~@5, ~@11 [e4,a4]@3 [c#4,a4]@10, ~@9 e4@2 ~]/3", // E A E5 E A5 F#m
  U: "[b3,e4]@2 [b3,e4] [b3,g#4]@2 [b3,g#4] ~ e4, g#4@3 e4@4 ~, ~@3 [b3,g#4]", // E5 E
  V: "[[b3,d#4]@3 b3@2 b3 ~@2 [c#4,a4]@3 [c#4,a4]@2 [c#4,a4] [c#4,e4,a4]@2, ~@3 d#4@13, ~@3 g#4@3 [b3,g#4]@10, ~@11 e4@3 ~@2]/2", // B F#m A E
  W: "[[e4,a4]@2 [e4,a4] [c#4,e4,a4]@2 ~@3 b3@2 b3 [b3,g#4]@2 [b3,g#4] [b3,g#4]@2 [b3,g#4]@2 [b3,g#4] b3@2 b3 ~@4 a4 [c#4,a4]@2 [c#4,a4] e4!2 b3@2 b3 [b3,g#4]@2 [b3,g#4] ~@2 a3@2 a3 [a3,c#4,f#4]@3 a3 ~ b3 b3@2 b3@2 b3 b3@2 b3 ~ e4 g#4@2 g#4 e4!2, c#4@3 ~@2 [c#4,a4]@16 ~ [b3,g#4]@10 [e4,g#4]@3 e4@3 g#4@10 f#4@3 f#4@3 f#4@10, ~@5 e4@3 [e4,g#4]@6 e4@10 e4@3 e4@3 c#4@10 f#4@3 ~@3 c#4@16 ~@2, ~@6 b4@16 ~@8 a4@16 f#4 a3@16 ~, ~@6 d#4@10 d#4@3 [d#4,g#4]@3 d#4@16 [b3,e4]@10 e4@8 [e4,g#4] b3@2 [b3,e4]@3 [b3,g#4]@2]/8", // A5 A E F#m E F#m E G#5 …
  X: "[g#4@2 g#4 b3@2 b3 d#4 ~ [c#4,e4]@2 [c#4,e4] [c#4,a4]@2 [c#4,a4] e4@2 [b3,g#4]@2 [b3,g#4] b3@2 b3 ~@2 [a3,c#4,f#4]@3 a3@2 a3 ~@4 b3 [b3,f#4]@2 [b3,f#4] b3@2 b3@2 b3 g#4@2 g#4 [b3,e4,g#4]@2, d#4@6 [b3,g#4]@10 e4@3 [e4,g#4]@3 g#4@16 [d#4,f#4]@10, b3@3 g#4@3 ~ d#4@15 b3@10 [e4,f#4]@3 e4@5 [e4,g#4]@3 [b3,e4]@3 ~@2, ~@8 a4@3 e4@3 a4@13 [c#4,f#4]@3 a3@16 ~@2, ~@14 c#4@8 e4@8 f#4 c#4@16 ~]/6", // C#m F#m E F#m B5 E D#m Esus2 …
  Y: "[[d#4,g#4]@2 [d#4,g#4] b3@2 b3 ~@4 e4 a4@2 a4 e4!2 g#4@2 g#4 [b3,g#4]@2 [b3,g#4] [b3,e4,g#4]@2 b3@2 b3 [b3,g#4]@2 [b3,g#4] [b3,e4,g#4]@2, b3@3 [d#4,g#4]@3 d#4@16 ~@10, ~@6 [b3,g#4]@10 [b3,e4]@3 e4@3 ~@2 [e4,g#4]@3 e4@3 ~@2, ~@8 [c#4,a4]@3 [c#4,e4]@3 [c#4,a4]@16 ~@2]/4", // G#5 E G#5 E E5 E F#m C#m …
  Z: "[[b3,d#4,g#4]@2 [b3,g#4] b3@2 b3 ~@2 a4@2 a4 [c#4,a4]@2 [c#4,a4] [c#4,a4]@2 c#4@2 c#4 [c#4,a4]@2 ~@5 b3 [b3,g#4]@3 [b3,g#4]@2 d#4@2 d#4 b3@2 b3 ~@2 a4@2 a4 a4@2 a4 [c#4,e4,a4]@2, ~ d#4@2 [b3,d#4,g#4]@8 [f#4,b4]@8 ~@5, ~@3 g#4@3 ~@2 [c#4,e4]@3 e4@5 [e4,a4]@3 e4@5 g#4@2 e4@4 e4@10 ~@8, ~@21 [c#4,a4]@16 ~ [b3,d#4,g#4]@10, ~@22 d#4@10 [b3,g#4]@3 [d#4,g#4]@3 ~@2 [c#4,e4]@3 [c#4,e4]@3 ~@2]/6", // G#m E F#m E A G#m B5 C#m …
  AA: "e4 ~@15",
})).s("gm_acoustic_guitar_steel").gain(0.08).pan(0)

// drums · kick
// … 48 more lines

More by Tina Turner