Strudelify

Tata Yoyo

Annie Cordy

KeyE majorTempo130 bpm
0:00/0:00
// Tata Yoyo — Annie Cordy
// 130.1 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 83 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130.1/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 · brass section · "cuivres"
const brass_section = note(`<
  ~ A B C ~@7 D E F@2 G H ~@2 I J K L J M N O P ~@3 Q ~@7 D E F@2 G H ~@2 I J K L J M R S T ~@3 U ~@7 V W X@2 Y@2 ~@2 Z
  ~ AA ~ AB AC AD AE
>`.pickRestart({
  A: "e5@6 ~ c#5 ~@4 e5@6 ~@2 c#5 ~@3 b4 ~@3 c#5 ~@3", B: "e5 ~@31", C: "b4@6 f#4 ~@5 b4@6 ~@2 c#5 ~@3 e5 ~@2 f#5@5",
  D: "~@6 e5 ~ d#5@2 g#4 ~@3 c#5@2 ~@2 b4@2 ~@2 b3@2 ~@2 a4@2 g#4@3 ~", E: "b3@13 ~@3",
  F: "[~@4 b3 [c4,c5] ~ [c#4,c#5] ~ [e4,e5]@15 ~@8, ~@8 b4 ~@55]/2", // C C# E
  G: "~@4 [a4,c#5] ~ c#5@2 [a4,c#5] ~ [a4,c#5] ~@5 [a4,c#5] ~ [a4,c#5] ~ [a4,c#5] ~ [a4,c#5] ~@3 [a4,c#5] ~ [a4,c#5] ~ [a4,c#5]@2, ~@6 a4 ~@25", // A
  H: "a4 ~@31", I: "[e4,b4,c#5] ~@3 [e4,b4,c#5] ~@5 [e4,b4,c#5] ~@3 [e4,b4,c#5] ~@17",
  J: "~@4 c#5 ~@3 b4@2 g#4 ~@3 e4 ~@17", K: "~@4 c#5 ~@3 b4@2 a4 ~@3 f#4@2 ~@16", L: "~@4 c#5 ~@3 b4@2 a4 ~@3 f#4 ~@17",
  M: "~@4 [b3,e4,c#5] ~@3 [b3,e4] ~ [b3,e4,g#4] ~@3 [b3,e4] ~@17, ~@4 b4 ~@11", // C#m7 E5 E E5
  N: "~@4 [c#4,f#4,c#5] ~@3 [c#4,f#4] ~ [f#4,a4] ~@3 [d#4,f#4] ~@17, ~@4 b4 c#4 ~@10", // F#5 F#m D#m
  O: "~@4 [c#4,f#4,c#5] ~@3 [c#4,b4]@2 [f#4,a4] ~@3 [d#4,f#4]@2 ~@16, ~@8 f#4 ~@5 b3 ~@17", // F#5 C#7 F#m D#m
  P: "~@4 [b3,e4,b4,e5] ~ [e4,e5]@2 e4@2 [e4,e5]@2 ~@20, ~@6 [b3,b4] ~ [b3,b4]@4 ~@20, ~@8 e5 ~@23", // E5 E B
  Q: "[b3,b4,b5]@5 ~ [b3,c#4,b4,c#5,b5]@6 [b3,d4,b4,d5,b5]@7 ~ [b3,d#4,b4,d#5,b5]@4 ~@2 [b3,b4]@2 [b3,f#4,b4,f#5]@3 ~, ~@6 [e4,e5] ~, ~@13 b5@3", // B Bsus2 Bm B B5 E
  R: "~@5 [c#4,f#4,c#5] ~@3 [c#4,f#4] ~ [f#4,a4] ~@3 [d#4,f#4] ~@16, ~@9 b4@2 c#4@2 ~@19", // F#5 F#m D#m
  S: "~@5 [c#4,f#4,c#5] ~@3 [c#4,b4]@2 [f#4,a4] ~@3 [d#4,f#4]@2 ~@15, ~@9 f#4 ~@5 b3 ~@16", // F#5 C#7 F#m D#m
  T: "~@5 [b3,e4,b4,e5] ~ [e4,e5]@2 e4@2 [e4,e5]@2 ~@19, ~@7 [b3,b4] ~ [b3,b4]@4 ~@19, ~@9 e5 ~@22", // E5 E B
  U: "~ [b3,b4,b5]@5 ~ [b3,c#4,b4,c#5,b5]@6 [b3,d4,b4,d5,b5]@7 ~ [b3,d#4,b4,d#5,b5]@4 ~@2 [b3,b4]@2 [b3,f#4,b4,f#5]@3, ~@25 [e4,e5]@4 ~@3, ~@27 b5@5", // B Bsus2 Bm B B5 E
  V: "~@7 e5 ~ d#5@2 g#4 ~@3 c#5@2 ~@2 b4@2 ~@2 b3@2 ~@2 a4@2 g#4@3", W: "~ b3@26 ~@5",
  X: "[~@9 b3@2 [c4,c5]@2 ~@2 [c#4,c#5]@2 ~@2 [e4,e5]@30 ~@15, ~@9 b4 ~@54]/2", // C C# E
  Y: "[~@5 [a4,c#5] ~ c#5@2 [a4,c#5] ~ [a4,c#5] ~@5 [a4,c#5] ~ [a4,c#5] ~ [a4,c#5] ~ [a4,c#5] ~@3 [a4,c#5] ~ [a4,c#5] ~ [a4,c#5]@2 a4 ~@30, ~@7 a4 ~@56]/2", // A
  Z: "~ [e4,g#4,e5,g#5]@6 [e4,a4,e5,a5]@5 ~ [e4,a#4,e5,a#5]@7 ~ [e4,b4,e5,b5] ~@3 [e4,e5]@2 [c#5,c#6]@2 ~@3, ~@25 [c5,c6] ~@6", // E A5 Edim E5 E C# C
  AA: "~@9 [g#4,g#5] ~ [b4,b5] ~@3 [d#5,d#6]@2 ~@2 [c#5,c#6]@9 ~@4", // G# B D# C#
  AB: "~ [b4,e5] ~ [b4,e5] ~@3 [b4,e5] ~ [b4,e5] ~@3 [b4,e5] ~ [b4,e5] ~@3 [b4,e5] ~ [b4,e5] ~@3 [b4,e5] ~@3 [b4,e5] ~@2", // E5
  AC: "~ [a4,d5,e5] ~ [a4,d5,e5] ~@3 [a4,d5,e5] ~ [a4,d5,e5] ~@3 [a4,d5,e5] ~ [a4,d5,e5] ~@3 [a4,d5,e5] ~ [a4,d5,e5] ~@3 [a4,d5,e5] ~@3 [a4,d5,e5] ~@2", // Asus4
  AD: "~ [g4,c5,d5,e5] ~ [g4,c5,d5] ~@3 [g4,c5,d5,e5] ~ [c5,d5,e5] ~@3 [g4,c5,d5,e5] ~ [g4,c5,d5,e5] ~@3 [g4,c5,d5,e5] ~ [c5,d5,e5] ~@3 [g4,c5,d5,e5] ~@3 [g4,c5,d5,e5] ~@2", // C Gsus4 C
  AE: "~ [g#4,b4,e5]@3 ~@28", // E
})).s("gm_brass_section").gain(0.54).pan(0.2)

