0:00/0:00
// Zoot Suit Riot — Cherry Poppin' Daddies
// 275 bpm, 6/8, key G# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 9 "Seq. by Chris McMartin" muted trumpet (copy of ch 4 "Trumpet" trumpet)
// note: Full arrangement: all 350 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(275/3)
// 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.
// other · electric guitar jazz · "Guitar"
const electric_guitar_jazz = note("<~@12 A B C ~@325 A B D ~@7>".pickRestart({
A: "b4@2 ~ b4@2 b4@2 ~ f4@3 f4@2 f4@2 ~", B: "b3@2 ~ b3@2 b3@2 ~ g#3@2 ~ g#3@2 g#3@2 ~", C: "d#3@5 ~@11",
D: "d#3@5 f3@3 g3@5 g#3@3",
})).s("gm_electric_guitar_jazz").gain(0.41)
// bass · acoustic bass · "Bass"
const bass = note(`<
~@15 A B C D E B F G H B C D E I J K L B C D E B F G H B C D E I J K L M N@2 O P Q R S T U V W X Y Z@2 AA@2 AB AC AD
AE AF@2 AG AH AG AI G AJ AK AL AM AN AO AP AO AQ AR@2 AO AS@2 AT AU H AV AW AX AN AO AP AO AQ AR@2 AO AS@2 AT AU H AV
AW B C D E B F G H B C D E B F K L M N@2 O AY AU AZ S T U V BA@2 Y Z@2 BB BC BD BE BF BG BH BI BJ BK BL BE BM BN BO BP
AX AN AO AP AO AQ AR@2 AO AS@2 AT AU H BQ@2 BR BS BT ~ BU BV BW BX BY BZ CA CB CC BZ CD CE CF BS BT ~ CG CH CI CE BY
BZ CA CB CJ CK CL CM CN ~@37 CO@2 AG AH CP CQ CR CS CT BY CP CU CV BX CW CX CY CP AM AN AO AP AO AQ AR@2 AO AS@2 AT AU
H AV AW AX AN AO AP AO AQ AR@2 AO AS@2 AT AU CZ DA@2 DB BS BT BS DC DD CI CE BY BZ CA CB DE DD CI CE DB BS BT DF DG BV
BW BX BY BZ CA CB CC BZ DH DI DJ ~@14 DK@5 ~ DL
>`.pickRestart({
A: "~@5 d#1@3 g1@5 ~@3", B: "g#1 b1", C: "d#2@7 g#2 a#2@7 g#2", D: "a#2 f#2", E: "d#2 b1", F: "f#2@5 ~@3 d2@8",
G: "d#2 f#2", H: "d#2 g1", I: "a#1 g1", J: "a#1@5 ~@3 b1@8", K: "~@5 g1@11, d#2@9 ~@7", L: "~@5 d#1@3 f#1@8, g#1 ~",
M: "g#1@7 ~ a#1@8", N: "[b1@7 ~ g#2@5 d#2@2 f#2@8 ~ d2@8]/2", O: "d#2@7 ~ b1@8", P: "a#1 g#1", Q: "a#1 b1",
R: "d#2@5 ~@3 g2@8, ~@4 d#2 ~@3", S: "d#2@7 ~ g1@6 ~@2", T: "g#1@8 a#1@7 ~", U: "b1@8 g#2@5 d#2@3", V: "f#2 d2",
W: "d#2@7 b1@9", X: "a#1@7 ~ g#1@7 ~", Y: "a#1@4 b1@11 ~", Z: "[~ d#2@4 g1@5 ~@14 f#1@8, ~@13 g#1@16 ~@3]/2",
AA: "[c#2@8 ~@8 g#2@7 ~ d#3@6 ~@2, ~@8 e2@10 ~@5 c#3@3 ~@6]/2", AB: "d#3 c#3, c#3 ~@7", AC: "~ b2@7 c#3@8",
AD: "d#3 b2", AE: "a#2 g2", AF: "[g#2 ~ d#2 e2, ~@4 f#2@5 ~@7]/2", AG: "c#2 g#1", AH: "b1 c2", AI: "c#2@3 ~ c#2@4",
AJ: "~ d2, g2@5 ~@3", AK: "d#2@7 ~ d#2@8", AL: "f#2@5 d#2@3 c#2@5 d#2@3", AM: "g#1@5 ~@3 a#1@5 ~@3",
AN: "b1@5 ~@3 d#2@8", AO: "g#1 a#1", AP: "~ d#2, b1@5 ~@3", AQ: "~ d2, b1@5 ~@3",
AR: "[d#2 ~ f#1 g1, ~@4 g1@5 ~@7]/2", AS: "[b1 ~ g#1 a#1, ~@4 d#2@5 ~@7]/2", AT: "b1 d#2", AU: "g#1 d2",
AV: "g#1@6 ~@2 g#1@7 ~", AW: "d#2@6 ~@2 b1@7 ~", AX: "g#1@5 ~@3 a#1@5 ~@3, d#2 ~@7", AY: "a#1 a1",
AZ: "d#2@5 ~ d#2@2 g2@8", BA: "[d#2@7 ~@9 a#1@7 ~ g#1@7 ~, ~@4 b1@5 ~@7]/2", BB: "c#2@3 ~ e1@3 ~",
BC: "g#1@3 ~ b1@3 ~", BD: "c2@6 ~@2 c#2@7 ~", BE: "d#2@3 ~ f#2@3 ~", BF: "g#2@5 ~@3 f#2@7 ~, ~@3 d#2@2 ~@3",
BG: "d#2@2 ~@2 e2@3 ~, ~@3 b1@2 ~@3", BH: "d#2@5 ~@3 b1@6 ~@2", BI: "a#1@3 ~ g#1@3 ~", BJ: "c#2@8 g#1@7 ~",
BK: "b1@3 ~ c2@3 ~", BL: "c#2@3 ~ c#2@3 ~", BM: "g2@5 ~@3 d#2@6 ~@2", BN: "c#2@6 ~@2 d2@7 ~", BO: "c#3@5 ~@3 g2@7 ~",
BP: "d#2@3 ~ c#2@3 ~", BQ: "[g#1@6 ~@7 g#1@11 ~@8]/2", BR: "b1@3 ~@10 a#1@3", BS: "~@13 g#1@3", BT: "~@13 a#1@3",
BU: "g1 d2", BV: "g2 e2", BW: "c#3 b2", BX: "g#2 e2", BY: "d#2 g#1", BZ: "f#1 c#2", CA: "b1 g#1", CB: "f#1 a#1",
CC: "b1 e1", CD: "g1@8 a#1@5 ~@3", CE: "c#2 e2", CF: "b1@8 ~@5 a#1@3", CG: "g#1 c#2", CH: "f#1 d#2", CI: "g1 a#1",
CJ: "b1 f#1", CK: "c#2 g1", CL: "d2 g1", CM: "a#1 c#2", CN: "g#1@11 ~@5", CO: "[d#2@5 g1@3 ~@5 g#1@11 f#1@5 g#1@3]/2",
CP: "c#2 d#2", CQ: "f#2 g2", CR: "g#2 b2", CS: "g#2 f#2", CT: "d#2 e2", CU: "e2 g#2", CV: "d#3 c#3", CW: "g2!2",
CX: "c#3 d2", CY: "d#2 g2", CZ: "d#2@9 ~@7", DA: "[g#1@6 ~@7 g#1@11 ~@8, g1 ~@31]/2", DB: "b1@5 ~@8 a#1@3",
DC: "~@8 c#2@3 ~@5", DD: "f#1 d2", DE: "e1 b1", DF: "~@13 g1@3", DG: "~@8 d2@3 ~@5", DH: "g1 g#1", DI: "c#2 d2",
DJ: "g#1@5 ~@11", DK: "[~@13 g#1@67]/5", DL: "~@8 g#1@3 ~@5",
})).s("gm_acoustic_bass").gain(0.41)
// chords · piano
const piano = note(`<
~@16 A@2 B@2 C ~ D@2 E@2 F G ~ H I@3 J ~ K L M N O P Q R S@2 T U@2 V W X Y Z ~ AA AB W AC AD AE AF AG AH ~ AI AJ AK AL
AM AN ~ AO AP AQ AR AS AT AU AV AW AX AY ~ AZ J BA BB BC BD BE BF BG BH BI BJ J BK BL BM BN BO BP BQ BR BS BT BU ~ BV
BW ~@3 BX BY BZ CA CB CC CD CE CF CG CH ~ CI CJ CG ~ CK CL CM CN CO CP CQ ~ CR CE CS CT CU CV ~ CW CX CY CZ ~ DA ~@2
DB DC DD DE AT DF BQ DG DH DI DJ DK DL DM ~ DN DO DP DQ DR DS DT DU ~ DV DW DX ~ DY DZ EA EB DX DW DX ~ DY DZ EC EB DX
DW DX ~ DY DZ ~ EB DX DW DX ~ DY DZ EC ED ~@24 EE EF EE EF EE EF EE EF EE EF EE EF EE EG EH ~ AQ EI EJ EK CG EL ~ EM
EN EO EP ~ AT EQ BQ ~ ER ES ET EU EV EW EX EY EZ FA FB FC FD FE FF FG FH@4 FI FJ FK FL FM FN FO ~ FP FQ FR FS FT FU@2
FV DY DZ EA FU@4 FV DY DZ FW FX@4 EN DY DZ EA FU FX@3 EN DY DZ EC FY ~@17 FZ GA GB GC GD
>`.pickRestart({
A: "[~@8 [g#4,b4,d#5]@18 ~@3 [g#4,b4,d#5]@3]/2", B: "~@5 [g#4,b4,d#5]@4 ~@4 [g#4,b4,d#5]@3",
C: "d#4@5 b3@3 d#4@5 b3@3", D: "~@5 [g4,b4,d#5]@3 ~@5 [g4,b4,d#5]@3",
E: "[[b3,d#4,g#4]@3 ~@5 [g#4,b4,d#5]@21 [g#4,b4,d#5]@3]/2", F: "~@5 [g#4,b4,d#5]@3 ~@5 [g#4,b4,d#5]@3",
G: "d#4@3 ~@2 b3@3 d#4@3 ~@2 b3@3", H: "[g#4,b4,d#5]@5 g4@3 ~@8",
I: "[[a#3,d#4,g4]@5 [a#3,d#4,g4]@3 ~@5 [b3,d#4,g#4]@21 ~@3 [b4,d#5,g#5]@3 ~@5 [d#4,g#4,b4]@3]/3", // D# G#m
J: "~@5 [b4,d#5,g#5]@3 ~@8", K: "[b4,d#5,g#5]@3 ~@5 [g#4,g#5]@3 ~@2 [d#4,d#5]@3", L: "~@12 a#4 [b4,d#5]@3",
M: "~@5 [g#4,d#5]@3 d#4@3 ~@2 c#4@3", N: "~@5 [g4,b4,d#5]@3 d#4@3 ~@2 [g4,b4,d#5]@3",
O: "f#4@3 ~@2 d#4@3 ~@5 [g#4,b4]@3, ~ c#4", P: "~@5 b4@3 g#4@5 d#4@3", Q: "~@5 [g#4,b4,d#5]@11",
R: "~@5 d#4@3 ~@5 [g#4,b4,d#5]@3", S: "[~@5 d#4@3 ~@5 [g#4,b4,d#5]@11 [g#3,b3,d#4]@3 ~@5]/2",
T: "[g#3,b3,d4]@3 ~@5 [g#3,b3,d#4]@3 ~@5", U: "[~@5 [a#3,d#4,g4]@3 ~@5 [b3,d#4,g#4]@11 [b3,d#4]@8]/2",
V: "~@13 d#4@3", W: "[a#4,d#5]@3 ~@2 b4@3 ~@5 d#4@3", X: "[a#4,d#5]@3 ~@2 b4@3 ~@5 [b4,d#5]@3",
Y: "~@5 b4@3 g#4@3 ~@4 d5", Z: "[d#5,g#5]@3 ~@13", AA: "~@5 [d#4,c#5,d#5]@3 ~@5 [d#4,c#5,d#5]@3",
AB: "~@5 a#4@3 g4@3 ~@2 d#4@3", AC: "[a#4,d#5]@3 ~@2 b4@3 g#4@3 ~@2 d#4@3", AD: "~@13 [d#4,g#4]@3",
AE: "~@5 d#4@3 [g4,d#5]@3 ~@5", AF: "[g4,g#4,d#5]@3 ~@13", AG: "d#4@3 ~@2 [g4,g#4,d#5]@3 ~@8",
AH: "[g4,g#4,d#5]@3 ~@2 d#4@3 ~@5 [d#4,g#4,d#5]@3", AI: "~@5 [d#4,g#4]@3 e4@3 ~@2 [c#4,g#4]@3",
AJ: "~@5 [c#4,g#4]@3 ~@4 d#4 [e4,g#4]@3", AK: "~@5 [c#4,g#4]@3 ~@5 [b3,g#4]@3", AL: "~@5 [c#4,g#4]@3 ~@8",
AM: "~@8 [d#4,g#4,d#5]@3 ~@5", AN: "d#4@3 ~@2 [g#4,d#5]@3 d#4@3 ~@2 [g#4,d#5]@3", AO: "~@5 [d#4,g#4,d#5]@3 ~@8",
AP: "~@5 [d#4,g#4]@3 e4@3 ~@5", AQ: "[d#4,g#4]@3 ~@2 [e4,g#4]@3 ~@5 [c#4,g#4]@3",
AR: "~@5 [e4,g#4]@3 [d#4,g4]@3 ~@2 [e4,g#4]@3", AS: "[c#4,d#4]@3 ~@2 e4@3 [g#3,c#4]@3 ~@5",
AT: "~@5 [d#4,c#5,d#5]@3 ~@8", AU: "c#5@3 ~@2 g4@3 d#4@3 ~@2 [a#4,d#5,g5]@3", AV: "~@5 [a#4,d#5]@3 [a#4,c#5]@3 ~@5",
AW: "~@8 [a#4,d#5]@3 ~@5", AX: "~@5 [g#4,a#4,b4]@3 ~@8", AY: "[b4,d#5,g#5]@3 ~@10 [b4,d#5,g#5]@3",
AZ: "b4@3 ~@2 g#4@3 ~@5 [b4,d#5,g#5]@3", BA: "[a#4,d#5,g#5]@3 ~@2 [b4,d#5,g#5]@3 ~@5 [a#4,d#5,g5]@3",
BB: "~@13 d#5@3", BC: "c#5@3 ~@2 d#4@3 f#4@3 ~@5", BD: "~@5 [g#4,a#4,d#5]@3 [g#4,b4,d#5]@3 ~@5",
BE: "[g#4,a#4,d#5]@3 ~@2 [g#4,b4,d#5]@3 ~@4 d5 [d#5,g#5]@3", BF: "~@13 [g#4,a#4,d#5]@3", BG: "~@5 [g#4,b4,d#5]@3 ~@8",
BH: "~@8 [b4,d#5,g#5]@3 ~@5", BI: "[a#4,d#5,g5]@3 ~@5 [a#4,d#5,g5]@3 ~@5", BJ: "[b4,d#5,g#5]@3 ~@13",
BK: "~@4 a#5 [g#5,b5,d#6]@3 ~@8", BL: "[g#4,b4,d#5]@3 ~@10 [d#4,g#4,a#4,d#5]@3",
BM: "~@4 a#4 [d#4,g#4,b4,d#5,g#5]@3 ~@4 a#4 [d#4,g#4,b4,d#5,g#5]@3", BN: "~@8 a#4@3 ~@2 b4@3",
BO: "[b4,d#5,g#5]@3 ~@5 g#4@3 ~@5", BP: "d#4@3 ~@5 g#4@3 ~@2 [g4,a#4,c#5,d#5]@3", BQ: "~@13 [d#4,g4,c#5,d#5]@3",
BR: "~@13 [g#4,b4,d#5]@3", BS: "~@12 d5 [g#4,b4,d#5]@3", BT: "~@5 b4@3 ~@5 [b3,d#4,g#4]@3", BU: "~@13 [b4,d#5,g#5]@3",
BV: "[b4,d#5,g#5]@5 ~@3 [b4,d#5,g#5]@3 ~@5", BW: "[a#4,d#5,g5]@3 ~@10 [b4,d#5,g#5]@3",
BX: "[b4,d#5]@3 ~@5 [d#5,g#5]@3 ~@2 [b4,d#5]@3", BY: "~@8 [d#4,g#4]@3 ~@5", BZ: "[d#4,g#4]@3 ~@5 [d#4,g#4]@3 ~@5",
CA: "d#4@3 ~@2 b3@3 ~@5 d#4@3", CB: "[g#4,a#4,d#5]@3 ~@2 b4@3 ~@5 d#4@3",
CC: "~@5 [d#4,g4,c#5,d#5]@3 ~@5 [d#4,g4,c#5,d#5]@3", CD: "~@5 a#4@3 f#4@3 ~@5", CE: "~@15 a#4",
CF: "[g#4,b4,d#5]@3 ~@10 [g#4,d#5,g#5]@3", CG: "~@8 g#4@3 ~@5", CH: "[g#4,d#5]@3 ~@2 g#5@3 ~@5 [g#4,d#5,g#5]@3",
CI: "[g#4,b4,g#5]@3 ~@5 [d#4,d#5]@3 ~@5", CJ: "d#4@3 ~@2 [a#3,d#4,g4]@3 ~@5 [b3,d#4,g#4]@3",
CK: "[d#4,g#4,a#4]@3 ~@2 b4@3 ~@8", CL: "~@5 [d#4,g#4,d#5]@3 ~@5 [d#4,g#4,d#5]@3", CM: "~@13 [d#4,g4,g#4,d#5]@3",
CN: "d#4@3 ~@5 d#4@3 ~@5", CO: "[d4,d#4]@3 ~@5 d#4@3 ~@5", CP: "~@5 [c#4,d#4,g4]@3 ~@5 [c#4,d#4]@3",
CQ: "~@5 [d#4,g4,c#5]@3 ~@4 a#4 [b3,d#4,b4]@3", CR: "~@12 d5 [g#4,d#5,g#5]@3", CS: "[d#4,g#4,b4]@3 ~@2 g#4@3 ~@8",
CT: "~@8 [g#4,b4,d#5,g#5,g#6]@3 ~@5", CU: "[d#4,g#4,b4,d#5,d#6]@3 ~@2 [g#4,b4,d#5,g#5,g#6]@3 ~@8",
CV: "[g4,d#5,g5,g6]@3 ~@2 [d#4,g4,d#5,d#6]@3 ~@5 [g#4,b4,d#5,g#5,g#6]@3", CW: "~@5 d#4@3 [e4,g#4]@3 ~@2 [c#4,g#4]@3",
CX: "~@5 [d#4,g#4]@3 ~@4 d#4 [e4,g#4]@3", CY: "~@5 [c#4,g#4]@3 ~@5 [d#4,g#4]@3", CZ: "~@5 [e4,g#4]@3 ~@8",
DA: "[g#4,b4,d#5]@3 ~@2 d#4@3 ~@5 [d#4,g#4,b4,d#5,g#5]@3", DB: "~@5 [d#4,g#4]@3 ~@8",
DC: "[e4,g#4]@3 ~@10 [c#4,e4,g#4]@3", DD: "~@5 [d#5,g#5]@3 ~@8", DE: "[b4,c#5]@3 ~@13",
DF: "[d#4,c#5,d#5]@3 ~@5 g4@3 ~@2 [d#4,g4,c#5,d#5,g5]@3", DG: "~@5 a#4@3 g4@3 ~@5",
DH: "[b3,d#4,g#4]@3 ~@5 [b4,d#5,g#5]@3 ~@5", DI: "[d#4,g#4,b4,d#5]@3 ~@10 [b4,d#5,g#5]@3",
DJ: "~@12 d6 [g#5,d#6,g#6]@3", DK: "~@8 b5@3 ~@5", DL: "~@5 a#4@3 [d#4,g#4,b4]@3 ~@2 b4@3",
DM: "~@5 g#4@3 d#4@3 ~@2 [a#3,d#4,g4,c#5,d#5]@3", DN: "[a#3,d#4,f#4]@3 ~@13", DO: "~@5 [d#5,g#5,b5,d#6,g#6]@3 ~@8",
DP: "a#5@3 ~@2 b5@3 ~@8", DQ: "a#5@3 ~@2 b5@3 ~@5 [d#5,g#5,b5,d#6,g#6]@3", DR: "~@8 a#5@3 ~@2 b5@3",
DS: "~@8 [d#5,g#5,b5,d#6,g#6]@3 ~@5", DT: "[d#5,g5,a#5,d#6,g6]@3 ~@5 [d#5,g5,a#5,d#6,g6]@3 ~@5",
DU: "[d#5,g#5,b5,d#6,g#6]@3 ~@13", DV: "[d#4,b4,d#5]@3 ~@10 [d#4,a#4,d#5]@3", DW: "~@13 [d#4,g#4,d#5]@3",
DX: "~@13 [d#4,a#4,d#5]@3", DY: "~@13 [d#6,g6]@3", DZ: "~@13 [d6,g6]@3", EA: "~@5 [d6,g6]@3 ~@5 [d6,g6]@3",
EB: "~@13 [d#4,b4,d#5]@3", EC: "~@13 [b5,e6]@3", ED: "~@13 [g#5,d#6,g#6]@3",
EE: "[d#5,d#6]@2 d6@2 ~ d6@2 [d#5,d#6]@2 d6@2 ~ d6@2 [d#5,d#6]@2, ~@4 [d#5,d#6]@2 ~@5 [d#5,d#6]@2 ~@3", // D#
EF: "d6@2 [d#5,d#6]@2 ~ [d#5,d#6]@2 d6@2 [d#5,d#6]@2 ~ [d#5,d#6]@2 d6@2, ~@4 d6@2 ~@5 d6@2 ~@3", // D#
EG: "d6@2 [d#5,d#6]@2 ~ [d#5,d#6]@2 d6@2 [d#5,d#6]@2 ~@5, ~@2 d6 ~@5", // D#
EH: "[d#5,a#5,d#6,g6]@3 ~@2 [d#5,a#5,d#6,g6]@3 ~@5 [d#5,b5,d#6,g#6]@3", // D# G#m
EI: "[d#4,g#4]@3 ~@2 [e4,g#4]@3 ~@5 [e4,g#4]@3", EJ: "~@5 [c#4,g#4]@3 ~@5 [c#4,e4,g#4]@3",
EK: "~@5 [c#4,e4,g#4]@3 ~@4 a#4 [b4,d#5]@3", EL: "[b4,d#5]@3 ~@5 g#4@3 ~@2 [g#4,d#5,g#5]@3",
EM: "~@5 a#4@3 [b4,d#5]@3 ~@2 [c#4,g#4]@3", EN: "~@13 [c#4,c#5]@3", EO: "~@13 [c#4,e4,g#4]@3",
EP: "~@13 [g#4,c#5,g#5]@3", EQ: "[d#4,c#5,d#5]@3 ~@5 g4@3 ~@2 [d#4,c#5,g5]@3",
ER: "[b3,d#4,g#4]@3 ~@4 d5 [g#4,b4,d#5,g#5]@3 ~@5", ES: "~@7 d6 [g#5,d#6,g#6] ~@4 [g#5,d#6,g#6] ~@2",
ET: "~@13 [b5,d#6,g#6]@3", EU: "~@5 [g#5,b5,d#6,g#6]@3 ~@8", EV: "[g#5,b5,g#6]@3 ~@2 [g#5,b5,g#6]@3 ~@8",
EW: "[g#5,b5,g#6]@3 ~@10 [g5,a#5,d#6,g6]@3", EX: "~@5 c#6@3 g5@3 ~@2 d#5@3", EY: "~@5 [g5,c#6,g6]@3 ~@8",
EZ: "[g#5,a#5,d#6,g#6]@3 ~@2 [g#5,b5,d#6,g#6]@3 ~@8", FA: "~@5 [g#5,b5,g#6]@3 d6@3 ~@2 [d#6,g#6]@3",
FB: "~@13 [g#5,b5,d#6,g#6]@3", FC: "~@8 a#4@3 ~@4 a#4", FD: "[g#4,b4,d#5]@3 ~@5 [d#4,g#4,b4]@3 ~@5",
FE: "[d#4,g4,a#4,d#5]@3 ~@2 [d#4,g4,a#4,d#5]@3 ~@5 [b3,d#4,g#4,b4,d#5]@3", // D# G#m
FF: "~@5 [d#4,d5,d#5]@3 ~@5 [d#4,d5,d#5]@3", FG: "~@5 g#4@3 [d#4,b4,d5,d#5]@3 ~@5", FH: "~@8 [d#5,d#6,g#6]@3 ~@5",
FI: "~@4 d6 [d#5,d#6,g#6]@3 ~@5 [d#5,d#6,g#6]@3", FJ: "[d#5,b5,d#6] ~@7 [d#5,d#6,g#6] ~@7",
FK: "[d#5,d#6,g6] ~@4 a#5@3 g5@3 ~@2 g5@3, a#5@3 ~@13", FL: "~@8 [d#5,a#5,d#6,g6]@3 ~@2 [d#5,b5,d#6,g#6]@3",
FM: "~@8 [d#5,b5,d#6,g#6]@3 ~@2 g#5@3", FN: "~@12 d6 [d#5,b5,d#6,g#6]@3", FO: "~@13 g#5@3",
FP: "[d#5,b5,d#6,g#6]@3 ~@5 [d#5,b5,d#6,g#6]@3 ~@5", // G#m
FQ: "[a#4,d#5,g5,a#5,d#6]@3 ~@2 [d#5,g5,a#5,d#6,g6]@3 ~@5 [d#5,g#5,b5,d#6,g#6]@3", FR: "~@13 [d#5,g#5,b5,d#6,g#6]@3",
FS: "~@5 d#5@3 g#4@3 ~@2 d#5@3", FT: "[d#5,d#6]@3 ~@10 [d#5,d#6]@3", FU: "~@13 [d#5,d#6]@3", FV: "~@13 [c#5,c#6]@3",
FW: "~@13 [b5,f6]@3", FX: "~@13 [d#4,d#5]@3", FY: "~@13 [d#6,g#6]@3", FZ: "~@8 f5@5 ~@3", GA: "g5 a#5", GB: "d#6 g6",
GC: "f6 a#6", GD: "f#6 f6 ~@14",
})).s("gm_piano").gain(0.36)
// other · baritone sax · "Saxaphone"
const baritone_sax = note(`<
~@15 A B@3 C ~ D@2 E B@3 C ~@2 F@2 B@3 C ~ D@2 E B@3 C ~@2 F@2 ~@22 G H I ~@5 J K L ~@5 J K L ~@5 J K L ~@5 J K L ~@6
M B@3 C ~ D@2 E B@3 C ~@2 F@2 ~@22 G H I ~@5 J K L ~@5 J K L ~@10 N@3 ~@5 N@3 ~@6 O P Q R@6 S Q T ~@9 A U@2 ~ A V@2 ~
W@2 X ~@2 Y@2 ~ A Z AA ~ A V@2 ~@2 AB AC ~@2 AD@2 ~@6 G H I ~@5 J K L ~@5 J K L ~@5 J K L ~@5 J K L ~@10 N@3 ~@5 N@3
~@6 O P Q R@6 S Q T ~@16 AE@6
>`.pickRestart({
A: "~@5 d#4@3 f#4@5 ~@3", B: "[d#4@8 [f4,a#4]@5 ~@27 [f4,a#4]@5 [d#4,g#4]@3, g#4@5 ~@8 [f#4,b4]@29 ~@6]/3",
C: "[f4,a#4]@5 g#4@8 ~@3, ~@5 d#4@5 ~@6", D: "[~@13 d5@11 c#5@5 b4@3]/2", E: "f#4@5 d#4@3 c#4@7 ~",
F: "[d#4@5 g4@4 ~@4 g#4@8 d#4@3 f#4@8]/2", G: "~@8 d5@5 d#5@2 ~, ~@5 d#5@5 ~@6", H: "d#5@3 e5@2 d#5@3 d5@5 d#5@3",
I: "c#5@5 ~@3 g#4@7 ~", J: "~@13 d5@3", K: "c#5@3 c5@2 b4@3 g#4@5 f#4@3", L: "g#4@5 ~@3 g#4@5 ~@3",
M: "~@5 d#4@3 f#4@8", N: "[~@13 [e4,g#4]@16 [f#4,a#4]@16 [g4,b4]@3]/3",
O: "~@5 [d#3,d#4]@3 [e3,e4]@3 [g3,g4]@2 [a#3,a#4]@3", P: "[c#4,c#5]@5 [d#4,d#5]@3 [b3,b4]@5 [d4,d5]@3",
Q: "~@5 [d4,d5]@3 [b3,b4]@3 [c#4,c#5]@2 [d4,d5]@3", // D B C# D
R: "[[c#4,c#5]@5 [b3,b4]@3 [g#3,g#4]@5 [d#4,d#5]@11 ~@5 [c#4,c#5]@11 ~@5 [b3,b4]@11 ~@5 [c#4,c#5]@11 ~@5 [b3,b4]@5 ~@3 [d#3,d#4]@3 [e3,e4]@3 [g3,g4]@2 [a#3,a#4]@3]/6", // C# B G# D# C# B C# B …
S: "[c#4,c#5]@5 [e4,e5]@3 [d#4,d#5]@5 [d4,d5]@3", T: "[c#4,c#5]@5 [b3,b4]@3 [g#3,g#4]@5 [g#3,g#4]@3",
U: "[g#4@13 d#4@13 ~@6]/2", V: "[g#4@5 ~@3 d#4@5 d4@13 ~@6]/2", W: "[~@13 d#5@11 c#5@5 b4@3]/2", X: "c#5@5 d#5@3 ~@8",
Y: "[[d#4,g#4]@5 [d#4,g#4]@3 ~@5 [c#4,f#4]@13 ~@6]/2", Z: "g#4@5 g#4@5 ~ g#4@5", AA: "d#4", AB: "d#5@5 b4@5 ~ d#5@5",
AC: "d5@5 a#4@11", AD: "[d#4@5 g4@3 ~@5 g#4@13 ~@6]/2", AE: "[[d#4,g4]@11 ~]/6",
})).s("gm_baritone_sax").gain(0.35)
// other · trombone
const trombone = note(`<
~@15 A B@3 C ~ D@2 E F@3 G ~@2 H@2 B@3 C ~ D@2 E F@3 G ~@2 I@2 ~@22 J K L ~@5 M N O ~@5 M N O ~@5 M N O ~@5 M N O ~@6
P B@3 C ~ D@2 E F@3 G ~@2 I@2 ~@22 J K L ~@5 M N O ~@5 M N O ~@5 Q R@6 ~ S R@6 ~ S T@7 S T@7 S U ~@9 A V@2 ~ A W@2 ~
X@2 Y ~@2 Z@2 ~ A AA AB ~ A W@2 ~@2 AC AD ~@2 AE@2 ~@6 J K L ~@5 M N O ~@5 M N O ~@5 M N O ~@5 M N O ~@5 Q AF AG@5 ~ S
R@6 ~ S T@7 S T@7 S U ~@16 AH@6
>`.pickRestart({
A: "~@5 d#3@3 f#3@5 ~@3", B: "[g#3@5 ~@3 d4@3 ~@2 d4@27 c#4@5 b3@3]/3", C: "c#4@5 b3@8 ~@3",
D: "[~@13 d4@11 c#4@5 b3@3]/2", E: "c#4@5 b3@3 f#3@7 ~", F: "[g#3@5 ~@3 d4@3 d4@28 ~ c#4@5 b3@3]/3",
G: "c#4@5 b3@9 ~@2", H: "[d#3@5 g3@4 ~@4 g#3@8 d#3@3 f#3@8]/2", I: "[d#3@5 g3@4 ~@4 g#3@12 ~@7]/2",
J: "~@8 d4@5 d#4@2 ~, ~@5 d#4@5 ~@6", K: "d#4@3 e4@2 d#4@3 d4@5 d#4@3", L: "c#4@5 ~@3 g#3@7 ~", M: "~@13 d4@3",
N: "c#4@3 c4@2 b3@3 g#3@5 f#3@3", O: "g#3@5 ~@3 g#3@5 ~@3", P: "~@5 d#3@3 f#3@8", Q: "~ b3",
R: "[c#4@5 b3@3 g#3@5 [b3,f#4]@11 ~@5 [a#3,f4]@11 ~@5 [g#3,d#4]@11 ~@5 [a#3,f4]@11 ~@5 [b3,e4]@11 ~@8]/6", // B5 A#5 G#5 A#5 E5
S: "~@5 d4@3 b3@3 c#4@2 d4@3",
T: "[c#4@5 b3@3 g#3@5 [b3,f#4]@11 ~@5 [a#3,f4]@11 ~@5 [g#3,d#4]@11 ~@5 [a#3,f4]@11 ~@5 e4@13 ~@3 f#4@13 ~@3 g#4@3, ~@77 b3@11 ~@24]/7", // B5 A#5 G#5 A#5
U: "c#4@5 b3@3 g#3@3 ~@2 g#3@3", V: "[g#3@13 d#3@13 ~@6]/2", W: "[g#3@5 ~@3 d#3@5 d3@13 ~@6]/2",
X: "[~@13 d#4@11 c#4@5 b3@3]/2", Y: "c#4@5 d#4@3 ~@8", Z: "[b3@5 b3@3 ~@5 a#3@13 ~@6]/2", AA: "g#3@5 g#3@5 ~ g#3@5",
AB: "d#3", AC: "d#4@5 b3@5 ~ d#4@5", AD: "d4@5 a#3@11", AE: "[g3@5 a#3@3 ~@5 b3@16 ~@3]/2",
AF: "c#4@5 b3@3 g#3@5 [b3,f#4]@3", // B5
AG: "[[b3,f#4]@8 ~@5 [a#3,f4]@11 ~@5 [g#3,d#4]@11 ~@5 [a#3,f4]@11 ~@5 [b3,e4]@11 ~@8]/5", AH: "[b3@11 ~]/6",
})).s("gm_trombone").gain(0.4)
// other · viola
const viola = note(`<
~@48 A@4 B@4 C D E@2 F G H@2 I@4 J K@3 L M@2 N O@4 P Q@3 R@4 S T@7 U V@3 W X@3 C Y@4 Z@2 AA ~@15 AB@5 AC@4 AD AE@4 AF
AG@6 J AH@3 AI@4 AJ@5 AK@3 AL@4 AM AN@6 ~@7 AO AP AQ@2 ~@4 AR AS AT@2 ~@4 AU AV AW@2 ~@13 AX@4 AY AZ@3 BA@3 ~@2 BB@3
BC@2 BD@2 BE@5 BF BG@2 ~ BH@2 ~ BI@2 BJ@4 BK@4 BL@2 BM BN@4 BO BP@3 BQ@4 BR BS@4 BT@3 BU BV@3 BW@4 C BX@4 BY@2 ~@7 AR
AP BZ@2 CA ~@3 CB CC CD@3 ~@3 CE CF CG@3 ~@27
>`.pickRestart({
A: "[g#3@6 ~@2 g#3@6 ~ g#3@4 ~@2 g#3@3 a#3@7 b3@5 ~ b3@5 ~@2 b3@18 ~@2]/4",
B: "[b3@5 ~@3 b3@5 ~@2 b3@6 c#4@2 b3@8 a#3@3 ~@3 a#3@3 ~@4 a#3@19 ~]/4", C: "g#3@3 ~ g#3@3 ~", D: "g#3@3 ~ a#3@3 ~",
E: "[b3@4 ~@2 b3@5 ~@2 b3@18 ~]/2", F: "b3@5 ~@3 g#3@5 ~@3", G: "b3@2 g#3@5 ~",
H: "[~@5 g3@5 ~@3 g#3@15 ~@2 g#3@2, d#3@5 ~@11]/2",
I: "[c#4@6 ~@2 c#4@3 ~@2 c#4 ~ c#4@3 ~@3 c#4@4 ~@3 c#4@15 ~@3 d#4@14 ~ d#4@3, ~@45 c#4@2 ~@17]/4",
J: "b3@5 ~@3 b3@5 ~@3", K: "[b3@7 ~ a#3@3 ~@2 a#3@9 ~@2 g#3@24, ~@11 b3 ~@12, ~@23 a#3@3 ~@22]/3",
L: "c#4@5 ~@3 c#4@5 ~@3", M: "[c#4@4 ~ c#4@4 ~@3 c#4@18 ~@2]/2", N: "c#4@7 ~ d4@7 ~",
O: "[d#4@4 ~@2 d#4@7 f#4@5 ~@2 f#4@5 ~@4 d#4@4 c#4@3 b3@28]/4", P: "~ g#3@5 ~@2 g#3@6 ~@2", Q: "[b3@5 g#3@42 ~]/3",
R: "[b3@6 ~ b3@4 ~@3 b3@7 c#4@2 b3@5 a#3@36]/4", S: "g#3@6 ~@2 g#3@7 ~",
T: "[b3@4 ~ g#3@30 ~@2 g#3@2 b3@5 g#3@3 b3@6 ~@2 b3@4 ~ b3@3 d#3@6 g3@4 ~@4 g#3@34 ~]/7", U: "g#3@6 ~@3 g#3@6 ~",
V: "[~ b3@5 g#3@42]/3", W: "b3@6 ~ b3@4 ~@3 b3 ~", X: "[b3@5 c#4@2 b3@6 a#3@35]/3",
Y: "[b3@5 g#3@31 ~ g#3@3 b3@4 g#3@3 b3@7 ~ b3@4 ~@2 b3@3, ~@5 b3 ~@58]/4", Z: "[d#3@5 g3@4 ~@4 g#3@15 ~ f#4@3]/2",
// … 116 more lines
More by
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.