Strudelify
Ich bin verliebt in Dich cover art

1993 · Hättest du heut' Zeit für mich

Ich bin verliebt in Dich

G. G. Anderson

KeyA majorTempo128 bpm
0:00/0:00
// Ich bin verliebt in Dich — G. G. Anderson
// 128 bpm, 1/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 406 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(128/1)

// 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, A@4 for four bars: edit a riff to change every repeat.

// chords · string ensemble 2 · "Slow-Strin"
const string_ensemble_2 = note(`<
  ~@4 A@8 B@8 C@4 D@4 B@8 E@8 A@8 ~@8 F@4 D@4 E@8 G@8 F@4 D@4 H@5 ~@3 I@8 J@8 K@8 L@8 M@8 ~ N@7 O@4 P@4 B@8 E@8 A@8 ~@8
  F@4 D@4 E@8 Q@8 F@4 D@4 H@5 ~@3 I@8 J@8 K@8 L@8 M@8 ~ N@7 O@4 P@4 B@8 A@8 B@8 R@8 S@4 ~@4 T@8 U@8 V@8 W@8 X@8 ~ Y@7
  Z@8 AA@8 Z@8 AB@6 ~@4
>`.pickRestart({
  A: "[e3,g#3,b3]/8", B: "[a3,c#4,e4]/8", C: "[d3,f#3,a3]/4", D: "[e3,g#3,b3]/4", E: "[a2,c#3,e3]/8",
  F: "[a2,c#3,e3]/4", G: "[[f#3,a3]@127 ~, d3@13 ~@3]/8", H: "[[a2,c#3,e3]@37 ~@3]/5", I: "[e4,g#4,b4]/8",
  J: "[c#4,e4]/8", K: "[[e4,g#4,b4]@19 f#4@13]/8", L: "[~@3 [a3,c#4,e4]@29]/8", M: "[~ [e4,g#4,b4]@15]/8",
  N: "[a3,c#4,e4]/7", O: "[d4,f#4,a4]/4", P: "[e4,g#4,b4]/4", Q: "[d3,f#3,a3]/8",
  R: "[[d4,f#4,a4]@17 ~ b3@14, ~@17 e3@15, ~@17 g#3@13 ~@2]/8", S: "[a3,c#4,e4]/4", T: "[f4,a4,c5]/8", U: "[d4,f4]/8",
  V: "[[f4,c5]@19 g4@13]/8", W: "[~@3 [a#3,d4,f4]@29]/8", X: "[~ [f4,a4,c5]@15]/8", Y: "[a#3,d4,f4]/7",
  Z: "[[d#4,g4,a#4]@17 ~ c4@14, ~@17 [f3,a3]@15]/8", AA: "[a#3,d4,f4]/8", AB: "[a#3,d4,f4]/6",
})).s("gm_string_ensemble_2").gain(0.17).pan(0.4)

// chords · string ensemble 2 · "Slow-Strin" · soft notes
const string_ensemble_2_soft = note(`<
  ~@82 A@2 ~@24 B@8 ~@4 C@5 ~@111 B@8 ~@4 D@5 ~@59 E ~@2 F ~@16 G@8 ~@4 H@5 ~@27 I ~@15 I ~@13
>`.pickRestart({
  A: "[~ d3@3]/2", B: "a3/8", C: "[~@3 a4@13 a4@4, ~@3 d4@17]/5", D: "[~@3 [d4,a4]@16 ~]/5", E: "~ b3 ~@2", F: "~ g#3",
  G: "a#3/8", H: "[~@16 g4@3 ~, ~@3 [d#4,a#4]@17]/5", I: "~ c4 ~@2",
})).s("gm_string_ensemble_2").gain(0.09).pan(0.4)