// chords · brass section · "cuivres"
const brass_section_2 = note(`<
  ~ A B C ~@7 D E F@2 G H ~@2 I J K L J@2 L K M ~@3 N ~@7 D E F@2 G H ~@2 I J K L J@2 O P Q ~@3 R ~@7 S T U@2 V@2 ~@2 W
  ~ X ~ Y Z AA AB
>`.pickRestart({
  A: "e4@6 ~ c#4 ~@4 e4@6 ~@2 c#4 ~@3 b3 ~@3 c#4 ~@3", B: "e4 ~@31", C: "b3@6 f#3 ~@5 b3@6 ~@2 c#4 ~@3 e4 ~@2 f#4@5",
  D: "~@6 e5 ~ d#5@2 g#4 ~@3 c#5@2 ~@2 b4@2 ~@2 b3@2 ~@2 a4@2 g#4@3 ~", E: "b3@13 ~@3",
  F: "[~@4 b3 [c4,c5] ~ c#5 ~ [e4,e5]@15 ~@8, ~@8 b4 ~@55]/2", // C E
  G: "~@4 [a4,c#5] ~ c#5@2 [a4,c#5] ~ [a4,c#5] ~@5 [a4,c#5] ~ [a4,c#5] ~ [a4,c#5] ~ [a4,c#5] ~@3 [a4,c#5] ~ c#5 ~ [a4,c#5]@2, ~@6 a4 ~@25", // A
  H: "a4 ~@31", I: "[e4,b4,c#5] ~@3 [e4,b4,c#5] ~@5 [e4,b4,c#5] ~@3 [e4,b4,c#5] ~@17",
  J: "~@4 c#5 ~@3 b4@2 g#4 ~@3 e4 ~@17", K: "~@4 c#5 ~@3 b4@2 a4 ~@3 f#4@2 ~@16", L: "~@4 c#5 ~@3 b4@2 a4 ~@3 f#4 ~@17",
  M: "~@4 [b4,e5] ~ e5@2 e5 ~ e5@2 ~@20, ~@6 b4 ~ b4@4 ~@20", // E5
  N: "[b3,b4]@5 ~ c#5@5 ~ [d4,d5]@7 ~ [d#4,d#5]@4 [e4,e5]@4 [f#4,f#5]@3 ~", O: "~@5 c#5 ~@3 b4@2 a4 ~@3 f#4 ~@16",
  P: "~@5 c#5 ~@3 b4@2 a4 ~@3 f#4@2 ~@15", Q: "~@5 [b4,e5] ~ e5@2 e5 ~ e5@2 ~@19, ~@7 b4 ~ b4@4 ~@19",
  R: "~ [b3,b4]@5 ~ c#5@5 ~ [d4,d5]@7 ~ [d#4,d#5]@4 [e4,e5]@4 [f#4,f#5]@3", // B D D# E F#
  S: "~@7 e5 ~ d#5@2 g#4 ~@3 c#5@2 ~@2 b4@2 ~@2 b3@2 ~@2 a4@2 g#4@3", T: "~ b3@26 ~@5",
  U: "[~@9 b3@2 [c4,c5]@2 ~@2 c#5@2 ~@2 [e4,e5]@30 ~@15, ~@9 b4 ~@54]/2", // C E
  V: "[~@5 [a4,c#5] ~ c#5@2 [a4,c#5] ~ [a4,c#5] ~@5 [a4,c#5] ~ [a4,c#5] ~ [a4,c#5] ~ [a4,c#5] ~@3 [a4,c#5] ~ c#5 ~ [a4,c#5]@2 a4 ~@30, ~@7 a4 ~@56]/2", // A
  W: "~ [e4,g#4]@6 [e4,a4]@5 ~ [e4,a#4]@7 ~ [e4,b4] ~@3 e4@2 c#5@2 ~@3, ~@25 c5 ~@6", // E A5 Edim E5
  X: "~@9 g#4 ~ b4 ~@3 d#5@2 ~@2 c#5@9 ~@4",
  Y: "~ [b4,e5] ~ [b4,e5] ~@3 [b4,e5] ~ [b4,e5] ~@3 [b4,e5] ~ [b4,e5] ~@3 [b4,e5] ~ [b4,e5] ~@3 [b4,e5] ~@3 [b4,e5] ~@2", // E5
  Z: "~ [a4,d5,e5] ~ [a4,d5,e5] ~@3 [a4,d5,e5] ~ [a4,d5,e5] ~@3 [a4,d5,e5] ~ [a4,d5,e5] ~@3 [a4,d5,e5] ~ [a4,d5,e5] ~@3 [a4,d5,e5] ~@3 [a4,d5,e5] ~@2", // Asus4
  AA: "~ [g4,c5,d5,e5] ~ [g4,c5,d5] ~@3 [g4,c5,d5,e5] ~ [c5,d5,e5] ~@3 [g4,c5,d5,e5] ~ [g4,c5,d5,e5] ~@3 [g4,c5,d5,e5] ~ [c5,d5,e5] ~@3 [g4,c5,d5,e5] ~@3 [g4,c5,d5,e5] ~@2", // C Gsus4 C
  AB: "~ [g#4,b4,e5]@3 ~@28", // E
})).s("gm_brass_section").gain(0.48).pan(0.7)

