0:00/0:00
// Handful of Keys — Fats Waller
// 240 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/6401667; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 176 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(240/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
const piano = note(`<
A B C D E F G H I J K L K M N O P Q K R K S T U V W X Y Z AA AB AC K Q K AD K AE AF AG AH AI AH AJ AH AK AL AM AH AN
AH AO AH AP AQ AR AS AT AU AV AW AX AY AZ AH AN AH BA AH AP BB BC BD BE@2 BF BG@2 BH BI BJ BK@2 BL BM BN BO BP BQ BR
BS BT@2 BU BV BW@6 BX@2 BY BZ CA CB CC CD CE K CF AH CG CH CI K CJ CK CL K CM CN CO CP CQ@2 CR@2 CS CT CU CV CW CX CY
CZ DA DB@2 DC DD DE DF DG DH DI DJ DK DL DM DN DO DP DQ@3 DR ~ DS DT DU ~ DV DW DX DY DW DZ@2 EA EB EC ED EE@2
>`.pickRestart({
A: "~ [a6,d7] [g6,c7] [a6,d7] [g6,c7] [d6,g6] [c6,f6] [a5,d6]", B: "[g5,c6] [a5,d6] [g5,c6]@2 [g5,c6]@2 ~@2",
C: "~ [e6,a6] [d6,g6] [a5,d6] [g5,c6] [e5,a5] [d5,g5] [e5,a5]", D: "[d5,g5] [e5,a5] [d5,g5] ~ [d5,g5] ~@3",
E: "[c5,e5,c6] ~ [c5,e5,c6]@2 ~@2 [c5,e5,c6]@2 [c5,f5,c6]@4 [c5,f5,c6]@2 ~@2", // C F5
F: "[eb5,gb5,c6] ~ [eb5,gb5,c6] [e5,g5,c6] ~ [c5,c6] ~@2", // Cdim C
G: "[c4,e4,c5]@2 [c4,e4,c5]@2 ~@2 [c4,e4,c5] ~ [d4,f4,c5]@4 [eb4,gb4,c5]@4", H: "[e4,g4,c5] ~@3 [c5,e5,bb5,c6] ~@3",
I: "~@2 c5@2 d5@2 e5@2 f5@2 g5@2 a5@3 bb5", J: "[c5,c6] [f5,a5] ~ [f5,c6,e6] ~ [f5,b5,d6] ~@2",
K: "~ c5 d5 e5 f5 g5 a5 bb5", L: "c6 [d5,f5,bb5] ~ [f5,b5,e6] ~ [f5,b5,d6]@2 ~",
M: "c6 [d5,f5,bb5] ~ [c5,e5,a5] ~ [bb4,d5,g5] ~ [c5,a5,c6]", N: "f5@2 c5@2 d5@2 e5@2 d5 e5 d5@2 c5@2 e5@2",
O: "d5 e5 d5@2 c5 ~ c5@2 ~@2 [e5,g5,bb5,c6]@4 [c5,a5,c6]@2", P: "f5 c5 d5 e5 f5 g5 a5 bb5",
Q: "c6@2 [c5,f5,a5]@2 ~@2 [f5,c6,e6]@2 ~@2 [f5,b5,d6]@3 ~@3", // F Fmaj7 Bdim
R: "c6@2 [d5,f5,bb5]@2 ~@2 [f5,b5,e6]@2 ~@2 [f5,ab5,b5,d6]@3 ~@3", // Bb E Fdim
S: "c6 [d5,f5,bb5] ~ [c5,e5,a5] ~ [bb4,d5,g5] ~ c5", T: "f5 g5 c5@2 g4@2 ab4 a4 [bb4,d5]@6 c5@2",
U: "[a4,f5]@4 ~ [g4,db5,gb5]@2 [db5,gb5,a5]", V: "g4 [g4,db5,gb5,a5] ~ [db5,gb5] [b4,e5] [db5,gb5] [b4,e5]@2",
W: "[g4,db5,e5,a5]@3 a4@2 [db5,e5,a5]@2 [c5,d5,gb5,b5,d6]", // A7 A Bm
X: "~@2 [c5,d5,gb5,b5,d6]@2 ~@2 [c5,d5,gb5,b5,d6] ~ [c5,d5,gb5,b5,d6]@4 [c5,d5,gb5,b5,d6]@4", // Bm
Y: "[c5,d5,gb5,b5,d6]@9 ~ [c5,gb5]@4 [d5,g5]@2", Z: "~ [d5,g5] ~ [d5,g5] [b4,e5] [d5,g5] [b4,e5]@2",
AA: "[d5,f5,b5,d6]@4 [d5,f5,b5]@2 [f5,a5]@2 ~@2 [f5,g5]@5 ~", AB: "~@2 e6@2 d6@2 e6@2 d6 e6 ~ d6 c6@2 bb5@2",
AC: "a5 bb5 ~ a5 g5@2 e5@2 d5 e5 ~ d5 c5@4", AD: "c6@2 [d5,f5,bb5]@2 ~@2 [f5,b5,e6]@2 ~@2 [f5,ab5,d6]@3 ~@3",
AE: "c6 [d5,f5,bb5] ~ [c5,e5,a5] ~ [bb4,d5,g5] ~ [a4,c5,f5]", // Bb Am Gm F
AF: "~@2 f4@2 [eb4,c5]@2 d5@2 [d4,b4]@2 c5 [db4,bb4] [c4,a4]@4", AG: "[c5,c6]@9 ~ [c5,e5,g5,bb5,c6]@2 ~@4",
AH: "~ c6 d6 e6 f6 g6 a6 bb6", AI: "c7 ~ [c6,f6] a6@3 [f6,c7,e7]@2 ~@2 [f6,b6,d7]@2 ~@4",
AJ: "c7 [c6,e6,bb6] ~ [g6,c7,e7] ~ [f6,b6,d7] ~@2", AK: "c7 [d6,f6,bb6] ~ [c6,e6,a6] ~ [bb5,d6,g6] ~ [c6,f6,a6,c7]",
AL: "~@2 c6@2 d6@2 e6@2 d6 e6 d6@2 c6@2 e6@2", AM: "d6 e6 d6@2 c6@2 e6@2 d6 e6 d6@2 c6@4",
AN: "c7@2 [c6,f6,a6]@2 ~@2 [f6,c7,e7]@2 ~@2 [f6,b6,d7]@3 ~@3", // F Fmaj7 Bdim
AO: "c7@2 [c6,e6,bb6]@2 ~@2 [g6,c7,e7]@2 ~@2 [f6,b6,d7]@3 ~@3", AP: "c7 [d6,f6,bb6] ~ [c6,e6,a6] ~ [bb5,d6,g6] ~ c6",
AQ: "f6 g5 ab5 a5 c6 [e5,bb5,d6] c6@2", AR: "[a5,f6]@9 ~ [b5,d6,g6]@4 db7@2",
AS: "b6 db7 b6@2 a6@2 a6@2 gb6 a6 gb6@2 e6@2 e6@2", AT: "db6 e6 db6@2 b5@2 a5@2 [db6,e6,a6]@6 gb6@2",
AU: "e6 gb6 e6@2 d6@2 d6@2 b5 d6 b5@2 a5@2 a5@2", AV: "gb5 a5 gb5 ~ e5@2 ~@2 d5@2 [gb5,a5,d6]@4 g6@2",
AW: "e6 g6 e6@2 d6 ~ c6@2 b5 c6 b5@2 a5 ~ b5@2", AX: "a5 b5 a5@2 g5@2 b5@2 a5 b5 a5@2 g5@2 e6@2",
AY: "d6 e6 d6@2 c6@2 bb5@2 a5 bb5 a5@2 g5@2 e5@2", AZ: "d5 e5 d5@2 c5@2 ~@2 c5@2 [e5,g5,bb5,c6] ~@5",
BA: "c7@2 [c6,e6,bb6]@2 ~@2 [f6,c7,e7]@2 ~@2 [f6,b6,d7]@3 ~@3", // C7 Fmaj7 Bdim
BB: "[a5,f6] c6@2 a5 g5@2 ab5@2 [bb5,d6]@2 [e5,g5,c6]@2 ~@4", BC: "[a5,c6,f6]@8 ~@2 f4@3 ~@3",
BD: "f4 ~ f4@3 ~@3 gb4@3 ab4 gb4@2 ~@2",
BE: "[gb4@4 gb4@4 ab4@2 ~@4 [f4,a4,f5]@4 [f4,a4,f5]@2 ~@2 [f4,a4,f5] ~ [f4,bb4,f5]@2 ~@2 [f4,ab4,b4,f5]@4]/2", // F Bb5 Fdim
BF: "[f4,a4,c5,f5]@4 ~@6 [a3,c4,f4]@2 ~@3 g4", // F
BG: "[bb4@2 ~@3 [c5,c6]@2 [db5,eb5,db6]@2 [c5,eb5,g5,bb5]@2 [db5,db6] [c5,c6] [bb4,bb5] [g4,g5]@2, ~ bb4@2 ~@5]/2", // C Dbsus2 Cm7 Db C Bb G
BH: "[d5,f5,bb5,d6]@2 ~@2 [c5,eb5,f5,g5,bb5]@2 ~ [d5,f5,g5,bb5]", // Bb Cm7 Gm7
BI: "~@2 [f5,g5,bb5] d5@5 [f4,c5,eb5,f5]@6 [g4,g5]@2", BJ: "~@3 [c5,g5]@3 [g4,db5]@4 [f5,d6]@2 bb5@2 f5@2",
BK: "[[db5,f5,db6]@2 [c5,e5,c6] [db5,f5,db6]@2 [c5,eb5,c6]@2 [bb4,bb5]@2 [d5,g5]@2 db5 d5 f5 [c5,g5]@2]/2", // Db C Db Cm Bb G5 C5
BL: "[bb4,d5,f5,bb5]@9 ~ [bb4,d5,bb5]@2 [bb4,bb5]@3 d5", BM: "[a4,d5,a5]@5 [bb4,d5,gb5,bb5]@2 [c5,d5,gb5,c6]",
BN: "[c5,d5,c6]@2 gb5@3 [c5,d5,gb5]@2 [bb4,g5,bb5]", BO: "[bb4,g5,bb5]@3 db6 [d5,d6] bb5 [c5,gb5,c6]@2",
BP: "[d5,gb5,b5,d6]@5 g5@2 [e5,g5,bb5,c6]", BQ: "~@2 [bb5,c6] [e5,g5]@3 g5@2 [d5,bb5]@8",
BR: "[c5,e5,a5]@3 [c5,e5,a5]@3 [c5,e5,a5]@3 ~ [bb4,e5,g5] d5@5", BS: "[f2,f3] ~ [eb2,eb3] ~ [d2,d3] ~ [c2,c3] ~",
BT: "[[bb1,bb2]@2 [a1,a2]@2 [g1,g2]@2 [f1,f2]@4 bb4@2 ~ [d4,f4,g4]@2 g5]/2", BU: "bb4 d5 e5@2 a5 [bb4,e5,g5]@2 f5",
BV: "g5@2 c5@2 [eb5,f5]@3 g5 [d5,f5]@3 f5 [db5,e5]@2 f5@2", // Ebsus2 Dm Dbm
BW: "[[c5,eb5]@10 [d5,f5,a5,d6]@4 [db5,db6]@4 [c5,f5,ab5,c6]@8 [db5,f5,ab5,db6]@4 [d5,f5,ab5,d6]@4 [c5,f5,ab5,c6]@8 [db5,f5,ab5,db6]@4 [d5,eb5,g5,bb5,d6]@4 [c5,c6]@8 [db5,eb5,g5,bb5,db6]@3 ~ [d5,eb5,g5,bb5,d6]@4 [c5,eb5,g5,c6]@5 ~@3 [db5,eb5,g5,bb5,db6]@4 [c5,eb5,g5,c6]@4 [bb4,eb5,g5,bb5]@3 ~@3 [bb4,eb5,g5,bb5]@4 [db5,gb5,db6]@4, ~@50 [eb5,g5]@5 ~@41]/6", // Cm Dm Db Fm Db Ddim Fm Db …
BX: "[[c5,eb5,g5,c6]@9 ~ [db5,gb5,db6]@4 [c5,d5,f5,c6]@4 [bb4,d5,f5,bb5]@5 ~ [bb4,d5,f5,bb5]@2 ~@2 [ab4,d5,f5,ab5]@4]/2", // Cm Gb5 Dm7 Bb Ddim
BY: "[a4,d5,f5]@9 ~ [g4,b4,d5,g5]@4 [c5,g5,bb5,c6]@2, a5@5 ~@3", // Dm G C7
BZ: "[bb4,eb5,bb5]@3 g5 [bb4,eb5,bb5] ~ [g4,f5,g5]@2", // Eb5 G7
CA: "[f4,db5,f5]@4 [bb4,d5] g5 [f4,d5,f5]@4 [f4,c5,eb5]@4 bb4@2", // Db Bb Dm F7
CB: "[f4,bb4,d5,f5]@4 [db5,e5]@3 g5 [d5,f5] ~ [d5,f5]@2 [c5,eb5]@2 f5@2", CC: "[bb4,d5]@4 [c4,e4,bb4,c5] ~@3",
CD: "~ c4 d4 e4 f4 g4 a4 bb4", CE: "c5@2 [f4,a4]@2 ~@3 e5@3 [f4,ab4,b4,d5]@2 ~@4",
CF: "~@2 [d5,e5,g5,bb5]@2 ~@3 e6@3 [f5,ab5,b5,d6]@2 ~@4, c6 ~@3", // Em7b5 Fdim
CG: "[d6,f6,c7]@3 bb6@3 [c6,e6,a6]@2 ~@2 [bb5,d6,g6]@2 ~@2 [c6,a6,c7]@2", // Dm7 Am Gm F
CH: "f6@3 c6 d6@2 e6@2 f6@2 g6@2 a6@2 bb6@2", CI: "c7 [d6,f6,bb6] ~ [c6,e6,a6] ~ [bb5,d6,g6] ~@2",
CJ: "c6@2 [f5,a5] c5@3 [f5,c6,e6]@2 ~@2 [f5,b5,d6]@2 ~@4", CK: "~@3 c5 d5@2 e5@2 f5@2 g5@2 a5@2 bb5@2",
CL: "c6 [d5,f5,bb5] ~ e6 ~ [f5,b5,d6] ~@2", CM: "c6@2 [d5,f5,bb5] [c5,e5,a5] ~@3 c5, ~ [bb4,d5,g5]",
CN: "~ g4 ab4 a4 c5 [g4,bb4,d5]@2 c5, f5 ~@3", CO: "[a4,f5] f4 ~ f4@2 [b4,d5,gb5]@2 e5",
CP: "a5 ~ a4@3 [db5,gb5,a5] ~ [db5,gb5,a5]", // Gbm
CQ: "[~@8 g4@10 [bb4,eb5]@2 [b4,e5]@3 d4 [a4,d5]@2 [b4,e5]@4 [a4,d5]@2, [db5,gb5,a5]@11 ~@21]/2", // Eb5 E5 D5 E5 D5 Gbm
CR: "[[b4,e5]@3 d4 [bb4,eb5]@2 [b4,e5]@4 [a4,d5]@2 ~@2 [a4,d5]@4 [g4,g5]@4 [a4,d5]@2 [bb4,g5]@8]/2", // E5 Eb5 E5 D5 G D5 Eb
CS: "[b4,f5,g5]@2 a4 ~ g4@4, ~@6 [b4,f5,g5]@5 ~@5", CT: "~ [g4,a4] [bb4,b4] c5@3 c4@4 c4@4 c4@2", CU: "ab4!2 g4@2",
CV: "~ [a4,c5,f5]@2 ab4 a4 c5 [g4,d5]@2", CW: "[a4,c5,f5]@3 [b4,e5] [f4,bb4,d5]@3 d5", CX: "bb4 a4 bb4 b4 c5 ~ g4 c5",
CY: "[bb4,d5]@4 ~ [d5,gb5,a5,c6]@2 d6", CZ: "[g5,bb5] d5 e5 gb5 g5 a5 bb5 b5",
DA: "c6 [d5,f5,bb5]@2 [c5,e5,a5]@2 [bb4,d5,g5]@2 e5", // Bb Am Gm
DB: "[f5@2 [f4,a4,c5]@4 [f4,ab4,b4]@4 [g4,bb4]@3 ~@3 [c5,c6]@9 ~ [c5,e5,g5,bb5,c6]@2 ~@2 [a6,c7,d7]@2, ~@14 [f4,a4]@5 ~@13]/2", // F Fdim Gm C C7 D7 F
DC: "[ab6,db7]@2 [g6,c7] ~@3 [d6,g6]@2 [db6,gb6]@2 [c6,f6]@2 ~@2 [g5,d6]@2", // Db5 C5 G5 Gb5 F5 G5
DD: "[ab5,db6] [a5,c6] ~ [d5,g5] [db5,gb5] [c5,f5] ~ [e5,a5]", // Db5 Am G5 Gb5 F5 A5
DE: "[eb5,ab5] [d5,g5] ~ [g5,d6] [ab5,db6] [a5,c6] ~ [e6,a6]", // Ab5 G5 Db5 Am A5
DF: "[eb6,ab6] [d6,g6] ~ [g6,d7] [ab6,db7] [a6,c7] ~ [d7,a7]", // Ab5 G5 Db5 Am D5
DG: "[eb7,ab7]@2 [e7,g7] ~@3 [a6,d7]@2 [ab6,db7]@2 [a6,c7] ~@3 [e6,a6]@2", // Ab5 Em D5 Db5 Am A5
DH: "[eb6,ab6]@2 [d6,g6]@2 ~@2 [a5,d6]@2 [ab5,db6]@3 [g5,c6] ~@2 [c6,g6]@2", // Ab5 G5 D5 Db5 C5
DI: "[db6,gb6]@2 [d6,f6]@2 ~@2 [g5,d6]@2 [ab5,db6]@2 [a5,c6] ~@3 [a5,e6]@2", // Gb5 Dm G5 Db5 Am A5
DJ: "[bb5,eb6]@2 [b5,d6] ~@3 [e5,bb5,d6]@2 ~@2 [e5,bb5,c6]@2 ~@2 [c6,g6]@2", // Eb5 Bm Em7b5 C7 C5
DK: "[db6,gb6]@2 [d6,f6]@2 ~@2 [g6,d7]@2 [ab6,db7]@2 [a6,c7] ~@3 [c6,g6]@2", // Gb5 Dm G5 Db5 Am C5
DL: "[db6,gb6] [d6,f6] ~ [g5,d6] [ab5,db6] [a5,c6] ~ [d6,a6]", // Gb5 Dm G5 Db5 Am D5
DM: "[eb6,ab6] [e6,g6] ~ [g5,d6] [ab5,db6] [a5,c6] ~ [d5,a5]", // Ab5 Em G5 Db5 Am D5
DN: "[eb5,ab5] [e5,g5] ~ [g5,d6] [ab5,db6] [a5,c6] ~ [d6,a6]", // Ab5 Em G5 Db5 Am D5
DO: "[eb6,ab6] [e6,g6] ~ [g6,d7] ab6 [a6,c7] ~ [d6,a6]", // Ab5 Em G5 Am D5
DP: "[eb6,ab6] [e6,g6] ~ [g5,d6] [ab5,db6] [a5,c6] ~ [c5,g5]", // Ab5 Em G5 Db5 Am C5
DQ: "[[db5,gb5]@2 [d5,f5]@2 ~@2 [g4,d5]@2 [ab4,db5]@2 [a4,c5]@2 ~@5 f4@3 ~@6 [g4,db5,gb5]@4 [c5,gb5,a5]@4 [db5,gb5,a5]@2 ~@2 [c5,gb5,a5]@2 [b4,e5]@4 [b4,e5]@4, ~@15 [c5,f5]@5 ~@28, ~@4 a4 ~@7]/3", // Gb5 Dm G5 Db5 Am Gb Gbdim Gbm …
DR: "[db5,gb5,a5] ~ [db5,gb5,a5] [b4,e5]@2 [db5,gb5] [b4,e5] ~", DS: "~ e5, e4, ~@4 gb4@11 ~",
DT: "~ [b4,e5,f5,g5] ~ [b4,e5,f5,g5] ~ [b4,e5,f5,g5] ~ [b4,e5,f5,g5]", DU: "~ [b4,e5,f5,g5] ~ [b4,e5,g5] g4@4",
DV: "~ d5, e4@15 ~, ~@4 g4@11 ~", DW: "~@2 [f5,a5,c6,d6,f6]@2 ~ [f5,a5,c6,d6,f6] ~@2",
DX: "[f5,a5,c6,d6,f6]@2 ~ [f5,a5,c6,d6,f6] ~@2 [f5,a5,c6,d6,f6]@2", // Dm7
DY: "~ [f5,a5,c6,d6,f6] ~@2 [f5,a5,c6,d6,f6] ~@2 [f5,a5,c6,d6,f6]", // Dm7
DZ: "[[f5,a5,c6,d6,f6] ~@2 ab5 a5 d6 a5 ab5@2 [g5,ab5] ~@2 [g5,ab5] f5 d5@2]/2", // Dm7 Abmaj7
EA: "~@3 f3 ~@2 f3@2 ~@4 [d4,eb4,f4]@2 ~@2", EB: "~ f3 ~@2 [e4,f4,g4,bb4] ~@2 f3",
EC: "~@3 f3 ~@4 [d4,f4,g4,ab4]@2 ~@6", ED: "[bb3,e4,g4,c5]@8 a3@2 eb4@2 ~ g4@3",
EE: "[d5@2 ~@2 d5@2 ~@2 d5@15 ~@9]/2",
})).s("gm_piano").gain(0.3)
// chords · piano
const piano_2 = note(`<
A B C ~ D E F G H I J K J L M L N I J K J L O P Q R S@2 T@2 U V O W J K J L X Y Z AA AB AC AB AD I J Z W J AE AF AG Z
AH AI AJ AK AL AM AN AO AG AP AQ AB AR AB AD Z AS AT@3 AU AV AW AX AY AZ BA BB BC BD BE BF BG J@2 BH BI BJ BK BL@2
BM@2 BN BO@2 BP BQ BG BR BS BT BU BV BW J BX BY AD BZ CA Z AA CB AC CB AD Z CC CD CE CF AL CG CH CI CJ CK CL CM CN CO
CP CQ CR CS CT CU CV CW CX CY CZ DA DB CW CV CW CX DC DD DE DF DG@2 DH DI DJ@2 DK DL DM CO DN@2 DO DP DQ DR@3
>`.pickRestart({
A: "[c4,d4,f4,a4]@15 ~", B: "~@3 [c4,d4,f4,a4]", C: "[bb3,d4,e4,g4]@15 ~",
D: "[c4,g4] ~ [c4,g4] ~@3 [c4,g4]@2 [c4,ab4]@4 [c4,ab4]@4", E: "[c4,a4]@4 [c4,a4]@2 [c4,bb4]@2 ~@2 [c4,e4]@3 ~@3",
F: "[c3,g3]@2 [c3,g3] ~@3 [c3,g3]@2 [c3,ab3]@4 [c3,a3]@4", G: "[c3,bb3] ~@3 [c2,g2,c3] ~@3",
H: "[f2,c3,a3] ~ [bb3,c4,e4,g4] ~ c2 ~ [g3,bb3,c4,e4] ~", I: "[f2,a3] ~ [a3,c4,f4] ~ [a2,c4] ~ [ab2,b3] ~",
J: "[g2,bb3] ~ [g3,bb3,c4,e4] ~ c2 ~ [g3,bb3,c4,e4] ~", K: "[g2,bb3] ~ [g3,bb3,c4,e4] ~ [ab2,b3] ~ [ab3,b3,d4,f4] ~",
L: "[g2,bb3] ~ [g3,bb3,d4,f4] ~ c2 ~ [g3,bb3,c4,e4] ~", M: "[f2,a3] ~ [a3,c4,f4] ~ [a2,c4] ~ [ab2,b3]@2",
N: "[f2,a3] ~ [bb3,c4,e4,g4] ~ c2 ~ [g3,bb3,c4,e4] ~", O: "[f2,a3] ~ [a3,c4,f4] ~ c2 ~ [g3,bb3,c4,e4] ~",
P: "[f2,a3] ~ [f3,a3,c4,d4] ~ [f2,ab3] ~ [g3,bb3,db4] ~", Q: "[e2,g3] ~ [a3,db4,e4] ~ a1 ~ [g3,a3,db4,e4] ~",
R: "[e2,g3] ~ [g3,a3,db4,e4] ~ a1 ~ [g3,a3,db4,e4] ~", S: "[d2,gb3] ~ [gb3,a3,d4] ~ a1 ~ [gb3,a3,d4] ~",
T: "[d2,f3] ~ [g3,b3,d4,f4] ~ g1 ~ [g3,b3,d4,f4] ~", U: "[g2,e3,bb3] ~ [g3,bb3,c4,e4] ~ [ab2,b3] ~ [ab3,b3,d4,f4] ~",
V: "[g2,e3,bb3] ~ [g3,bb3,c4,e4] ~ c2 ~ [g3,bb3,c4,e4] ~", W: "f2 ~ [a3,c4,f4] ~ [a2,c4] ~ [ab2,b3] ~",
X: "[f2,a3] ~ [a2,c4]@2 [ab2,b3]@2 [g2,bb3]@2", Y: "[f2,a3] ~ [f2,ab3]@2 [e2,g3] ~ [g3,bb3,c4,e4] ~",
Z: "f2 ~ [a3,c4,f4] ~ c2 ~ [g3,bb3,c4,e4] ~", AA: "f2 ~ [a3,c4,f4] ~ ab2 ~ [ab3,b3,d4,f4] ~",
AB: "g2 ~ [g3,bb3,c4,e4] ~ f2 ~ [f3,g3,bb3,d4] ~", AC: "e2 ~ [g3,bb3,c4,e4] ~ ab2 ~ [ab3,b3,d4,f4] ~",
AD: "e2 ~ [g3,bb3,c4,e4] ~ c2 ~ [g3,bb3,c4,e4] ~", AE: "g2 ~ [g3,c4,e4] ~ f2 ~ [f3,ab3,b3,d4] ~",
AF: "e2 ~ [e3,g3,bb3,c4] ~ gb2 ~ [gb3,a3,c4,eb4] ~", AG: "g2 ~ [g3,bb3,c4,e4] ~ c2 ~ [g3,bb3,c4,e4] ~",
AH: "f2 ~ [a3,c4,f4] ~ e2 ~ [e3,ab3,b3,d4] ~", AI: "a2 ~ [e3,a3,db4] ~ e2 ~ [e3,ab3,b3,d4] ~",
AJ: "db2 ~ [a3,db4,e4] ~ a1 ~ [a3,db4,e4,g4] ~", AK: "d2 ~ [gb3,a3,d4] ~ a1 ~ [g3,a3,db4,e4] ~",
AL: "d2 ~ [gb3,a3,d4] ~ c2 ~ [gb3,a3,d4] ~", AM: "b1 ~ [b3,d4,g4] ~ db2 ~ [g3,bb3,db4,e4] ~",
AN: "d2 ~ [g3,b3,d4,f4] ~ g1 ~ [g3,b3,d4,f4] ~", AO: "c2 ~ [g3,c4,e4] ~ gb2 ~ [gb3,a3,c4,eb4] ~",
AP: "f2 ~ [a3,c4,f4] ~ bb2 ~ [bb3,c4,e4,g4] ~", AQ: "a2 ~ [a3,c4,f4] ~ ab2 ~ [ab3,b3,d4,f4] ~",
AR: "e2 ~ [g3,bb3,c4,e4] ~ gb2 ~ [gb3,a3,c4,eb4] ~", AS: "[f2,f3]@2 c3@2 f2 ~@3",
AT: "[[f3,c4]@4 [e3,gb3,bb3,c4]@11 [f3,c4]@2 f3@2 [f3,c4] [f3,db4]@2 [f3,d4]@2, a3@11 ~@23 c4@2 ~@12]/3", // F5 C7 F5 Db Dm
AU: "[f3,eb4] ~ [f2,f3] [f3,a3,c4,eb4]", AV: "[bb2,bb3] [a2,a3] [ab2,ab3] [ab3,bb3,d4,f4]",
AW: "[g2,g3] ~ [g3,bb3,c4,eb4] ~ [gb2,gb3]@2 [gb3,bb3,c4,eb4] ~", // G Cm7 Gb Cm7b5
AX: "[f2,f3] ~ [f3,g3,bb3,d4] ~ [eb2,eb3] ~ [gb3,bb3,c4,eb4] ~", // F Gm7 Eb Cm7b5
AY: "[d2,d3] ~ [f3,g3,ab3,bb3,d4] ~ a2 ~ [f3,a3,c4,eb4] ~", AZ: "[bb2,bb3] ~ [a2,a3]@2 [ab2,ab3] ~ [ab3,bb3,d4,f4] ~",
BA: "[g2,g3] ~ [g3,bb3,c4,e4] ~ [gb2,gb3] ~ [gb3,bb3,c4,eb4] ~", // G C7 Gb Cm7b5
BB: "[f2,f3] ~ [f3,bb3,d4] ~ [eb2,eb3] ~ [eb3,f3,a3,c4] ~", BC: "[d2,d3] ~ [f3,bb3,d4] ~ [d2,d3] ~ [f3,bb3,d4] ~",
BD: "[f2,f3] ~ [f3,a3,d4] ~ [gb2,gb3] ~ [gb3,a3,c4,d4] ~", // F Dm Gb D7
BE: "[a2,a3] ~ [gb3,a3,c4,d4] ~ [d2,d3] ~ [gb3,a3,c4,d4] ~", // A D7 D D7
BF: "[g2,g3] ~ [g3,bb3,d4] ~ [eb2,gb3] ~ [gb3,bb3,eb4] ~", BG: "[d2,f3] ~ [f3,g3,b3,d4] ~ g1 ~ [f3,g3,b3,d4] ~",
BH: "~@2 f3 ~@3 eb3 ~@3 d3 ~@3 c3 ~", BI: "~@2 bb2 ~@3 a2 ~@3 g2 ~@5", BJ: "bb2 ~ [f3,bb3,d4] ~ f1 ~ [f3,bb3,d4] ~",
BK: "[d2,f3] ~ [bb3,d4] ~ [db2,e3] ~ [g3,bb3,db4] ~", BL: "[c2,eb3] ~ [f3,a3,c4,eb4] ~ f1 ~ [f3,a3,c4,eb4] ~",
BM: "[[g2,bb3] [gb2,a3] [g2,bb3] a3 [f2,ab3] [f3,ab3,bb3,d4] bb1 [f3,ab3,bb3,d4], ~@6 gb2@3 ~@7]/2", // Gm Gbm Gm Fm Bb7
BN: "[eb2,g3] ~ [bb3,eb4,g4] ~ bb1 ~ [bb3,eb4,g4] ~", BO: "[eb2,g3] ~ [g3,bb3,c4,eb4] ~ bb1 ~ [ab3,bb3,d4,f4] ~",
BP: "[eb2,g3] ~ [g3,bb3,c4,eb4] ~ [eb2,gb3] ~ [gb3,bb3,c4,eb4] ~", BQ: "[d2,f3] ~ [f3,bb3,d4] ~ f1 ~ [f3,bb3,d4] ~",
BR: "[c2,g2,c3]@2 [d2,g2,d3] ~ [eb2,bb2,eb3]@2 [e2,bb2,e3]@2", // C5 G5 Eb5 Edim
BS: "[f2,bb2,f3] ~ [f3,bb3,d4] ~ f1 ~ [f3,a3,c4,eb4] ~", BT: "bb1 ~ [f3,bb3,d4] ~ f1 ~ [f3,a3,c4,eb4] ~",
BU: "[bb1,d3]@2 [c2,g2,e3] ~", BV: "[f1,a2]@2 ~@2 bb2 ~ [bb3,c4,e4] ~",
BW: "[a2,c4] ~ [a3,c4] ~ [ab2,b3] ~ [ab3,b3,d4] ~", BX: "[g2,bb3] ~ [bb3,c4,e4,g4] ~ [ab2,b3] ~ [ab3,b3,d4,f4] ~",
BY: "[g2,bb3] ~ [g3,c4,eb4] ~ f2 ~ [g3,bb3,d4,f4] ~", BZ: "f2 ~ [a3,c4,f4] ~ gb2 ~ [a3,c4,eb4,gb4] ~",
CA: "g2 ~ [bb3,c4,e4,g4] ~ c2 ~ [bb3,c4,e4,g4] ~", CB: "g2 ~ [g3,bb3,c4,e4] ~ f2 ~ [g3,bb3,c4,e4] ~",
CC: "f2 ~ [a3,c4,f4] ~ d2 ~ [ab3,b3,d4,e4] ~", CD: "e2 ~ [g3,a3,db4,e4] ~ d2 ~ [g3,a3,db4,e4] ~",
CE: "db2 ~ [g3,a3,db4,e4] ~ a1 ~ [g3,a3,db4,e4] ~", CF: "d2 ~ [gb3,a3,d4] ~ a1 ~ [gb3,a3,d4] ~",
CG: "bb1 ~ [g3,b3,d4] ~ db2 ~ [g3,bb3,db4] ~", CH: "d2 ~ [g3,b3,d4] ~ g2 ~ [g3,b3,d4,f4] ~", CI: "[c3,c4] ~@7",
CJ: "~@3 c2", CK: "f2 ~ [a3,c4,f4] ~ bb2 ~ [bb3,c4,e4] ~", CL: "a2@2 [a3,c4,f4] ~ ab2 ~ [ab3,b3,d4] ~",
CM: "g2@2 [g3,c4,e4] ~ f2@2 [f3,g3,bb3,d4] ~", CN: "e2@2 [g3,bb3,c4,e4] ~ gb2@2 [gb3,a3,d4] ~",
CO: "[g2,g3]@2 [a2,a3] ~ [bb2,bb3]@2 [b2,b3] ~", CP: "[c3,c4]@2 [d3,d4] ~ [c3,c4]@2 [bb2,bb3] ~",
CQ: "[a2,a3] [eb3,eb4] d4 [db3,db4], ~ d3", CR: "[c3,c4]@2 [b2,b3]@2 [bb2,bb3] ~ [g3,bb3,c4,e4] ~",
CS: "[a2,a3] ~ [a3,c4,f4] ~ [c2,c3] ~ [a3,c4,d4,f4] ~", CT: "[f2,f3] ~ [a3,c4,f4] ~ [gb2,gb3] ~ [a3,c4,eb4] ~",
CU: "[g2,g3] ~ [g3,bb3,c4,e4] ~ [f2,f3] ~ [f3,a3,c4,d4] ~", // G C7 F Dm7
CV: "[e2,e3] ~ [g3,bb3,c4,e4] ~ [gb2,gb3] ~ [gb3,a3,c4,eb4] ~", // E C7 Gb Gbdim
CW: "[g2,g3] ~ [g3,bb3,c4,e4] ~ [f2,f3] ~ [f3,ab3,b3,d4] ~", // G C7 F Fdim
CX: "[e2,e3] ~ [g3,bb3,c4,e4] ~ [c2,c3] ~ [g3,bb3,c4,e4] ~", // E C7 C C7
CY: "[f2,f3] ~ [f3,a3,c4,d4] ~ [d2,d3] ~ [gb3,a3,c4,d4] ~", CZ: "[g1,g2] ~ [bb3,d4,g4] ~ [c2,c3] ~ [bb3,c4,e4,g4] ~",
DA: "[f2,f3] ~ [a3,c4,f4] ~ [c2,c3] ~ [a3,c4,d4,f4] ~", DB: "[a2,a3] ~ [a3,c4,f4] ~ [ab2,ab3] ~ [ab3,b3,d4,f4] ~",
DC: "[f2,f3] ~ [a3,c4,f4] ~ [c2,c3] ~ [g3,bb3,c4,e4] ~", DD: "[f2,f3] ~ [a3,c4,f4] ~ [d2,d3] ~ [g3,a3,db4,e4] ~",
DE: "~@2 [g3,a3,db4,e4] ~@3 [g3,a3,db4,e4] ~, e2 a1", DF: "e2@2 [g3,a3,db4,e4] ~@3 [g3,a3,db4,e4] ~, ~ a1",
DG: "[~@12 c4@15 ~ [d2,gb3]@4, d2@27 ~@5, ~@4 a2@23 ~@5, ~@8 gb3@19 ~@5]/2", // D
DH: "[g2,f3] ~ [f3,g3,b3,d4] ~ g2 ~ [f3,g3,b3,d4] ~", DI: "[d2,f3] ~ [f3,g3,b3,d4] ~ g2 ~ [f3,g3,b3,d4] ~",
DJ: "[~@12 bb3@15 ~ [e2,b2,ab3]@4, c2@27 ~@5, ~@4 g2@23 ~@5, ~@8 e3@19 ~@5]/2", // E
DK: "[f2,c3,a3] ~ [a3,c4,f4] ~ c2 ~ [bb3,c4,e4,g4] ~", DL: "[f2,a3] ~ [a3,c4,f4] ~ [ab2,f3,b3] ~ [ab3,b3,d4] ~",
DM: "g2 ~ [f3,g3,b3,d4] ~ d2 ~ [gb3,a3,d4] ~", // G7 D
DN: "[[c3,c4]@2 [db3,db4] ~ [d3,d4]@2 c3@2 [b2,b3]@2 [b3,d4,f4] ~ [bb2,bb3] ~ [bb3,c4,e4,g4] ~, ~@3 c4@2 ~@3]/2", // C Db D B Bdim Bb C7
DO: "[f2,f3] ~ [e2,e3] ~ [eb2,eb3] ~ [a3,c4] ~", DP: "[d2,d3] ~ [db2,db3] ~ [bb3,db4] ~ [db2,db3] ~",
DQ: "[c2,c3] [b1,b2] [ab3,b3] [b1,b2]", DR: "[[c2,c3]@4 [f2,f3]@15 ~@5]/3",
})).s("gm_piano").gain(0.25)
stack(piano, piano_2)
More by Fats Waller
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.