Strudelify

Young and Foolish

Evans Bill

KeyC majorTempo88 bpm
0:00/0:00
// Young and Foolish — Evans Bill
// 88 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 70 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(88/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@6 C D E F G H I J@2 K L@3 M N O P Q R S T U V@2 W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS
  AT AU AV@6 ~
>`.pickRestart({
  A: "[~@56 a#4@5 ~@9 d#4@25 ~@14 a4@3 ~@7 [d3,a4]@8 ~@30 f4@6 d4@5 ~@9 f4@4 ~@5 g4@5 ~@5 a4@5 ~@9 d3@7 [e3,e4]@9 [f3,d4]@18 ~@16 f4@4 ~@14 a4@5 ~@9 [f4,g#4]@20 ~@6 g#4@4 ~@11 d5@5 ~ g4@8 [a#3,g4]@22 ~@13 c5@2, ~@17 d#2@44 [a#2,g#3,c#4,f4,a#4]@34 a2@18 ~@14 [g2,a#3,d4]@36 g2@28 ~ f#2@9 [f2,c4]@43 ~ g2@39 ~@29 g2@26 [c3,d#4,d5]@30 ~ c3@14, ~@26 a#4@30 ~@50 g#4@7 ~@56 f3@22 [e3,a#3,e4,a#4]@10 [c3,g4]@16 ~@33 f3@24 a#4@10 ~@34 d5@7 d5@4 d#5@10 ~@45, ~@27 [g3,d4,f4,g4]@34 ~@40 [g3,c4,d#4,a4]@11 ~ [f#3,c4,a#4]@15 ~@35 [a#3,g4]@19 [a#3,d4,a4]@9 ~@53 [a#3,a4]@11 e4@9 a4@5 g4@15 ~@38 [g#4,c#5]@17 ~@40 b4@5, ~@52 c5@9 ~@51 f4@15 ~@23 e4@13 ~@5 d4@5 e4@9 ~@27 f4@8 ~@27 d4@6 d4@14 a#3@19 [d3,d5]@29 ~@6 [f3,b3,f4]@21 ~@35 [a#3,d#4,f#4,c5]@10]/8", // D5 E Dm Fm D# A#m7 Gm F5 …
  B: "[~@14 c5@6 ~@40 a#4@4 ~@13 a#4@4 ~@2 f#3@9 a#3@10 [a#3,f#5,a#5]@25 ~ d#4@4 ~@8 f4@4 ~@14 g#4@6 ~@18 a4@7 ~@69 [e5,g5]@14 ~ [e4,g4,a4,c5]@15, ~@2 g#4@18 [g#3,c#4,f4]@32 [g#3,c#4,f4]@12 ~@9 g#3@9 ~@10 [f#3,d#4]@35 d#3@27 f#4@10 a4@18 ~@7 [f3,b3,d#4]@83 a2@16, ~@3 [f2,a3,d#4,c#5]@18 ~@27 a#2@16 [e2,d4,f#4,b4]@18 ~ [d#2,f#4,a#4]@45 ~@8 d#4@8 c#4@20 [d3,c4]@26 ~@67 [c2,g2,e3,a4,b4,d5]@17 ~@14, ~@52 a#4@8 ~@72 d4@12 f#4@5 f4@15 e4@12 e4@14 ~@2 a#4@82 ~@14, ~@56 a4@8 ~@68 a#3@33 ~@5 f#3@20 ~@18 a#6@65 ~@15]/6", // D#m Em Am7 C# D#m Fm7b5 Faug Bm …
  C: "~@18 [c4,f#4,a#4]@6 ~ [g2,f3]@23, ~ [g#2,f#3,c5]@24 ~@23, ~ [c4,f#4,a#4]@17 ~@6 [f4,a4]@24, ~@13 d5@12 ~@23", // Cm7b5 G7 G#7 Cm7b5 F
  D: "~@19 e4@6 [a2,g3,c4,e4]@12 [g#2,f3,b3,d4,f4]@11, ~ c2@25 ~@22, ~ [g3,b3,d4]@12 ~@11, ~@2 e4@11 e3@12 ~@23, ~@7 g2@19 ~@22", // Am7 G#dim G
  E: "~@18 g4@7 [c2,g3,a#3,d4,f4,g4]@23, ~ [g2,g3,d4,f4]@24 ~@23, ~ a#3@12 a#3@12 ~@23, ~ f3@12 ~@11", // Gm7 G7
  F: "~@10 a4@3 ~@8 d5@3, ~@2 [f2,g3]@35 a3@11, ~ e4@9 c4@3 [e4,a4,c5,a5]@11, ~@2 [c4,a4]@12 a3@17 c4@17, ~ c3@5", // Fsus2 Am F
  G: "~@19 g#3@6 [e3,a#3,e4,g4,a#4,d5]@11 ~ [a2,e3,g3]@11, d5 ~, g#3@3 ~@3 [a#3,c#4,e4]@2, ~ [a#2,d4,g4]@24 ~@23, ~@13 e5@24 ~@11", // Em7b5 A7 A#dim Gm
  H: "~@20 f5@5 ~@18 g5@5, f4@25 [d3,c#4,f5]@23, ~ [d2,a3,c4,d4]@24 a#3@13 a#3@10, ~@13 f3@13 [f4,a#4,c#5]@22", // Dm D7 A#m
  I: "~@2 c4@11 ~@4 a5@7 ~ a3@12 a3@11, ~@2 [d3,a3,f4,g4,c5,d5,g5]@23 [d#3,c4,a4,d#5,f#5,a5]@23, ~@13 c4@11 ~@24", // Dm7 D#dim
  J: "[~@2 e3@12 ~@4 c5@7 ~@20 a4@5 a3@11 ~@4 c5@8 ~ d4@11 [g#2,e3,b3,e4,g#4,b4]@11, ~ [c2,b4]@24 [c4,c5]@25 [d4,f4,b4]@23 ~@23, ~@2 [d4,e4,g4]@23 a4@19 ~@52, ~@14 e3@12 [e4,g4]@24 ~@11 a3@12 [g#3,f4,c5]@12 ~@11, ~@38 a3@12 b2@35 ~@11]/2", // E Cmaj7 C Bdim Em7 Em Fm
  K: "~@13 [c4,a4]@12 ~@18 d4@5, c5@25 [g#2,f3,c4,e4]@23, ~ [a2,e3,e4,g4]@25 ~@22", // F Fm A7
  L: "[~ [e3,g3,a3,c4]@24 [f#2,d3,c4,e4]@22 ~@18 d5@8 ~@16 c5@7 ~ [d3,f#3,c4,f4,g#4,c5]@24 ~@17 c5@6, ~@47 a2@50 ~@24 [d3,f#4,a4,d5]@23, ~@48 g3@37 g3@12 ~@36 a3@11, ~@48 c4@2 [a4,c5]@12 c4@11 [c4,g4,b4,d5]@24 ~@47, ~@49 [e4,g4]@25 e4@23 ~@47]/3", // Am7 F#m7b5 Dm7b5 D Am G Em
  M: "~@2 c4@11 [f5,a#5]@13 ~@16 [f4,a#4,d5]@6, ~ g#2@47, ~ a#4@12 c4@13 [a#5,d6]@22, ~ d5 f4@11 d5@13 f4@12 c4@10, ~ f#3@23", // A#5 A#
  N: "~@2 [a4,e5]@8 ~@8 [f4,a4,e5]@7 ~@16 [a#3,d#4,g4,a#4]@7, ~@2 d3@23 f3@12 f3@11, ~@2 [c4,f4]@13 c4@10 ~ g2@22, ~@10 g5@15 d#5@23, ~@10 [a4,c5,e5]@8 ~@7 [g4,a#4]@16 ~@7", // A5 Fmaj7 D# F5 Am Gm
  O: "~@13 g3@12 g3@12 ~@7 c5@4, ~ [c2,e3,b3,d4,e4,g4]@24 [a2,c4,g4,d5,e5,g5]@23, ~@25 c5@19 ~@4, ~@37 g3@11", // Cmaj7 Am7
  P: "~@25 f3@12 f3@11, ~ [g#2,a#4,c5]@24 ~@23, ~@2 [c4,f#4]@23 [f4,a4]@23, ~@13 d5@35", // G# Cdim F
  Q: "~ [b3,d4,e4]@23 ~ a2@11 ~ [g#2,f3,d4]@11, [c2,g3]@25 ~@23, ~ e3@13 ~@10 [e3,g3,c4,e4]@12 [b3,f4]@12", // E7 Ddim C5 C Bdim
  R: "~@17 g4@7 ~ [a#3,d4]@11 ~ [c3,a#3]@11, [a#3,f4]@25 ~@11 c#4@12, ~ [g2,g3,d4]@25 ~@22, ~@13 f3@12 [c2,g3,g4]@23", // A# C7 A#5 G5 C5
  S: "~@18 a4@7 ~@17 [f3,d5]@6, ~ f2@36 a3@11, ~ e4@17 c4@7 [e4,a4,c5,a5]@23, ~ [c4,a4]@11 a3@18 c4@18, ~ a3@6 c3@41", // Dm Am F
  T: "~@19 g#3@6 [e3,a#3,e4,g4,a#4,d5]@11 ~ [g3,c#4,e4,g4,a#4]@11, ~ [a#2,d4,g4,d5]@25 ~@10 c#5@12, ~@13 e5@35", // Em7b5 Gdim Gm
  U: "~@19 f4@7 ~@17 g4@5, ~ [d3,a4,c5,d5,f5]@26 ~@21, ~ f4@18 ~@29, ~@13 a3@13 [d#3,g#3,c#4,f4]@22", // Dm7 C#
  V: "[~@18 a4@6 ~ d#2@22 ~@19 c5@6 ~@18 b4@6, ~ g4@23 [d#4,f#4,a4]@23 [b3,g4,b4]@25 c5@24, ~@2 [d2,a3,c4,e4]@23 ~@23 [e3,d4,e4]@24 ~ [f2,c3,c4,e4,g4,a4]@23, ~@5 g3 ~ a3]/2", // D#dim Em Am E7 Fmaj7
  W: "a3@13 [a3,c5]@11 ~ d4@12 [g#2,e3,b3,e4,g#4,b4]@11, e3@37 ~@11, [d4,f#4,b4]@24 [g#3,f4,c5]@13 ~@11", // Am E Bm Fm
  X: "~@18 d5@7 [g#3,e4,g#4,b4]@12 [g3,e4,a4,c5]@11, ~ [a2,e3,e4,g4,a4,c5]@25 ~@22, ~@13 c4@12 ~@23", // E Am7
  Y: "~@14 c4@11 ~@13 g#3@10, ~ e5@47, ~ [f#2,e4,a4]@24 [f3,c4,c5]@23, ~@13 [f4,g#4]@11", // F#m7 F5 Fm
  Z: "~ g4@12 ~@6 [e4,c5]@7 f4@11 f4@11, ~ c3@25 [a2,g3,c#4,a4]@22, ~ [e4,c5]@18 ~@29, ~@13 e5@13 ~@22, ~@7 [g3,g4]@6 ~@11", // C A7 C G
  AA: "~@7 b4, ~ g2@25 [a3,c4,f4]@7 c5@15, ~ f3@23, ~@2 [a3,c4]@23 [a4,d5]@23, ~@13 g3@35", // F Am D5
  AB: "~@13 [g#3,g#4]@12 ~@17 c4@6, c5@25 [a3,c#4,f4]@23, ~ [g#2,d#3,a#3,c4,d#4]@24 d#3@12 ~ d#3@10, ~@13 f2@11", // G# Aaug G#
  AC: "~@7 g4, ~ a#2@47, ~ [g#3,c#4]@23 ~ [g#3,c#4,f4,a#4]@23, ~@13 c5@35", // C#5 A#m7
  AD: "~@19 d#3@3 ~@8 c5@6 ~@6 [d#4,g5]@6, ~ [g#2,a#3,c4]@23 [f2,a#3,g4,a#4]@24, ~ g#4@17 g#4@6 d#4@17 ~@7, ~@7 d#3@12 ~@11 d#3@18, ~@13 [g#3,d#4]@11 ~@12 [g#3,c5,d#5]@12", // D# G# Gm7 G#5 G#
  AE: "~@12 [c4,d4,f4,a4]@13 ~@20 d5@3, [d3,c5,f5]@25 [g2,f3,e4,g#4,b4]@23, a4@12 ~@29 c5@7, ~@6 a3@19 ~@12 b3@11", // Dm7 E
  AF: "~ [g4,b4,e5]@12 ~ g4@11 ~@13 c4@7 a#5@3, ~ [c2,e3]@24 [a2,g4]@23, ~@13 [b3,b4,d5,g5]@12 ~ [g3,e4]@22", // Em C A7 G C
  AG: "~@2 c4@12 c4@10 ~ f3@13 f3@10, ~@2 [f#3,a#3,f4,c5,f#5,a#5,c6]@23 [b3,d5,f5,a5,d6]@23", // F#maj7 Bm7b5
  AH: "~@2 e3@12 ~@7 d4@4 ~ a2@11 [g#2,f3,b3,d4,f4]@11, ~ c2@23 ~@24, ~@2 [g3,b3]@23 ~@23, ~@2 d4@15 c4@7 ~@24, ~@14 e3@11 [e3,g3,c4,e4]@12 ~@11", // G#dim G C
  AI: "~@13 g4@11 ~@14 c3@10, ~ [g2,g3,a#3,d4,f4]@24 [c2,f3,a#3,d4,g4]@23, ~@2 f3@23 ~@23", // Gm7
  AJ: "~@19 a4@6 ~@17 [f3,d#5]@6, f2@25 e5@6 c4@5 [a3,e5]@12, ~ e4@12 a3@5 c4@7 [e4,a4,c5,a5]@23, ~ [c4,a4]@6 c3@41, ~ g3@23", // F7 A5 Am F
  AK: "~@3 a3 ~@3 [e4,g4,a#4,c#5,e5], [b2,f#4,a4,d5]@25 ~@5 c#4@18, d4@2 e5@5 ~, ~ a3@2 ~ g3@4, ~@2 d4@2 [e4,g4,a#4,c#5]@3 ~", // Edim Bm7 Edim
  AL: "~@7 f5 ~@6 g5@2, [d2,c5,d5]@3 a3 [d3,c#4,a#4,c#5,f5]@4, f5 [f4,a4] a#3!2, [f4,a4]@11 f3@14 f4@23, ~@5 a2@20 ~@23", // D7 A# F
  AM: "~@18 a5@6 ~@13 a3@5 ~ a3@5, [d3,c5,d5,g5]@4 d#2@3 a4, a3@12 ~ a3@12 a4@12 [f#3,c4,d#4]@11, ~ [c4,g4]@24 [c5,d#5,f#5,a5]@23, ~@5 c3@3", // Csus2 Cdim C5 Cdim
  AN: "~@18 c5@7 ~ a3@11 ~@5 a4@6, [c2,b4]@25 [d#3,c5]@23, ~ [b3,d4,e4,g4]@25 ~@11 a3@11, ~@13 e3@13 [f2,c4,d#4,g4]@22", // Cmaj7 Cm Em7 Cm
  AO: "~@13 c5@11 [g#3,e4,g#4,c5]@12 ~ [g#2,e3,b3,e4,g#4]@11, ~ b2@35 ~@12, ~ [a3,d4,f4,b4]@23 ~@12 b4@12", // G#aug E Bm7b5
  AP: "~ c4@12 ~@5 d5@7 ~ e4@11 [g3,e4,a4,c5]@11, ~ [a2,e3,e4,g4,c5]@24 [g#3,g#4,b4]@12 ~@11, ~@13 c4@13 ~@22", // Am7 G#m
  AQ: "~@7 [d4,f4,g#4], ~ [f#2,e5]@24 [f2,g#3]@23, ~ [e4,a4]@12 [c4,e4,a4]@12 [d4,f4,g#4]@17 ~@6, ~@7 a3@18 ~@12 c4@11, ~@19 c5@29", // Ddim F#7 Fm A5 Am Ddim
  AR: "~ g3@13 ~@23 e4@5 ~ e4@5, ~ g2@36 g4@11, ~ c4@25 g4@5 c5@17, ~ g4@25 [g3,e5]@22, ~ e4@13 g3@6 e4@12 c4@16", // C
  AS: "~@19 a3@6 ~@18 b4@5, ~ d3@25 ~@11 f3@11, ~ f4@12 [c4,f4,a4,d5]@12 ~@23, ~@7 a3@12 ~@6 [g2,c4,f4,a4,c5]@23", // Dm7 F
  AT: "~@13 [d#3,g#4]@12 d#3@12 ~@5 c4@6, ~ [g#2,a#3,d#4,c5]@25 ~@11 d#3@11, ~ d#3@12 ~@12 [f2,a3,c#4,f4]@23, ~ c4@12 ~@11", // G#5 G# Faug
  AU: "~@12 a#4@12 ~ d#3@12 ~@5 g4@6, [a#2,c#4] g#4, ~ g#3@24 [d#2,c#4,f4]@23, ~@37 d#3@11", // A#m C#
  AV: "[~@20 [d#3,c5]@7 ~@19 [c4,f5]@7 ~@20 [a3,c5]@8 ~@8 f3@9 ~@10 f3@12 ~@43 g5@10 ~@4 g6@96 ~@15, ~ [g#2,c4,g#4]@26 [f2,a#4,d5]@13 g#3@13 ~@7 a3@7 [c4,f4]@15 [e4,g#4,b4,e5]@18 ~@20 c2@25 d4@30 b5@96 ~@17, ~@8 d#3@12 ~@13 d#3@20 [d3,e5,g5]@29 ~@16 [b3,d#4]@24 e3@27 g4@5 b4@96 ~@38, ~@14 [g#3,d#4,a#4]@13 ~ d4@25 a4@13 a4@15 g2@40 ~@5 b4@15 b3@33 g5@96 ~@18, ~@39 d#5@14 c5@20 ~@26 g4@24 ~ d4@10 g3@24 d5@15 a4@96 ~@19]/6", // Cm F5 Am G# A# F5 E Em7 …
})).s("gm_piano").gain(0.32)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  ~@2 A@2 B@2 C ~ D E@2 F@3 G ~ H ~@2 I J K ~ L M ~ N O P Q R S ~@2 T ~ U V ~ W X ~@4 Y Z AA AB ~@9 AC ~@3 AD ~@2 AE@4 ~
>`.pickRestart({
  A: "[~@31 f3@36 ~@29]/2", B: "[~@9 c5@43 ~@44]/2", C: "~ [g#3,c4]@5 ~@6", D: "~@7 a#2@9",
  E: "[~@35 c#4@19 [c#4,c#5,d#6]@26 ~@16]/2", F: "[~@64 a#5@64 ~ g3@15, ~@11 c#2@21 c4@4, ~@46 g4@83 ~@15]/3",
  G: "~ c4", H: "~@25 c3@23", I: "~ f3@12 ~@35", J: "~@25 c5@23", K: "~@13 [f2,c3]@11, ~@26 a3@11 ~@11",
  L: "~ c4@12 ~@12 g#3@23", M: "~ g2@24 a3@23", N: "~@25 e4@23, ~ f#2, ~@24 a3@13 ~@11", O: "~@13 d6@12 ~ f5@22",
  P: "~@2 c5@8 ~@8 c5@7 ~ d#4@15 ~@7", Q: "~@2 g3@11 ~@35", R: "~@2 f#3@23 [g2,c4]@23", S: "~@7 e3@5 ~@12",
  T: "~ g#3@18 ~@29", U: "~@2 f3@22 ~ f#3@12 f#3@10 ~, ~@24 c4@23 ~, ~@25 a3@22 ~", V: "c2@24 ~ a3@11 ~@12",
  W: "~ c4@12 ~@35", X: "~ [a3,c5]@25 ~@22", Y: "~@11 d#3 ~@12", Z: "~@24 b3@13 ~@11",
  AA: "~@14 e5@11 ~ d4@22, ~@2 e4@23 [a4,c5]@23", AB: "~@25 g2@23", AC: "~ c5@18 ~@29", AD: "~@25 g#3@23",
  AE: "[~ g#3@24 ~@4 g4@24 ~@51 c1@88, ~@25 g2@54 d5@96 ~@17, ~@9 a3@18 d6@32 ~@5, ~@14 e4@27 e6@48 ~@7, ~@19 g4@24 ~@5]/4",
})).s("gm_piano").gain(0.24)

stack(piano, piano_soft)

More by Evans Bill