// bass · electric bass finger · "basse"
const bass = note(`<
  ~@4 A B C D E F G H@2 B I J K L M N O P Q R S T U V W X Y Z A B C D E F G H@2 B I J K L M N AA AB AC R AD AE AF V AG
  AH Y AI AJ AK AL AM AN AO AP AQ@2 AK AR Y AS AT AU AV AW AX AM AY AZ BA BB
>`.pickRestart({
  A: "e2@8 b1@7 ~ e2@7 ~ b1@8", B: "e2@7 ~ b1@8 e2@7 ~ b1@7 ~", C: "e2@8 b1@7 ~ e2 ~@7 c#2@8",
  D: "f#2@7 ~ c#2@8 b1@7 ~ f#2@7 ~", E: "f#2@8 c#2@8 b1@7 ~ f#2@8", F: "f#2@8 c#2@7 ~ b1@7 ~ f#2@7 ~",
  G: "f#2@7 ~ f#2@7 ~ f#2@3 ~@5 b1@7 ~", H: "e2@7 ~ b1@7 ~ e2@7 ~ b1@7 ~", I: "e2@7 ~ e2@7 ~ d2@3 ~@5 d2@7 ~",
  J: "a2@7 ~ e2@7 ~ a2@8 e2@7 ~", K: "d#2@6 ~@2 d#2@7 ~ d#2@7 ~ d#2@7 ~", L: "g#2@8 d#2@7 ~ c#2@7 ~ g#2@8",
  M: "f#2@8 c#2@7 ~ b1@8 f#2@8", N: "e2@8 b1@8 e2@3 ~@13", O: "e2@7 ~ b1@6 ~@2 e2@7 ~ b1@3 ~@2 e2@2 ~",
  P: "~ f#2@7 c#2@7 ~@2 b1@6 ~ b1@2 ~@2 d#2@2 ~@2", Q: "f#2@7 ~ c#2@7 ~ b1@6 ~@2 b1@2 ~@2 f#2@2 ~@2",
  R: "e2@8 ~ b1@7 ~ e2@7 ~ b1@7", S: "e2@7 ~@2 b1@7 e2@7 ~ b1@2 ~@2 e2@2 ~@2",
  T: "f#2@7 ~ c#2@7 ~ b1@6 ~@2 b1@2 ~@2 d#2@2 ~@2", U: "f#2@8 ~ c#2@7 ~ b1@7 b1@2 ~@3 f#2@2 ~",
  V: "~ e2@8 b1@7 ~ e2@8 b1@4 e2@3", W: "~ a2@7 ~ e2@7 ~ a2@7 e2@8", X: "~ e2@7 ~ b1@7 ~ e2@7 ~ b1@3 e2@3 ~",
  Y: "~ a2@7 ~ e2@7 ~ a2@8 e2@7", Z: "b1@5 ~@2 b1@4 ~@2 b1@5 ~@3 b1@3 ~ b1@3 ~ b1@3",
  AA: "e2@7 ~@2 b1@6 ~@2 e2@7 ~ b1@3 ~ e2@2 ~", AB: "~ f#2@7 ~ c#2@7 ~ b1@6 ~@2 b1@2 ~ d#2@2 ~@2",
  AC: "~ f#2@7 ~ c#2@7 ~ b1@6 ~ b1@2 ~@2 f#2@2 ~@2", AD: "~ e2@7 ~ b1@7 ~ e2@7 ~ b1@2 ~@2 e2@2 ~",
  AE: "~ f#2@7 ~ c#2@7 ~ b1@6 ~ b1@2 ~@3 d#2@2 ~", AF: "~ f#2@8 c#2@7 ~ b1@7 ~ b1@2 ~@2 f#2@2 ~",
  AG: "~ a2@7 ~ e2@7 ~ a2@7 ~ e2@7", AH: "~ e2@7 ~ b1@7 ~ e2@7 ~ b1@4 e2@3",
  AI: "~ b1@5 ~ b1@4 ~@2 b1@5 ~@3 b1@3 ~ b1@3 ~ b1@3", AJ: "~ e2@8 b1@7 ~ e2@7 ~ b1@7", AK: "~ e2@7 ~ b1@8 e2@7 ~ b1@7",
  AL: "~ e2@8 b1@7 ~ e2 ~@7 c#2@7", AM: "~ f#2@7 ~ c#2@8 b1@7 ~ f#2@7", AN: "~ f#2@8 c#2@8 b1@7 ~ f#2@7",
  AO: "~ f#2@8 c#2@7 ~ b1@7 ~ f#2@7", AP: "~ f#2@7 ~ f#2@7 ~ f#2@3 ~@5 b1@7", AQ: "~ e2@7 ~ b1@7 ~ e2@7 ~ b1@7",
  AR: "~ e2@7 ~ e2@7 ~ d2@3 ~@5 d2@7", AS: "~ d#2@6 ~@2 d#2@7 ~ d#2@7 ~ d#2@7", AT: "~ g#2@8 d#2@7 ~ c#2@7 ~ g#2@7",
  AU: "~ f#2@8 c#2@7 ~ b1@8 f#2@7", AV: "~ e2@7 ~ b1@7 ~ e2@8 b1@7", AW: "~ d#2@7 ~ d#2@7 ~ d#2@7 ~ d#2@7",
  AX: "~ g#2@8 d#2@8 c#2@8 g#2@7", AY: "~ e2@8 b1@8 e2@8 b1@4 e2@3", AZ: "~ d2@7 ~ a1@7 ~ d2@8 a1@4 d2@3",
  BA: "~ c2@7 ~ g1@8 c2@8 g1@4 c2@3", BB: "~ e2@5 ~@26",
})).s("gm_electric_bass_finger").gain(0.4)

