Strudelify

Atlantis

The Shadows

KeyC majorTempo121 bpm
0:00/0:00
// Atlantis — The Shadows
// 121 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 90 bars on a 32-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 28.
setcpm(121/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
const bass = note(`<
  ~ A B C D E F G H I J K L M N O P Q R S T K U V W X D Y@2 O Z M AA AB AC AD AE AF AG AH AI AJ AK AH AL AM AN AO AP AQ
  AR AS AT AU AE AV AW AO AX AY AZ AH BA BB@2 AS BC AQ BD AS AC AD AE AF AG AH AI AJ AK AH AL BE BF BG BA BH BI BJ BK BL
>`.pickRestart({
  A: "~ f2@9 ~@3 f2 ~@3 c2@14 ~", B: "~ a#1@9 ~@3 a#1 ~@3 f2@15", C: "~ g1@9 ~@3 g1 ~@3 g1@8 b1@7",
  D: "~ c2@8 ~@4 c2 ~@3 d2@7 ~ e2@7", E: "~ f2@9 ~@3 f2 ~@3 c2@9 ~@3 b1@3", F: "~ a#1@8 ~@4 a#1 ~@3 f2@14 ~",
  G: "~ d#2@9 ~@3 d#2 ~@3 d#2@7 ~ d#2@7", H: "~ c2@9 ~@3 c2 ~@3 d2@7 ~ e2@7", I: "~ f2@9 ~@3 f2 ~@3 f2@15",
  J: "~ f2@9 ~@3 f2 ~@3 f2@8 d2@7", K: "~ c2@8 ~@4 c2 ~@3 c2@15", L: "~ c2@9 ~@3 c2 ~@3 c2@8 ~@4 b1@3",
  M: "~ a#1@8 ~@4 a#1 ~@3 a#1@15", N: "~ f2@8 ~@4 f2 ~@3 f2@8 d2@7", O: "~ c2@9 ~@3 c2 ~@3 c2@15",
  P: "~ c2@9 ~@3 c2 ~@3 c2@9 ~@3 g1@3", Q: "~ a1@8 ~@4 a1 ~@3 a1@15", R: "~ d2@9 ~@3 d2 ~@3 d2@15",
  S: "~ b1@9 ~@3 b1 ~@3 b1@15", T: "~ g1@9 ~@3 g1 ~@3 g1@14 ~", U: "~ a1@9 ~@3 a1 ~@3 a1@15",
  V: "~ a#1@9 ~@3 a#1 ~@3 a#1@14 ~", W: "~ g1@9 ~@3 g1 ~@3 g1@15", X: "~ c2@8 ~@4 c2 ~@3 c2@14 ~",
  Y: "~ f2@8 ~@4 f2 ~@3 f2@15", Z: "~ c2@9 ~@3 c2 ~@3 c2@9 ~@3 b1@3", AA: "~ f2@9 ~@3 f2 ~@3 f2@7 ~ d2@7",
  AB: "~ c2@9 ~@2 c2 ~@3 c2@15 ~", AC: "c2@8 ~@4 c2 ~@3 c2@8 g1@8", AD: "a1@4 ~@4 a1@17 ~@7",
  AE: "d2@9 ~@3 d2 ~@3 d2@15 ~", AF: "b1@8 ~@4 b1 ~@3 b1@15 ~", AG: "g1@9 ~@3 g1 ~@3 g1@8 b1@7 ~",
  AH: "c2@8 ~@4 c2 ~@3 c2@14 ~@2", AI: "a1@9 ~@3 a1 ~@3 a1@14 ~@2", AJ: "a#1@9 ~@3 a#1 ~@3 a#1@15 ~",
  AK: "g1@9 ~@3 g1 ~@3 g1@7 ~ a1@8", AL: "c2@4 ~@2 c2 ~ d2@3 ~ e2@3 ~", AM: "f2@9 ~@3 f2 ~@3 f2@15 ~",
  AN: "f2@9 ~@3 f2 ~@3 f2@8 d2@8", AO: "c2@8 ~@4 c2 ~@3 c2@15 ~", AP: "c2@9 ~@3 c2 ~@3 c2@8 ~@4 b1@3 ~",
  AQ: "a#1@8 ~@4 a#1 ~@3 a#1@15 ~", AR: "f2@8 ~@4 f2 ~@3 f2@8 d2@7 ~", AS: "c2@9 ~@3 c2 ~@3 c2@15 ~",
  AT: "c2@9 ~@3 c2 ~@3 c2@9 ~@3 g1@3 ~", AU: "a1@8 ~@4 a1 ~@3 a1@15 ~", AV: "b1@9 ~@3 b1 ~@3 b1@15 ~",
  AW: "g1@9 ~@3 g1 ~@3 g1@14 ~@2", AX: "a1@9 ~@3 a1 ~@3 a1@15 ~", AY: "a#1@9 ~@3 a#1 ~@3 a#1@14 ~@2",
  AZ: "g1@9 ~@3 g1 ~@3 g1@15 ~", BA: "c2@8 ~@4 c2 ~@3 d2@7 ~ e2@7 ~", BB: "f2@8 ~@4 f2 ~@3 f2@15 ~",
  BC: "c2@9 ~@3 c2 ~@3 c2@9 ~@3 b1@3 ~", BD: "f2@9 ~@3 f2 ~@3 f2@7 ~ d2@7 ~", BE: "f2@9 ~@3 f2 ~@3 c2@14 ~@2",
  BF: "a#1@9 ~@3 a#1 ~@3 f2@15 ~", BG: "g1@9 ~@3 g1 ~@3 g1@8 b1@8", BH: "f2@9 ~@3 f2 ~@3 c2@9 ~@3 b1@3 ~",
  BI: "a#1@8 ~@4 a#1 ~@3 f2@14 ~@2", BJ: "d#2@9 ~@3 d#2 ~@3 d#2@7 ~ d#2@7 ~", BK: "c2@9 ~@3 c2 ~@3 d2@7 ~ e2@7 ~",
  BL: "f2@9 ~@23",
})).s("gm_electric_bass_finger").gain(0.36)

// other · synth strings 1
const synth_strings_1 = note(`<
  ~@9 A B C D E F G@2 H I@3 J@2 K L@3 A B C D E F G@2 M I@3 J@2 K N@3 A B C D E F G@2 H I@3 J@2 K L@3 A B C D E F G@2 M
  I@3 J@2 K N@3 ~@9
>`.pickRestart({
  A: "f3@31 ~", B: "a3@29 ~@3", C: "g3@11 ~ e4@2 d4@2", D: "e4@10 ~@2 c4@12 g3@7 ~", E: "a#3@31 ~", F: "f3",
  G: "[~@12 c5@3 ~ d5@3 ~ e5@2 ~@2 g5@2 ~@10 e5@2 d5@2 c5@2 ~@10 g4@2 e4@2 c4@2 ~@6, g3@27 ~@5]/2", H: "c4@31 ~",
  I: "[d4@47 ~]/3", J: "[e4@63 ~]/2", K: "f4",
  L: "[~@44 c5@4 d5@3 ~ e5@2 ~@2 g5@2 ~@10 e5@2 d5@2 c5@2 ~@10 g4@2 e4@2 c4@2 ~@6, g4@41 ~@7]/3", M: "c4",
  N: "[~@44 c5@3 ~ d5@3 ~ e5@2 ~@2 g5@2 ~@10 e5@2 d5@2 c5@2 ~@10 g4 ~ e4@2 c4@2 ~@6, g4@27 ~@5]/3",
})).s("gm_synth_strings_1").gain(0.1).pan(0.4)

// chords · electric guitar muted
const electric_guitar_muted = note("<A B C D@2 E F G H ~@71 I J K@4 L@2 M ~>".pickRestart({
  A: "~@16 a3@5 a3@3 ~ a3@4 a#3@3, ~@24 a#3@5 ~@3",
  B: "c4 ~@3 c4!3 ~ c4!2 ~ c4!2 c4@2 c4 ~ c4@3 ~ [c4,g4]@3 ~@5 e4@3, ~ a#3@5 ~@10 g4@5 ~@3 e4@3 ~ c4@3 ~, ~@25 g4@7", // C5
  C: "a#3 [c4,e4]@3 a#3!3 ~ a#3!2 ~ a#3!2 a#3@2 a#3 ~ a#3@3 ~ [a#3,f4]@3 ~@5 f3@3, ~@5 c4@3 ~@8 f4@5 ~@3 f3@5 ~@3, ~@25 f4@7", // C A#5
  D: "[~ f3@4 g3@4 ~@11 a#3@5 a#3@3 ~@4 [g3,a3]@4 ~ g3@4 ~@7 a3@5 a3@3 ~ a3@4 a#3@3, g3@5 ~@4 g3@18 ~ a3@4 ~@4 a3@4 ~ g3@14 ~@9, ~@29 a#3@6 ~@21 a#3@5 ~@3]/2", // Gsus2
  E: "~@4 c4!3 ~ c4!2 ~ c4!2 c4@2 c4 ~ c4@3 ~ [c4,g4]@3 ~@5 e4@3, c4@2 ~@14 g4@5 ~@3 e4@3 ~ c4@3 ~, ~ a#3@5 ~@19 g4@7", // C5
  F: "a#3 [c4,e4]@3 a#3!3 ~ a#3!2 ~ a#3!2 a#3@2 a#3 ~ a#3@3 ~ [a#3,f4]@3 ~ f4@4 f3@3, ~@5 c4@3 ~@8 f4@5 ~@3 f3@5 ~@3", // C A#5
  G: "~ f3@4 g3@4 ~@15 c4@5 c4@3, g3@5 ~@4 g3@21 ~@2", H: "~ c4@28 ~@3",
  I: "~@15 a3@6 a3@2 ~ a3@5 a#3@2 c4, ~@23 a#3@5 ~@4",
  J: "~@3 c4 ~ c4 ~ c4!3 ~ c4!4 ~ c4 c4@3 ~ g4@2 ~@4 c4@2 e4@2 a#3, a#3@5 ~@10 g4@5 c4@3 e4@3 ~@6, ~@24 g4@7 ~",
  K: "[~ c4@2 a#3 ~ a#3 ~ a#3!5 a#3@2 a#3 ~ a#3@3 ~ [a#3,f4]@3 ~@5 f3@3 ~ f3@4 g3@4 ~@11 a#3@5 a#3@3 ~@4 [g3,a3]@4 ~ g3@4 ~@7 a3@5 a3@3 ~ a3@4 a#3@3 ~@4 c4!3 ~ c4!2 ~ c4!2 c4@2 c4 ~ c4@3 ~ [c4,g4]@3 ~@5 e4@3 a#3, e4@3 ~ c4@3 ~@8 f4@5 ~@3 f3@5 ~@3 g3@5 ~@4 g3@18 ~ a3@4 ~@4 a3@4 ~ g3@14 ~@10 a#3@5 ~@19 g4@7 ~, ~@24 f4@7 ~@29 a#3@6 ~@21 a#3@5 ~@3 c4@2 ~@14 g4@5 ~@3 e4@3 ~ c4@3 ~@2]/4", // A#5 Gsus2 C5
  L: "[[c4,e4]@3 a#3!3 ~ a#3!2 ~ a#3!2 a#3@2 a#3 ~ a#3@3 ~ [a#3,f4]@3 ~ f4@4 f3@3 ~ f3@4 g3@4 ~@15 c4@5 c4@4, ~@4 c4@3 ~@8 f4@5 ~@3 f3@5 ~@3 g3@5 ~@4 g3@21 ~@3]/2", // C A#5
  M: "c4@7 ~",
})).s("gm_electric_guitar_muted").gain(0.17)

// chords · synth strings 1
const synth_strings_1_2 = note(`<
  ~ A B C D A B E F G@2 H@2 I J H@2 K L M N D K I O P@2 G@2 H@2 I J H@2 Q L M R D K I O P@2 G@2 H@2 I J H@2 K L M N D K
  I O P@2 G@2 H@2 I J H@2 Q L M R D K I O P@2 A S@8
>`.pickRestart({
  A: "[a3,c4,f4]@15 ~ [g3,c4,e4]@15 ~", B: "[a#3,d4,f4]@15 ~ [a3,c4,f4]@15 ~", C: "[g3,a#3,d4]@31 ~",
  D: "[g3,c4,e4]@31 ~", E: "[g3,a#3,d#4]@31 ~", F: "[g3,a#3,c4,e4]@31 ~", G: "[[a3,c4,f4]@63 ~]/2",
  H: "[[g3,c4,e4]@63 ~]/2", I: "[a#3,d4,f4]@31 ~", J: "[a3,c4,f4]@31 ~", K: "[a3,c4,e4]@31 ~", L: "[a3,d4,f#4]@31 ~",
  M: "[b3,d4,f#4]@31 ~", N: "[b3,d4,g4]@31 ~", O: "[a#3,d4,g4]@31 ~", P: "[~@32 a#3@31 ~, [g3,c4,e4]@63 ~]/2",
  Q: "[a3,c4,e4]@4 ~@4 [a3,c4,e4]@23 ~", R: "[g3,b3,d4]@31 ~",
  S: "[[a#3,d4,f4]@15 [a3,c4,f4]@15 ~ [g3,a#3,d4]@31 ~ [g3,c4,e4]@31 ~ [a3,c4,f4]@15 ~ [g3,c4,e4]@15 ~ [a#3,d4,f4]@15 ~ [a3,c4,f4]@15 ~ [g3,a#3,d#4]@31 ~ [g3,a#3,c4,e4]@31 ~ [a3,c4,f4]@7 ~@26]/8", // A# F Gm C F C A# F …
})).s("gm_synth_strings_1").gain(0.04)

// other · electric guitar muted
const electric_guitar_muted_2 = note(`<
  ~@9 A ~@3 B A ~@8 B C ~ D ~ E D ~@3 D F ~ G H I J K L M ~ N O ~@3 P O ~@8 P ~@2 N ~ Q N ~@3 N ~@2 O R ~@2 O ~ M ~ N
  ~@7 S T
>`.pickRestart({
  A: "~@5 a3@2 ~@25", B: "~@5 a#3@2 ~@25", C: "~@7 d4@2 ~@23", D: "~@5 g3@2 ~@25", E: "~@5 a3 ~@26", F: "~@3 c4 ~@12",
  G: "~@4 a3@2 ~@2 f#4 ~@3 f#4 ~@11 f#4@2 ~@6", H: "~@6 d4 ~@13 b3@2 ~@10", I: "~@3 b3 ~@12", J: "~@6 c4@2 ~@20 c4 ~@3",
  K: "~@2 a3 c4 ~@12", L: "~@3 d4 ~@12", M: "~@4 a#3@3 ~@25", N: "~@2 g3 ~@13", O: "~@2 a3 ~@13", P: "~@2 a#3 ~@13",
  Q: "~@4 a3 ~@27", R: "~@10 b3 ~@5", S: "~@31 f3", T: "~@3 f3@2 ~@27",
})).s("gm_electric_guitar_muted").gain(0.13).pan(0.7)

// other · string ensemble 2
const string_ensemble_2 = note("<~@5 A B C D ~@26 E F G H I ~@3 J K ~@26 E F G H I ~@3 J K ~@4 A B C D ~>".pickRestart({
  A: "[a4,a5] [g4,g5]", B: "[f4,f5]@3 ~", C: "~@3 [g3,g4]", D: "[c4,c5]", E: "~ [c4,e4,a4]@3",
  F: "~@8 [d5,d6]@8 [a4,a5]@7 ~ [f#4,f#5]@3 ~ [e4,e5]@3 ~", G: "[f#4,f#5]@7 ~",
  H: "~@8 [e5,e6]@8 [b4,b5]@8 [g4,g5]@3 ~ [f#4,f#5]@4", I: "[g4,g5]@7 ~", J: "~@2 [e4,e5] [d4,d5]", K: "[c4,c5]@7 ~",
})).s("gm_string_ensemble_2").gain(0.18)

// other · string ensemble 1
const string_ensemble_1 = note("<~@33 A B C ~@33 A B C ~@18>".pickRestart({
  A: "~@16 [e3,e4]@7 ~ [d3,d4]@7 ~", B: "[e3,e4]@16 [c3,c4]@8 [g2,g3]@7 ~", C: "[a2,a3]@2 ~@6 [a2,a3]@13 ~@11",
})).s("gm_string_ensemble_1").gain(0.24).pan(0.7)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~ A B C D A B E F G H I J K L I J M N O P J M Q R S T U V W X Y Z AA AB AC AD AE AF AB AG AH AI AJ AK AL AM AN AO AP
  AQ AN AR AS AT AU AV AW AS AX AY AZ BA BB BC BD AW BE BF BD AW BG BH BI AV AW BJ BK BL AZ BA BM BN AY BO BM BN BP BQ
  BR
>`.pickRestart({
  A: "~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@2 ~@2 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 ~", // F C
  B: "~ [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4] ~@3 [f3,a#3,d4,f4]@2 ~@2 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 ~", // A# F
  C: "~ [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@2 [d3,g3,a#3,g4]@2 [d3,g3,a#3,g4] ~@3 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4] ~@2", // Gm
  D: "~ [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4] ~@3 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 ~", // C
  E: "~ [d#3,g3,a#3,d#4]@4 [d#3,g3,a#3,d#4]@2 [d#3,g3,a#3,d#4]@2 [d#3,g3,a#3,d#4] ~@3 [d#3,g3,a#3,d#4]@4 [d#3,g3,a#3,d#4]@4 [d#3,g3,a#3,d#4]@4 [d#3,g3,a#3,d#4]@4 [d#3,g3,a#3,d#4] ~@2", // D#
  F: "~ [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@2 [e3,g3,a#3,c4,e4]@2 [e3,g3,a#3,c4,e4] ~@3 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4] ~@2", // C7
  G: "~ [f3,a3,c4,f4]@6 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@3", // F
  H: "~ [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@2 ~", // F
  I: "~ [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4] ~@3 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4] ~@3 [e3,g3,c4,e4]@3", // C
  J: "~ [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4] ~@3 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4] ~@2", // C
  K: "~ [f3,a#3,d4,f4]@6 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4] ~@3 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4] ~@2", // A#
  L: "~ [f3,a3,c4,f4]@6 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~@2", // F
  M: "~ [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4] ~@3 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4] ~@2", // Am
  N: "~ [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] ~@3 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4] ~@2", // D
  O: "~ [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4] ~@3 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4] ~@2", // Bm
  P: "~ [d3,g3,b3,g4]@4 [d3,g3,b3,g4]@2 [d3,g3,b3,g4]@2 [d3,g3,b3,g4] ~@3 [d3,g3,b3,g4]@4 [d3,g3,b3,g4]@4 [d3,g3,b3,g4]@4 [d3,g3,b3,g4]@4 [d3,g3,b3,g4] ~@2", // G
  Q: "~ [f3,a#3,d4,f4]@6 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4] ~@3 [f3,a#3,d4,f4]@3 ~ [a#3,d4,f4]@3 ~ [a#3,d4,f4]@3 ~ [a#3,d4,f4]@3 f3 [a#3,d4,f4] ~@2, ~@4 f3!3 ~", // A#
  R: "~ [g3,a#3,g4]@3 ~@4 d3 [g3,a#3,g4] ~@3 [g3,a#3,g4]@3 ~ [g3,a#3,g4]@3 ~ [g3,a#3,g4]@3 ~ [g3,a#3,g4]@3 d3 [g3,a#3,g4] ~@2, d3@2 d3!2 ~@2 d3@2 d3@2 d3@2 d3@2 ~@2, ~@5 [g3,a#3,g4]@2 [g3,a#3,g4]@2 ~@23", // Gm
  S: "~ [g3,c4,e4]@3 ~@4 e3 [g3,c4,e4] ~@3 [g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@3 e3 [g3,c4,e4] ~@3 [g3,c4,e4]@3, e3@2 e3!2 ~@2 e3@2 e3@2 e3@2 ~@2 e3@2, ~@5 [g3,c4,e4]@2 [g3,c4,e4]@2 ~@23", // C
  T: "~ [g3,a#3,c4,e4]@5 ~@2 e3 [g3,a#3,c4,e4] ~@3 [g3,a#3,c4,e4]@3 ~ [g3,a#3,c4,e4]@3 ~ [g3,a#3,c4,e4]@3 ~ [g3,a#3,c4,e4]@3 e3 [g3,a#3,c4,e4] ~@2, e3@3 e3 ~@2 e3@2 e3@2 e3@2 e3@2 ~@2, ~@7 [g3,a#3,c4,e4]@2 ~@23", // C7
  U: "~ [a3,c4,f4]@3 ~@4 f3 [a3,c4,f4] ~@3 [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 f3 [a3,c4,f4] ~@3 [a3,c4,f4]@3, f3@2 f3!2 ~@2 f3@2 f3@2 f3@2 ~@2 f3@2, ~@5 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@23", // F
  V: "~ [a3,c4,f4]@5 ~@2 f3 [a3,c4,f4] ~@3 [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 f3 [a3,c4,f4] ~@2, f3@3 f3 ~@2 f3@2 f3@2 f3@2 f3@2 ~@2, ~@7 [a3,c4,f4]@2 ~@23", // F
  W: "~ [g3,c4,e4]@5 ~@2 e3 [g3,c4,e4] ~@3 [g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@3 e3 [g3,c4,e4] ~@3 [g3,c4,e4]@3, e3@3 e3 ~@2 e3@2 e3@2 e3@2 ~@2 e3@2, ~@7 [g3,c4,e4]@2 ~@23", // C
  X: "~ [g3,c4,e4]@3 ~@4 e3 [g3,c4,e4] ~@3 [g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [g3,c4,e4]@3 e3 [g3,c4,e4] ~@2, e3@2 e3!2 ~@2 e3@2 e3@2 e3@2 e3@2 ~@2, ~@5 [g3,c4,e4]@2 [g3,c4,e4]@2 ~@23", // C
  Y: "~ [a#3,d4,f4]@3 ~@4 f3 [a#3,d4,f4] ~@3 [a#3,d4,f4]@3 ~ [a#3,d4,f4]@3 ~ [a#3,d4,f4]@3 ~ [a#3,d4,f4]@3 f3 [a#3,d4,f4] ~@2, f3@4 f3@2 f3@2 ~@4 f3@4 f3@3 ~ f3@3 ~ f3@4 ~@4, ~@5 [a#3,d4,f4]@2 [a#3,d4,f4]@2 ~@23", // A#
  Z: "~ [a3,c4,f4]@3 ~@4 f3 [a3,c4,f4] ~@3 [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 f3 [a3,c4,f4] ~@2, f3@2 f3!2 ~@2 f3@2 f3@2 f3@2 f3@2 ~@2, ~@5 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@23", // F
  AA: "~ [g3,c4,e4]@5 ~@2 e3 [g3,c4,e4] ~@3 [c4,e4]@3 ~ [c4,e4]@3 ~ [c4,e4]@3 [e3,g3] [c4,e4] ~@3 [c4,e4]@3, e3@3 e3 ~@2 [e3,g3]@2 [e3,g3]@2 [e3,g3]@2 ~@2 [e3,g3]@2, ~@7 [g3,c4,e4]@2 ~@23", // C Em C Em C
  AB: "~ [c4,e4]@3 ~@4 [e3,g3] [c4,e4] ~@3 [c4,e4]@3 ~ [c4,e4]@3 ~ [c4,e4]@3 ~ [c4,e4]@3 [e3,g3] [c4,e4] ~@2, [e3,g3]@2 [e3,g3]!2 ~@2 [e3,g3]@2 [e3,g3]@2 [e3,g3]@2 [e3,g3]@2 ~@2, ~@5 [c4,e4]@2 [c4,e4]@2 ~@23", // C Em C Em C Em C
  AC: "~ [c4,e4]@4 ~@4 [c4,e4]@16 ~@7, [e3,a3] ~ [e3,a3]@4 ~@2", // C A5
  AD: "~ [d4,f#4]@5 ~@2 [d3,a3] [d4,f#4] ~@3 [d4,f#4]@3 ~ [d4,f#4]@3 ~ [d4,f#4]@3 ~ [d4,f#4]@3 [d3,a3] [d4,f#4] ~@2, [d3,a3]@3 [d3,a3] ~@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 ~@2, ~@7 [d4,f#4]@2 ~@23", // D D5 D D5 D D5 D
  AE: "~ [d4,f#4]@3 ~@4 [f#3,b3] [d4,f#4] ~@3 [d4,f#4]@3 ~ [d4,f#4]@7 ~ [d4,f#4]@3 [f#3,b3] [d4,f#4] ~@2, [f#3,b3]@2 [f#3,b3]!2 ~@2 [f#3,b3]@2 [f#3,b3]@4 [f#3,b3]@2 ~@2, ~@5 [d4,f#4]@2 [d4,f#4]@2 ~@23", // D B5 D B5 D B5 D
  AF: "~ [b3,g4]@3 ~@4 [d3,g3] [b3,g4] ~@3 [b3,g4]@3 ~ [b3,g4]@3 ~ [b3,g4]@3 ~ [b3,g4]@3 [d3,g3] [b3,g4] ~@2, [d3,g3]@2 [d3,g3]!2 ~@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 [d3,g3]@2 ~@2, ~@5 [b3,g4]@2 [b3,g4]@2 ~@23", // Em G5 Em G5 Em G5 Em
  AG: "~ [c4,e4]@5 ~@2 [e3,a3] [c4,e4] ~@3 [c4,e4]@3 ~ [c4,e4]@3 ~ [c4,e4]@3 ~ [c4,e4]@3 [e3,a3] [c4,e4] ~@2, [e3,a3]@3 [e3,a3] ~@2 [e3,a3]@2 [e3,a3]@2 [e3,a3]@2 [e3,a3]@2 ~@2, ~@7 [c4,e4]@2 ~@23", // C A5 C A5 C A5 C
  AH: "~ [d4,f4]@3 ~@4 [f3,a#3] [d4,f4] ~@3 [d4,f4]@3 ~ [d4,f4]@3 ~ [d4,f4]@3 ~ [d4,f4]@3 [f3,a#3] [d4,f4] ~@2, [f3,a#3]@2 [f3,a#3]!2 ~@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3]@2 ~@2, ~@5 [d4,f4]@2 [d4,f4]@2 ~@23", // Dm A#5 Dm A#5 Dm A#5 Dm
  AI: "~ g4@5 ~@2 [d3,g3,a#3] g4 ~@3 g4@3 ~ g4@3 ~ g4@3 ~ g4@3 [d3,g3,a#3] g4 ~@2, [d3,g3,a#3]@3 [d3,g3,a#3] ~@2 [d3,g3,a#3]@2 [d3,g3,a#3]@2 [d3,g3,a#3]@2 [d3,g3,a#3]@2 ~@2, ~@7 g4@2 ~@23", // Gm
  AJ: "~ [c4,e4]@3 ~@4 [e3,g3,c4] e4 ~@3 e4@3 ~ e4@3 ~ e4@3 [e3,g3,c4] e4 ~@3 e4@3, [e3,g3]@2 [e3,g3,c4]!2 ~@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 ~@2 [e3,g3,c4]@2, ~@5 e4@2 e4@2 ~@23", // C Em C
  AK: "~ e4@5 ~@2 [e3,g3,a#3,c4] e4 ~@3 e4@3 ~ e4@3 ~ e4@3 ~ e4@3 [e3,g3,a#3,c4] e4 ~@2, [e3,g3,a#3,c4]@3 [e3,g3,a#3,c4] ~@2 [e3,g3,a#3,c4]@2 [e3,g3,a#3,c4]@2 [e3,g3,a#3,c4]@2 [e3,g3,a#3,c4]@2 ~@2, ~@7 e4@2 ~@23", // C7
  AL: "~ f4@5 ~@2 [f3,a3,c4] f4 ~@3 f4@3 ~ f4@3 ~ f4@3 [f3,a3,c4] f4 ~@3 f4@3, [f3,a3,c4]@3 [f3,a3,c4] ~@2 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2 ~@2 [f3,a3,c4]@2, ~@7 f4@2 ~@23", // F
  AM: "~ f4@3 ~@4 [f3,a3,c4] f4 ~@3 f4@3 ~ f4@3 ~ f4@3 [f3,a3,c4] f4 ~@3 f4@2 ~, [f3,a3,c4]@2 [f3,a3,c4]!2 ~@2 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2 ~@2 [f3,a3,c4] ~, ~@5 f4@2 f4@2 ~@23", // F
  AN: "~ e4@3 ~@4 [e3,g3,c4] e4 ~@3 e4@3 ~ e4@3 ~ e4@3 [e3,g3,c4] e4 ~@3 e4@3, [e3,g3,c4]@2 [e3,g3,c4]!2 ~@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 ~@2 [e3,g3,c4]@2, ~@5 e4@2 e4@2 ~@23", // C
  AO: "~ e4@3 ~@4 [e3,g3,c4] e4 ~@3 e4@3 ~ e4@3 ~ e4@3 ~ e4@3 [e3,g3,c4] e4 ~@2, [e3,g3,c4]@2 [e3,g3,c4]!2 ~@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 ~@2, ~@5 e4@2 e4@2 ~@23", // C
  AP: "~ f4@5 ~@2 [f3,a#3,d4] f4 ~@3 f4@3 ~ f4@3 ~ f4@3 ~ f4@3 [f3,a#3,d4] f4 ~@2, [f3,a#3,d4]@3 [f3,a#3,d4] ~@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 [f3,a#3,d4]@2 ~@2, ~@7 f4@2 ~@23", // A#
  AQ: "~ f4@5 ~@2 [f3,a3,c4] f4 ~@3 f4@3 ~ f4@3 ~ f4@3 ~ f4@3 [f3,a3,c4] f4 ~@2, [f3,a3,c4]@3 [f3,a3,c4] ~@2 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2 ~@2, ~@7 f4@2 ~@23", // F
  AR: "~ e4@3 ~@4 [e3,g3,c4] e4 ~@3 e4@3 ~ e4@3 ~ e4@3 ~ e4@3 [e3,g3,c4,e4] ~@3, [e3,g3,c4]@2 [e3,g3,c4]!2 ~@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 [e3,g3,c4]@2 ~@2, ~@5 e4@2 e4@2 ~@23", // C
  AS: "[e3,a3,c4,e4]@4 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4] ~@3 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4] ~@3", // Am
  AT: "[d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] ~@3 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4] ~@3", // D
  AU: "[f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4] ~@3 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4] ~@3", // Bm
  AV: "[d3,g3,b3,g4]@4 [d3,g3,b3,g4]@2 [d3,g3,b3,g4]@2 [d3,g3,b3,g4] ~@3 [d3,g3,b3,g4]@4 [d3,g3,b3,g4]@4 [d3,g3,b3,g4]@4 [d3,g3,b3,g4]@4 [d3,g3,b3,g4] ~@3", // G
  AW: "[e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4] ~@3 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4] ~@3", // C
  AX: "[f3,a#3,d4,f4]@6 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4] ~@3 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4] ~@3", // A#
  AY: "[d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@2 [d3,g3,a#3,g4]@2 [d3,g3,a#3,g4] ~@3 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4] ~@3", // Gm
  AZ: "[e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4] ~@3 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4] ~@3 [e3,g3,c4,e4]@4", // C
  BA: "[e3,g3,a#3,c4,e4]@6 [e3,g3,a#3,c4,e4]@2 [e3,g3,a#3,c4,e4] ~@3 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4] ~@3", // C7
  BB: "[f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@4", // F
  BC: "[f3,a3,c4,f4]@6 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~@3", // F
  BD: "[e3,g3,c4,e4]@6 [e3,g3,c4,e4]@2 [e3,g3,c4,e4] ~@3 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4] ~@3 [e3,g3,c4,e4]@4", // C
  BE: "[f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4] ~@3 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@3 ~ [f3,a#3,d4,f4]@3 ~ [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4] ~@3", // A#
  BF: "[f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4] ~@3", // F
  BG: "[e3,a3,c4,e4] ~ [e3,a3,c4,e4]@4 ~@2", // Am
  BH: "[d3,a3,d4,f#4]@6 [d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] ~@3 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4]@4 [d3,a3,d4,f#4] ~@3", // D
  BI: "[f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4] ~@3 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@8 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4] ~@3", // Bm
  BJ: "[e3,a3,c4,e4]@6 [e3,a3,c4,e4]@2 [e3,a3,c4,e4] ~@3 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4] ~@3", // Am
  BK: "[f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4] ~@3 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@4 [f3,a#3,d4,f4] ~@3", // A#
  BL: "[d3,g3,a#3,g4]@6 [d3,g3,a#3,g4]@2 [d3,g3,a#3,g4] ~@3 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4]@4 [d3,g3,a#3,g4] ~@3", // Gm
  BM: "[f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@2 ~@2 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 ~@2", // F C
  BN: "[f3,a#3,d4,f4]@4 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4] ~@3 [f3,a#3,d4,f4]@2 ~@2 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 ~@2", // A# F
  BO: "[e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4] ~@3 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 ~@2", // C
  BP: "[d#3,g3,a#3,d#4]@4 [d#3,g3,a#3,d#4]@2 [d#3,g3,a#3,d#4]@2 [d#3,g3,a#3,d#4] ~@3 [d#3,g3,a#3,d#4]@4 [d#3,g3,a#3,d#4]@4 [d#3,g3,a#3,d#4]@4 [d#3,g3,a#3,d#4]@4 [d#3,g3,a#3,d#4] ~@3", // D#
  BQ: "[e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@2 [e3,g3,a#3,c4,e4]@2 [e3,g3,a#3,c4,e4] ~@3 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4]@4 [e3,g3,a#3,c4,e4] ~@3", // C7
  BR: "[f3,a3,c4,f4]@3 ~@13", // F
})).s("gm_acoustic_guitar_steel").gain(0.04).pan(0.4)

// other · string ensemble 1
const string_ensemble_1_2 = note(`<
  ~@29
  [~@20 g3 ~ a3@2 c4@2 c#4 ~ d4 ~ d#4 ~]
  [e4@2 ~@2 c4 ~@7 g3 ~@19]
  ~@34
  [~@20 g3 ~ a3@2 c4@2 c#4 ~ d4 ~ d#4 ~]
  [e4@2 ~@2 c4 ~@7 g3 ~@19]
  ~@23
>`).s("gm_string_ensemble_1").gain(0.25).pan(0.2)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@9 A@4 B C@2 ~ D E@2 F G H I J K@2 L@4 M N@2 ~ O P Q R@2 S T U V@2 W@4 X Y@2 ~ Z AA@2 AB AC@8 AD@5 ~ AE@2 AF@6 AG ~@8
  AH@2
>`.pickRestart({
  A: "[c4@5 c4@4 ~@13 d4@4 d4@2 ~@4 e4@3 ~@2 f4@4 f4@7 f4@5 ~@7 a4@3 ~@2 a4@3 ~@7 g4@4 g4@35 ~@6 c5@5 c5@3, ~@9 c4@19 e4@4 f4@5 ~@16 f4@4 f4@4 ~@3 c5@5 c5@4 c5@5 ~@50, ~@29 d4@5 ~ e4@4 ~@15 g4@5 g4@4 g4@5 a4@2 g4@5 ~@53]/4",
  B: "~@5 a#4@4 a#4@7 a#4@5 ~ c5@3 ~@3 d5@3 c5, a#4@5 ~@16 a#4@4 a#4@5 ~@2, ~ c5@7 ~@19 c5@3 ~@2",
// … 93 more lines

More by The Shadows