// bass · synth bass 2 · "Synt-Bass2"
const bass = note(`<
  ~@4 A B A B A B C@2 D E F E D E G@2 H I J K A B L@2 D E G@2 M E N E D E D E D O P E A B A B A B A B A B A B A B Q B D
  E R E A B Q B D E D E D E D E S T S T S T U@2 D E D E A B Q B D E P E V ~@3 A B A B A B Q B D E D E D E P E A B A B S
  T S T D E D E D O W X A B A B A B Q B D E D E D E P Y S T Z AA A B Q B D E P E V E P E D E D E D O P E A B A B A B A B
  A B A B A B Q B D E R E A B Q B D E D E D E D E S T S T S T U@2 D E D E A B Q B D E P E V ~@3 A B A B A B Q B D E D E
  D E P E A B A B S T S T D E D E D O W X A B A B A B Q B D E D E D E P Y S T Z AA A B Q B D E P E V E P E A B A B A B Q
  B D E D E D E AB@2 S T S T A B A B D E P E AC ~@3 AD AE AD AE AD AE AF AG AC AH AC AH AC AH AI AH AD AE AD AE AJ AK AJ
  AK AC AH AC AH AC AL AM AN AD AE AD AE AD AE AF AE AC AH AC AH AC AH AI AO AJ AP AQ AP AD AE AF AE AC AH AI AH AI AH
  AI AO AJ AP AQ AP AD AE AF AE AC AH AI AH AR ~@5
>`.pickRestart({
  A: "e1@11 ~@5", B: "g#1@7 ~ b1@8", C: "[e1@10 ~@6 g#1@7 ~ b1@8, ~@13 e1@5 ~@14]/2", D: "a1@5 ~@3", E: "c#2 e2",
  F: "a1@11 ~@5", G: "[a1 ~ c#2 e2, ~@13 a1@6 ~@13]/2", H: "d1@11 ~@5", I: "f#1@5 ~@3 a1@7 ~", J: "d1@7 ~@6 d1@3",
  K: "f#1@7 ~ a1@8", L: "[e1@10 ~@6 g#1@8 b1@5 ~@3, ~@13 e1@5 ~@14]/2", M: "a1@13 a1@3", N: "a1@8 ~@5 a1@3",
  O: "c#2@7 ~ e2@8", P: "a1@2 ~ a1", Q: "e1@2 ~ e1", R: "a1@3 ~", S: "d2@3 ~", T: "f#2 a2",
  U: "[d2@5 ~@3 f#2@4 a2@4, ~@12 d2@7 ~@13]/2", V: "a1 ~", W: "a1@5 ~@7 a1@4", X: "c#2@7 ~ e2@6 ~@2", Y: "c#2@8 e2@7 ~",
  Z: "d2@2 ~ d2", AA: "f#2@7 ~ a2@7 ~", AB: "[a1@8 ~@4 a1@8 c#2@4 e2@7 ~]/2", AC: "a#1@5 ~@3", AD: "f1@11 ~@5",
  AE: "a1@7 ~ c2@7 ~", AF: "f1@2 ~ f1", AG: "a1@7 ~ c2@8", AH: "d2@7 ~ f2@8", AI: "a#1@7 ~@5 a#1@4", AJ: "d#2@3 ~",
  AK: "g2 a#2", AL: "d2 f2", AM: "a#1@5 ~@7 a#1@4", AN: "d2@4 f2@3 ~", AO: "d2@8 f2@7 ~", AP: "g2@7 ~ a#2@7 ~",
  AQ: "d#2@2 ~ d#2", AR: "a#1@9 ~@7",
})).s("gm_synth_bass_2").gain(0.36)

// other · synth brass 2 · "Synt-Bras2"
const synth_brass_2 = note(`<
  ~@44 A B C D E B ~@10 E F G H E B I J ~@24 C K L M N ~@59 C K O P O Q R@2 ~@8 A B C D E B ~@10 E F G H E B I J ~@24 C
  K L M N ~@59 C K O P O Q R@2 ~@88 S T U V U W ~@8 S T U V ~@8
>`.pickRestart({
  A: "~@2 e3 ~", B: "b3 e4", C: "~@8 e4@7 ~", D: "b3@7 ~ e3@8", E: "~@8 e3@7 ~", F: "a3 e4", G: "~@8 d4@7 ~",
  H: "c#4@8 b3@7 ~", I: "~ e4", J: "b3 e3", K: "a4@3 ~ b4@4", L: "~@2 c#5 ~", M: "e5@9 ~@7", N: "a5@11 ~@5", O: "~ c#5",
  P: "~@8 e5@7 ~", Q: "b4@5 ~@3 a4@7 ~", R: "[e4@25 ~@7, f#4 ~@31]/2", S: "~@4 f4@3 ~", T: "a#4@5 ~@3 c5@7 ~",
  U: "~ d5", V: "~@8 f5@7 ~", W: "c5@5 ~@3 a#4@7 ~",
})).s("gm_synth_brass_2").gain(0.57).pan(0.6)

