0:00/0:00
// Felicity Rag — Scott Joplin
// 100 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 86 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. 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 C@4 D E@2 F@2 G H@2 I J@2 K L M@2 N O@3 P@2 Q R@3 S@5 T U V W@4 X@2 Y Z@5 AA@3 AB@2 AC AD@2 AE@5 AF@6 AG@4 AH@3
AI@5 AJ@4
>`.pickRestart({
A: "~@10 [g2,g3]@10 [f#2,f#3]@3 [g2,g3]@2 [g#2,g#3]@3 [a2,a3] ~@3", // G F# G G# A
B: "~@3 [a2,a3]@9 [g#2,g#3]@3 [a2,a3]@3 [a#2,a#3]@3 [b2,b3]@2 ~@5 d3@4, ~@27 d4@5", // A G# A A# B
C: "[~@2 [c#3,c#4]@2 ~ d3@2 [d#3,d#4]@3 [e3,e4]@3 [f3,f4]@3 [f#3,f#4]@3 [g3,g4]@7 ~@6 [g1,g2]@6 ~@6 c5@3 [f#4,c5,d#5]@2 ~ [c4,e4,g4,c5] g3 ~@2 [a4,a5]@3 e2 ~@2 [g4,g5]@3 [g3,c4,e4] ~@2 c5@3 ~ d2 ~@4 d4@3 ~@3 [c2,c3] ~@2 c5@3 [g3,c4,e4] ~@2 a#4@3 [f3,a4]@2 ~ g#4@3 [a3,c4,a4] ~ c5@3 a3 a2 ~ d5@3 [g#2,f4,c5]@2 ~ [d3,a4]@3 [g2,g3]@3 ~@3 [g3,c4,e4] ~@2 [e4,g4]@3, ~@4 d4@3 ~@24 [g4,b4,d5,g5]@8 ~@5 [c3,g4,e5]@5 ~ e5@4 c5@9 e5@6 d5@9 c5@4 ~@5 b4@2 ~@4 [f2,c3] ~@10 f4@3 ~@3 g#3 ~@5 e4@6 a4@3 ~@3, ~@44 c2 ~@24 f4@6 e5@4 e4@8 ~@6 f4@11 e5@6 ~@6 c5@12]/4", // C# D# E F F# G Cdim C …
D: "c3@4 g5@2 e4 g3 ~ c5@3 [f2,c3] ~@2 g#4@3 a4@2 c5@2 ~ [a2,a3,f4,e5]@3 d5@3 [g#2,g#3,f4,c5]@3, ~@6 e5@6 a4@2 ~@4 f4 ~@13", // F5 Fmaj7 Fm
E: "[d3@2 ~ [g2,g4,e5] ~@5 e4@3 d#5@2 ~@3 e5@3 [d#2,d#3,c5]@3 [a2,g4]@2 d2 [c3,d3] ~@4 [f3,b3,d4,b4]@3 ~@3 g1 ~@5 [f3,g3,b3]@5 ~ e5@5 [g3,f4] b3 ~@5 c2 ~@2, ~@3 [g3,e4]@5 [g3,c4,g4]@5 ~ [e2,e3]@6 ~@14 [b4,f5]@8 ~@6 b5@3 ~@3 d5@3 ~@7, ~@6 [d#4,f#4,d#5]@7 ~@12 f4@9 a5@14 [f5,e6]@6 [f5,b5,d6]@6 [e5,g5,d6]@4, ~@8 e5@3 ~ [a4,c5,e5,a5]@5 ~@8 b4@2 ~ a#4@7 ~@7 [d4,b4,f5,g5]@6 ~ g1 ~@14]/2", // C Cm A7 Csus2 Bdim G7 C C5 …
F: "[~@2 [g3,c4,e4,c6] ~@5 [g4,c5,e5]@2 ~ [f#4,d#5]@2 ~ [g3,c4,g4] ~@2 a5@3 e3@2 ~ g5@2 [c4,e4] e5@2 c5@3 [f4,b4]@6 ~@3 c5@3 c3@2 ~ c5@3 [g3,c4,e4] ~ a#4@3 [f2,a4]@2 ~ g#4@3 [a3,c4] ~ c5@2, ~@2 [e5,g5]@2 ~@4 c2 ~@5 e5@2 ~@4 e2 ~@5 g3 ~@4 d5@9 e4@8 ~ b4@2 ~@3 f4@7 ~@3, ~@31 g1 ~@5 [g3,e5]@5 ~ c2 ~@10 c3 ~@5 a4@2 ~@2]/2", // C D#m C5 C Fdim C F Am …
G: "~ [a2,a3,f4,e5]@2 ~ d5@3 [g#2,g#3,f4,c5]@2 ~ [d3,a4]@3 [g2,g3]@2 ~@3 [c4,e4] g3 ~ [e4,g4]@3 ~@3 g5@3 [g3,c4,e4] ~, ~@13 c5@8 ~@9 e5@2, ~@13 e4@5 a4@2 ~@4 c2@6 ~@2", // Fmaj7 Fm D5 G C Em C
H: "[~ c5@3 [f3,a4]@2 g#4@3 [a3,c4,a4] ~@2 c5@3 [f2,f4,e5]@2 d5@3 [d#2,d#3,f#4,c5]@3 [a2,a4]@3 e3@2 ~@3 [c4,e5]@3 [c#5,f5]@3 a1 ~@4 [g3,a3,c#4] ~@5 [d2,d3] ~@5 [a2,a3,c5]@3 ~@2 g2@2 ~ b4@2, ~@4 f4@7 ~@4 f3 ~@10 g4@8 g4@8 [g4,e5]@2 ~@4 f#4@9 f4@7, ~@4 f2 ~@21 e2 ~@2 c5@6 ~@5 c#5@5 ~@6 a4@6 [b4,e5]@4 ~@3, ~@59 g3 ~@4]/2", // F Am Fmaj7 Cdim A C C# A7 …
I: "~ [g1,g2,b4] ~@5 [c2,c3] ~@4 [g2,g3] ~@5 e3 e2@2 ~ g2@2 ~ d2@2 g2@2 ~ [c3,g4,c5,e5]@2, ~ [f4,d5]@2 ~@4 [e4,g4,c5]@13 ~@4 [d3,g4,b4,f5]@3 ~@3 c2 ~", // G C G C Dm C G7
J: "[~@4 [g3,c4,e4,g4,c5,e5]@3 [e5,a5]@3 e2 ~@2 g5@2 [g3,c4,e4] ~@2 c5@3 g1 ~@5 e5@3 ~@2 c3@2 ~ c5@3 [g3,c4,e4] ~@2 a#4@2 [f2,c3] ~@2 g#4@3 [a3,c4] ~@2 c5@3 [a2,a3,e5]@2 d5@2 c5 ~ c5 ~@2, ~ [f#4,d#5]@6 a4@8 e5@2 ~@4 [f4,d5]@9 [e4,g4]@8 ~@6 f4@6 ~@5 f4 ~@8, ~@30 c5@4 ~@4 b4@2 ~@3 a4@2 ~@4 a4@2 ~@13, ~@32 c2 ~@27 [g#2,g#3,d5]@2 ~@2]/2", // C A5 C F5 Am A5 D#m Dm …
K: "a4@2 [e4,c5]@6 [g3,c4] ~@4 c2@4 ~@2 [g3,c4,e4] ~@2 [f2,c5]@2 ~ [g3,a3] ~ g#4@3 [a3,c4,d4,a4] ~, ~@2 [g2,g3]@3 ~@3 a4@3 [e4,g4]@8 e5@3 ~@2 c3@2 ~@6, ~@17 g5@4 ~@4 f4@5 ~@2, ~@25 a4@2 ~@5", // C C5 C F5 Gsus2 D7 G Em
L: "~ c5@3 [a2,a3,f4,e5]@2 d5@2 ~@2 [f4,c5]@2 [d3,a4]@2 ~ [g2,e4,g4,e5] ~@5 [g3,e4,f4,g4,e5]@3 ~@5 e5@3, ~@4 g3 ~@3 e5@2 ~@8 [d#4,f#4,d#5]@7 ~ [e2,e3]@6, ~@9 [g#2,g#3,d5]@2 ~@4 g3@5 c4@4 [a4,c5,e5,a5]@5 ~@3", // Fmaj7 F5 D5 C D#m E G#dim Am
M: "[[d#2,d#3,c5]@2 ~ [a2,g4]@2 [d3,f4,b4]@2 ~ a#4@2 ~ [f3,b3,d4,f4,b4] ~@5 g1 ~@4 [f4,b4] [g3,b3,f5,g5] ~@5 [e5,f5,b5,e6]@5 [g3,b3,f4,d5,d6] ~@5 [g5,d6]@6 [g3,c4,e4,c5,g5,c6] ~@5 [c2,g4,c5,e5] ~@4 [c4,e4] g3 ~@2 a5@2 g1, ~@5 d2 ~@8 [f5,a5]@9 ~@6 d2 ~@10 c2 ~@11 c3@2 ~ [f#4,d#5]@4 ~@5, ~@57 e5@2 ~@5]/2", // Cm A7 Bdim Fdim G7 E G7 G5 …
N: "~@2 [g4,g5]@3 [g3,c4,e4] ~@2 c5@2 g1 ~@5 [f3,g3,e5]@2 ~ e4@2 c2 ~@3 c6@2 [e3,b5]@2 ~ [c3,a#4,a#5]@2, ~@5 e5@2 ~@12 c5@5 c5@3 ~@5, ~@21 c3@6 [e2,b4] ~@4", // G C E5 C7 E5
O: "[[f2,a4,a5] ~@8 [c5,c6]@2 [e5,e6] ~@2 [d5,d6]@3 [g#2,g#3,c5,c6]@2 ~ d3@2 ~@6 [g3,c4,e4,a4,a5]@3 [g4,c5,e5]@2 c2 ~@4 e4 a#3@2 ~ f2@2 [a3,a4]@2 g#4@3 [a3,c4,f4] ~@2 c5@3 [f2,f3,f4,e5]@3 d5@2 [d#2,d#3,c5]@3 [a2,a4]@2 e2 e3@2 ~@3 [g3,c4,e4,e5]@3 ~@2 a1 ~@2 c#5@3 [g3,g4,e5]@3 ~@3 d3@2 ~@3 [a2,a3,c5]@3, f3@2 ~ [g#4,g#5]@8 [a2,a3]@6 ~@5 [g2,e3,c5,c6]@9 ~@5 e5@2 e5@2 ~ c5@3 ~@5 a4@2 ~@9 f#4 ~@4 g4@9 g4@8 ~@6 f#4@8, ~@6 [a3,c4,f4,a4,a5]@6 ~@7 a5@3 ~@9 g5@6 g5@4 ~@27 c5@6 [c#5,f5]@4 ~@4 c#5@6 ~@3 a4@5, ~@39 c4 ~@42 [a3,c#4,e4] ~@5 d2 ~@7]/3", // F C E D G# Am7 C A …
P: "[[b4,e5]@3 [g2,a#2,g3,a3] ~ g4@3 [f4,b4,d5]@6 [c2,c3] ~@4 [g2,g3] ~@5 [e2,e3]@3 ~@3 [d#2,d#3,a4]@2 ~ f#4@2 d2 [d3,f4] ~ a4@2 ~ [f3,b3,g4] ~@2 c5@2 [g1,d5] b4 ~ [c5,e5]@3 [d5,f5]@6 f5@5, f4@8 g2@2 ~@4 [g4,c5]@18 ~@5 g4@2 ~@3 b4@2 ~@20, ~@8 g1 ~@5 e4@12 ~@33 d2 ~@4]/2", // E5 Gm Bdim C G E D#dim Dm …
Q: "~ d5@3 ~@3 d3@2 ~@6 a2@2 ~ e3@2 ~@3 e4 b4@2 c5@3 d5@2 ~, ~@4 [a4,f5]@13 ~ g4@6 c4 ~@4 g1 ~@2, ~@12 [d#2,d#3]@5 ~ e2 ~@2 a4@4 ~@7", // Dm D#
R: "[d#5@2 e4 [g3,c4] ~@4 e5@6 [g3,c4,a4,e5]@3 ~@3 c3@6 [c#2,c#3]@2 ~ g2@2 ~ [b4,f5]@5 [a#4,f5,a#5]@2 ~ b5@3 g1 ~@2 [a#4,a#5]@2 [g3,f4] b3 ~@4 d2 ~@4 f4 d4 ~@4 g1 ~@5 [g3,b3,f4] ~@5 [c2,a4,e5,a5]@5 [g3,c4,e4] ~@2 [a4,e5,a5]@3 g1 ~@2 [g#4,g#5]@2 [g3,c4,e4] [e5,a5] ~, ~@2 e5@6 c3@2 ~@22 d3@2 ~@3 [b3,d4,f4] ~@2 [b4,f5]@5 ~@3 b4@8 ~ f5@9 ~@16 [g#4,g#5]@2 ~@10 a4@2, ~@3 g4@5 g4@9 [g4,e5]@9 ~@5 b5@7 ~@10 [f5,b5]@2 ~@4 a5@6 d5@24 ~@12, ~@8 c2 ~@23 [d2,a5] ~@63]/3", // C5 Am7 C# Bdim A#5 A# G7 Am …
S: "[~@3 g4@2 ~ e5@3 c4 ~ a4@3 e3@2 ~ c5@3 [g3,c4,e4] ~@2 a4@2 d2 ~@8 c5@2 g1 ~@2 e5@3 f5@6 f5@6 f5@3 ~@11 a2@2 ~ e3@2 ~@6 c5@3 d5@2 d#5@3 c4 g3 ~@4 e5@6 [c4,a4,e5]@3 ~@3 e2 ~@2 c5@2 [c4,e4] g3 ~ a#4@3 [f3,a4]@2 g#4@3 [a3,c4,f4] ~@2 c5@2 ~ [f2,f4]@2 d5@3 [d#2,d#3,f#4,c5]@3 [a2,a4]@2 e2 e3@2 ~@3 [g3,c4,e4,e5]@3 a#1 ~ a1 ~@3 c#5@2 [g4,c#5,e5]@4 ~@2, ~@3 g5@6 c5@5 g4@8 ~@3 g4@10 ~@36 g4@11 ~@11 g4@9 ~@8 b4@2 ~@9 a4@2 ~@14 g4@2 ~@7 g4@8 ~@6, ~@14 e2 ~@5 b4@2 ~@6 a4@7 ~@2 d5@6 ~@14 f5@13 ~@4 a4@8 ~@5 e5@6 ~@9 e5@8 ~@30 c5@5 ~ [c#5,f5]@4 ~@10, ~@31 [g3,b3,f4,b4]@5 ~@12 d2 ~@16 d#3@5 ~ e2 ~@4 [e4,b4]@5 ~@45 [f3,e5]@2 ~@26 [a3,c#4,e4] ~@5, ~@77 c4@5 g1 ~@10 c2 ~@22 f2 ~@43]/5", // C Am C F Cdim A C C#dim …
T: "[d2,d3] ~@4 [a2,a3,c5]@3 ~@2 [g2,g3] a#2 ~ b4@2 ~ [f4,g4]@5 ~ [c2,c3] ~@4 [g2,g3] ~@4, f#4@2 a4@6 [f4,b4,e5]@4 ~@4 [c5,d5]@2 ~@3 [g4,c5]@11, ~@16 [g1,g2] ~@5 e4@10", // D Am G Fsus2 C G E Csus2 …
U: "~ [e2,e3]@2 ~ a2@2 ~ [d#2,d#3]@2 [a2,f#5]@2 ~ [d3,f5,g5]@2 ~@3 [d4,f4,b4] b3 ~ [c5,a5,c6]@3 [g1,d5,b5,d6] ~@4 [b3,f4] [g3,d4] ~@2, ~@6 [a4,a5]@2 ~@4 [d2,g4,d5] ~@2 [a4,a5]@4 ~@9 [f5,d6,f6]@4, ~@17 [g5,b5]@2 ~@7 [c6,e6]@4 ~@2", // E D# D G7 Bdim F G Bdim …
V: "~@2 [f5,f6]@6 [f5,f6]@3 ~@3 d2 ~@4 [d#2,d#3]@3 [a2,g4]@2 ~ [e3,g4,e5,g5]@2 ~@3 [g3,c4,e4,b4,b5] ~, ~@2 a5@9 [f5,a5,f6]@12 ~@4 a5@4 ~, ~@2 d3@2 ~@4 [b3,d4,f4,b5]@5 d3@10 ~@5 a4@4, ~@2 d2 ~@22 e2 ~@6", // F D# A7 Em Cmaj7 F Bdim
W: "[~ [c5,c6]@2 [g1,d5,d6] ~@2 [d#5,d#6]@3 [e5,c6,e6]@3 ~@2 [e5,e6]@5 ~ [g3,c4,e5,a5,e6]@3 ~@2 c3@6 [c#2,c#3]@2 ~ g2@2 [b4,g5,b5]@3 ~@3 [g3,a#3,c#4,e4,a#4,g5,a#5]@3 ~ [b3,g5]@4 ~ [g3,c#4,a#4,g5,a#5]@2 [d4,f4] b3 ~@4 [g1,g2] ~@5 d5@5 g2 ~@5 g3@5 c2 ~@6 c4@2 [e4,e5,a5]@4 ~@2 g#4@2 [g3,e5,a5]@2 ~@4 [e3,g4]@2 ~@3 c5@2 ~@12 [a2,a4,a5]@2 ~ [d2,d3,g4,d5,g5] ~, ~@9 [g3,c4,e4] ~@2 c2@11 ~@2 c2@2 ~@9 [d2,d3] ~@8 [g3,d4,f4,b4,f5,b5]@4 ~ [a#3,e4]@3 [g3,g5,b5]@3 ~@3 a4@2 ~ f5@19 ~@6 [f#3,d#4,g#4,d#5,g#5]@4 ~@7 e4 ~@5 g2 ~@4 c4 ~@4 [e2,e3]@6 [d#2,d#3,b4,b5]@5 ~@3, ~@14 [g2,g5]@9 [e5,g5,e6]@9 ~@4 f5@6 ~@11 b4@5 ~ a5@22 ~@23 g5@22 f5@2, ~@70 a4@11 [a4,c5,e5,a5]@10 ~@4 [d#4,g#5]@3 a4@6 ~@3 e5@5 a4@5 [c5,c6]@8 ~@3, ~@115 g4@11 ~@2]/4", // C G5 D# C E Am7 C# Em …
X: "[~ a4@2 [d4,f4,b4,b5] ~@8 c6@2 f4 [g3,b3] ~@4 [f5,f6]@6 f6@3 ~@2 d2 ~@8 [a2,g4]@2 [e3,c5,g5]@2 ~@7 [c5,c6]@2 [g1,d5,d6] ~@2 [d#5,f#5,d#6]@3 [g3,c4,e4] ~@2 c2@2, a5@3 ~@3 c6@5 e6@3 [f5,f6]@6 a5@9 f5@13 ~@3 [a4,a5]@8 ~@6 e6@5, ~@9 [g1,b5,d6]@6 ~@5 d2 ~@8 f6@3 d3@10 ~@6 [g3,c4,e4,b4,b5]@5 ~@11, ~@37 [d#2,d#3]@5 [e2,g4,e5] ~@21]/2", // Bdim G F A7 C G5 D#m C …
Y: "~ [e5,c6,e6]@5 [c4,e4,e6]@3 e6@3 ~@3 c5 ~ [a#3,c4,e4] b4@2 ~ f2@2 [a3,a4]@2 ~@3 [c4,f4] a3 ~ c5, ~ g5@8 g5@7 [c5,e5]@3 ~ a#4@3 ~@3 g#4@4 ~@2, ~ e3@2 ~@9 [g2,e3]@6 ~@5 c3 ~@4 a4@2 ~@2", // C C7 A F5 C
Z: "[~@2 [f2,f4,e5]@2 ~ e5@2 ~ f#4@2 ~ a2@2 e2 ~@5 [c4,e5]@3 ~@2 a1 ~@5 [a3,c#4,e4] ~@5 d3@2 ~@4 c5@2 [f4,b4,e5]@3 [g2,g3] ~@2 b4@2 g1 f4@2 ~@15 [c1,c2,c5,e5,g5,c6]@6 ~@9 a4@3 ~@2 g4@2 ~@4 [d5,f5]@4 ~@2 [c5,e5]@3 ~@8 a#4@9 ~@14 f4@2 ~ c3 ~@2 e5@3 ~@3 [a#4,d5]@3 ~@6 a3@3, ~@2 f3 ~ d5@5 ~ a4@3 g4@9 ~@8 [g4,e5]@3 ~@3 f#4@9 ~@13 [e4,g4]@18 ~@6 c5@7 ~@16 [a#4,d5]@10 ~@9 a#4@9 [a#3,c4]@5 ~@4 c5@9 ~@5 a#4@4, ~@7 [d#2,d#3,c5]@3 ~@6 c5@6 [c#5,f5]@4 ~ c#5@9 ~@3 a4@6 ~@19 g2@12 ~@12 f4@5 ~@17 a#3@5 ~@7 [a#3,c4]@6 ~@2 g4@8 ~ g4@5 ~@7 [a4,c5]@9, ~@18 e4@4 ~@14 d2 ~@4 a3@3 ~@8 [g2,d5]@2 ~@4 [c2,c5]@12 ~@23 [c3,f4,a4]@5 ~@29 g3@11 ~@7 a#3@7 ~@8, ~@133 e4@11 ~@16]/5", // Fmaj7 C A E G C Dm C …
AA: "[~@2 c3 ~@19 g4@2 a4@3 ~@6 d#5@3 ~@5 [f#4,d#5]@3 ~@3 g2 ~@10 g2 ~@5 [f4,b4]@3 ~@2 g2 ~@10 [c4,e4] ~@11 [c2,c3,c5,e5,c6]@4, ~@8 [a3,c4]@6 f3@11 ~@52 g5@19, ~@11 c5@14 ~@2 c5@9 ~@8 e5@14 f5@9 g4@13 c5@12 ~@4, ~@16 a4@8 f#3@6 ~@6 [g3,e5]@10 ~@29 [f4,d5]@5 ~@6 [g2,g3]@10, ~@19 [a3,c4,f4]@6 ~@5 [a3,c4,d#4]@6 ~@25 d5@7 ~@4 f5@7 ~@17]/3", // D#m Fdim C Am C Dm G F …
AB: "[~@7 c5@10 ~@10 e5@3 ~@9 a#4@9 ~@13 f4@3, ~@18 a4@12 [a#4,d5]@11 ~@9 a#4@14, ~@21 f5@10 ~@5 [a#3,c5]@5 ~@7 [a#3,c4]@5 g3@11, ~@7 g4, ~@59 [a#3,c4,e4]@5]/2", // A# A#sus2 C7
AC: "c3 ~@2 e5@3 ~@3 [a#4,d5]@3 ~@6 [g4,a#4]@5 ~@9, g4@5 ~ [a#3,c4]@6 ~@20, ~@3 c5@8 ~ [a4,c5]@11 ~@9", // A# Gm A#sus2 Am
AD: "[~@12 d#5@3 d2 ~@4 [f#3,c4,d4] ~@5 g4 f4 ~@4 [g3,a#3,d4,a#4]@3 g5@2 a#3@4 d5@2 [g4,a#4]@6 [f4,a4]@3 ~@2 [a3,c4] ~@2 a4@3 [e4,c5]@2 a#4@2, ~@3 f#4@6 f#3@5 ~@12 g2@2 ~@9 a#2 ~@5 g3@2 ~@4 c3 ~@10 c3 ~@3, ~@4 d3@8 f#4@8 [f#4,c5]@6 ~@3 a4@7 ~@16 [f4,a4,c5]@5 ~@7, ~@6 a4@8 ~@4 d5@4 ~@27 d5@6 ~@9, ~@9 c5@11 ~@6 a#4@5 ~@4 [g4,d5]@8 [a#3,d4] ~@20]/2", // D7 Gm F Am C F#dim F G5 …
AE: "[~ [g3,a#3,c4,e4,g4]@6 f4 ~@18 [a#4,a#5]@2 ~ [f2,c5] ~ a5@3 [a3,c4,f4] ~@7 f6@3 [c4,f4] ~@2 [e5,c6,e6]@2 ~ g2@2 ~@9 c2 ~@4 [a#3,c4,e4]@3 a#5@2 ~@3 e5@3 ~@2 [f4,d5,f5]@2 ~ [c2,g4,e5] ~@4 e4 [g3,a#3,c4] ~@2 d5@2 [f2,c3] ~@8 f5 ~ c2 ~@5 [a3,c4,f4]@3 [f2,a5,c6]@2 ~@9 g5@2 ~ a4 ~@7 [d#5,d#6]@3 g2@2 ~@9 g2 ~@5 g3@4, ~@7 [f3,a3,c4]@22 f3@2 ~@8 f5 c2@2 [f5,d6]@8 [d5,a#5,d6]@10 ~@15 [g4,g5]@7 ~@4 e6@4 ~ [a#5,d6]@3 a5@2 ~@7 a5@11 ~@6 [a4,a5]@7 ~@18 [c4,e4]@4 ~@6 [c4,e4]@5, ~@12 f5@5 ~@3 [g4,g5]@3 [a4,a5]@6 ~@5 f5@2 ~ g5@8 a3@5 ~@9 a#4@11 a#4@12 ~@4 [e5,c6]@8 [c5,c6]@11 ~@9 c5@13 ~@3 [c5,c6]@8 ~ e5 ~@4 [d#5,f#5,d#6]@4 e5@12, ~@13 f4@5 [f4,f5]@11 ~@10 a5@6 ~@11 [c5,a5,c6]@5 ~@11 [g2,e3]@10 ~ [c3,g5]@5 ~@39 [f#2,a5]@11 ~@9 [g5,e6]@13, ~@15 [e4,e5]@13 c6@2 ~@4 c6@11 ~@33 [g3,a#3,c4,e4,c5,e5]@5 ~@17 [c4,a#4,a#5]@5 ~@12 a3@5 [a3,c4,f4,f5]@5 f#3@6 [f#3,c4,d#4]@6 [e3,g5,e6]@9 ~@12]/5", // C7 A# F5 F F5 C C7 Dm …
AF: "[~ f5@2 ~@4 [d4,b5]@3 [g5,a5]@2 ~@3 [f5,f6]@3 [f4,d6]@2 ~@3 [c4,e4] g3 ~@10 [c2,c3,c6,e6,g6,c7]@8 c3@2 ~ [f3,c5]@2 ~ a4@2 ~ [a3,c4] ~ g4@2 ~ [c2,f4,a4] ~@8 [c5,e5]@3 [g2,e3]@2 ~@9 c2 ~@5 [a#3,c4,e4]@3 [g5,a#5]@3 ~@3 e5@2 ~@6 e5@3 ~@5 [d5,a#5,d6]@2 ~ [f2,c3,a5,c6] ~@10 [d#2,d#3] ~@5 [d#3,a3,c4,a4]@5 ~ d3@2 ~@3 [f#3,c4,d4,c5]@2 ~@3 d1 ~@2 d5@3 [f#4,c5]@4 ~@2 [g3,g4]@2 ~@3 [g3,a#3,d4,a#4]@3 [d5,g5]@3 a#2 ~@2 d5@2 [g3,a#3,d4,g4,a#4]@5 ~ [f4,a4,d5]@2 ~@3 [f3,a3]@2 ~ a4@3, ~ f6@9 ~@8 [g3,b3]@5 c6@12 ~@14 c5@6 ~@6 [d5,f5]@9 ~@4 [a4,c5]@3 a#4@11 ~ a#4@17 [e5,c6,e6]@2 [g3,a#3,c4,e4]@6 [f3,c5]@2 ~@4 [a#3,e4,a#4,a#5]@5 ~@28 f#3@2 ~@15 a#3@5 ~@17, ~ g2 ~@2 d6@7 ~ [g2,f3]@7 ~@2 g6@14 ~@16 a4@2 ~@16 [a#4,d5]@9 g4@11 ~@5 g5@3 [c5,e5]@3 f5@14 ~@9 [f5,a5]@14 ~@2 a4@5 ~ [c5,d#5]@5 ~@9 a#4@5 ~@3 g4@8 ~@9 [f4,a4,c5]@5 ~@3, ~@29 [g2,g3]@15 ~@2 f2 ~@5 f4@4 ~@7 [a3,c4,f4]@6 d4 ~@5 [g3,a#3]@4 ~@13 g2@22 ~@23 d2 ~@21 g2 ~@21 c3@6 ~@5, ~@97 [a#3,e4]@3 d5@2 c2 [c5,g5]@11 ~@9 a4@8 ~@5 f#4@7 ~@2 f#4@8 [c4,d4] ~@8 a4@6 ~@24]/6", // G Gsus2 F Dm C F5 Am F …
AG: "[e4@2 ~ e4@2 [g3,a#3,e4]@3 ~@3 [f3,a3]@5 c3@2 ~@4 [f2,f3,f4,c5] e3 ~@5 g3@5 ~@42 g4@6 [f4,g4]@3 ~@6 [a4,f5]@3 f4@2 ~ [g4,e5]@2 [g3,b3,f4,d5]@6 c4 ~@5 [g1,g2] ~@6 [a1,a2] ~@5 [b1,b2] ~ g2@2, [c3,c5]@8 ~@44 g4@24 ~@9 f#5@8 ~@35, ~@2 a#4@3 g4@6 f4@11 [a4,f5]@2 ~@4 g4@6 [c4,e5]@25 [e4,g5]@23 [g3,b3,g5]@6 [f4,g4,g5]@5 ~ [g3,b3]@5 ~@6 [e4,c5]@19 ~@4]/4", // Edim F F5 Fsus2 Dm C G7 G …
AH: "[~@2 [c3,g4,c5,e5]@2 ~ [f#4,c5,d#5]@3 [g3,c4,e4,g4,c5] ~@5 e3@2 ~@4 [g3,c4,e4] ~@2 c5@3 [f4,b4]@6 [f3,g3,b3,f4,b4,e5]@3 ~ e4@2 c2 ~@3 d5@2 [g3,c4,e4,b4,b5] ~@2 [a#4,a#5]@3 [f2,a4,a5] ~@2 [g#4,g#5]@2 [a3,c4,f4,a4,a5] ~@2 [c5,c6]@3 [e5,e6] ~@2 [d5,d6]@3 [g#2,g#3,c6]@2 ~@4 [g3,c5]@5 [g3,c4,e4,a4,c5,e5,a5]@4 ~@2 c2 ~@5 [c4,e4] g3@2 ~ f2@2, ~@2 c2 ~@5 e5@2 ~ [a4,c5,e5,a5]@5 ~ [g4,g5]@5 ~@4 [g1,g2] ~@11 c3@7 ~@5 f3@6 ~@5 a3@7 ~@2 d3@12 [g4,e5,g5]@5 g5@2 g5@4 ~@3, ~@14 e2 ~@5 e5@3 ~@3 d5@9 [g4,c5]@4 ~@2 [c5,c6]@4 ~@16 a2@3 ~@3 [c5,f5] ~@2 a5@8 ~@4 c5@9 ~@2 c5@3, ~@73 [g2,g5,c6]@10 ~ c3@7 a#3 ~@4, ~@88 e5@2 e5@3 ~@3]/3", // C Cdim C Fdim Em Cmaj7 A# F …
AI: "[[a3,a4]@2 ~@6 c5@2 ~ [a2,a3,e5]@3 d5@3 [g#2,g#3]@3 [d3,a4]@2 ~ [g2,e5] ~@4 e5@3 ~ a4 ~@4 e5@3 [d#3,c5]@2 ~ a2@2 [d3,b4]@2 ~@4 [f3,b3,d4,f4,b4]@3 ~@3 g1 ~@5 b3@5 ~ g1 ~@4 [d5,f5,b5,d6]@6 [d5,e5,g5]@5 ~ [g3,c4,e4,g5] ~@5 [c2,c3,e5] ~@2 [f#4,d#5]@2 [g3,c4,e4,g4,c5,e5] ~@5 e2 ~@2 g4@2 e4 [g3,c4] ~ c5@3 ~ f4@5 [f4,e5]@3 ~@3 c2 ~@2 c5@2 ~ [c4,e4] ~@2 a#4@2 ~ [f2,c3]@2 g#4@3 [a3,c4] ~@2 c5@3 ~@3 d5@2 ~ [g#2,g#3,c5]@2 ~ a4@2, ~@3 g#4@8 ~@6 c5@6 ~@8 [e5,a5]@5 ~@9 d2 ~@8 [b4,f5]@8 ~@6 [e5,f5,b5,e6]@7 ~@10 c6@2 ~@13 a5@3 e3@6 ~@6 g1 ~@10 c3@6 ~@17 [a2,a3,f4,e5]@6 ~@5, ~@5 f4@5 ~ f4@7 ~@7 [f#4,d#5]@8 ~@9 a4@3 f4@6 ~@3 a5@14 ~@6 [b3,f4] ~@5 c2 ~@20 e5@8 e5@2 ~@12 c5@5 ~@3 c5@2 ~@4 a4@6 a4@2 ~@10 f4@5, ~@6 [a3,c4,a4]@5 ~@11 g3@6 [g3,c4,e4,g4]@5 ~ [e2,e3]@6 d#2@6 ~@2 a#4@7 ~@7 [g3,f4,b4,f5,g5]@6 ~@6 g3@2 ~@4 [c3,d6]@2 ~@4 [c5,e5]@2 ~@4 [g4,c5]@5 ~@3 [a4,c5]@9 ~@14 g4@9 b4@6 ~@16 d5@3 ~@3, ~@53 g5@2 ~@7 e4@4 a#3 ~@13]/5", // A A5 G# D5 C Cm G Bdim …
AJ: "[~@7 [g3,c4]@2 ~@6 g5@3 [g3,c4,e4] ~@13 [c5,c6]@2 ~ [e5,a5,c6]@2 ~ [d5,d6]@2 [d#2,d#3,c5,f#5,c6]@2 ~ [a2,a5]@3 e2 ~@5 [g3,c4,e5,e6]@3 ~@3 a1 ~@2 c#6@3 [g3,g#3,a3,c#4,e4,e5,c#6,e6]@6 [d2,g#4] ~@2 a4@3 [f#4,a4]@2 ~ c#5@2 ~ g2@2 ~ b4@3 [g1,g2,b4,d5]@3 ~@4 [c2,c3]@3 ~@4 [g1,g2]@9 [c2,c6,e6,g6]@11 ~@6, ~ [e4,c5]@9 e4@8 ~@6 [c3,f5]@11 [f2,f3]@6 ~@14 [c#6,f6]@6 ~@67, ~@6 a4@3 g4@9 e5@2 ~@4 [a3,a4,a5]@3 g#4@8 ~@16 e4@4 f5@15 f#4@6 ~@3 [f4,b4,e5]@5 ~@4 f4@7 [e4,g4,c5]@17 ~@16, ~@12 c2@6 ~@3 [f2,c5]@8 [a3,c4,f4,a4,a5]@5 ~@12 [e3,c5,g5]@10 ~@2 a2@12 a2@2 ~@4 [a2,a3,c5]@6 g3 ~@28 [c1,c7]@15 ~@2, ~@26 g#5@8 ~ e6 ~@13 c6@7 ~@72]/4", // C5 C Am D Cdim A C A7 …
})).s("gm_piano").gain(0.56)
// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
~@3 A@2 ~ B C ~ D E ~ F G ~ H I J K L M@2 ~ N O P Q@3 R S T U@2 V ~ W X ~ Y Z@2 AA AB@2 AC AD AE@2 AF AG@2 AH AI AJ@2
AK@2 ~@2 AL@3 AM@2 ~ AN@2 ~ AO ~ AP AQ AR AS AT ~ AU AV AW AX AY AZ@2 BA ~
>`.pickRestart({
A: "[~@22 e5@5 ~@4 g4@2 ~@4 b4@6 [f3,b3,f4,b4]@3 ~@18]/2", B: "c2 ~@3 c#4@2 ~ c4 ~@10 [a3,c4] ~@13",
C: "[g4,a4] ~@15", D: "~@11 c5@2 ~ [e4,c5] ~@2 [c5,e5]@5 ~@10, ~@17 a4@9 ~@6", E: "~@5 [b3,f4,b4]@4 ~@23",
F: "~@2 c3@2 ~@9 a#2@3 ~@16", G: "g3@3 ~@29", H: "~ c5@3 ~@3 c5@9 ~@11 [f3,g3,b3]@4 ~, ~@21 b4@10 ~", I: "~@30 f4 ~",
J: "~@8 e4 ~@14 e2@2 c#3 ~@2 a#3@2 f4 ~", K: "~@21 a4@3 g5 ~@7", L: "~@7 b4@4 ~@5",
M: "[~@3 e5 ~@4 [d5,e5]@6 ~@3 f#2 ~@7 [g4,c5] ~@3 c5@8 g4 ~@5 f4@5 [b3,f4,b4]@3 ~@13, ~@2 b5@2 ~@24 e5@4 ~@11 d5@8 ~@13, ~@29 a4@3 ~@10 b4@6 ~@16]/2", // Dsus2 C5 Bdim
N: "~@12 c3 ~@19", O: "~@24 g#4 ~@7", P: "~@11 g2@3 ~@18",
Q: "[~@3 a2@2 ~@3 f4@2 [d4,f4] ~@2 a4@2 ~ f4 ~@4 [f3,b3,d4] g3 ~@4 d5@3 ~@3 [f3,g3,b3,d4,b4,f5]@3 ~@3 d2 ~@16 g3 ~@4 g4@6 ~@12 e4@4 ~ c2@2 ~@10, ~@21 a4@6 a4@9 d5@13 ~@47]/3", // Dm Bdim G7
R: "~@28 b3 ~ b4@2", S: "~ a4@8 ~@23", T: "~@3 [c2,d2] ~@5 [g3,e4] ~@22, ~@3 c3@2 ~@27",
U: "[~@10 f4 b3 ~@16 d2@2 ~@3 d#2@5 ~@7 g3@5 ~@5 e4 ~@3 g2@2 ~ c3@2, ~@10 g3@2 ~@4 a4@9 a4@13 ~@26, ~@22 [g3,b3,f4,b4]@5 ~ d3@11 ~@25]/2", // G7
V: "~@3 g3@3 ~ g4@8 ~@17", W: "~@3 c#3@6 ~@10 g2@3 ~@10", X: "~@26 e5@3 ~@3", Y: "~@20 e4@3 ~@9",
Z: "[d#2 ~@30 c#4@2 b3 g3 b4@2 ~ f3 ~@5 [d4,f4]@5 ~@10 [g3,c4,a4]@4 ~, ~@43 b3@6 ~@15]/2", // Dm Am7
AA: "[f#3,c4,d#5]@2 c4 ~@10 [g3,e4] ~@18", // Cdim C
AB: "[~@3 b3 ~@5 d5@5 d6@3 ~@9 [b3,d4,f4,f5,b5]@3 a5@12 ~@13 [f5,g5] ~@4 [e5,g5]@5, ~@6 c5@9 ~@49]/2", // Bdim Fsus2 Em
AC: "g2 ~@6 g3@2 ~ e5@6 ~@16, ~@6 [e5,a5,c6]@3 c6@3 ~@20", AD: "~@2 g#2 ~@10 e3 ~@5 g3@3 g4@8 ~@2",
AE: "[~@9 a2@3 ~@9 b4 ~@4 c3@18 ~@6 f3@5 [a3,c4] ~@8]/2", // Am
AF: "~@3 [a3,c4]@6 ~@11 c3 ~@11, ~@9 g3@8 g4@15, ~@14 [c4,c5]@5 ~@13, ~@15 a4@4 ~@13", // Am C
AG: "[~@17 c4@6 ~@9 [f4,a4]@14 ~@18, ~@23 f3@10 ~@31, ~@28 c4@5 ~@31, ~@29 g4@5 ~@30]/2", // F
AH: "~@12 g4@8 ~ [g3,c4,e4]@5 ~@6, ~@9 [c4,e4]@5 ~@6 g4@12", AI: "[g3,b3]@4 ~@7 [g3,b3]@4 ~@17",
AJ: "[~@7 f3@3 ~@3 a3@3 g4@2 c3 ~@8 c5@3 ~@12 c3@2 ~@20, ~@10 a4@7 ~@5 d5@8 ~@9 g4@14 ~@11, ~@12 c4@5 ~@7 [a3,c4]@7 g3@11 ~@22, ~@13 f4@18 ~@5 [c4,a4]@5 ~@23]/2", // Am F
AK: "[~@30 a3@7 ~@4 [a3,c4,d4]@5 ~@18, ~@12 f3@9 [f4,a4]@16 ~@27, ~@17 c4@5 ~@7 [f3,c4]@7 ~@28, ~@18 a3@5 d#3@13 ~@28]/2", // D7 F F5
AL: "[c6@2 ~@25 [g5,a#5]@12 ~@35 c3 ~@9 c3@11 ~, ~@19 e3@10 ~@33 f3@10 f5@10 ~@14, ~@24 [a#3,c4,e4]@4 ~@40 [a3,f4,g5]@5 ~@23, ~@25 g3@4 ~@42 a4@11 ~@14]/3", // Gm C7 Dm
AM: "[~@11 a5 ~@5 g3@3 ~@2 e3 ~@8 d3@2 ~ f3 ~@4 g3@3 ~@8 [g#3,f5] ~@13, ~@13 e5@7 ~@18 a#3@4 ~@22]/2", // C#
AN: "[~@11 c4@4 ~ c3@2 ~@4 g3@3 ~@14 c3@11 ~@6 c4@4 ~@4, ~@3 d4@4 ~@7 e3@11 ~@7, ~@33 c4@11 ~@20]/2",
AO: "~@16 d5@5 ~@11", AP: "~@21 g3@7 ~@4", AQ: "~@12 g3@6 ~@6 [g3,b3]@5 ~@3", AR: "~@13 a#1 ~@18",
AS: "~@23 g4@3 ~@6", AT: "~@13 a#5 ~@2 c3 ~ c3 ~@13", AU: "[c3,c#3] ~@31", AV: "~ a4@3 ~@28", AW: "~ a#5 ~@14",
AX: "~@13 g4@6 b4@5 ~ g3@4 ~@3, ~@19 d5@10 ~@3, ~@6 [f3,b3,b4] ~", AY: "~@2 b4@2 ~@21 c5@2 ~@5",
AZ: "[~ [g2,g3]@3 ~@20 c#3@11 ~@29]/2", BA: "~@19 f3 ~@12",
})).s("gm_piano").gain(0.32)
stack(piano, piano_soft)
More by Scott Joplin
Paragon RagG major · 100 bpmThe EntertainerC major · 120 bpmA Breeze From AlabamaC major · 100 bpmAlexander's Ragtime Band (Victor Military Band)F major · 228 bpmBinks' WaltzB♭ major · 100 bpmCountry ClubC major · 100 bpmDill Pickles Rag (Chris Chapman)G major · 100 bpmElite SyncopationsF major · 120 bpm
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.