Strudelify

Happy Days Are Here Again

George Shearing

KeyB majorTempo100 bpm
0:00/0:00
// Happy Days Are Here Again — Shearing George
// 100 bpm, 4/4, key B 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 67 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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 · piano · "A.PIANO 1"
const piano = note("<A@8 B C@4 D@8 E@3 F G@8 H@2 I@7 J K@7 L M@2 N O P@3 Q@8 ~>".pickRestart({
  A: "[~@32 b3@14 [c2,g2,c3,e3,a#3,d#4]@11 [c#2,g#2,c#3,f3,b3,d#4]@11 ~ f#4@9 ~ [d#3,g3,c#4]@11 ~ [g#2,f#3,b3,c4,e4,g#4]@14 ~@18 [g5,g6]@15 ~@2 d#5@8 ~@20 b4@6 ~@14 f#2@11 ~@2 f#4@8 [e2,d3,g#3,a#3,d4,f#4]@11 ~ [g3,b3,c#4,d#4]@12 ~@15 [g#5,g#6]@8, ~@29 b1@17 ~@22 [d2,a2,d3,f#3,c4]@10 [d#2,a#2,f#4]@13 ~@47 [f3,b3,d#4]@10 d#5@26 [f3,b3,d#4]@26 [d#3,a3,b3,d#4]@10 ~@23 [g#2,d#3,f#3]@23, ~@30 [f#2,b2]@17 ~@58 [g2,f3,b3,e4,g4,b4]@34 ~@9 [f#3,b3,d#4,f#4,b4]@18 [f#3,b3]@9 ~@59 [g#3,a#3,c4,d#4]@22, ~@31 [d#3,g#3]@16 ~@43 b4@15 ~@34 [f4,g4,b4]@10 ~@10 f#2@16 ~@24 f2@10 ~@11 [d#2,c#3]@14 ~@22, ~@167 [d#4,f#4]@8 [f4,g#4,b4]@25 ~@56]/8", // C7 C#7 D#7 E G Gaug G# D7 …
  B: "~@4 [g#3,a#4,d#5]@5 [d3,g3,c4,f4,a4,d5]@7 ~ [f#3,b3,g#4,c#5]@9 ~ a#4@5, ~@3 [d#3,c#4,f#4]@7 ~@6 [c#3,e4]@10 [c3,f3,a#3,d#4,g4]@6", // G#sus2 Dm7 F#sus4 D#m7 C#m Cm7
  C: "[~@3 [b2,e3,g#3,d4,f#4,a#4]@11 [a#2,d#3,g3,c#4,f#4]@10 ~ [d3,f#3,c4,d4,f#4]@12 ~ [g#2,c#3,f3,g#3,b3]@16 ~ g3@14 [a3,c4]@14 ~@11 c#5@8 ~@2 a#3@15 [b2,f#3,c#4,d#4,g#4,b4]@9, ~@24 a2@13 e4@17 [g2,c3,e4]@28 ~ f#2@19 d#5@17 ~@9, ~@54 [b3,d4]@16 ~@22 b3@11 [e4,g4,a#4]@17 ~@8, ~@55 e3@28 ~@8 f#3@28 ~@9, ~@93 [e4,g#4]@11 ~@24]/4", // E7 D#7 D7 C#7 Am G#m7 C Bm …
  D: "[~@5 b4@12 ~@15 [e3,d4,g4,b4]@16 ~ f#2@8 ~@2 c#4@25 ~ [c#4,f#4]@9 [d2,a2,d3,f#3,c4,d#4]@11 [c#2,g#2,c#3,f3,b3,e4]@15 ~ [c2,g2,c3,a#3,c4]@30 ~@18 [e3,d#4]@11 ~ [c#3,f3]@10 [d2,a2,d3,f#3,c4,f#4]@10 ~ [d#3,c#4,f#4]@12 ~ [b3,c4,e4,g#4,b4]@14 ~@17 [g5,g6]@10, ~@4 [a2,e3,b3,c#4,f#4]@13 [g2,d3,a3,b3,e4,b4]@14 [g2,a3]@17 b1@10 [d#3,g#3,f#4,b4]@26 [d#2,a#2,d#3,g3]@10 ~@57 [b1,f#2,b2,d#3]@17 [g2,c3]@12 [c#2,g#2,b3,d#4]@12 ~@9 [d#2,a#2,g3]@15 ~@40, ~@30 c2@19 ~@8 b2@28 ~@35 e3@32 [g#3,b3]@17 a#3@15 ~@45 [b3,b4]@27, ~@167 c2@14 ~@33 [g#2,f#3]@15 ~ [g2,f3,e4,g4]@26]/8", // Em7 F#5 D7 C#7 C7 Emaj7 C# D7 …
  E: "[~@3 [b4,d#5]@8 ~@11 f#2@6 ~ f#4@7 ~@14 f#2@12 ~@2 f#4@9 ~ [d3,f#4]@10 [d#2,c#3,g3,b3,c#4,d#4]@12, ~@2 [f3,b3,d#4,f4,g4]@9 [f#3,b3,d#4,f#4,b4,d#5]@17 [f#3,b3,d#4,b4]@8 [f3,b3]@26 [f2,d#3]@12 ~@22, ~@37 [d#4,f4]@26 [a3,b3,d#4]@11 ~@22, ~@38 [g#4,b4]@25 ~@10 [e2,g#3,a#3,d4]@12 ~@11]/3", // B D D#aug B Fdim F7 D#sus2 B7 …
  F: "~@14 [g#5,g#6]@12 ~ d#5@5, [g#2,d#3,f#3,g#3]@25 ~ [d#3,g#3,c#4,f#4,a#4]@6, ~ [a#3,c4,d#4]@25 ~@6", // G# G#7 D#m7 Cm7
  G: "[~ [d3,g3,c4,f4,a4,d5]@9 [c#3,f#3,b3,e4,g#4,c#5]@9 ~ [c3,f3,a#3,d#4,g4]@9 [b2,e3,g#3,d4,f#4,a#4]@10 ~ [d#3,g3,c#4,f#4]@10 ~ [d3,f#3]@12 [g#2,c#3,f3,g#3,b3,e4]@16 [g3,b3,d4]@15 [a3,c4]@13 ~@14 c#5@9 [a#3,e4,g4,a#4,d#5]@13 ~ [f#3,c#4,d#4,g#4]@11 ~ [e3,c#4]@12 [g2,d3,a3,b3,e4,b4]@13 ~ [e3,d4,g4,b4]@15 ~@10 [d#3,g#3,c#4,f#4,b4]@29 ~ [d4,b4]@9 ~ [g3,a#3,d#4,a#4]@9, ~@19 a#4@10 ~@10 a#2@11 [a2,c4,d4,f#4]@14 ~@15 [g2,c3,e3,e4]@28 ~@3 f#2@20 ~@13 [b2,b4]@13 ~@50 b2@30 [g#2,d3,f3,b3,f4]@11 ~@9, ~@120 f#3@24 ~@11 [a2,b3,f#4,b4]@14 ~@12 [c2,g2]@15 ~ [b1,f#2]@12 ~@37 [g2,d#3]@10, ~@60 [b3,e4,g#4]@6 ~@25 a3@3 ~@34]/8", // Dm7 C#m7 Cm7 E7 D#7 D C#7 G …
  H: "[~@3 [c#4,d#4]@9 ~@6 [g3,g4]@5 ~ b3@6 [b3,b4]@5 ~ [d3,g3,a#3,d4,f4]@10 ~ [c3,g3,a#3,d#4]@12 [c#3,g#3,b3,e4,g#4]@5, ~@2 [a#2,d#3,g3,a#3]@10 f3@11 [f#3,g#4]@12 g2@11 g4@13 ~@5, ~@13 [a2,c4,d#4,f4]@11 [g#2,g#3,d#4,f#4]@12 a#4@23 ~@5]/2", // C#sus2 G B Gm7 Cm7 C#m7 D# F#sus2 …
  I: "[~@2 [c3,g3,a#3,d#4,g4,a#4]@8 ~ [f#3,d4]@7 ~@2 d5@10 [a#2,f3,g#3,a#3,c#4,f4,g#4,c#5]@13 ~@7 a#3@7 ~@7 [a#3,a#4]@8 ~@11 a4@7 ~@22 a#3@24 [d#2,a#2,d#3,g3,c#4,f#4]@10 ~ [d2,a2,d3]@12 [c#2,g#2,c#3,f3,b3,e4]@17 [c2,g2,c3,e3,a#3,c4]@31 ~@2 [d#3,g#3]@15, ~@10 [b2,a3,b3,f#4,b4]@8 [e3,g#3]@11 ~@14 [d#2,a#2,f#3,g#3,c#4,f#4]@15 [f#3,b3,d#4,f#4,g#4]@15 [b3,e4,g4]@17 ~@6 f#3@41 ~@9 [f#3,c4,d#4]@14 ~@47 b1@17, ~@19 [b3,d4,f#4,b4]@10 ~@28 [g#2,g#3]@15 [c#3,f3,b4]@17 ~ f#2@9 c#5@38 ~@87, ~@82 [d4,f4]@8 ~@7 b3@16 ~@95 [f#2,b2,b3]@16, ~@83 d5@15 [e4,g#4]@39 ~@87]/7", // Cm7 D A#m7 A# D#7 D5 C#7 C7 …
  J: "~ [g2,e3,a#3,d#4]@11 [c#2,g#2,c#3,f3,b3,d#4]@11 [d2,a2,d3,f#3,c4,f#4]@9, [c2,c3]@13 ~@19", // D# C#7 D7 C
  K: "[~@2 c#4@14 [g#2,f#3,b3,c4,e4,g#4,b4]@14 ~@18 [g5,g6]@15 ~@2 d#5@8 ~@12 f#2@9 ~ b4@7 ~@14 f#2@13 ~@2 [b3,d#4,f#4]@10 [e2,d3,g#3,a#3,d4,f#4]@12 [d#2,c#3,g3,b3,c#4,d#4]@14 ~@15 [g#5,g#6]@21 ~ [d#3,g#3,c#4,f#4,a#4,d#5]@6 [d3,g3,c4,f4,a4,d5]@5 [c#3,f#3,b3,e4,g#4,c#5]@9, ~ [d#2,a#2,d#3,g3,f#4]@16 ~@13 [g4,b4]@33 [f3,b3,d#4,f4]@10 [f#3,d#5]@21 [f#3,b3,d#4,f#4]@9 [d#4,f4,g#4]@26 f2@13 ~@25 [g#2,g#3,a#3,c4,d#4]@36 ~@21, ~@31 [g2,f3,b3,e4]@33 [g4,b4]@10 [b3,d#4,f#4,b4]@21 ~@7 [f3,b3]@28 [d#3,a3]@12 ~@26 [d#3,f#3]@36 ~@20, ~@104 b4@27 ~@93]/7", // E G B D#aug G# D#m7 Dm7 C#m7 …
  L: "[c3,f3,a#3,d#4,g4,a#4]@10 ~ a#4@9 ~ [d#3,g3,c#4]@11, ~@5 [b2,e3,g#3,d4,f#4]@5 [a#2,f#4]@6", // Cm7 D#7 E7 D#m
  M: "[[a2,d3,f#3,c4,d4,f#4]@13 [g#2,c#3,f3,g#3,b3,e4]@17 [b3,d4]@16 [a3,c4]@15 ~@2 f#2, ~@15 [g2,c3,e4]@16 ~, ~@30 e3@29 ~@5, ~@30 g3@7 ~@27]/2", // D7 C#7 Bm Am C
  N: "~@5 [b3,e4,g#4,c#5]@4 [a#3,e4,g4,a#4,d#5]@6 [b2,f#3,c#4,d#4,g#4,b4], ~@9 f#3@21 ~@2", // C#m7 D# G#m7
  O: "~@12 [a2,e3,b3,c#4,f#4,b4]@16 ~ [b2,f#3,c#4,d#4,g#4,b4]@3", // F#m7 G#m7
  P: "[~@13 [f#4,b4]@17 [b2,f#3,c#4,d#4,g#4,b4]@16 ~ [e3,b3]@16 ~ b4@19 ~@2 [a3,d4,g4,b4]@11, ~@12 [a2,e3,b3,c#4]@17 ~@17 [a2,c#4,f#4,b4]@17 [d3,a3,b3,e4]@21 e3@12, ~@63 g2@20 [c2,g2]@13]/3", // B5 G#m7 E5 G A F#m Dsus2 C5
  Q: "[~@74 f6@4 ~@6 g#6@4 ~@5 c#7@5 ~@6 f7@3 ~@26 a6@4 ~@88 [b1,f#2]@31, ~@15 b1@12 [d#3,g#3,c#4]@21 [d#3,g#3,c#4]@19 d#3@2 c#6@48 b1 [f#2,c#7]@4 a#6@5 [d#3,g#3,c#4,g#6]@10 a#6@63 [b1,f#2]@25 ~@31, ~@16 f#2@22 [b1,f#2]@20 [b1,f#2]@10 [g#3,c#4]@10 [b1,f#2]@10 [d#3,g#3,c#4]@10 [b1,f#2,c#7]@9 f7 [d#3,g#3,c#4]@4 f7@25 b1@9 f#6@64 ~@46, ~@26 b2@53 f6@59 f#2@9 [d#3,g#3,c#4]@10 [b1,f#2]@11 [d#3,g#3,c#4]@11 [b1,f#2]@10 [d#3,g#3,c#4]@22 ~ [d#3,g#3,c#4]@44, ~@27 [f#4,b4]@61 g#6@28 d#7@22 ~@3 f6@64 ~@51]/8", // B5 C#sus2 F#5 C#sus2 B5 C#5 B5 C#sus2 …
})).s("gm_piano").gain(0.32)

stack(piano)

More by George Shearing