// other · pad new age · "Fantasia"
const pad_new_age = note(`<
  A B C@2 D E F ~ E G H I J K L ~ A B C@2 D M J N D O P N Q R A K A S T ~@57 Q R A L D ~@3 U V ~@6 W X ~@14 Q R A K ~@4
  U V ~@6 W X ~@15 R A K A S Y ~@57 Q R A L D ~@3 U V ~@6 W X ~@14 Q R A K ~@4 U V ~@6 W X ~@15 R A K A S Y ~@12 D L
  ~@11 Q R A L Z ~@3 AA AB ~@6 U AC ~@14 AD AE AF AG ~@4 AA AB ~@6 U AC ~@30 AD AE AF AG AH ~@5
>`.pickRestart({
  A: "~@8 c#5 ~@7", B: "c#5 ~@7 e5 ~@7", C: "a5 ~@7 a5 ~@7", D: "a5 ~@15", E: "~@8 g#5 ~@7", F: "b5 ~@15",
  G: "g#5 ~@7 a5 ~@7", H: "b5 ~@7 b5 ~@7", I: "a5 ~@7 g#5 ~@7", J: "f#5 ~@15", K: "~@8 e5 ~@7", L: "e5 ~@15",
  M: "~@8 f#5 ~@7", N: "~@8 a5 ~@7", O: "g#5 ~@15", P: "f#5 ~@7 g#5 ~@7", Q: "~@8 e4 ~@7", R: "a4 ~@7 b4 ~@7",
  S: "b4 ~@7 a4 ~@7", T: "e4 ~@15", U: "~@8 d4 ~@7", V: "e4 ~@7 g#4 ~@7", W: "~@8 c#4 ~@7", X: "e4 ~@7 a4 ~@7",
  Y: "[e4,f#4] ~@15", Z: "f5 ~@15", AA: "~@8 d#4 ~@7", AB: "f4 ~@7 a4 ~@7", AC: "f4 ~@7 a#4 ~@7", AD: "~@8 f4 ~@7",
  AE: "a#4 ~@7 c5 ~@7", AF: "~@8 d5 ~@7", AG: "~@8 f5 ~@7", AH: "a#5 ~@15",
})).s("gm_pad_new_age").gain(0.64).pan(0.6)

