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, A@4 for four bars: 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 AJ AH AO AP AQ AR AS AT AU AV AW AX AY AH AN AH AZ AH AO BA BB BC BD@2 BE BF@2 BG BH BI BJ@2 BK BL BM BN BO BP BQ
BR BS@2 BT BU BV@6 BW@2 BX BY BZ CA CB CC CD K CE AH CF CG CH K CI CJ CK K CL CM CN CO CP@2 CQ@2 CR CS CT CU CV CW CX
CY CZ DA@2 DB DC DD DE DF DG DH DI DJ DK DL DM DN DO DP@3 DQ ~ DR DS DT ~ DU DV DW DX DV DY@2 DZ EA EB EC ED@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", AO: "c7 [d6,f6,bb6] ~ [c6,e6,a6] ~ [bb5,d6,g6] ~ c6",
AP: "f6 g5 ab5 a5 c6 [e5,bb5,d6] c6@2", AQ: "[a5,f6]@9 ~ [b5,d6,g6]@4 db7@2",
AR: "b6 db7 b6@2 a6@2 a6@2 gb6 a6 gb6@2 e6@2 e6@2", AS: "db6 e6 db6@2 b5@2 a5@2 [db6,e6,a6]@6 gb6@2",
AT: "e6 gb6 e6@2 d6@2 d6@2 b5 d6 b5@2 a5@2 a5@2", AU: "gb5 a5 gb5 ~ e5@2 ~@2 d5@2 [gb5,a5,d6]@4 g6@2",
AV: "e6 g6 e6@2 d6 ~ c6@2 b5 c6 b5@2 a5 ~ b5@2", AW: "a5 b5 a5@2 g5@2 b5@2 a5 b5 a5@2 g5@2 e6@2",
AX: "d6 e6 d6@2 c6@2 bb5@2 a5 bb5 a5@2 g5@2 e5@2", AY: "d5 e5 d5@2 c5@2 ~@2 c5@2 [e5,g5,bb5,c6] ~@5",
AZ: "c7@2 [c6,e6,bb6]@2 ~@2 [f6,c7,e7]@2 ~@2 [f6,b6,d7]@3 ~@3", // C7 Fmaj7 Bdim
BA: "[a5,f6] c6@2 a5 g5@2 ab5@2 [bb5,d6]@2 [e5,g5,c6]@2 ~@4", BB: "[a5,c6,f6]@8 ~@2 f4@3 ~@3",
BC: "f4 ~ f4@3 ~@3 gb4@3 ab4 gb4@2 ~@2",
BD: "[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
BE: "[f4,a4,c5,f5]@4 ~@6 [a3,c4,f4]@2 ~@3 g4", // F
BF: "[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
BG: "[d5,f5,bb5,d6]@2 ~@2 [c5,eb5,f5,g5,bb5]@2 ~ [d5,f5,g5,bb5]", // Bb Cm7 Gm7
BH: "~@2 [f5,g5,bb5] d5@5 [f4,c5,eb5,f5]@6 [g4,g5]@2", BI: "~@3 [c5,g5]@3 [g4,db5]@4 [f5,d6]@2 bb5@2 f5@2",
BJ: "[[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
BK: "[bb4,d5,f5,bb5]@9 ~ [bb4,d5,bb5]@2 [bb4,bb5]@3 d5", BL: "[a4,d5,a5]@5 [bb4,d5,gb5,bb5]@2 [c5,d5,gb5,c6]",
BM: "[c5,d5,c6]@2 gb5@3 [c5,d5,gb5]@2 [bb4,g5,bb5]", BN: "[bb4,g5,bb5]@3 db6 [d5,d6] bb5 [c5,gb5,c6]@2",
BO: "[d5,gb5,b5,d6]@5 g5@2 [e5,g5,bb5,c6]", BP: "~@2 [bb5,c6] [e5,g5]@3 g5@2 [d5,bb5]@8",
BQ: "[c5,e5,a5]@3 [c5,e5,a5]@3 [c5,e5,a5]@3 ~ [bb4,e5,g5] d5@5", BR: "[f2,f3] ~ [eb2,eb3] ~ [d2,d3] ~ [c2,c3] ~",
BS: "[[bb1,bb2]@2 [a1,a2]@2 [g1,g2]@2 [f1,f2]@4 bb4@2 ~ [d4,f4,g4]@2 g5]/2", BT: "bb4 d5 e5@2 a5 [bb4,e5,g5]@2 f5",
BU: "g5@2 c5@2 [eb5,f5]@3 g5 [d5,f5]@3 f5 [db5,e5]@2 f5@2", // Ebsus2 Dm Dbm
BV: "[[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 …
BW: "[[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
BX: "[a4,d5,f5]@9 ~ [g4,b4,d5,g5]@4 [c5,g5,bb5,c6]@2, a5@5 ~@3", // Dm G C7
BY: "[bb4,eb5,bb5]@3 g5 [bb4,eb5,bb5] ~ [g4,f5,g5]@2", // Eb5 G7
BZ: "[f4,db5,f5]@4 [bb4,d5] g5 [f4,d5,f5]@4 [f4,c5,eb5]@4 bb4@2", // Db Bb Dm F7
CA: "[f4,bb4,d5,f5]@4 [db5,e5]@3 g5 [d5,f5] ~ [d5,f5]@2 [c5,eb5]@2 f5@2", CB: "[bb4,d5]@4 [c4,e4,bb4,c5] ~@3",
CC: "~ c4 d4 e4 f4 g4 a4 bb4", CD: "c5@2 [f4,a4]@2 ~@3 e5@3 [f4,ab4,b4,d5]@2 ~@4",
CE: "~@2 [d5,e5,g5,bb5]@2 ~@3 e6@3 [f5,ab5,b5,d6]@2 ~@4, c6 ~@3", // Em7b5 Fdim
CF: "[d6,f6,c7]@3 bb6@3 [c6,e6,a6]@2 ~@2 [bb5,d6,g6]@2 ~@2 [c6,a6,c7]@2", // Dm7 Am Gm F
CG: "f6@3 c6 d6@2 e6@2 f6@2 g6@2 a6@2 bb6@2", CH: "c7 [d6,f6,bb6] ~ [c6,e6,a6] ~ [bb5,d6,g6] ~@2",
CI: "c6@2 [f5,a5] c5@3 [f5,c6,e6]@2 ~@2 [f5,b5,d6]@2 ~@4", CJ: "~@3 c5 d5@2 e5@2 f5@2 g5@2 a5@2 bb5@2",
CK: "c6 [d5,f5,bb5] ~ e6 ~ [f5,b5,d6] ~@2", CL: "c6@2 [d5,f5,bb5] [c5,e5,a5] ~@3 c5, ~ [bb4,d5,g5]",
CM: "~ g4 ab4 a4 c5 [g4,bb4,d5]@2 c5, f5 ~@3", CN: "[a4,f5] f4 ~ f4@2 [b4,d5,gb5]@2 e5",
CO: "a5 ~ a4@3 [db5,gb5,a5] ~ [db5,gb5,a5]", // Gbm
CP: "[~@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
CQ: "[[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
CR: "[b4,f5,g5]@2 a4 ~ g4@4, ~@6 [b4,f5,g5]@5 ~@5", CS: "~ [g4,a4] [bb4,b4] c5@3 c4@4 c4@4 c4@2", CT: "ab4!2 g4@2",
CU: "~ [a4,c5,f5]@2 ab4 a4 c5 [g4,d5]@2", CV: "[a4,c5,f5]@3 [b4,e5] [f4,bb4,d5]@3 d5", CW: "bb4 a4 bb4 b4 c5 ~ g4 c5",
CX: "[bb4,d5]@4 ~ [d5,gb5,a5,c6]@2 d6", CY: "[g5,bb5] d5 e5 gb5 g5 a5 bb5 b5",
CZ: "c6 [d5,f5,bb5]@2 [c5,e5,a5]@2 [bb4,d5,g5]@2 e5", // Bb Am Gm
DA: "[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
DB: "[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
DC: "[ab5,db6] [a5,c6] ~ [d5,g5] [db5,gb5] [c5,f5] ~ [e5,a5]", // Db5 Am G5 Gb5 F5 A5
DD: "[eb5,ab5] [d5,g5] ~ [g5,d6] [ab5,db6] [a5,c6] ~ [e6,a6]", // Ab5 G5 Db5 Am A5
DE: "[eb6,ab6] [d6,g6] ~ [g6,d7] [ab6,db7] [a6,c7] ~ [d7,a7]", // Ab5 G5 Db5 Am D5
DF: "[eb7,ab7]@2 [e7,g7] ~@3 [a6,d7]@2 [ab6,db7]@2 [a6,c7] ~@3 [e6,a6]@2", // Ab5 Em D5 Db5 Am A5
DG: "[eb6,ab6]@2 [d6,g6]@2 ~@2 [a5,d6]@2 [ab5,db6]@3 [g5,c6] ~@2 [c6,g6]@2", // Ab5 G5 D5 Db5 C5
DH: "[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
DI: "[bb5,eb6]@2 [b5,d6] ~@3 [e5,bb5,d6]@2 ~@2 [e5,bb5,c6]@2 ~@2 [c6,g6]@2", // Eb5 Bm Em7b5 C7 C5
DJ: "[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
DK: "[db6,gb6] [d6,f6] ~ [g5,d6] [ab5,db6] [a5,c6] ~ [d6,a6]", // Gb5 Dm G5 Db5 Am D5
DL: "[eb6,ab6] [e6,g6] ~ [g5,d6] [ab5,db6] [a5,c6] ~ [d5,a5]", // Ab5 Em G5 Db5 Am D5
DM: "[eb5,ab5] [e5,g5] ~ [g5,d6] [ab5,db6] [a5,c6] ~ [d6,a6]", // Ab5 Em G5 Db5 Am D5
DN: "[eb6,ab6] [e6,g6] ~ [g6,d7] ab6 [a6,c7] ~ [d6,a6]", // Ab5 Em G5 Am D5
DO: "[eb6,ab6] [e6,g6] ~ [g5,d6] [ab5,db6] [a5,c6] ~ [c5,g5]", // Ab5 Em G5 Db5 Am C5
DP: "[[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 …
DQ: "[db5,gb5,a5] ~ [db5,gb5,a5] [b4,e5]@2 [db5,gb5] [b4,e5] ~", DR: "~ e5, e4, ~@4 gb4@11 ~",
DS: "~ [b4,e5,f5,g5] ~ [b4,e5,f5,g5] ~ [b4,e5,f5,g5] ~ [b4,e5,f5,g5]", DT: "~ [b4,e5,f5,g5] ~ [b4,e5,g5] g4@4",
DU: "~ d5, e4@15 ~, ~@4 g4@11 ~", DV: "~@2 [f5,a5,c6,d6,f6]@2 ~ [f5,a5,c6,d6,f6] ~@2",
DW: "[f5,a5,c6,d6,f6]@2 ~ [f5,a5,c6,d6,f6] ~@2 [f5,a5,c6,d6,f6]@2", // Dm7
DX: "~ [f5,a5,c6,d6,f6] ~@2 [f5,a5,c6,d6,f6] ~@2 [f5,a5,c6,d6,f6]", // Dm7
DY: "[[f5,a5,c6,d6,f6] ~@2 ab5 a5 d6 a5 ab5@2 [g5,ab5] ~@2 [g5,ab5] f5 d5@2]/2", // Dm7 Abmaj7
DZ: "~@3 f3 ~@2 f3@2 ~@4 [d4,eb4,f4]@2 ~@2", EA: "~ f3 ~@2 [e4,f4,g4,bb4] ~@2 f3",
EB: "~@3 f3 ~@4 [d4,f4,g4,ab4]@2 ~@6", EC: "[bb3,e4,g4,c5]@8 a3@2 eb4@2 ~ g4@3",
ED: "[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.