0:00/0:00
// La Fiesta — Herman
// 235 bpm, 3/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 438 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(235/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, A@4 for four bars: edit a riff to change every repeat.
// bass · acoustic bass · "Jazz Bass"
const bass = note(`<
A B C D E F G B H B C D E F G B@3 C D I F I J K L M N O P I J Q L R I S T U J Q L J I V P S B Q W X D Y P I Z@2 B X AA
AB AC D AD Q L AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT C AU@2 AV AW C Q AX X I@2 P I J Q W J I V P I AY Q L X
I@2 P I J Q AX X I Y P AZ J Q BA X Y I P I J BB BC@8 BD BE BF BG BH BI BJ BK BL BM BN BO BP BJ BK BQ BR BS BD BE BF BG
BH BI BJ BK AJ BM BT BU BV BW BX BY BZ@6 CA CB AX CC CD CE CF CG CH CI CJ@2 CK@2 CL CM CN BR B J AA V P CO CP BR CQ CR
CS CT P AQ CQ BR J CU I CE P S CV Q CW CX CY U CZ AZ Q DA W J I CE P CG J DB BS DC S DD P I CQ Q AX X I Y P AZ J Q BA
X Y I P I J BB BZ@8 BD BE BF BG BH BI BJ BK AJ BM BT BU BV BW BX BY BZ@6 CA CB DE BS CE DF DG DH DI DJ DK DL DM DN DO
DP BR DI DQ DR DS DT DU CG AR DV DW AM DX DY AM DS DZ EA EB EC AF DY CF AQ ED EE CW EF DS EG DG DY EH EI EJ EK EL EM
EN AQ EH EO EP EQ EL EM ER CG AE BY BZ@7 ES ET EU EV EW EX EY EZ FA BL FB FC FD BV BJ FE FF FG FH FI FJ BU FK BH BI BJ
BK AJ BM FL FM FN BJ BQ Q BZ@22 CA FO@2 FP@2 ~@5 FQ@8 ~
>`.pickRestart({
A: "~@13 b2@3", B: "e2@11 b2@5", C: "e2@8 b2@2 ~@3 b2@2 ~", D: "f2@10 ~ c3@5", E: "f2@8 c3@3 ~@2 d3@3",
F: "g2@8 d3@3 ~@2 c3@3", G: "f2@8 c3@3 ~@2 b2@3", H: "e2@8 c3@3 ~@2 b2@3", I: "f2@10 ~ f2@5", J: "e2@10 ~ e2@5",
K: "d2@5 b1@5 ~ f1@5", L: "e1@15 ~", M: "~@5 e1@5 ~ b1@5", N: "f1@10 ~ c3@5", O: "c3@5 c3@5 ~ f2@5",
P: "g2@10 ~ g2@5", Q: "e2@5 d2@5 ~ b1@5", R: "~@5 b1@5 ~ e2@5", S: "f2@5 c3@5 ~ f2@5", T: "g2@10 ~ d3@5",
U: "c3@5 f2@10 ~", V: "f2@5 f2@5 ~ f#2@5", W: "e1@10 ~ b1@5", X: "e2@8 e2@7 ~", Y: "f2@8 f2@7 ~",
Z: "[f2@5 e2@8 b2@10 ~ b2@8]/2", AA: "f2@10 ~ c2@5", AB: "f2 f1", AC: "g1@10 ~ d2@5", AD: "f2@5 e2@10 ~",
AE: "e2@5 e2@5 ~ e2@5", AF: "f2@5 e2@5 ~ f2@5", AG: "e2@5 f2@5 ~ f#2@5", AH: "g2@5 b2@5 ~ g2@5",
AI: "f#2@5 g2@5 ~ f#2@5", AJ: "e2@5 b2@5 ~ a#2@5", AK: "b2@5 d3@5 ~ d#3@5", AL: "e3@5 e2@5 ~ f2@5",
AM: "g2@5 f2@5 e2@5 ~", AN: "f2@5 f1@5 ~ a1@5", AO: "c2@5 e2@5 ~ f2@5", AP: "g2@5 a2@5 ~ g2@5",
AQ: "f2@5 c2@5 ~ f2@5", AR: "e2@5 a#2@5 ~ b2@5", AS: "c3@5 d3@5 ~ d#3@5", AT: "e3@8 b2@2 ~@3 b2@2 ~",
AU: "f2@8 c3@2 ~@3 c3@2 ~", AV: "g2@8 d3@2 ~@3 g2@2 ~", AW: "f2@8 c3@2 ~@3 f2@2 ~", AX: "e1@10 ~ e2@5",
AY: "e2@5 e2@10 ~", AZ: "f2@5 f2@5 ~ f2@5", BA: "e1@8 e2@7 ~", BB: "e2@5 ~@11", BC: "a1@7 ~ a1@7 ~",
BD: "a1@5 b1@5 ~ c#2@5", BE: "c#2@5 f2@5 ~ c#2@5", BF: "d2@5 d2@5 ~ f#2@5", BG: "d#2@5 d#2@5 ~ f#2@5",
BH: "e2@5 c#2@5 ~ a1@5", BI: "f2@5 g#2@5 ~ f2@5", BJ: "f#2@5 e2@5 ~ c#2@5", BK: "b1@5 b2@5 ~ b1@5",
BL: "e2@5 f#2@5 ~ g#2@5", BM: "a2@5 b2@5 ~ c#3@5", BN: "d3@5 a2@5 ~ g2@5", BO: "f#2@5 e2@5 ~ d2@5",
BP: "c#2@5 e2@5 ~ g#2@5", BQ: "b1@5 c#2@5 ~ d2@5", BR: "e2@5 b1@5 ~ d2@5", BS: "e2@5 b2@5 ~ e2@5",
BT: "d3@5 d3@5 ~ a2@5", BU: "d2@5 f#2@5 ~ d2@5", BV: "c#2@5 e2@5 ~ c#2@5", BW: "f#2@5 f#2@5 ~ c#2@5",
BX: "b1@5 f#2@5 ~ b1@5", BY: "e2 ~@7", BZ: "a1@15 ~", CA: "g1@15 ~", CB: "f1@15 ~", CC: "d2@5 e2@5 ~ e2@5",
CD: "f2@5 f2@5 ~ e2@5", CE: "f2@5 g2@5 ~ a2@5", CF: "g2@5 d2@5 ~ g2@5", CG: "f2@5 g2@5 ~ f2@5",
CH: "e2@5 b1@5 ~ g#1@5", CI: "e1@5 g#1@5 ~ b1@5", CJ: "e1@8 e1@7 ~", CK: "f1@8 f1@7 ~", CL: "g1@8 g1@7 ~",
CM: "f1@10 ~ f1@5", CN: "e1@5 e2@5 ~ e2@5", CO: "f2@5 f2@5 ~ g2@5", CP: "e2@5 e2@5 ~ b2@5", CQ: "e2@10 ~ b1@5",
CR: "e1@5 e1@5 ~ g1@5", CS: "f1@7 ~ a1@7 ~", CT: "a#1@5 b1@5 ~ c2@5", CU: "b2@5 b2@5 ~ e2@5", CV: "e2@5 b2@5 ~ f2@5",
CW: "e2@5 b2@5 ~ b2@5", CX: "e2@5 b2@10 ~", CY: "f2@5 c3@5 ~ c3@5", CZ: "g2@5 g2@5 ~ f#2@5", DA: "a1@5 g1@5 ~ f1@5",
DB: "b2@5 b2@5 ~ b2@5", DC: "b2@5 e2@5 ~ b2@5", DD: "c3@5 f2@5 ~ c3@5", DE: "e1@5 b1@5 d2@5 ~",
DF: "c3@5 b2@5 a2@5 ~", DG: "g2@5 a2@5 b2@5 ~", DH: "c3@5 a2@5 f2@5 ~", DI: "e2@5 g2@5 a2@5 ~",
DJ: "b2@5 b2@5 d#3@5 ~", DK: "e3@5 d#3@5 e3@5 ~", DL: "d#3@5 e3@5 e3@5 ~", DM: "f3@5 f3@5 c3@5 ~",
DN: "c3@5 f2@5 f2@5 ~", DO: "g2@5 d2@5 b1@5 ~", DP: "c2@5 f2@5 f2@5 ~", DQ: "b2@5 a2@5 g2@5 ~",
DR: "e2@5 g2@5 e2@5 ~", DS: "f2@5 e2@5 d2@5 ~", DT: "c2@5 b1@5 a1@5 ~", DU: "g1@5 d2@5 e2@5 ~",
DV: "c3@5 c#3@5 d3@5 ~", DW: "d#3@5 e3@5 b2@5 ~", DX: "f2@5 f2@5 c3@5 ~", DY: "a2@5 g2@5 f2@5 ~",
DZ: "e2@5 d2@5 c2@5 ~", EA: "b1@5 g1@5 f1@5 ~", EB: "e1@5 f#1@5 g#1@5 ~", EC: "a1@5 b1@5 e2@5 ~",
ED: "e2@5 d#2@5 d2@5 ~", EE: "c#2@5 c2@5 b1@5 ~", EF: "e2@5 f2@5 g2@5 ~", EG: "c2@5 f2@5 a2@5 ~",
EH: "e2@5 g#2@5 a2@5 ~", EI: "a#2@5 b2@5 b1@5 ~", EJ: "e2@5 b2@5 a2@5 ~", EK: "g#2@5 f#2@5 e2@5 ~",
EL: "f2@5 a1@5 a#1@5 ~", EM: "b1@5 c2@5 f2@5 ~", EN: "g2@5 g2@5 g#2@5 ~", EO: "b2@5 b1@5 b2@5 ~",
EP: "e2@5 g#1@5 a1@5 ~", EQ: "a#1@5 b1@5 e2@5 ~", ER: "g2@5 d2@5 e2@5 ~", ES: "a1@5 a1@5 a1@5 ~",
ET: "a1@5 a1@5 b1@5 ~", EU: "c#2@5 b1@5 c#2@5 ~", EV: "d2@5 d2@5 a1@5 ~", EW: "d#2@5 d#2@5 d#2@5 ~",
EX: "e2@5 a1@5 e2@5 ~", EY: "f2@5 d2@5 f2@5 ~", EZ: "f#2@5 g#2@5 a2@5 ~", FA: "b2@5 f#2@5 d#2@5 ~",
FB: "a2@5 e2@5 a1@5 ~", FC: "d2@5 c#2@5 b1@5 ~", FD: "a1@5 b1@5 d2@5 ~", FE: "b1@5 a1@5 b1@5 ~",
FF: "b2@5 c#3@5 b2@5 ~", FG: "e2@5 e3@5 d#3@5 ~", FH: "d3@5 c3@5 b2@5 ~", FI: "a2@5 a1@5 b1@5 ~",
FJ: "c#2@5 f2@5 c2@5 ~", FK: "d#2@5 f#2@5 d#2@5 ~", FL: "d3@5 d2@5 e2@5 ~", FM: "f#2@5 a2@5 d3@5 ~",
FN: "c#3@5 c#2@5 e2@5 ~", FO: "[f1@29 ~@3]/2", FP: "[~@3 e1@24 ~@5]/2", FQ: "[~@13 a1@115]/8",
})).s("gm_acoustic_bass").gain(0.33).pan(0.4)
// chords · epiano1 · "Electric"
const epiano1 = note(`<
A B C D E F G B H B C D E F G B I J@2 K@2 L M N O J@2 K P Q R S@2 T U V W X Y Z AA AB AC AD@2 AE AF AG AH AI@2 AJ@2 AK
AL AM AN AI@2 AL@2 AK AL AO@2 AP AQ AR@3 AS AT@2 AU AV AW AX@2 AY AZ BA ~ AI AL@2 AK AL AI@4 AL@2 AK AL AI@4 AL@2 AK
AL AI@4 AL@2 AK AL AI@2 BB@2 BC@2 AK BD BE@2 BB@2 BC@2 AK BF BG ~ BH@4 BI BJ BK BJ BL BM BN BO BP BQ BR BS BT BP BU@2
BV BW BX@2 BY@2 BL BM BZ BO BP BQ BR BS BT BP BU@2 BV BW BX CA CB@6 CC CD AI@2 AL@2 AK AL AM AI@3 AL@2 AK AL AM AI
BB@2 CE@2 AK CE BB@4 CE@2 AK CE BB@2 CF@2 CG@2 CH CG CF@4 CG@2 CH CG CF@2 BB@2 CE@2 AK CE BB@4 CE@2 AK CE CI BB@3 BC@2
AK BD BE@2 BB@2 BC@2 AK BF BG ~ CJ CK CL CM CN CO@2 CP BL BM BZ BO BP BQ BR BS BT BP BU@2 BV BW BX CA CB@6 CC CD CQ CR
CS CT CU CV CW CX CY CZ DA DB DC DD DE DF DG DF DH DI DJ DK DL DM DN DO DP DQ DR DS DT DU DV DW DX DY DZ EA EB EC ~ ED
EE EF EG EH EI EJ EK BB BC@2 AK BC AM AI BB@2 CE@2 AK CE EL@2 EM EN EO EP EQ ER ES ET BL BM BZ BO BP BQ BR BS EU BP
BU@2 BV BW BX@2 BY@2 BL BM BZ BO BP BQ BR BS EU BP BU@2 BV BW BX BY EV EW EV EW EV EW EV EW EV EW EV EW EV EW EV EW
CB@6 CC EX@2 ~@7 EY@8 ~
>`.pickRestart({
A: "~@13 b2@3", B: "~@5 [e4,g#4,b4]@2 ~@4 b2@5, e2@11 ~@5", C: "~@3 [e4,g#4,b4]@2 ~@3 b2@3 ~@2 b2@3, e2 ~",
D: "~@5 [f4,a4,c5]@2 ~@4 c3@5, f2@11 ~@5", E: "~@3 [f4,a4,c5]@2 ~@3 c3@3 ~@2 d3@3, f2 ~",
F: "~@5 [g4,b4,d5]@2 ~ d3@3 ~@2 c3@3, g2 ~", G: "~@3 [f4,a4,c5]@2 ~@3 c3@3 ~@2 b2@3, f2 ~",
H: "~@3 [e4,g#4,b4]@2 ~@3 c3@3 ~@2 b2@3, e2 ~", I: "e2@8 [e2,e4]@2 ~ [b2,b4]@2 [e3,e5]@2 ~",
J: "[e3,e5]@2 ~ [e3,e5]@2 ~@3 [d3,d5]@2 ~ [c3,c5]@2 [b2,b4]@2 ~", // E D C B
K: "[d3,d5]@2 ~ [d3,d5]@2 ~@3 [c3,c5]@2 ~ [b2,b4]@2 [a2,a4]@2 ~", // D C B A
L: "[c3,c5]@2 ~ [b2,b4]@2 [a2,a4]@2 ~ [g2,g4]@2 ~@3 [b2,b4]@2 ~", // C B A G B
M: "[a2,a4]@2 ~ [g2,g4]@2 [f2,f4]@2 ~ [a2,a4]@2 ~@3 [b2,b4]@2 ~", N: "[e3,e5]@2 ~ [d3,d5]@2 [e3,e5]@2 ~@9",
O: "~@8 [e2,e4]@2 ~ [b2,b4]@2 ~@3", P: "[d3,d5]@2 ~ [c3,c5]@2 [b2,b4]@2 ~ [a2,a4]@2 ~@3 [c3,c5]@2 ~",
Q: "[b2,b4]@2 ~ [a2,a4]@2 [g2,g4]@2 ~ [c3,c5]@2 ~@3 [b2,b4]@2 ~", // B A G C B
R: "[a2,a4]@2 ~ [g2,g4]@2 [b2,b4]@2 ~ [a2,a4]@2 ~ [g2,g4]@2 [f2,f4]@2 ~", // A G B A G F
S: "[[f2,f4]@2 ~@3 [g2,g4]@2 ~ [e2,e4]@24]/2", T: "~@5 g#4@2 ~ f4@5 e4@2 ~, [e3,g#3,d4]",
U: "g#4@3 ~@2 f4@2 ~ e4@5 f4@2 ~, [e3,g#3,d4]", V: "g#4@2 ~ a4@2 b4@2 ~ d5@2 ~ e5@2 d5@2 ~, [f3,a3,d4]",
W: "b4@2 ~ a4@2 d5@2 ~ b4@2 ~ a4@2 g#4@2 ~, [f3,a3,d4]", X: "c5@2 ~ a4@2 g4@2 ~ f4@2 ~ c5@2 a4@2 ~, [g3,b3,d4]",
Y: "g4@2 ~ f4@2 d5@2 ~ b4@2 ~ a4@2 g4@2 ~, [f3,a3,d4]", Z: "g#4@2 ~ e4@2 f4@2 ~ g#4@2 ~ a4@2 b4@2 ~, [e3,g#3,d4]",
AA: "e5@2 ~ f5@2 g#5@2 ~ a5@2 ~ b5@2 g#5@2 ~, [e3,g#3,d4]", AB: "f5@2 ~ e5@2 ~@3 [g#3,d4,g4]@3 ~@5",
AC: "[g#3,d4,g4]!2", AD: "a5@2 ~ g#5@3 ~@2 f5@5 e5@2 ~, [a3,d4,g4]", AE: "b5@2 ~ g5@2 d5@2 ~@9, [b3,d4,g4]",
AF: "a5@2 ~ f5@2 c5@2 ~@6 g5@2 ~, [a3,d4,g4]", AG: "e5@2 ~ b4@2 ~@11, [g#3,d4,g4]",
AH: "a4@2 ~ g#4@2 f4@2 ~@6 g4@2 ~", AI: "[e3,g#3,b3,e4]", AJ: "[f3,a3,c4,e4]", AK: "[g3,b3,d4,g4]",
AL: "[f3,a3,c4,f4]", AM: "[f3,a3,c4,f4]@3 ~@2 [e3,g#3,b3,e4]@10 ~", AN: "[e2,b2,g#3,d4,g4]",
AO: "[[f3,a3,c4,f4]@2 ~@3 [e3,g#3,b3,e4]@26 ~]/2", AP: "g5@2 ~ e5@2 d5@2 ~ b4@2 ~ e5@2 d5@2 ~",
AQ: "b4@2 ~ g5@2 e5@2 ~ d5@2 ~ b4@2 e5@2 ~", AR: "d5@2 ~ g5@2 e5@2 ~ d5@2 ~ b4@2 e5@2 ~",
AS: "d5@2 ~ b4@2 g5@2 ~ e5@2 ~ d5@2 b4@2 ~", AT: "[e5@2 ~ d5@2 b4@2 ~ e5@24]/2", AU: "~@5 d5@2 ~ b4@3 ~@2 a4@2 ~",
AV: "d5@2 ~ b4@2 a4@2 ~ g4@2 ~@3 b4@2 ~", AW: "a4@2 ~ g4@2 a#4@2 ~ f4@2 ~ a#4@2 f4@2 ~",
AX: "[g#4@2 ~ a#4@2 c5@2 ~ d#5@2 ~ f5@2 g#5@5 ~ c6@2 a#5@2 ~ g#5@2 ~ f5@2 a#5@2 ~]/2",
AY: "g#5@2 ~ f5@2 d#5@2 ~ c5@2 ~ f5@2 d#5@2 ~", AZ: "c5@2 ~ a#4@2 g#4@2 ~ c5@2 ~ a#4@2 g#4@2 ~",
BA: "a#4@2 ~ g#4@2 f4@2 ~ d#4@5 f4@2 ~", BB: "[e3,g#3,d4,g4]", BC: "[f3,a3,d4,g4]", BD: "[f2,b3,d4,g4]",
BE: "[[a3,c4,f4]@2 ~@3 [g#3,b3,e4]@26 ~, b2@31 ~]/2", BF: "[f3,a3,c4,g4]", BG: "[a3,c4,f4]@2 ~@3 [g#3,b3,e4]@11, e2",
BH: "[~@5 b4@3 ~@3 c#5@3 ~@2 e5@3 ~@2 f#5@2 ~ g#5@3 ~@2 b5@2 ~ g#5@2 ~ f#5@2 e5@2 ~ g#5@2 ~ f#5@2 e5@2 ~ c#5@2 ~ b4@2 e5@2 ~ c#5@8, a2, ~@5 e3@10 ~ f#3@15 ~ g#3@15 ~ f#3@15 ~]/4",
BI: "[e3,g#3,c#4]@15 ~", BJ: "f#5 e5 ~ c#5 b4 f#5 ~ e5 c#5 b4 ~ f#5 e5 c#5 ~ b4, [f#3,a3,d4]@15 ~",
BK: "f#5 e5 ~ c#5 b4 f#5 ~ e5 c#5 b4 ~ f#5 e5 c#5 ~ b4, [g#3,b3,e4]@15 ~", BL: "[a2,e3,c#4,g#4]",
BM: "[c#3,b3,d#4,g#4]", BN: "[d3,a3,e4,f#4,g#4]", BO: "[d#3,a3,c4,f#4]", BP: "[g#3,a3,c#4,e4]", BQ: "[f3,g#3,b3,d4]",
BR: "[f#3,a3,c#4,e4]", BS: "[b2,a3,c#4,d#4,f#4]", BT: "[e3,g#3,b3,d4,f#4]", BU: "[d3,a3,c#4,f#4]",
BV: "[c#3,b3,e4,g#4]", BW: "[f#3,a#3,e4,g#4]", BX: "[b2,a3,d4,f#4]", BY: "[e3,g#3,d4,f#4]", BZ: "[d3,a3,e4,f#4,a4]",
CA: "[e3,g#3,d4,f#4] ~@7", CB: "[a1,a2]@15 ~", CC: "[g1,g2]@15 ~", CD: "[f1,f2]@15 ~", CE: "[f3,a3,c4,e4,g4]",
CF: "[g#3,d4,g4,b4,e5]", CG: "[a3,d4,g4,b4,e5]", CH: "[b3,d4,g4,b4,e5]", CI: "[e3,g#3,b3,d4,e4,g4]",
CJ: "~@5 e4@3 ~@3 f#4@3 ~@2, [e3,g#3,c#4]@15 ~", CK: "a4@3 ~@2 b4@3 ~@3 c#5@3 ~@2, [f#3,b3,d4]@15 ~",
CL: "e5@3 ~@2 f#5@3 g#5@3 ~@2 b5@3, [g#3,c#4,e4]@15 ~", // C#m
CM: "g#5@2 ~ f#5@2 e5@2 ~ g#5@2 ~ f#5@2 e5@2 ~, [f#3,b3,d4]@15 ~", // Bm
CN: "c#5@2 ~ b4@2 e5@2 ~ c#5@2 ~ b4@2 g#4@2 ~, [e3,g#3,c#4]@15 ~", // C#m
CO: "[f#4@2 ~ b4@2 g#4@2 ~ f#4@2 ~@6 [g#3,c#4]@15 ~, [f#3,b3,d4]@15 ~@17, ~@11 e4@21]/2", // C#5 Bm
CP: "b4@2 ~ g#4@2 ~@3 f#4@3 ~@2 g#4@3, [f#3,b3,d4]@15 ~", CQ: "~@8 g5@2 e5@2 ~ d5@2 ~, [g#3,d4,e4]@15 ~",
CR: "b4@2 ~ e5@2 d5@2 ~ b4@2 a#4@2 ~ g4@2 ~", CS: "~@3 a4@2 ~@3 g#4@2 ~@6",
CT: "b4@2 ~ c#5@2 d5@2 ~ e5@2 f#5@2 ~ g#5@2 ~", CU: "c#6@2 ~ b5@2 ~@11", CV: "[a3,d4] ~@3 [a3,d4] ~@3",
CW: "g#5@2 ~ g5@2 c#6@2 ~ b5@2 ~@3 b5@2 ~", CX: "g#5@2 ~ g5@2 b5@2 ~ a#5@2 g5@2 ~ a5@2 ~",
CY: "f#5@2 ~ g5@2 f5@2 ~ e5@2 d5@2 ~ g5@2 ~", CZ: "e5@2 ~ b4@2 d5@2 ~ b4@2 ~@6", DA: "[a3,d4] ~@7",
DB: "~@3 d4@2 g4@2 ~ a4@2 a#4@2 ~ g4@2 ~", DC: "a#4@2 ~ f4@2 g#4@3 ~@2 c5@2 ~ d#5@2 ~",
DD: "f5@2 ~ g#5@2 a#5@2 ~ c6@2 d#6@2 ~ f6@2 ~", DE: "b5@2 ~ f6@2 d#6@2 ~ b5@2 a#5@2 ~ g#5@2 ~",
DF: "c6@2 ~ a#5@2 g#5@2 ~ f5@2 c6@2 ~ a#5@2 ~", DG: "g#5@2 ~ f5@2 c6@2 ~ a#5@2 g#5@2 ~ f5@2 ~",
DH: "g#5@2 ~ f5@2 c#6@2 ~ a5@2 e5@2 ~ d6@2 ~", DI: "c#6@3 ~@2 e5@2 ~ a5@2 ~@3 [a#3,d4,f#4]@2 ~",
DJ: "~@13 [a3,d4,g4]@2 ~", DK: "a5@2 ~ d6@2 g6@2 ~ f#6@2 ~@3 f#6@2 ~", DL: "a5@2 ~ d6@2 f#6@2 ~ f6@2 f#6@2 ~ e6@2 ~",
DM: "d6@2 ~ d#6@2 c#6@2 ~ d6@2 c6@3 ~@3", DN: "a5@2 ~ a#5@2 ~@3 [g3,d4,g4]@2 ~@6", DO: "[g3,d4,g4]@8 [g3,d4,g4]@7 ~",
DP: "[a3,d4,g4] ~@3 [a3,d4,g4] ~@3", DQ: "[a3,d4,g4]@7 ~ [a3,d4,g4]@2 ~@6",
DR: "[b3,d4,g4,d6]@2 ~ b6@2 ~@3 [b3,d4,g4,g6]@2 d6@2 ~ c#6@2 ~", DS: "c6@2 ~ a6@2 ~@3 f6@2 c6@2 ~ b5@3",
DT: "~@3 g6@2 ~@3 [g#3,d4,g4]@2 ~@6", DU: "[g#3,d4,g4] ~@4 b6 g#6 f6 e6@2 g#6@2 ~ f6@2 ~",
DV: "e6@2 ~ b5@2 ~@3 e6 b5 d6@2 ~ b5@2 ~", DW: "a5@2 ~ d6@2 b5@2 ~ a5@2 d6@2 ~ b5@2 ~",
DX: "a5@2 ~ a#5@2 g5@2 ~ g#5@2 f5@2 ~ f#5@2 ~", DY: "e5@2 ~ d5@2 c5@2 ~ b4@2 c5@2 ~ a4@2 ~",
DZ: "b4@2 ~ c5@2 d5@2 ~ e5@2 f5@2 ~ g5@2 ~", EA: "a5 ~ e5 f5 ~ g5 ~ a5 ~ b5 c6 ~ a5 ~ c6 ~",
EB: "d6 ~ e6 g6 ~ g#6 ~ f6 ~ e6 d6 ~ c6 ~ b5 ~", EC: "a5 ~ g5 f5 ~ g5 ~ g#5 ~ f5 e5 ~ g5 ~ f5 ~",
ED: "~@5 e5@2 ~ d5@2 ~@3 g5@2 ~", EE: "e5@2 ~ d5@2 b4@2 ~ e5@2 d5@2 ~ b4@2 ~", EF: "a4@2 ~ d5@2 b4@2 ~ g4@2 ~@6",
EG: "~@13 d5@2 ~", EH: "c5 b4 a4 ~ g4 c5@2 ~ a4@2 g4@2 ~ f4@2 ~", EI: "g#4@2 ~ f4@2 e4@2 ~ g#4@2 f4@2 ~ e4@2 ~",
EJ: "~@5 b3@2 ~ d4@2 e4@2 ~ a3@2 ~", EK: "b3@3 ~@13", EL: "[[e3,g#3,b3,e4]@9 ~@7]/2",
EM: "~@5 b4@3 ~@2 c#5@3 ~@3, [g#3,a3,c#4]@15 ~", EN: "e5@3 ~@2 f#5@3 ~@2 g#5@3 ~@3, [a3,b3,d4]@15 ~",
EO: "b5@3 ~@2 c#6@3 ~@2 e6@3 ~@3, [b3,c#4,e4]@15 ~", EP: "b5@3 ~@2 c#6@2 ~ b5@3 ~@2 g#5@2 ~, [a3,b3,d4]@15 ~",
EQ: "f#5@2 ~ b5@2 g#5@2 ~ f#5@2 e5@2 ~ g#5@2 ~", ER: "f#5@2 ~ e5@2 c#5@2 ~ b4@2 e5@2 ~ c#5@2 ~",
ES: "b4@2 ~ g#4@2 f#4@2 ~ b4@2 g#4@2 ~ f#4@2 ~", ET: "e4@2 ~ g#4@2 f#4@2 ~ e4@2 g#4@2 ~ f#4@2 ~",
EU: "[e3,g#3,b3,d#4,f#4]", EV: "[a2,c#4,e4,g#4]@15 ~", EW: "[a2,b3,d4,f#4]@15 ~", EX: "[[f1,f2]@29 ~@3]/2",
EY: "[~@13 [a2,e3,b3,e4,b4,c#5,e5]@115]/8", // A
})).s("gm_epiano1").gain(0.39).pan(0.6)
// other · alto sax · "Lead Alto"
const alto_sax = note(`<
~@49 A@2 B@2 C D E@2 F@2 G@2 C D H@3 ~@15 I J K@4 L@2 M N O P@2 Q R@2 ~@30 S T U@2 ~@6 V W X Y Z AA AB AC AD AE AF@4
AG AH AI AJ V W X Y Z AA AK AL ~@7 AM AN@2 ~@6 AO@2 AP@2 C D E@2 AQ@2 AR@2 AS AT AU@2 ~@32 AV AW AX@2 AY AZ E@2 AV AW
AX@2 AY AZ E@2 ~@14 S T BA@2 ~@6 V W X Y Z AA AK AL ~@7 AM AN@2 ~@61 BB BC BD BE BF BG BH BI BJ BA@2 ~@19 BK AG AH AI
AJ V W X Y Z AA AK AL ~@33 BL@3 BM@4 BN@8 ~
>`.pickRestart({
A: "[e5 f5 e5 d5@2 e5@24 d5@2 ~]/2", B: "[f4@2 ~@3 d5@24 c5@3]/2", C: "a4@8 b4@2 ~@3 c5@2 ~", D: "b4@10 ~ g4@2 ~@3",
E: "[f4@2 ~ f4@2 e4@26 ~, ~ g4 ~@14]/2", F: "[e5@29 d5@2 ~]/2", G: "[f4@2 ~@3 d5@18 ~ c5@8]/2",
H: "[f4@2 g4@2 ~ e4@29 ~@14, ~@2 f4 ~@21]/3", I: "d4 b4", J: "b4@5 b4@2 ~@4 b4@5",
K: "[b4 c5 b4 a4@2 c5@34 ~ d5@24]/4", L: "[e5 f5 e5 d5@2 e5@26 ~]/2", M: "~ g5", N: "d5 c5", O: "d5@10 ~ f5@2 ~@3",
P: "[c5 b4@3]/2", Q: "a4", R: "[g#4@2 ~ a4@2 b4@26 ~]/2", S: "~@13 d#4@3", T: "e4@5 c#5@5 ~ b4@5", U: "a4/2",
V: "e4@2 ~ c#5@2 ~@8 e4@2 ~", W: "f4@2 ~ c#5@2 ~@8 b4@2 ~", X: "a4@8 f#4@2 ~@3 a4@2 ~",
Y: "g#4 a4 g#4 f#4@2 g#4@8 f#4@2 ~", Z: "e4@5 a4@5 ~ c#5@5", AA: "e5@2 ~ d5@2 ~@3 b4@2 ~@3 d5@2 ~",
AB: "c#5@5 g#4@2 ~ a4@2 ~@3 c#5@2 ~", AC: "b4 a4", AD: "g#4 e4", AE: "a4 g#4",
AF: "[f#4 g4 f#4 e4@2 f#4@21 ~@3 e4@2 ~]/2", AG: "f#4@2 ~ g#4@2 a4@10 ~", AH: "c#5@5 b4@5 ~ a4@5",
AI: "g#4@2 ~ f#4@2 ~@3 e4@2 ~@3 e4@2 ~", AJ: "d5@2 ~ b4@2 g#4@2 ~@5 g#4@2 f#4@2, ~@11 f#4@2 ~@3",
AK: "c#5@2 ~ g#4@2 a4@2 ~ c#5@2 ~ f#5@2 c#5@2 ~", AL: "b4 ~", AM: "~@5 e4@5 ~ d5@5", AN: "[c#5@2 ~ b4@2 ~@3 a4@24]/2",
AO: "[e5@27 ~@2 d5@2 ~]/2", AP: "[f4@2 ~@3 d5@21 ~@3 c5@3]/2", AQ: "[b4@27 ~@2 a4@2 ~]/2", AR: "[f4@2 ~@3 a4@26 ~]/2",
AS: "g4@8 g4@7 ~", AT: "a4@10 ~ a4@2 ~@3", AU: "[a4@5 g#4@27]/2", AV: "d3 b3", AW: "b3@5 b3@2 ~@6 b3@2 ~",
AX: "[b3@3 ~@2 a3@2 ~ c4@24]/2", AY: "~@3 e3@2 a3@2 ~ d4@8", AZ: "~@3 d3@2 g3@2 ~ c4@8", BA: "[a4@3 g4@2 a4@27]/2",
BB: "d4@2 ~ f#4@2 e4@2 f#4@2 ~ f#4@2 g#4@2 a4@2, ~@2 e4@2 ~@5 g#4@2 ~@5", BC: "b4@8 d5@5 b4 a4 ~", BD: "g4 g#4",
BE: "~@8 d5@5 b4 a4 ~", BF: "g4 a4", BG: "d4@2 ~ g4@2 e4@2 ~ a4@2 f4@2 ~ a#4@2 ~",
BH: "c4@2 ~ f4@2 d4@2 ~ g4@2 e4@2 ~ a4@2 ~", BI: "b4@10 a#4 a4 [g4,g#4] f#4 [e4,f4] d#4", BJ: "d4@3 ~@2 c#5@5 b4@5 ~",
BK: "~@13 g#4@2 ~",
BL: "[~@15 e4@6 ~@2 g#4@2 ~@3 d5@12 c#5@7 b4, ~@21 f4@2 ~@3 b4@2 ~@20, ~@22 g4@2 ~ a#4@2 c#5@2 ~@19]/3",
BM: "[~@5 a4@7 e4@52]/4", BN: "[~@13 a4@115]/8",
})).s("gm_alto_sax").gain(0.56).pan(0.4)
// other · piccolo · "Lead Alto"
const piccolo = note("<~@16 A B@2 C@2 D E F G B@2 C H I J K ~@406>".pickRestart({
A: "~@8 e6@2 ~ b6@2 e7@2 ~", B: "e7@2 ~ e7@2 ~@3 d7@2 ~ c7@2 b6@2 ~", C: "d7@2 ~ d7@2 ~@3 c7@2 ~ b6@2 a6@2 ~",
D: "c7@2 ~ b6@2 a6@2 ~ g6@2 ~@3 b6@2 ~", E: "a6@2 ~ g6@2 f6@2 ~ a6@2 ~@3 b6@2 ~", F: "e7@2 ~ d7@2 e7@2 ~@9",
G: "~@8 e6@2 ~ b6 ~@4", H: "d7@2 ~ c7@2 b6@2 ~ a6@2 ~@3 c7@2 ~", I: "b6@2 ~ a6@2 g6@2 ~ c7@2 ~@3 b6@2 ~",
J: "a6@2 ~ g6@2 b6@2 ~ a6@2 ~ g6@2 f6@2 ~", K: "f6@2 ~@3 g6@2 ~@9",
})).s("gm_piccolo").gain(0.3).pan(0.4)
// other · soprano sax · "Lead Alto"
const soprano_sax = note("<~@399 A B C D E F G H I@2 J@3 K L M ~@23>".pickRestart({
A: "~@10 e4 f4 [e4,f4] e4 [e4,f4] f4", // Fmaj7
B: "[e4,f4] e4 [e4,f4] f4 [e4,f4] e4 [e4,f4] f4 e4 [f#4,g#4,a#4] [c5,d#5] ~@3 [c#5,d#5] [f#4,g#4,a#4], ~@5 f5@2 ~", // Fmaj7 F# Cm C#sus2 F#
C: "[e4,f4] e4 [e4,f4] f4 [e4,f4] e4 [e4,f4] f4 [e4,f4] e4 [e4,f4] f4 [e4,f4] e4 [f4,f#4,a4] [c5,d#5,g5]", // Fmaj7 F Cm
D: "a5@3 g5 [a4,c5,e5] [e4,f#4] [e4,f4] f4 [e4,f4] e4 [e4,f4] f4 [e4,f4] e4 [e4,f4] f4", // Am Esus2 Fmaj7
E: "[e4,f4] e4 [e4,f4] [f4,f#4] [a4,c5,d#5] a5@4 [c5,e5,g5] [e4,f#4,a4] f4 [e4,f4] e4 [e4,f4] f4, ~@5 g5 ~@10", // Fmaj7 F#maj7 Adim C F#m7 Fmaj7
F: "[e4,f4] e4 [e4,f4] f4 [e4,f4] e4 [e4,f4] f4 [e4,f4] [f#4,a4,c5] [d#5,g5] ~@3 [e5,g5] [f#4,a4,c5], ~@5 a5@2 ~", // Fmaj7 F#dim D# Em F#dim
G: "e4@11 ~@5", H: "~ e4", I: "[d5@21 c#5@10 ~]/2", J: "[a4@10 a4@10 ~ a4@16 g4@5 a4@5 ~]/3",
K: "g4@3 a4@2 g4@2 a4@2 ~ a4@3 g#4 [f#4,g4] f4, ~@9 g4@2 ~@5", L: "e4@10 e4 f4 [e4,f4] e4 [e4,f4] f4",
M: "[e4,f4] e4 [e4,f4] f4 [e4,f4] e4 [e4,f4] f4 [e4,f4] e4 [e4,f4] f4 [e4,f4] e4 [e4,f4] ~", // Fmaj7
})).s("gm_soprano_sax").gain(0.8).pan(0.4)
// other · tenor sax
const tenor_sax = note(`<
// … 334 more lines
More by Herman
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.