// chords · electric guitar clean · "Clean-Git."
const electric_guitar_clean = note(`<
  ~@4 A B@3 A C B D E F@2 G E G F G H I@3 A B@3 E G@3 E G@3 J F G@2 K L G@2 M N@3 M O N@2 M N@3 M N@3 E G@3 P N@3 Q@7 G
  R@7 S J T@3 U V@3 E G@3 ~@4 A B@3 A B@3 E G@3 E G@3 A B@3 W I@3 E G@3 E G@3 A B@3 A B@3 E G@3 E G@3 W I@2 X A B@3 E
  G@3 Y G@3 ~ F G@2 K L G@2 M N@3 M O N@2 M N@3 M N@3 E G@3 P N@3 Q@7 G R@7 S J T@3 U V@3 E G@3 ~@4 A B@3 A B@3 E G@3 E
  G@3 A B@3 W I@3 E G@3 E G@3 A B@3 A B@3 E G@3 E G@3 W I@2 X A B@3 E G@3 Y G@3 Z AA@5 N AB E G@3 E G@3 H I@3 ~ N@3 E
  G@3 ~@4 AC AD@3 AC AD@3 AE AF@3 AE AF@3 AC AD@3 AG AH@3 AE AF@3 AE AF@3 AC AD@3 AC AD@3 AE AF@3 AE AF@3 AG AH@2 AI AC
  AD@3 AE AF@2 ~@2 AF@3 AG AH@2 AI AC AD@3 AE AF@3 ~@6
>`.pickRestart({
  A: "~@8 [e3,g#3,b3] ~@3 [e3,g#3,b3]@2 ~@2", B: "~@4 [e3,g#3,b3] ~@3", C: "[e3,g#3,b3] ~@7 [e3,g#3,b3]@2 ~@6",
  D: "~@8 [e3,g#3,b3]@3 ~@5", E: "~@4 [a2,c#3,e3] ~ [a2,c#3,e3] ~", F: "~@8 [a2,c#3,e3]@3 ~@5",
  G: "~@4 [a2,c#3,e3] ~@3", H: "~@8 [d3,f#3,a3]@2 ~@2 [d3,f#3,a3]@3 ~", I: "~@8 [d3,f#3,a3]@3 ~@5",
  J: "~@8 [a2,c#3,e3] ~@3 [c#3,e3]@4, ~@6 a2 ~", K: "~@4 [c#3,e3] ~ [a2,c#3,e3] ~",
  L: "[a2,c#3,e3] ~@3 [a2,c#3,e3] ~@3", M: "~@8 [e2,g#2,b2] ~@3 [e2,g#2,b2]@2 ~@2", N: "~@4 [e2,g#2,b2] ~@3",
  O: "[e2,g#2,b2] ~@3 [e2,g#2,b2] ~@3", P: "~@8 [g#2,b2]@2 ~@2 [e2,g#2,b2]@3 ~",
  Q: "[~@8 [a2,c#3,e3] ~@3 [a2,c#3,e3]@2 ~@10 [a2,c#3,e3]@2 ~@14 [a2,c#3,e3]@2 ~@14 [a2,c#3,e3]@2 ~@14 [a2,c#3,e3]@2 ~@2 [a2,c#3,e3]@2 ~@10 [a2,c#3,e3]@2 ~@14 [a2,c#3,e3]@2 ~@6, [a3,c#4,e4]@7 ~]/7", // A
  R: "[~@8 [f#2,a2]@2 ~@2 [f#2,a2]@3 ~@9 [f#2,a2]@3 ~@13 [f#2,a2]@3 ~@13 [f#2,a2]@3 ~@13 [d2,f#2,a2]@2 ~@2 [d2,f#2]@4 ~@8 [f#2,a2]@3 ~@13 [f#2,a2]@3 ~@5, [d4,f#4,a4]@7 ~, ~@8 d2@8 ~@8 d2@5 ~@11 d2@5 ~@11 d2@5 ~@15 a2@2 ~@10 d2@5 ~@11 d2@5 ~@3]/7", // F#m D F#m D
  S: "~@8 [f#2,a2]@3 ~@5, ~@8 d2@5 ~@3", // F#m
  T: "[a3@7 ~ [a2,c#3,e3]@3 ~@13 [a2,c#3,e3]@2 ~@14 [a2,c#3,e3]@2 ~@6, ~ e4@5]/3", // A
  U: "~@8 [e2,b2] ~@3 [e2,g#2,b2]@2 ~@2, ~ e3, ~@4 g#2 ~@3", // E5 E
  V: "[b3@7 ~ [e2,g#2,b2]@3 ~@13 [e2,g#2,b2]@2 ~@14 [e2,g#2,b2]@2 ~@6, ~@4 e4@17 ~@3]/3", // E
  W: "~@8 [f#3,a3]@3 ~ [f#3,a3]@3 ~, ~ d3", X: "~@2 [d3,f#3,a3] ~",
  Y: "[a2,c#3,e3]@2 ~@6 [a2,c#3,e3] ~@3 [a2,c#3,e3]@2 ~@2", Z: "~@4 [e2,g#2,b2] ~ [e2,g#2,b2] ~, ~ e3",
  AA: "[g#3@6 ~@2 [e2,g#2,b2]@2 ~@14 [e2,g#2,b2]@2 ~@14 [e2,g#2,b2]@2 ~@14 [e2,g#2,b2] ~@3 [e2,g#2,b2]@2 ~@10 [e2,g#2,b2]@2 ~@6, ~@4 b3@35 ~]/5", // E
  AB: "~@4 [e2,g#2,a2,b2] ~@3", AC: "~@8 [f3,a3,c4] ~@3 [f3,a3,c4]@2 ~@2", AD: "~@4 [f3,a3,c4] ~@3",
  AE: "~@4 [a#2,d3,f3] ~ [a#2,d3,f3] ~", AF: "~@4 [a#2,d3,f3] ~@3", AG: "~@8 [g3,a#3]@2 ~@2 [g3,a#3]@3 ~, ~@8 d#3@7 ~",
  AH: "~@8 [d#3,g3,a#3]@3 ~@5", AI: "~@2 [d#3,g3,a#3] ~",
})).s("gm_electric_guitar_clean").gain(0.34).pan(0.3)