// chords · piano
const piano = note(`<
  ~@4 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 A B C D E F G H I J K L M N O P Q R S T AC AD AE AF AG
  AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ AW BA BB BC BD BE BF
>`.pickRestart({
  A: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,e4,g#4]@3 ~ [e4,g#4]@2 ~@2, ~@28 b3 ~@3", // E
  B: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,e4] ~@3 [b3,e4,g#4] ~@3, ~@12 g#4 ~@3", // E E5 E
  C: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 b3 ~@3 b3 ~@3 [b3,e4,g#4]@3 ~@5 [c#4,f4,g#4]@7 ~", // E C#
  D: "[c#4,f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [c#4,f#4]@4 ~@2 [b3,d#4,f#4]@2 ~@2 [d#4,f#4]@2 ~@4 [b3,f#4,a4]@3 ~ [b3,f#4,a4]@3 ~, ~@8 a4@6 ~@4 [b3,a4] ~@5 d#4@4 ~@4", // F#m F#5 B D#m B7
  E: "[f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [c#4,f#4]@5 ~ [b3,d#4,f#4]@2 ~@4 [b3,d#4,f#4,a4]@2 ~@2 [b3,f#4]@3 ~ [b3,f#4]@2 ~@2, c#4@2 ~@6 a4@6 ~@10 [d#4,a4]@7 ~", // F#m F#5 B B7 B5 D#dim
  F: "[c#4,f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [f#4,a4]@5 ~ [b3,d#4,f#4,a4]@3 ~ [b3,d#4,f#4,a4]@2 ~@4 [b3,f#4,a4]@3 ~ [b3,f#4,a4]@2 ~@2, ~@8 c#4@3 ~@13 d#4@4 ~@4", // F#m B7
  G: "[c#4,f#4,a4]@5 ~ [c#4,f#4,a4]@3 ~@3 [c#4,f#4,a4]@2 ~@2 [c#4,f#4,a4]@2 ~@6 [b3,d#4,f#4,a4]@7 ~", // F#m B7
  H: "[e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4] ~@5 [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~@3, b3 ~@8 g#4 ~@6", // E E5 E
  I: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@5 ~ [b3,e4,g#4]@3 ~ [b3,e4] ~@5 [b3,e4,g#4]@3 ~ [e4,g#4] ~@3, ~@9 g#4 ~@4 b3 ~", // E E5 E
  J: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [e4,g#4]@2 ~@2 [b3,e4,g#4]@2 ~@4 [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~@3, ~@14 b3 ~@17", // E
  K: "[b3,e4,g#4]@4 [b3,e4,g#4]@5 ~@3 [b3,e4,g#4]@3 ~ [b3,e4,g#4]@3 ~@5 [b3,d4,e4,g#4]@7 ~", // E E7
  L: "[c#4,e4,a4] ~@3 [c#4,e4,a4] ~@3 [c#4,e4,a4]@5 ~ [c#4,e4,a4]@2 ~@2 [c#4,e4,a4]@2 ~@4 [c#4,e4,a4]@4 [c#4,e4,a4]@2 ~@2", // A
  M: "[g#3,d#4,g#4]@15 ~ [g3,d#4,g4]@15 ~", N: "[f#3,d#4,f#4]@15 ~ [e3,c#4,e4]@15 ~",
  O: "[c#4,f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [c#4,f#4,a4]@5 ~ [b3,d#4,f#4,a4]@3 ~ [b3,d#4,f#4,a4]@3 ~@3 [d#4,f#4]@4 [b3,f#4,a4]@2 ~@2, ~@24 [b3,a4]@3 ~@5", // F#m B7 D#m B7
  P: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~ [b3,g#4]@2 ~@2 [b3,e4,g#4] ~@17, ~@10 e4 ~@21", // E
  Q: "[b3,e4,g#4] ~@7 [b3,e4,g#4] ~@5 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,e4]@4 [b3,e4]@2 ~@2, ~@24 g#4@7 ~", // E E5
  R: "[c#4,f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [f#4,a4]@4 ~@2 [b3,d#4,f#4]@2 ~@2 [b3,d#4,f#4,a4]@2 ~@4 [b3,f#4]@4 [b3,f#4]@2 ~@2, ~@8 c#4@2 ~@14 [d#4,a4]@7 ~", // F#m B B7 B5 D#dim
  S: "~@4 [c#4,f#4,a4] ~@3 [c#4,f#4,a4]@4 ~@2 [b3,d#4,f#4,a4]@2 ~@2 [b3,d#4,f#4,a4]@2 ~@4 [d#4,f#4]@4 [b3,a4]@2 ~@2, ~@24 [b3,a4]@3 ~@5", // F#m B7 D#m B7
  T: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,e4,g#4]@3 ~ [b3,g#4]@2 ~@2, ~@28 e4 ~@3", // E
  U: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,g#4]@4 [e4,g#4]@3 ~, ~@24 e4@3 ~@5", // E
  V: "[c#4,a4]@2 ~@2 [c#4,f#4,a4] ~@3 [c#4,f#4,a4]@4 ~@2 [b3,d#4,f#4]@2 ~@2 [b3,d#4,f#4,a4]@2 ~@4 [b3,f#4,a4]@3 ~ [b3,f#4,a4]@2 ~@2, f#4 ~@13 a4 ~@9 d#4@4 ~@4", // F#m B B7
  W: "[c#4,f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [f#4,a4]@5 ~ [d#4,f#4]@2 ~@2 [b3,d#4,f#4,a4]@2 ~@4 [b3,d#4,f#4,a4]@3 ~ [b3,d#4,f#4,a4]@2 ~@2, ~@8 c#4@3 ~@3 [b3,a4] ~@17", // F#m D#m B7
  X: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,e4,g#4]@3 ~ [b3,e4] ~@3, ~@14 g#4 ~", // E E5
  Y: "[e4,a4,c5] ~@3 [e4,a4,c5] ~@3 [e4,a4,c5]@4 ~@2 [f#4,c5]@2 ~@2 [e4,f#4,a4] ~@3 [e4,f#4,a4] ~ [e4,f#4,a4]@4 [e4,f#4,a4]@2 ~@2, ~@14 [e4,a4] ~@3 c5@2 ~@2 c5@7 ~@3", // Am F#dim F#m7 A5
  Z: "[e4,g#4,b4] ~@3 [e4,g#4,b4] ~@3 [e4,g#4,b4]@4 ~@2 [e4,g#4,b4] ~@3 [e4,g#4,b4] ~@5 [e4,g#4,b4]@3 ~ [e4,g#4,b4]@2 ~@2", // E
  AA: "[e4,g4,a4,c5] ~@3 [e4,f#4,g4,a4,c5] ~@3 [e4,g4,a4,c5]@4 ~@2 [e4,f#4,a4] ~@3 [e4,f#4,a4] ~@3 [e4,f#4] ~ [e4,f#4,a4]@3 ~ [f#4,a4]@2 ~@2, ~@14 c5@2 ~@2 c5@2 ~@2 c5@5 ~ e4 ~@3", // Am7 F#m7 Esus2 F#m7 F#m
  AB: "[b3,d#4,f#4,b4]@2 ~ [b3,d#4,f#4,b4]@2 ~ [b3,d#4,f#4,b4]@3 ~ [b3,d#4,f#4,b4] ~ [b3,d#4,f#4,b4] ~ [b3,d#4,f#4,b4] ~", // B
  AC: "[b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,g#4]@5 [e4,g#4]@3, ~@24 e4@3 ~@5", // E
  AD: "~ [c#4,a4]@2 ~@2 [c#4,f#4,a4] ~@3 [c#4,f#4,a4]@4 ~@2 [b3,d#4,f#4]@2 ~@2 [b3,d#4,f#4,a4]@2 ~@4 [b3,f#4,a4]@3 ~ [b3,f#4,a4]@2 ~, ~ f#4 ~@13 a4 ~@9 d#4@4 ~@3", // F#m B B7
  AE: "~ [c#4,f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [f#4,a4]@5 ~ [d#4,f#4]@2 ~@2 [b3,d#4,f#4,a4]@2 ~@4 [b3,d#4,f#4,a4]@3 ~ [b3,d#4,f#4,a4]@2 ~, ~@9 c#4@3 ~@3 [b3,a4] ~@16", // F#m D#m B7
  AF: "~ [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,e4,g#4]@3 ~ [b3,e4] ~@2, ~@29 g#4@2 ~", // E E5
  AG: "~ [e4,a4,c5] ~@3 [e4,a4,c5] ~@3 [e4,a4,c5]@4 ~@2 [f#4,c5]@2 ~@2 [e4,f#4,a4] ~@3 [e4,f#4,a4] ~ [e4,f#4,a4]@4 [e4,f#4,a4]@2 ~, ~@15 [e4,a4] ~@3 c5@2 ~@2 c5@7 ~@2", // Am F#dim F#m7 A5
  AH: "~ [e4,g#4,b4] ~@3 [e4,g#4,b4] ~@3 [e4,g#4,b4]@4 ~@2 [e4,g#4,b4] ~@3 [e4,g#4,b4] ~@5 [e4,g#4,b4]@3 ~ [e4,g#4,b4]@2 ~", // E
  AI: "~ [e4,g4,a4,c5] ~@3 [e4,f#4,g4,a4,c5] ~@3 [e4,g4,a4,c5]@4 ~@2 [e4,f#4,a4] ~@3 [e4,f#4,a4] ~@3 [e4,f#4] ~ [e4,f#4,a4]@3 ~ [f#4,a4]@2 ~, ~@15 c5@2 ~@2 c5@2 ~@2 c5@5 ~ e4 ~@2", // Am7 F#m7 Esus2 F#m7 F#m
  AJ: "~ [b3,d#4,f#4,b4]@4 ~@2 [b3,d#4,f#4,b4]@4 ~@2 [b3,d#4,f#4,b4]@6 ~@2 [b3,d#4,f#4,b4]@2 ~@2 [b3,d#4,f#4,b4]@2 ~@2 [b3,d#4,f#4,b4]@2 ~", // B
  AK: "~ [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,e4,g#4]@3 ~ [e4,g#4]@2 ~, ~@29 b3 ~@2", // E
  AL: "~ [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,e4] ~@3 [b3,e4,g#4] ~@2, ~@25 g#4@2 ~@5", // E E5 E
  AM: "~ [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 b3 ~@3 b3 ~@3 [b3,e4,g#4]@3 ~@5 [c#4,f4,g#4]@7", // E C#
  AN: "~ [c#4,f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [c#4,f#4]@4 ~@2 [b3,d#4,f#4]@2 ~@2 [d#4,f#4]@2 ~@4 [b3,f#4,a4]@3 ~ [b3,f#4,a4]@3, ~@9 a4@6 ~@4 [b3,a4] ~@5 d#4@4 ~@3", // F#m F#5 B D#m B7
  AO: "~ [f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [c#4,f#4]@5 ~ [b3,d#4,f#4]@2 ~@4 [b3,d#4,f#4,a4]@2 ~@2 [b3,f#4]@3 ~ [b3,f#4]@2 ~, ~ c#4@2 ~@6 a4@6 ~@10 [d#4,a4]@7", // F#m F#5 B B7 B5 D#dim
  AP: "~ [c#4,f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [f#4,a4]@5 ~ [b3,d#4,f#4,a4]@3 ~ [b3,d#4,f#4,a4]@2 ~@4 [b3,f#4,a4]@3 ~ [b3,f#4,a4]@2 ~, ~@9 c#4@3 ~@13 d#4@4 ~@3", // F#m B7
  AQ: "~ [c#4,f#4,a4]@5 ~ [c#4,f#4,a4]@3 ~@3 [c#4,f#4,a4]@2 ~@2 [c#4,f#4,a4]@2 ~@6 [b3,d#4,f#4,a4]@7", // F#m B7
  AR: "~ [e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4] ~@5 [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~@2, ~ b3@2 ~@16 g#4@2 ~@11", // E E5 E
  AS: "~ [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@5 ~ [b3,e4,g#4]@3 ~ [b3,e4] ~@5 [b3,e4,g#4]@3 ~ [e4,g#4] ~@2, ~@19 g#4@2 ~@8 b3@2 ~", // E E5 E
  AT: "~ [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [e4,g#4]@2 ~@2 [b3,e4,g#4]@2 ~@4 [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~@2, ~@15 b3 ~@16", // E
  AU: "~ [b3,e4,g#4]@4 [b3,e4,g#4]@5 ~@3 [b3,e4,g#4]@3 ~ [b3,e4,g#4]@3 ~@5 [b3,d4,e4,g#4]@7", // E E7
  AV: "~ [c#4,e4,a4] ~@3 [c#4,e4,a4] ~@3 [c#4,e4,a4]@5 ~ [c#4,e4,a4]@2 ~@2 [c#4,e4,a4]@2 ~@4 [c#4,e4,a4]@4 [c#4,e4,a4]@2 ~", // A
  AW: "~ [g#3,d#4,g#4]@15 ~ [g3,d#4,g4]@15", AX: "~ [f#3,d#4,f#4]@15 ~ [e3,c#4,e4]@15",
  AY: "~ [c#4,f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [c#4,f#4,a4]@5 ~ [b3,d#4,f#4,a4]@3 ~ [b3,d#4,f#4,a4]@3 ~@3 [d#4,f#4]@4 [b3,f#4,a4]@2 ~, ~@25 [b3,a4]@3 ~@4", // F#m B7 D#m B7
  AZ: "~ [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@2 [b3,e4,g#4] ~@3 [b3,e4,g#4] ~@5 [b3,e4]@3 ~ e4@2 ~, ~@25 g#4@4 b3 ~@2", // E E5
  BA: "~ [d#3,f#3,d#4,f#4]@15 ~ [c#3,e3,c#4,e4]@15", // D#m C#m
  BB: "~ [c#4,f#4,a4] ~@3 [c#4,f#4,a4] ~@3 [c#4,f#4,a4]@4 ~@2 [d#4,f#4,a4]@2 ~@2 [b3,d#4,f#4,a4]@2 ~@4 [b3,f#4,a4]@3 ~ [b3,f#4,a4]@2 ~, ~@15 b3 ~@9 d#4@4 ~@3", // F#m D#dim B7
  BC: "~ [b3,e4] ~ [b3,e4] ~@3 [b3,e4,g#4] ~ [b3,e4,g#4] ~@3 [b3,e4,g#4] ~ [b3,g#4]@2 ~@2 [b3,e4,g#4] ~ [b3,e4,g#4]@2 ~@9, ~ g#4@2 ~@12 e4 ~@16", // E5 E
  BD: "~ [a3,d4,f#4] ~ [a3,d4] ~@3 [a3,d4,f#4] ~ [a3,d4] ~@3 [a3,d4,f#4] ~ [a3,d4] ~@3 [a3,d4,f#4] ~ [a3,f#4]@2 ~@9, ~@3 f#4@2 ~@4 f#4@2 ~@4 f#4@2 ~@4 d4 ~@10", // D D5 D D5 D D5 D
  BE: "~ [g3,c4,e4] ~ [g3,c4,e4] ~@3 [g3,c4,e4] ~ [g3,c4,e4]@2 ~@2 [g3,c4,e4] ~ [g3,c4] ~@3 [g3,c4,e4] ~ [g3,c4] ~@3 [g3,c4,e4] ~@3 [g3,c4] ~@2, ~@15 e4@2 ~@4 e4@2 ~@6 e4@2 ~", // C C5 C C5 C C5
  BF: "~ [g#3,b3,e4]@2 ~@29", // E
})).s("gm_piano").gain(0.32)

// chords · string ensemble 1 · "violons"
const string_ensemble_1 = note(`<
  ~@4 A@7 B@4 C D@4 E F@4 G@4 H I J K@7 L@4 C M@4 E N@2 O@5 P H I Q R@7 S@4 C T@3 U V@3 W X Y Z
>`.pickRestart({
  A: "[[b3,e4,g#4]@81 ~@7 [f4,g#4]@8 ~@16 [b3,d#4]@16 ~@16 [b3,d#4]@16 c#4@15 ~ [b3,d#4]@16 c#4@17 ~@7 [b3,d#4,f#4]@8, ~@44 c#4@11 ~@57, ~@6 a4@7 ~, ~@97 f#4@112 ~@15]/7", // E Fm B
  B: "[~@9 b3@105 ~@6 [b3,d4,e4,g#4]@7 ~, e4@113 ~@15, ~ g#4@113 ~@14]/4", C: "~ [c#4,e4,a4]@31",
  D: "[g#4@16 g4@13 ~@3 f#4@15 ~ e4@14 ~@18 d#4@15 ~ g#4@18 ~@14, d#4@47 ~ c#4@31 ~ b3@33 ~@15, a#4 [g#4,b4] [f#4,a4] ~]/4", // G#m F#m
  E: "[b3,e4,g#4]", F: "[~@16 [b3,d#4]@16 c#4@15 ~ [b3,d#4]@15 ~ [b3,g#4]@64, f#4@62 ~ e4@65]/4",
  G: "[~@16 [b3,d#4]@16 c#4@15 ~ d#4@15 ~ g#4@31 ~@17 f#4@14 ~@2, f#4@63 e4@31 ~ [e4,a4]@32 ~, ~@48 b3@46 ~ g4@16 ~@17, ~@3 c5]/4", // B A5
  H: "[b3,e4,b4], g#4@7 ~", I: "~@8 f#4@7 ~, [a4,c5]@15 ~, g4@15 ~@17, ~@8 e4@21 ~@3",
  J: "[b3,d#4,f#4,b4]@5 ~ [b3,d#4,f#4,b4]@6 [b3,d#4,f#4,b4]@7 ~ [b3,d#4,f#4,b4]@3 ~ [b3,d#4,f#4,b4]@3 ~ [b3,d#4,f#4,b4]@4", // B
  K: "[[b3,e4,g#4]@81 ~@8 [f4,g#4]@8 ~@16 d#4@15 ~@16 [b3,d#4]@16 c#4@15 ~ [b3,d#4]@16 c#4@17 ~@8 [b3,d#4]@7, ~@89 c#4@22 ~ b3@16 ~@96, ~@97 [f#4,a4]@112 ~@7 f#4@8]/7", // E Fm B F#m
  L: "[~@9 b3@105 ~@7 g#4@6 ~, e4@113 ~@7 [b3,d4,e4]@7 ~, ~ g#4@113 ~@14]/4", // E7
  M: "[g#4@17 g4@13 ~@2 f#4@15 ~@2 e4@14 ~@18 d#4@15 g#4@18 ~@14, d#4@47 ~ c#4@31 ~@2 b3@33 ~@14, a#4@32 [g#4,b4]@32 f#4@31 ~@33, ~@65 a4@32 ~@31]/4", // G#m
  N: "[~@16 [b3,d#4]@16 c#4@15 ~ [b3,d#4]@16, f#4@31 ~]/2", // B
  O: "[[b3,e4,g#4]@65 ~@15 [b3,d#4]@16 ~ c#4@15 d#4@15 ~ [e4,g#4]@32, ~@65 f#4@63 ~@32, ~@56 b3@23 ~]/5", // E B E
  P: "g4@8 f#4@7 ~, [e4,a4,c5]", // Am
  Q: "[b3,d#4,f#4,b4]@5 ~ [b3,d#4,f#4,b4]@6 [b3,d#4,f#4,b4]@7 ~ [b3,d#4,f#4,b4]@3 ~@2 [b3,d#4,f#4,b4]@3 ~ [d#4,b4]@3, ~@7 [b3,f#4]", // B G#m B5
  R: "[~ [b3,e4,g#4]@81 ~@7 [f4,g#4]@8 ~@16 [b3,d#4]@16 ~@15 [b3,d#4]@16 ~ c#4@15 [b3,d#4]@16 ~ c#4@17 ~@7 [b3,d#4,f#4]@7, ~@89 c#4@22 ~@113, ~@97 [f#4,a4]@112 ~@15]/7", // E Fm B F#m
  S: "[~@9 b3@105 ~@7 [b3,d4,e4,g#4]@7, ~ [e4,g#4]@113 ~@14]/4", // E7 E
  T: "[~ g#4@16 g4@13 ~@3 f#4@15 ~ e4@14 ~@18 [b3,d#4]@15, d#4@47 ~@2 c#4@31 ~@16, ~ a#4@31 g#4@32 ~ [f#4,a4]@31, ~@33 b4@31 ~@32]/3", // B F#m
  U: "~ [b3,e4,g#4]@31", // E
  V: "[~ g#3@15 [g3,g4]@17 [f#3,f#4]@15 [g#3,e4]@17 ~@16 b3@15, d#4@48 c#4@32 d#4@15 ~, g#4@17 ~@48 [f#4,a4]@29 ~@2]/3", // G F# C#m F#m
  W: "[e4,g#4,b4,e5]", X: "~ [d4,f#4,a4,d5,f#5]@31", Y: "~ [c4,g4,g5]@31, [e4,c5]@31 ~",
  Z: "~ b4@4 ~@27, [e4,g#4,e5] ~@7", // E
})).s("gm_string_ensemble_1").gain(0.16)

// chords · string ensemble 1 · "violons" · soft notes
const string_ensemble_1_soft = note(`<
  ~@8 A ~@10 B ~ C@2 ~@2 D@2 ~@9 A ~@10 B ~ C@2 ~@2 D@2 ~@9 E ~@10 F ~@5 G ~
>`.pickRestart({
  A: "c#4@15 ~@17", B: "e4@9 ~@7", C: "[a4@63 ~, c#4@15 ~@49]/2", D: "[a4, c#4 ~@3]/2", E: "~ c#4@15 ~@16",
  F: "e4 ~@31", G: "e5",
})).s("gm_string_ensemble_1").gain(0.1)

// drums · kick
const kick = s("bd").struct("<[x!4]!53 [~ x ~@7 x ~@7 x ~@7 x ~@6]!29 [~ x ~@30]>").gain(0.4)

// drums · rim
const rim = s("rim").struct(`<
  ~@4 A B C B@3 C B@3 C B@4 D B E B@9 ~ A B C B@3 C B@3 C B@4 D B E B@2 F G@6 ~ H G I G@3 I G@3 I G@7 J K L M ~
>`.pickRestart({
  A: "~@2 x!2 ~@2 x!2", B: "~@2 x ~@3 x!2", C: "~ x ~@2", D: "~@2 x!2 ~@4", E: "~@4 x ~ x ~@5 x ~ x!2",
// … 135 more lines

More by Annie Cordy