Strudelify

Young and Foolish

Oscar Peterson

KeyC majorTempo120 bpm
0:00/0:00
// Young and Foolish — Oscar Peterson
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 94 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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@5 B@8 C@3 D@7 E@2 F@8 G@5 H@2 I@2 J K@7 L@3 M N@3 O@2 P@8 Q R@4 S@5 T@6 U@2 V@3 W@5 ~
>`.pickRestart({
  A: "[~@44 a#4@5 ~@8 d#4@22 ~@13 a4@3 ~@6 [d3,a4]@7 ~@28 f4@5 d4@5 ~@8 f4@4 [a#3,d4,a4]@2, ~@8 d#2@40 ~ [a#2,g#3,c#4,f4,a#4]@31 ~@5 [g3,c4,d#4]@10 [f#3,c4,f4,a#4]@13 ~@38 [f3,d4]@14, ~@17 [g3,d4,f4,g4]@31 ~@31 a2@16 ~@14 [g2,a#3]@32 [g2,a#3,g4]@19, ~@17 a#4@27 ~@41 a4@7 ~@37 e4@12 ~@9 e4@8 ~@2, ~@40 c5@8 ~@41 g#4@6 ~@13 d4@33 ~@19]/5", // D5 A#maj7 A#m7 Cm F#maj7 Dm G7 Gm
  B: "[~@2 g4@4 ~@5 a4@4 ~@8 [d3,f4]@7 [e3,e4]@8 ~ [f3,d4]@16 d4@5 ~@9 f4@4 ~@12 a4@5 ~@9 f4@18 ~@5 g#4@4 ~@10 d5@5 g4@7 ~ [a#3,g4]@20 ~@11 c5@3 ~@12 c5@5 ~@36 a#4@4 ~@13 a#4@3, ~@7 [f#2,e3,a#3,e4,a#4]@8 f2@39 ~ g2@27 a#4@9 d5@26 ~@5 d5@7 d5@3 d#5@9 ~@32 c5@7 ~@50 [c#4,f4]@11 [d4,f#4,b4]@15, ~@15 c3@15 ~@30 f3@30 d3@26 ~@2 g2@23 [c3,d#4,d5]@27 ~ c3@15 [f2,a3,d#4,g#4,c#5]@17 ~@24 a#2@15 e2@16, ~@16 c4@39 [a#3,a4]@10 e4@8 a4@4 g4@13 ~@8 g#4@18 ~@10 [g#4,c#5]@15 ~@36 b4@7 ~@45 a#4@4 a4@7 ~@16, ~@16 g4@15 ~@29 d4@13 a#3@17 ~@32 [f3,b3,f4]@19 ~@32 [a#3,d#4,f#4]@11 ~@16 [g#3,c#4,f4]@29 g#3@11 ~@9 g#3@7]/8", // Dm E Dm D# F#7 C# Bm Cm …
  C: "[~ f#3@8 ~@10 [a#3,f#5,a#5]@23 d#4@4 ~@7 f4@4 ~@13 g#4@5 ~@16 a4@5, ~ [d#2,f#4,a#4]@41 ~@4 d4@11 c#4@9 f#4@9 a4@11 e4@10, ~@9 a#3@9 ~@28 a#3@29 e4@5 f#3@16, ~@5 [f#3,d#4]@16 d#3@17 d3@10, ~@50 d#4@7 f#4@4 f4@14 c4@21]/3", // D#m
  D: "[~@65 g5@12 ~@2 c5@14 ~@16 c4@5 [g2,f3,f4,a4]@22 ~@16 e4@6 ~ [a2,g3,c4,e4]@10 [g#2,f3,b3,d4,f4]@11 ~@16 g4@6 [c2,g3,a#3,d4,f4,g4]@22, ~@2 [f3,b3,d#4]@62 [c2,g2,e3,a4,b4,d5,e5]@15 ~@25 d5@11 ~@22 e4@11 e3@11 ~@21 a#3@11 ~ a#3@10 ~@22, ~@4 a#4@64 ~@9 a2@15 ~ [g#2,f#3,c5]@22 ~@21 c2@23 ~@65, ~@19 a#6@59 [e4,g4,a4]@15 [c4,f#4,a#4]@15 [f#4,a#4]@6 ~@23 [g3,b3,d4]@22 ~@21 [d4,f4]@22 ~@22, ~@142 g2@17 ~@22 [g2,f3,g3]@22 ~@21]/7", // Dm Am7 G#dim Gm7 Fm7b5 Cmaj7 G#7 A7 …
  E: "[~@17 a4@5 ~@15 d5@6 ~@16 g#3@5, f2@27 c4@5 a3@11 g#3@16 ~@5, a4 c4@5 c3@37 [a#2,d4,g4,d5]@21, ~ g3@42 ~@21, ~ e4@11 a3@5 c4@5 [e4,a4,c5,a5]@21 ~@11 e5@10]/2", // Gm Am
  F: "[~ [e3,a#3,e4,g4,a#4,d5]@11 [a2,e3,g3,a#3,c#4,e4]@10 ~@19 f5@4 a#3@12 ~@4 g5@6 ~ c4@10 ~@4 a5@6 a3@11 ~ a3@11 e3@11 ~@4 c5@6 ~@18 a4@5 a3@10 ~@4 c5@7 [g#3,d4,f4,c5]@10 ~ [g#2,e3,b3,e4]@10 ~@11 [c4,a4]@11 ~@17 d4@5 [e3,g3,a3,c4]@15, ~@22 f4@23 [d3,c#4,f4,a#4,c#5,f5]@23 [d3,a3,f4,g4]@21 ~@22 [c2,d4,e4,g4,b4]@21 a4@18 ~@36 [g#4,b4]@11 ~@59, ~@23 [d2,a3,c4,d4]@23 ~@21 [c5,d5,g5]@21 ~@44 [c4,c5]@22 ~ [d4,f4,b4]@21 ~@43 [g#2,f3,c4,e4]@22 ~@15, ~@34 f3@12 ~@11 a#3@11 ~@10 c4@10 [d#3,c4,a4,d#5,f#5,a5]@22 ~@12 e3@11 [e4,g4]@22 ~@10 a3@11 ~@21 [e3,e4,g4,c5]@23 ~@36, ~@144 a3@11 b2@32 ~@11 a2@22 ~@36]/8", // Em7b5 A7 Dm7b5 E F Am7 A# Dm …
  G: "[~@7 [f#2,d3,c4,e4]@20 ~@17 d5@7 ~@14 c5@7 ~ [f#3,c4]@21 ~@16 c5@5 ~@2 c4@10 [f5,a#5]@11 ~@16 [f4,a#4,d5]@6, ~@27 a2@45 [d3,f4,g#4,c5]@22 [d3,f#4,a4,d5]@22 g#2@44, ~@28 g3@34 g3@11 ~@32 a3@10 ~@2 f#3@43, ~@28 c4@2 [a4,c5]@22 ~@64 a#4@11 c4@12 [a#5,d6]@21, ~@29 [e4,g4]@12 c4@10 [c4,e4,g4,b4,d5]@22 ~@43 d5 f4@10 d5@12 f4@11 c4@10]/5", // F#m7b5 F#dim A#5 A# Dm7b5 D Am A# …
  H: "[~ [a4,e5]@7 ~@7 [f4,a4,e5]@6 ~ f3@11 ~@3 [a#3,d#4,g4,a#4]@7 ~@11 g3@10, ~ d3@21 g2@21 [c2,e4]@21, ~ f4@11 c4@9 ~ [g4,a#4]@14 ~@28, ~ c4@7 [a4,c5,e5]@7 ~@6 d#5@22 ~@21, ~@8 g5@14 ~@11 f3@10 ~ [e3,b3,d4,g4]@20]/2", // A5 Fmaj7 D# C Gm Am Em7
  I: "[~@19 c5@4 ~@22 f3@11 f3@8, ~ [c4,g4,d5,e5,g5]@22 ~ [c4,f#4]@21 [f4,a4]@19, ~ c5@17 ~@16 d5@30, ~ g3@11 g3@11 [g#2,a#4,c5]@22 ~@19, ~ a2@11 ~@20]/2", // C Cdim F G#
  J: "~@3 [d4,e4]@21 [a2,e3,g3,c4,e4]@8, ~ c2@23 ~@8, ~ [g3,b3]@11 ~@4, ~ e3@6 ~@9", // Dsus2 Am7 G
  K: "[~@3 [g#2,f3,b3,d4,f4]@11 ~@15 g4@7 [a#3,d4]@10 ~ [c3,a#3]@10 ~@38 [f3,d5]@6 ~@17 g#3@5 ~ [a#3,e4,g4,a#4]@10 [g3,c#4,e4,g4,a#4,c#5]@11 ~@17 f4@6 ~@15 g4@6 ~@15 a4@6 [d#2,d#4,f#4,a4]@14, ~@14 [g2,g3,a#3,d4,f4]@23 ~@9 c#4@11 ~ e4@15 a4 c4@5 [e4,c5,a5]@5 c4@6 a3@11 [d4,g4,d5]@23 ~@21 f4@16 ~@7 [d#3,g#3,c#4,f4]@22 ~@34, ~@25 f3@11 [c2,g3,g4]@21 ~ f2@44 ~@21 [e3,d5]@11 ~@11 [d3,a4,c5,d5,f5]@24 ~@20 [d2,a3,c4,e4,g4]@21 ~@14, ~@58 [c4,a4]@10 a3@12 a4@22 ~@10 e5@33 ~@79, ~@58 a3@5 c3@39 a#2@22 ~@33 a3@12 ~@55]/7", // G#dim A# C7 Dm Edim Gdim D#dim Gm7 …
  L: "[~@24 c5@6 ~@15 b4@6 ~@12 [a3,c5]@10 ~ d4@11 [g#2,e3,b3,e4,g#4,b4]@11, ~@7 [e3,b3,d4,e4,g4,b4]@23 [f2,c3,c4,e4,g4,a4,c5]@21 b4@22 ~@23, ~@18 g3@11 ~@12 a3@10 e3@33 ~@12, ~@51 a3@12 ~@10 [g#3,f4,c5]@12 ~@11, ~@52 [d4,f#4]@21 ~@23]/3", // Am E Em7 Fmaj7 Fm D
  M: "~@15 d5@7 [g#3,e4,g#4,b4]@10, [a2,e3,e4,g4,a4,c5]@11 ~@5, ~@11 c4@11 ~@10", // E Am7
  N: "[~ [g3,e4]@10 ~@12 c4@11 ~@11 g#3@10 g4@11 ~@6 e4@5 ~ f4@10 f4@8, [a4,c5]@11 e5@44 [e4,c5]@16 c5@6 a4@19, ~@11 a4@23 [f3,c4,f4,g#4,c5]@22 ~@10 [g3,g4,e5]@12 ~@18, ~@12 [f#2,e4]@23 ~@20 c3@23 [a2,g3,c#4]@18]/3", // C Am C Fm C F#7 A7
  O: "[~@39 b4@7 ~@11 [g#3,g#4]@7, ~@3 [g2,f3]@43 [g#2,d#3,a#3,c4,d#4,c5]@18, ~@3 [a3,c4]@22 [a3,c4,f4,a4,d5]@21 ~@18, ~@7 g3@16 ~@9, ~@16 c5@7 ~@9]/2", // G# G7 G# Am Dm7
  P: "[~@20 c4@6 ~@37 g4@6 ~@17 d#3@2 ~@8 c5@5 ~@6 [d#4,g5]@5 ~@12 [c4,d4]@11 ~@18 d5@3 ~ [g4,b4,e5]@11 [b3,g4,b4,d5,g5]@11 ~@18 a#5@4 c4@11 ~ c4@9 ~@12 f3@10 ~ [e3,g3,b3,d4]@11, ~@4 [a3,c#4,f4]@22 [g#3,c#4]@21 ~ [g#3,c#4,f4,a#4]@22 ~@5 d#3@10 g#4@5 ~@11 [g#3,d#5]@11 ~ a4@10 [f4,a4]@12 ~@121, ~@4 d#3@11 ~ d#3@10 a#2@43 ~ [g#2,a#3,c4]@21 [f2,a#3,g4,a#4]@22 ~@5 a3@17 ~@11 b3@10 ~@34 c4@11 [f#3,a#3,f4,c5,f#5,a#5,c6]@21 [b3,d5,a5,d6]@22 ~@12, ~@5 f2@21 ~@11 c5@33 g#4@11 d#4@10 d#4@11 c5@10 [c5,f5]@23 ~@15 c5@6 ~@67 f5@22 ~@11, ~@80 g#3@10 ~@6 d#3@16 ~ d3@22 [g2,f3,e4,g#4,b4]@21 ~ [c2,e3]@22 [a2,g3,e4,g4]@22 ~@21 f3@12 ~@10 c2@12]/8", // D# Csus2 Em G Em7 Aaug C#5 A#m7 …
  Q: "~@6 d4@3 ~ [a2,e3,g3,c4,e4]@11 [g#2,f3,b3,d4,f4]@11, e3@5 ~@11, ~@3 c4@7 ~@22", // Am7 G#dim
  R: "[~@11 g4@10 ~@12 c3@10 ~@16 a4@6 ~@16 f3@5 ~@16 a3@6 ~@16 [e4,g4,a#4,c#5,e5]@4, [g2,f3,g3,a#3,d4,f4]@22 [c2,f3,a#3,d4,g4]@21 f2@22 e5@5 c4@5 [a3,e5]@5 d#5@6 ~@11 e5@27 ~@4, ~@44 g3@42 ~@5 a3@11 ~@6 g3@20, ~@44 e4@10 a3@5 c4@6 [e4,a4,c5,a5]@21 d4@11 d4@11 [e4,g4,a#4,c#5]@16 ~@4, ~@44 [c4,a4]@5 c3@37 [b2,f#4,a4,d5]@22 ~@5 c#4@15]/4", // Edim Gm7 A5 Am Edim F Bm7
  S: "[~@20 f5@3 ~@17 g5@6 a3@11 ~@5 a5@5 ~@12 a3@5 [a3,a4]@5 ~@17 c5@6 a3@11 ~@4 a4@7 ~@10 c5@10 ~ [g#3,e4,g#4]@5, ~ d2@17 a3@5 [d3,c#4]@23 [d3,c4,g4,c5,d5,g5]@22 ~@5 c3@16 [c2,b4]@23 [f2,d#3,c4,d#4,g4,c5]@22 ~@26, ~@2 [c5,d5]@21 a#3@11 ~ a#3@12 ~@10 a3@11 a4@11 [f#3,c4,d#4]@12 ~@10 e3@12 ~@21 b2@26, ~@2 f5@10 [f3,f4,a4]@12 [f4,a#4,c#5,f5]@23 ~@21 [c5,d#5,f#5,a5]@23 ~@63 c5@6, ~@2 [f4,a4]@5 a2@18 ~@42 d#2@23 [b3,d4,e4,g4]@23 ~@10 a3@11 [a3,d4,f4,b4]@21 ~@5]/5", // A C#m Dmaj7 Csus2 Cmaj7 Cm Csus2 Cdim …
  T: "[~@6 [g#2,e3,b3,e4,g#4,b4]@11 c4@11 ~@4 d5@7 ~ e4@10 [g3,e4,a4,c5]@11 ~@37 [d4,f4,g#4]@6 ~ g3@12 ~@21 e4@4 e4@6 ~@16 a3@6 ~@16 b4@6, ~@17 [a2,e3,e4,g4,c5]@22 [g#3,g#4,b4]@11 ~@11 [f#2,e5]@22 [f2,g#3]@21 ~ g2@43 ~@22 [g2,c4,f4,a4,c5]@22, ~@28 c4@12 ~@21 [e4,a4]@11 [c4,e4,a4]@11 [d4,f4]@15 ~@6 g4@18 e4@16 g4@10 f4@11 [c4,f4,a4,d5]@11 ~@22, ~@66 a3@16 g#4@11 c4@11 ~ c4@22 g4@5 [c4,c5]@16 ~@5 a3@11 ~@28, ~@77 c5@27 ~ e4@12 g3@10 [g3,e5]@21 d3@22 ~@11 f3@11]/6", // E Am7 Ddim Am7 G#m F#7 Fm F …
  U: "[d#3@10 ~ d#3@11 d#3@11 ~@4 c4@5 ~@12 a#4@10, [g#2,a#3,c4,d#4,c5]@23 ~@10 d#3@10 [a#2,g#3,c#4]@21, ~@10 g#4@12 [f2,a3,c#4,f4]@21 ~@21]/2", // G# A#m7 Faug
  V: "[~ d#3@11 ~@5 g4@6 ~@18 d#3@6 ~@17 [c4,f5]@6 ~@19 [a3,c5]@7, ~ [d#2,c#4,f4,g#4]@22 [g#2,c4,g#4]@24 [f2,d4,a#4,d5]@23 c5@13 [c4,f4,a4]@13, ~@12 d#3@11 ~@7 d#3@10 c5@6 ~@12 [g#3,d#5]@13 [d3,g5]@25, ~@35 [g#3,d#4,a#4]@12 ~@5 d#3@18 e5@26, ~@71 a4@5 a3@12 ~@8]/3", // F5 Am C# G# A# F G#5 G5 …
  W: "[~@7 f3@8 ~@59 g5@10 ~@3 g6@64 ~@9, g2@35 c2@23 d4@64 ~@38, [b4,e5]@15 b3@22 ~@3 b4@14 b3@31 [g5,b5]@64 ~@11, ~ [e4,g#4]@15 [d#4,g4]@22 ~ d4@9 g3@22 d5@14 a4@64 ~@12, ~@12 f3@7 e3@12 g4@2 b4@32 ~@15]/5", // E5 G E D#
})).s("gm_piano").gain(0.32)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  ~@3 A@2 B@2 ~ C ~@2 D ~ E@2 ~ F@3 G@2 ~ H ~@2 I ~ J@2 K ~ L@3 ~ M@3 N@2 O@2 P ~@3 Q ~ R@4 ~ S T ~@6 U ~ V@4 ~@11 W@2
  ~@5 X ~@2 Y@6
>`.pickRestart({
  A: "[~@13 f3@33 ~@18]/2", B: "[~@15 c5@39 ~@10]/2", C: "~ [g#3,c4]@9 ~@6", D: "~@9 a#2@23",
  E: "[~ c#4@17 ~ [c#4,d#6]@23 ~@22, ~@18 c#5@23 ~@23]/2", // C#sus2
  F: "[~@19 a#5@59 [g3,c4]@15 ~@3, ~ c#2@64 ~@31, ~@3 g4@64 ~@29]/3", G: "[~@9 c4@11 ~@12]/2", H: "~@5 c3@11",
  I: "~@23 f3@9", J: "[~@12 c5@11 ~@9]/2", K: "~@5 [f2,c3]@22 ~@5, ~@5 a3@10 ~@17",
  L: "[~@5 c4@11 ~@11 g#3@22 g2@22 a3@22 ~@3]/3",
  M: "[~@30 e4@22 ~@11 d6@11 ~ f5@21, ~@29 f#2@22 ~@45, ~@30 a3@11 ~@55]/3",
  N: "[c5@8 ~@7 c5@6 ~ d#4@14 ~@8 g3@10 ~@10]/2", O: "[~@24 f#3@21 [g2,c4]@19]/2", P: "~@7 e3@5 ~@4",
  Q: "~@5 g#3@16 ~@11", R: "[~@30 f3@20 f#3@11 f#3@10 c2@22 ~ a3@11 ~@23, ~@50 [a3,c4]@21 ~@57]/4", S: "c4@11 ~@21",
  T: "~@11 [a3,c5]@21", U: "~@12 d#3 ~@3",
  V: "[~@7 b3@11 ~@22 e5@10 ~ [d4,a4,c5]@22 ~@22 g2@22 ~@11, ~@29 e4@21 ~@78]/4", W: "[~@29 c5@16 ~@19]/2",
  X: "~ g#3@22 ~@9",
  Y: "[~@15 g#3@22 ~@3 g4@22 ~@46 c1@64 ~@20, ~@37 g2@48 d5@64 ~@43, ~@38 a3@49 d6@64 ~@41, ~@39 e4@49 e6@64 ~@40, ~@83 g4@64 ~@45]/6",
})).s("gm_piano").gain(0.24)

stack(piano, piano_soft)

More by Oscar Peterson