// chords · epiano2 · "E-Piano 2"
const epiano2 = note(`<
  ~@60 A@4 B@4 C@5 D E D F@4 ~@4 G@3 ~ H@3 ~ I@4 ~@92 A@4 B@4 C@5 D E D F@4 ~@4 G@3 ~ H@3 ~ I@4 ~@182
>`.pickRestart({
  A: "[[a3,c#4,e4]@53 ~@3 [a3,c#4,e4]@3 ~@5]/4", B: "[[e3,g#3,b3]@61 ~@3]/4", C: "[~@32 d4@7 ~, [a3,c#4,e4]@15 ~]/5",
  D: "c#4@15 ~", E: "b3@15 ~", F: "[[d3,f#3,a3]@53 ~@11]/4", G: "[[a3,c#4,e4]@11 ~]/3", H: "[e3,g#3,b3]/3",
  I: "[a3,c#4,e4]/4", // A
})).s("gm_epiano2").gain(0.36)

// chords · acoustic guitar steel · "Steel-Git."
const acoustic_guitar_steel = note(`<
  ~@4 A B@2 C D E@2 F A G@2 H I J@2 K L@3 M D N@3 A O@3 A P@2 ~ Q R@2 H P@2 R K E@2 S T E@2 S T E@2 S T U S@2 T V R@2 K
  E@2 S W P@2 R H P@2 R H X M@2 Y Z@2 M@2 P@2 R K E@2 AA@2 P@2 R H AB ~@3 AC AD@2 AE AC AF@2 AG AH AI@2 AJ AH AI@2 AK AC
  AF@2 AE AL AM AN AO AH AI@2 AP AH AI@2 AK AC AF@2 AE AC AF@2 AE AQ AI@2 AP AH AI@2 ~ AR AS@2 AT AU AF@2 AE AH AV@2 AJ
  AW R@2 AX Q R@2 H P@2 R K E@2 S T E@2 S T E@2 S T U S@2 T V R@2 K E@2 S W P@2 R H P@2 R H X M@2 Y Z@2 M@2 P@2 R K E@2
  AA@2 P@2 R H AB ~@3 AC AD@2 AE AC AF@2 AG AH AI@2 AJ AH AI@2 AK AC AF@2 AE AL AM AN AO AH AI@2 AP AH AI@2 AK AC AF@2
  AE AC AF@2 AE AQ AI@2 AP AH AI@2 ~ AR AS@2 AT AU AF@2 AE AH AV@2 AJ AW R@2 AX E@2 S T E@2 S W AY AZ@3 AY BA@3 Z@2 M BB
  S@3 W AY BC@3 ~@4 BD BE@2 BF BD BG@2 BH BI BJ@2 BK BI BJ@2 BL BD BG@2 BF BM BN BO BP BI BJ@2 BQ BI BJ@2 BL BD BG@2 BF
  BD BG@2 BF BR BJ@2 BQ BI BJ@2 ~ BS BT@2 BU BV BG@2 BF BI BW@2 BJ@2 BX BY ~ BS BT@2 BU BV BG@2 BF BI BW@2 BK ~@6
>`.pickRestart({
  A: "[a3,c#4,e4]@10 ~@3 [a3,c#4,e4]@2 ~", B: "[[a3,c#4,e4] ~@3 [e3,g#3,b3]@7 ~ [e3,g#3,b3]@4]/2",
  C: "~@8 [e3,g#3,b3]@5 ~@3", D: "[e3,g#3,b3]@11 ~@2 [e3,g#3,b3]@2 ~",
  E: "[[e3,g#3,b3]@5 ~@3 [e3,g#3,b3]@13 ~@3 [e3,g#3,b3]@8]/2", F: "~@8 [e3,g#3,b3]@3 ~@5, ~@8 a3 ~@7",
  G: "[[a3,c#4,e4]@5 ~@3 [a3,c#4,e4]@13 ~@3 [a3,c#4,e4]@8, ~@24 d#4@5 ~@3]/2", H: "~@2 [a3,c#4,e4] ~",
  I: "[a3,c#4,e4]@10 ~ [a3,c#4,e4]@2 ~@3", J: "[[a3,c#4,e4]@6 ~@2 [a3,c#4,e4]@13 ~@3 [a3,c#4,e4]@8]/2",
  K: "~@8 [a3,c#4,e4]@3 ~@5", // A
  L: "[[d3,f#3,a3]@10 ~@3 [f#3,a3]@2 ~ [f#3,a3]@5 ~@3 [d3,f#3,a3]@14 ~@2 [d3,f#3,a3]@8, ~@13 d3@8 ~@27]/3", // D F#m D
  M: "~ [d3,f#3,a3]", N: "[[e3,g#3,b3]@5 ~@3 [e3,g#3,b3]@13 ~@6 [e3,g#3,b3]@13 [e3,g#3,b3]@4 ~@4]/3",
  O: "[[a3,c#4,e4]@5 ~@3 [a3,c#4,e4]@13 ~@3 [a3,c#4,e4]@14 ~@2 [a3,c#4,e4]@4 ~@4, ~@24 d#4 ~@23]/3", // A
  P: "[[a3,c#4,e4]@5 ~@3 [a3,c#4,e4]@13 ~@3 [a3,c#4,e4]@8]/2", Q: "[e3,g#3,a3,b3,c#4,e4]@5 ~@3 [a3,c#4,e4]@8",
  R: "~ [a3,c#4,e4]", S: "~ [e3,g#3,b3]", T: "~@2 [e3,g#3,b3] ~", U: "[e3,g#3,b3] ~ [e3,g#3,b3]@2",
  V: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@4", W: "~@8 [e3,g#3,b3]@3 ~@5", X: "[d3,a3]@5 ~@3 [d3,f#3,a3]@8, f#3@3 ~@13",
  Y: "~@2 [d3,f#3] ~, ~@4 a3 ~@3", Z: "[[d3,f#3,a3]@5 ~@3 [d3,f#3,a3]@14 ~@2 [d3,f#3,a3]@8]/2",
  AA: "[~@8 [e3,b3]@16 g#3@3 ~@5, ~@4 g#3@7 ~@5]/2", AB: "[a3,c#4,e4] ~",
  AC: "[e3,g#3,b3,e4,g#4,b4]@9 ~@3 [e3,g#3,b3,e4,g#4,b4]@2 ~@2", // E
  AD: "[[e3,g#3,b3,e4,g#4,b4]@4 ~@4 [e3,g#3,b3,e4,g#4,b4]@13 ~@3 [e3,g#3,b3,e4,g#4,b4]@8]/2", // E
  AE: "~@8 [e3,g#3,b3,e4,g#4,b4]@3 ~@5", // E
  AF: "[[e3,g#3,b3,e4,g#4,b4]@6 ~@2 [e3,g#3,b3,e4,g#4,b4]@13 ~@3 [e3,g#3,b3,e4,g#4,b4]@8]/2", // E
  AG: "~@4 [e3,g#3,b3,e4,g#4,b4] ~@3", AH: "[a2,c#3,e3,a3,c#4,e4]@5 ~ [a2,c#3,e3,a3,c#4,e4] ~",
  AI: "[[a2,c#3,e3,a3,c#4,e4]@6 ~@2 [a2,c#3,e3,a3,c#4,e4]@13 ~@3 [a2,c#3,e3,a3,c#4,e4]@8]/2", // A
  AJ: "~@8 [a2,c#3,e3,a3,c#4,e4]@5 ~@3", AK: "~@8 [a2,c#3,e3,a3,c#4,e4]@3 ~@5",
  AL: "[g#3,a3,g#4,a4] ~@2 [d3,d4], [f#3,f#4]@6 [a3,a4] ~, [d3,d4]@9 ~@7", // Amaj7 D F# A D
  AM: "[d3,f#3,d4,f#4]@5 ~@3 [d3,f#3,a3,d4,f#4,a4]@8, [a3,a4]@3 ~@13", AN: "~ [d3,f#3,a3,d4,f#4,a4]",
  AO: "~@2 [d3,f#3,a3,d4,f#4,a4] ~", AP: "~@2 [a2,c#3,e3,a3,c#4,e4] ~",
  AQ: "[a2,c#3,e3,a3,c#4,e4]@9 ~@3 [a2,c#3,e3,a3,c#4,e4]@2 ~@2, [b2,b3] ~@15", // A B
  AR: "[d3,f#3,a3,d4,f#4,a4]@9 ~@3 [d3,f#3,d4,f#4]@3 ~, ~@12 [a3,a4] ~@3", // D A
  AS: "[[d3,f#3,a3,d4,f#4,a4]@7 ~ [d3,f#3,a3,d4,f#4,a4]@13 ~@3 [d3,f#3,a3,d4,f#4,a4]@8]/2", // D
  AT: "~@4 [d3,f#3,a3,d4,f#4,a4]@3 ~", AU: "[e3,g#3,b3,e4,g#4,b4]@7 ~@5 [e3,g#3,b3,e4,g#4,b4] ~@3",
  AV: "[[a2,c#3,e3,a3,c#4,e4]@5 ~@3 [a2,c#3,e3,a3,c#4,e4]@13 ~@3 [a2,c#3,e3,a3,c#4,e4]@8]/2", // A
  AW: "[a2,c#3,e3,a3,c#4,e4] [a3,c#4,e4]", AX: "~@8 [a3,c#4,e4]@7 ~", AY: "[a2,c#3,e3] ~ [a2,c#3,e3]@2",
  AZ: "[~@8 [a2,c#3,e3]@13 ~@3 [a2,c#3,e3]@13 ~@3 [a2,c#3,e3]@4 ~@4]/3", // A
  BA: "[~@8 [a2,c#3,e3]@13 ~@3 [a2,c#3,e3]@13 ~@11]/3", BB: "~@8 [d3,f#3,a3]@5 ~@3",
  BC: "[~@8 [a2,c#3,e3]@13 ~@3 [a2,c#3,e3]@13 ~@3 [a2,c#3,e3]@7 ~]/3", // A
  BD: "[f3,a3,c4,f4,a4,c5]@9 ~@3 [f3,a3,c4,f4,a4,c5]@2 ~@2", // F
  BE: "[[f3,a3,c4,f4,a4,c5]@5 ~@3 [f3,a3,c4,f4,a4,c5]@14 ~@2 [f3,a3,c4,f4,a4,c5]@8]/2", // F
  BF: "~@8 [f3,a3,c4,f4,a4,c5]@3 ~@5", // F
  BG: "[[f3,a3,c4,f4,a4,c5]@6 ~@2 [f3,a3,c4,f4,a4,c5]@13 ~@3 [f3,a3,c4,f4,a4,c5]@8]/2", // F
  BH: "~@4 [f3,a3,c4,f4,a4,c5] ~@3", BI: "[a#2,d3,f3,a#3,d4,f4]@5 ~ [a#2,d3,f3,a#3,d4,f4] ~",
  BJ: "[[a#2,d3,f3,a#3,d4,f4]@6 ~@2 [a#2,d3,f3,a#3,d4,f4]@13 ~@3 [a#2,d3,f3,a#3,d4,f4]@8]/2", // A#
  BK: "~@8 [a#2,d3,f3,a#3,d4,f4]@5 ~@3", BL: "~@8 [a#2,d3,f3,a#3,d4,f4]@3 ~@5",
  BM: "[g3,g4]@3 [d#3,d#4], [d#3,d#4]@9 ~@7, [a#3,a#4]@2 ~@4 [a#3,a#4] ~", // G D# A#
  BN: "[d#3,g3,d#4,g4]@5 ~@3 [d#3,g3,a#3,d#4,g4,a#4]@8, [a#3,a#4]@3 ~@13", BO: "~ [d#3,g3,a#3,d#4,g4,a#4]",
  BP: "~@2 [d#3,g3,a#3,d#4,g4,a#4] ~", BQ: "~@2 [a#2,d3,f3,a#3,d4,f4] ~",
  BR: "[a#2,d3,f3,a#3,d4,f4]@9 ~@3 [a#2,d3,f3,a#3,d4,f4]@2 ~@2, [c3,c4] ~@15", // A# C
  BS: "[d#3,g3,a#3,d#4,g4,a#4]@9 ~@3 [d#3,g3,d#4,g4]@3 ~, ~@12 [a#3,a#4] ~@3", // D# A#
  BT: "[[d#3,g3,a#3,d#4,g4,a#4]@7 ~ [d#3,g3,a#3,d#4,g4,a#4]@13 ~@3 [d#3,g3,a#3,d#4,g4,a#4]@8]/2", // D#
  BU: "~@4 [d#3,g3,a#3,d#4,g4,a#4]@3 ~", BV: "[f3,a3,c4,f4,a4,c5]@7 ~@5 [f3,a3,c4,f4,a4,c5] ~@3",
  BW: "[[a#2,d3,f3,a#3,d4,f4]@5 ~@3 [a#2,d3,f3,a#3,d4,f4]@14 ~@2 [a#2,d3,f3,a#3,d4,f4]@8]/2", // A#
  BX: "[a#2,d3,f3,a#3,d4,f4]@5 ~@3 [a#2,d3,f3,a#3,d4,f4]@5 ~@3", BY: "~ [a#2,d3,f3,a#3,d4,f4]",
})).s("gm_acoustic_guitar_steel").gain(0.31).pan(0.7)

// other · orchestra hit · "Orche-Hits"
const orchestra_hit = note("<~@95 A B ~@126 A B ~@95 C ~@79 D@6>".pickRestart({
  A: "e3@9 ~@7", B: "a3@7 ~", C: "~ f4@8 ~@7, f3@9 ~@7", D: "[[a#2,a#3]@27 ~@5, b2 ~@95]/6",
})).s("gm_orchestra_hit").gain(0.72)

// other · synth drum · "Synt-Drums"
const synth_drum = note(`<
  ~@2 A B ~@30 C D ~@62 E F ~@28 G H I J ~@30 K L ~@62 E F ~@28 G H I J ~@30 K L ~@30 M N ~@28 O P Q R ~@50
>`.pickRestart({
  A: "~@4 a4 ~@3", B: "a4@3 ~ b3@3 ~ g3@3 ~@5, ~@8 a3 ~@7", C: "~@8 e4@3 ~@5", D: "d4 ~ c4 ~ b3 ~@3",
  E: "~@8 a3@4 g3@3 ~", F: "d3@5 ~@3 c3@6 ~@2", G: "~@8 c4@3 ~ b3@2 ~@2", H: "~@8 b3@3 ~@5", I: "~@2 a3 ~",
  J: "~@2 g3 ~", K: "e4 ~ d4 ~", L: "c4@3 ~ a3@2 ~@10", M: "~@8 a#3@4 g#3@3 ~", N: "d#3@5 ~@3 c#3@6 ~@2",
  O: "~@8 c#4@3 ~ c4@2 ~@2", P: "~@8 c4@3 ~@5", Q: "~@2 a#3 ~", R: "~@2 g#3 ~",
})).s("gm_synth_drum").gain(0.53)

// drums · kick
const kick = s("bd").struct("<~@4 x!397 ~@5>").gain(0.73)

// drums · snare
const snare = s("sd").struct(`<
  ~@5 A ~ A ~ A ~ A ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ A ~ A ~ A C B A@2 ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A
// … 50 more lines

More by G. G. Anderson