Strudelify

Londonderry Air

George Shearing

KeyE♭ majorTempo100 bpm
0:00/0:00
// Londonderry Air — Shearing George
// 100 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 58 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 B@3 C@8 D@3 E@7 F@5 G@2 H@8 I@5 J@7 K@3 L@6>".pickRestart({
  A: "~@10 [ab3,b3,d4]@6 ~@2 d4 eb4@10 [f3,ab3,b3,d4,f4]@3, ~@16 c4@13 ~@3, ~@17 [g3,bb3]@12 ~@3", // Abdim Fdim Gm
  B: "[~@4 [eb3,g3,bb3,d4,g4]@27 [d3,f3,a3,c4,f4]@7 [g2,f3,ab3,b3,eb4,g4]@9 ~@6 [db4,e4,ab4]@5 ~@2 bb4@8 [bb2,ab3,b3,d4,g4]@11 ~@7 [eb3,eb4]@9 c4, ~@47 [c3,bb3,d4,f4,a4,c5]@11 [f2,c3]@11 ~@10 [eb2,bb2,f3,g3]@17, ~@59 [ab3,c4,eb4,g4]@10 ~@11 [db4,f4]@16]/3", // Ebmaj7 Dm7 Fm7b5 Dbm G Eb Dm7 F5 …
  C: "[[ab2,eb3,gb3,bb3]@22 ~ [bb3,db4,eb4]@7 [f2,c3,f3,a3,c4,e4,g4]@8 [e2,b2,e3,ab3,b3,eb4,gb4,ab4]@10 ~@16 [d4,f4]@7 ~@6 eb4@6 ~@11 g4@7 ~ [bb3,c4,eb4]@14 [f2,eb3,g3,a3,b3,d4,g4]@19 ~@25 bb6@13 [ab3,b3,d4]@12 ~@3 d4@2 eb4 ~ eb4@11 [f3,ab3,b3,d4,f4]@13 ~@3 f4@2 g4@24 [d3,f3,a3,c4,f4]@7 ~ [f3,ab3,b3,eb4]@3, ~@22 [gb2,db3,gb3,ab3]@8 ~@18 [eb2,bb2,bb4]@23 ab2@12 g2@18 [c3,eb3,g3]@15 ~@19 [bb2,ab3,bb3,c4,eb4]@39 ~@11 [g3,bb3]@18 ~@13 [eb3,g3,bb3]@29 ~@7 [g2,g4]@4, ~@48 [d4,f4]@11 bb3@13 ~ [c4,e4,ab4,c5]@11 ~@52 f4@38 ~@13 c4@16 ~@14 [c4,d4]@28 ~@11, ~@48 bb3@8 g3@17 ~@73 bb4@28 ~@13 eb4@2 ~@2 d4@2 ~@25 g4@2 ~@36, ~@52 eb3@20 gb3@11 ~ [f3,b3,d4,f4,bb4]@18 ~@50 bb5@21 ~@83]/8", // Ebm Eb7 Fmaj7 Emaj7 Dm Cm7 G7 Abdim …
  D: "[~@10 [db4,e4,ab4]@4 ~@2 [g4,bb4]@7 ~@2 g4@12 ~ f4@9 [a2,eb3,g3,b3,db4,eb4]@13 [ab2,eb3,gb3,bb3,c4]@28 ~ [g2,d3,g3,a3,b3]@6 eb4, ~@4 c3@10 [f2,c3,ab3]@10 [b3,d4]@13 ~@59, ~@5 bb3@10 [c4,eb4]@10 ~@63 d4@8, ~@6 [d4,f4,a4,c5]@10 ~@7 [bb2,ab3]@14 [eb2,bb2,f3,g3,bb3,db4]@11 ~@48]/3", // Dbm Gm Ab7 G Fm Bm Cm Dm7 …
  E: "[[gb2,db3,ab3,bb3,db4]@7 ~@18 [eb2,bb2,g3,bb3,d4]@11 ~ f3@11 ~@2 ab4@12 ~ g4@12 g3@4 ~@29 [bb3,db4]@12 ~ d4@21 ~ [c3,f3,ab3,bb3]@6 ~@13 [ab2,f3]@11 [bb2,g3]@26 ~@7 [bb3,d4,f4,bb4]@5 ~ [c4,g4]@5 [ab3,b3,d4,gb4,b4,d5]@7, gb3@2 ~@5 [f2,c3,g3,a3,c4,d4,f4]@8 [b2,e3]@11 ~@11 [a2,a3,c4]@12 [b3,e4]@14 ~@12 [d4,f4]@10 [f2,eb3]@23 [ab3,f4]@35 eb2@57 ~@24, ~@14 e2@12 ~@10 [d2,f4]@14 ~@12 [c2,g2,eb3]@21 bb3@3 b3@17 g4@7 ~@32 eb4@57 ~@25, ~@16 [ab3,b3,eb4]@10 ~@22 [g2,f3]@15 ~@18 a3@6 [a3,eb4]@23 ~@10 b3@23 ~@11 bb3@2 ab3@18 ~@37 [a3,eb4,c5]@6 ~@7, ~@17 g4@34 ~@11 [bb3,eb4]@13 ~@4 ab3@8 ~@11 c4@9 bb2@37 ~@5 [bb2,g3]@6 c3@19 ~@50]/7", // Gb Ebmaj7 Bbm Fm Db Eb Bb C5 …
  F: "[~ [g3,bb3,c4,eb4,f4,bb4,eb5]@18 ~@4 f5@5 ~@2 eb5@6 ~@2 d5@9 ~ [gb3,c4,eb4,gb4,a4,c5]@9 ~@6 d4@7 eb4@8 e4@15 [c4,eb4,g4,bb4] ~@10 [ab3,b3,d4] bb2@12 [bb2,eb3,f3,bb3,eb4]@2 ~@27 [bb3,d4,f4,bb4]@7 ~ [g4,c5]@6, ~@20 [c3,g3]@8 [bb2,f3]@9 [a3,c4,g4,b4]@11 ~@10 f4@14 ~@21 ab3@2 ~@9 g4@2 ~@54, ~@21 [c4,eb4]@8 [bb3,ab4,c5]@9 ~@9 d3@11 ~@12 [c3,e3,bb3,ab4,c5]@24 ~@23 g3 ~@35 [a3,c4,eb4,g5]@7, ~@22 [bb4,d5]@7 db4@2 ~@5 [a2,e3]@12 ~@9 [g2,f3,b3,db4,bb4]@14 ~@22 [f2,c3]@11 ~@13 eb2@29 ~@14]/5", // Cm7 Gbdim Cm7 Abdim Bbsus4 Bb C5 Bb5 …
  G: "[~ [f4,b4,d5]@10 ~ c5@30 ~ [d3,gb3,a3,b3,d4]@9 [bb2,eb3,f3,ab3,bb3,db4,eb4]@12, [ab3,d4,f5]@11 [g3,bb3,c4,eb4,f4,g4,bb4,eb5]@31 b2@10 ~@12]/2", // Bdim Bm7 Bbm7 Ddim Cm7
  H: "[~@2 [e3,c4,d4,e4,g4,b4,d5]@14 ~ [gb4,a4]@10 ~@7 d4@9 [c3,e3,bb3,eb4,g4]@19 [db2,ab2,eb3,f3,bb3,c4,eb4,f4]@19 [gb2,db3,ab3,bb3,eb4,ab4]@12 [f2,b2,eb3,ab3,db4]@19 bb4@11 ~ bb5@10 [bb5,bb6]@21 [bb3,c4,eb4,ab4,bb4]@10 [a3,c4,d4,g4,bb4]@10 ~@26 [eb4,bb4,eb5]@8 [b3,d4,b4,d5]@9 ~@8 ab2@5 ~@2 f5@12 ~ eb5@10, ~ a2@15 [d3,gb3,c4,eb4,c5]@11 [g2,f3,b3,db4,f4,bb4]@17 ~@68 [bb2,ab3,bb3,c4,eb4,f4]@44 ~@19 [ab3,b3]@15 db4 f4 g5@27 ~ f5@12 [b3,d4,f4,g4,b4]@15 ~@9, ~@123 bb4@32 ~@21 [db4,gb4,bb4]@15 g4@28 [db4,f4,g4,bb4,db5]@14 ~@23, ~@189 eb3@41 ~ eb3@25, ~@191 [c5,f5]@9 c4@9 ~@9 bb3@15 ~@12 [ab3,c4,eb4,ab4,c5]@11]/8", // Em7 Gbm C7 Dbmaj7 Ebm7 Fm7b5 Bb Ab …
  I: "[~@10 [f3,f4]@9 ~@2 [b4,eb5]@23 ~ [db4,f4,bb4]@11 ~@15 [c3,eb3,g3,bb3,c4,eb4]@35 ~@12 gb3@13 ~@14 [bb2,g3,bb3,eb4,g4]@15, ~@2 [a2,e3,g3,c4,e4,g4]@18 [gb3,b3,c4,eb4,gb4]@24 [g2,f3]@29 ~@43 b2@32 ~@12, ~@3 c5@16 d3@25 db3@12 [d3,d4]@17 ~@34 f3@13 ~@40, ~@45 b3@29 ~@32 [bb3,d4]@14 ~@11 [ab3,db4,f4]@17 ~@12, ~@61 g4@13 ~@43 [b3,eb4]@16 ~@27]/5", // F B Bbm Cm7 Eb Am7 B G7 …
  J: "[~@6 [a2,g3,db4,f4,a4,c5]@10 ~@14 [f3,g3,b3,eb4,g4]@13 ~ [bb3,d4,f4]@18 ~ eb4@19 [bb2,eb3]@18 bb2@2 a2@2 ab2@2 g2 ~ gb2@2 f2@10 ~ [b2,e3,gb3,ab3,b3,d4]@23 [bb2,eb3]@12 bb2@17 ~ bb2@28 [a3,c4,eb4,g4,c5]@8 ~ [gb4,b4]@8 [g3,bb3,c4,eb4,f4,bb4,eb5]@5, ~@16 ab2@13 g2@14 [c2,g2,eb3,g3]@20 ~@19 [f3,ab3,bb3,c4]@40 ~@22 [eb2,f3,g3,bb3,eb4]@58 ~@22, ~@17 [gb3,bb3,c4,e4,bb4]@15 ~@30 [f2,eb3,gb3,a3,b3,db4]@21 ~@37 e2@25 ~@65 [ab3,b3,d4,d5]@9 ~@5]/7", // F Ebaug Bb Eb5 E7 Eb5 Am7b5 B5 …
  K: "[~@5 [c3,g3,bb4]@13 [f2,c3,g4]@13 [bb2,f3,db4,f4]@14 [eb2,bb2,g3,eb4]@18 [ab2,eb3,gb3]@15 [db2,ab2,f3]@18, ~@5 eb4@26 ~@65, ~@6 ab3@9 ~@6 b3@11]/3", // C7 Fsus2 Bbm Eb Ab7 Db
  L: "[~ [gb2,db3,bb3]@23 [bb1,ab3]@28 eb1@9 ~@35 eb4@22 ~@3 eb6@64 ~@7, ~ db4@51 ~@9 eb2@35 g3@64 ~@32, ~@33 bb2@26 eb4@32 ~@5, ~@72 eb3@47 bb4@64 ~@9, ~@78 g3@7 bb3@35 [eb5,g5]@64 ~@8]/6", // Gb Bb7 Eb
})).s("gm_piano").gain(0.32)

stack(piano)

More by George Shearing