0:00/0:00
// Fala Serio — Zeze di Camargo
// 140 bpm, 4/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 146 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/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.
// bass · electric bass finger
const bass = note(`<
~@4 A B C D E@2 F@2 ~@8 G@2 H@2 I@2 J@2 K@2 L@2 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T@2 U V W X Y@2 Z@2 AA AB AC AD AE@2 AF@2
AG@2 AH@2 AI@2 AJ ~ AK@2 G@2 AL@2 AM@2 AN@2 AO@2 AP@2 AQ@2 AR@2 AS@2 AT@2 AU@2 AV@4 AW AX AY AZ BA@2 BB@2 BC@2 BD BE
BF@2 BG BH BI BJ BK BL BM@2 BN@2 BO BP BQ BR BS@2 BT@2 BU@2 BV@2 BW@2 BX@5 BY@3
>`.pickRestart({
A: "~ a1@7 ~@2 a1@4 ~@2 a2 ~@2 g#1@5", B: "~@4 g#1 ~@2 g#1@8 ~ d#1 ~@2 f#1@2 ~ g#1@2",
C: "~ f#1@8 ~ f#2@3 ~@6 c#1@2 ~ c#2@2", D: "~ g#1@2 ~ e1@2 ~ c#1@7 ~@2 c#1 ~@2 c#1@3 ~@2",
E: "[~ d1@7 ~@2 d1@3 f#1@2 ~@4 c#2@7 ~@2 a1 ~@2 c#2@12 ~@3 c#2 ~]/2", F: "[~ b1@7 ~@2 b1 ~@8 e1@28 ~]/2",
G: "[~ d1@18 b1@24 f#1@3 b1@2]/2", H: "[~ d1@12 ~@6 b1@24 f#1@3 b1@2]/2", I: "[~ d1@13 ~@2 d1 ~@2 b1@27 a1 ~]/2",
J: "[~ g#1@22 e2@12 ~@2 d1@3 ~@8]/2", K: "[~ a1@13 ~@2 e1 ~@2 a1@19 ~@2 a1 ~@2 b1@3 c#2@2]/2",
L: "[~ d2@12 ~@3 a1 ~@2 d2@12 ~@3 d2 ~@2 c#2@9 ~@2]/2", M: "[~ b1@18 a1@23 ~ e1@2 ~ a1@2]/2",
N: "[~ g#1@13 ~@2 g#1 ~@2 g#1@18 e1@11]/2", O: "[~ a1@13 ~@2 e1 ~@2 a1@18 ~@3 a1 ~@3 c#2@4, ~@43 b1@3 ~@2]/2",
P: "[~ d2@12 ~@3 a1 ~@2 d2@19 ~@5 b1@3 d2@2]/2", Q: "[~ c#2@8 ~ c#2 ~@8 c#1@25 ~@2 c#1@2]/2",
R: "[~ d1@15 ~@3 a1@3 d2@3 c#2@18 ~@5]/2", S: "[~ b1@12 ~@6 a1@19 ~@5 e1 ~@2 a1@2]/2", T: "[~ g#1@45 ~@2]/2",
U: "~ a1@7 ~@2 a1 ~@5 e1 ~@2 g#1@5", V: "~@7 g#1@8 ~ d#1 ~@2 f#1@3 g#1@2",
W: "~ f#1@7 f#1@6 ~@2 f#2 ~@2 c#1 ~@2 c#2@2", X: "~ g#1 ~@2 e1 ~@2 c#1@7 ~@2 c#1 ~@2 c#1@5",
Y: "[~ d1@7 ~@2 d1@2 ~ f#1@2 ~ a1@2 ~ c#2@8 ~@4 c#2@11 ~ a1@2 ~ c#2@2]/2",
Z: "[~ b1@7 ~@2 b1@4 ~@5 e1@13 ~@2 e1@3 ~@3 e1 ~@2 g#1@2 ~ b1@2]/2", AA: "~ a1@7 ~@2 a1@5 ~ e1 ~@2 g#1@5",
AB: "~@7 g#1@12 e1@3 g#1@2", AC: "~ f#1@7 ~@2 f#1@3 ~@3 f#1 ~@5 c#2@2", AD: "~@4 e1 ~@2 c#1@7 ~@2 c#1 ~@2 c#1@5",
AE: "[~ d1@7 ~@2 d1@3 f#1@3 a1@3 c#2@7 ~@5 c#2@11 ~@4 c#2@2]/2", AF: "[~ b1@7 ~@2 b1@8 ~ e1@22 ~@7]/2",
AG: "[~ a1@9 ~@6 a2@3 f#2@21 e2@2 ~ d2@5]/2", AH: "[~ c#2@18 a1@13 ~@11 c#2@3 ~@2]/2",
AI: "[~@10 c#2@3 e2@3 f#2@3 a2@6 g#2@23]/2", AJ: "~ f#2@23", AK: "[~ d2@18 b1@29]/2",
AL: "[~ d1@16 ~@2 b1@18 a1@11]/2", AM: "[~ g#1@24 e2@12 e1@11]/2", AN: "[~ a1@13 ~@5 a1@19 ~@2 a1 ~@2 b1@3 c#2@2]/2",
AO: "[~ d2@12 ~@3 a1 ~@2 d2@12 ~@3 d2@3 c#2@7 ~@4]/2", AP: "[~ b1@15 ~@3 b1@25 ~@2 a1 ~]/2",
AQ: "[~ g#1@12 ~@3 g#1 ~@2 g#1@18 e1@11]/2", AR: "[~ a1@12 ~@6 a1@23 ~ b1@3 c#2@2]/2",
AS: "[~ d1@13 ~@2 d1 ~@2 d1@21 f#1@3 a1@2 ~ d2@2, ~ e1 ~@46]/2", AT: "[~ c#1@12 ~@3 c#1 ~@2 c#2@24 c#1@5]/2",
AU: "[~ d1@16 ~@2 a1@2 ~ d2@3 c#2@17 ~@4 c#2 ~]/2", AV: "[~ b1@13 ~@5 b1@30 g#1@45 ~@2]/4", AW: "~ a1@14 ~@4 g#1@5",
AX: "~@4 g#1 ~@2 g#1@12 d#1 ~@2 g#1@2", AY: "~ f#1@7 ~@2 f#1@4 ~@5 c#1@2 ~ c#2@2",
AZ: "~ g#1@2 ~ e1@2 ~ c#1@7 ~@2 c#1 ~@2 c#1@4 ~",
BA: "[~ d1@7 ~@2 d1@2 ~ f#1@3 d2@3 c#2@7 ~@2 a1 ~@2 c#2@11 ~ a1@3 c#2@2]/2",
BB: "[~ b1@7 ~@2 b1@6 ~@3 e1@12 ~@3 e1@3 g#1@2 ~ e1 ~@2 g#1@3 b1@2]/2",
BC: "[~ a1@6 ~@3 a1@5 ~@4 g#1@7 ~@2 g#1 ~@2 g#1@8 ~ d#1@2 ~ f#1@2 ~ g#1@2]/2",
BD: "~ f#1@8 ~ f#2@5 ~ f#1 ~@2 c#1@3 c#2@2", BE: "~@2 e1 ~@2 c#1@7 ~@4 c#1 ~@2 c#1@5",
BF: "[~ d1@7 ~@2 d1@2 ~ f#1 ~@2 d2@2 ~ c#2@7 ~@2 a1 ~@2 c#2@12 a1@3 c#2@2]/2", BG: "~ b1@7 ~@2 b1@3 ~@6 e1@5",
BH: "~@4 e1 ~@2 e1@9 g#1 b1@3 e2@3 ~", BI: "~ a1@7 ~@2 a1@5 ~ a2@2 ~ g#1@5", BJ: "~@4 g#1 ~@2 g#1@12 ~@3 g#1 ~",
BK: "~ f#1@6 ~@3 f#1@3 ~@3 f#1 ~@2 c#1@2 ~ c#2@2", BL: "~ g#1@2 ~ e1@2 ~ c#1@6 ~@3 c#1 ~@2 c#1@4 ~",
BM: "[~ d1@9 ~@3 a1@3 d2@3 c#2@8 ~ a1 ~@2 c#2@12 a1@2 ~ c#2@2]/2",
BN: "[~ b1@8 ~ b1@5 ~@4 e1@13 g#1@5 ~ e1@2 ~@3 g#1@2 ~ b1@2]/2", BO: "~ a1@7 ~@2 a1@4 ~@2 e1 ~@2 g#1@5",
BP: "~@2 g#1 ~@2 g#1@7 ~@4 d#1 ~@2 f#1@2 ~ g#1@2", BQ: "~ f#1@6 ~@3 f#1@2 ~@7 c#1 ~@2 c#2@2, ~@10 g1 ~@13",
BR: "~ g#1@2 ~ e1@2 ~ c#1@6 ~@3 c#1 ~@2 c#1@5",
BS: "[~ d1@7 ~@2 f#1 ~@2 a1@3 ~@3 c#2@7 ~@2 a1 ~@2 c#2@11 ~ a1@2 ~ c#2@2]/2",
BT: "[~ b1@6 ~@3 b1@4 ~@5 e1@10 ~@2 e1 ~@2 e1@5 ~ g#1 ~@2 b1@2 ~ e2@2]/2",
BU: "[~ a1@7 ~@2 a1@2 ~ c#2@2 ~ e2@2 ~ g#1@7 ~@5 g#1@4 ~@5 d#1 ~@2 f#1@3 g#1@2]/2",
BV: "[~ f#1@7 ~@2 f#1@9 c#1@7 ~@2 c#1 ~@2 c#1@10 ~@5 c#1 ~]/2",
BW: "[~ d1@8 ~ f#1@3 ~ d2@4 ~ c#2@8 ~ a1 ~@2 c#2@11 ~@4 c#2@2, ~@13 a1@2 ~@33]/2", BX: "[~ b1@18 e1@30 a1@70 ~]/5",
BY: "[~ a1@49 a0@12 ~@10]/3",
})).s("gm_electric_bass_finger").gain(0.5)
// bass · electric bass finger · soft notes
const bass_soft = note(`<
~@6 A ~ B C ~@9 D ~@7 E ~@3 F ~@10 G ~@2 H ~@15 C ~@2 I ~@2 J K ~@14 K ~@10 G L M ~@3 N ~ A ~@5 N ~ O ~@9 P ~ M ~@5 Q
~@8 R ~@8
>`.pickRestart({
A: "~@16 f#1 ~@7", B: "~@16 a1 ~@7", C: "~@19 a1@2 ~@3", D: "~@20 f#1 ~@3", E: "~@2 e1", F: "~@22 a1 ~",
G: "~@16 f#1@3 ~@5", H: "~@7 a1 ~@4", I: "~@10 c#2@3 e2@3 ~@8", J: "~@16 a1@3 ~@5", K: "~@7 a1@3 ~@14",
L: "~@19 a1 ~@4", M: "~@16 b1 ~@7", N: "~@16 e1 ~@7", O: "~@11 f#1 ~@12", P: "~@5 f#1 ~@6", Q: "~@4 d2 ~",
R: "~@19 a1@3 ~@2",
})).s("gm_electric_bass_finger").gain(0.3)
// chords · piano
const piano = note(`<
~@4 A@2 B@2 C@2 D E ~@6 F G ~ H@6 ~ I@2 J@8 K@2 L@5 ~ M N O@2 P@2 Q@4 R@2 S@2 T@5 U@3 ~@2 V@2 W@2 X@2 Y@8 Z AA@2 ~
AB@2 AC AD AE@2 AF@3 AG@2 ~ AH AI AJ@2 AK@2 AL AM AN@2 AO@2 AP@2 AQ@2 AR@2 AS@2 AT@2 AU@2 AV@2 AW@2 AX@4 AY@2 AZ@2
BA@4 ~@3 BB@3
>`.pickRestart({
A: "[~ [b3,c#4,e4]@13 ~@4 [g#3,b3,e4]@22 ~@8, a2@13 ~@5 g#2@3 ~@27, ~ a4@11 ~@36]/2", // C#m7 E
B: "[[f#2,f#3,a4]@10 ~@8 [b3,e4,g#4]@23 ~@7]/2", // F#m E
C: "[~ [d3,d4]@12 ~@5 [a3,e4]@20 ~@10, ~@18 a4@25 ~@5, ~@9 c#4@11 ~@4, ~@9 c#3@8 ~@7]/2", // D A5
D: "~@18 a4 ~@5, ~@15 a5@2 d5@2 ~@5, ~@8 f#5 ~@3", E: "~ e4@5, ~ d5@23, ~ a4@11, ~ f#4@7",
F: "f#4@14 ~@4 [c#4,f#4] ~@5", G: "~ f#4@13 ~@10, ~ c#4@3 ~@20",
H: "[~@25 f#4@10 ~@7 [b3,f#4]@20 ~@10 [e4,f#4]@12 ~@6 f#4@18 ~@12 [e5,g#5]@2 ~@7 e4@2 ~ g#4@3 e4 ~@8, ~@21 a3@13 ~@35 a3@13 ~@6 b3@18 ~@14 g#3@20 ~@4, ~@23 d4@16 ~@3 d4@22 ~@6 d4@16 ~@3 d4@18 ~@12 b5@3 ~@7 [b4,e5]@6 ~@9, ~@24 e4@12 ~@82 e6@3 ~@23]/6", // B5 Esus2 E E5
I: "[~ [a2,a3,b3,c#4,e4]@37 ~@10]/2", // A
J: "[~ [d4,e4,f#4]@26 ~@6 f#4@2 ~ e4@4 ~@2 c#4@3 e4 ~@4 f#4@14 ~@2 [d4,f#4]@23 ~@25 e2@11 ~@37 a4@16 ~@8 [a3,e4]@2 ~@4, ~ d3@29 d4@5 ~@5 a3@5 ~@2 f#3@37 ~@9 g#2@20 ~@32 e4@35 ~@12, ~ a3@13 ~@13 a3@8 ~ c#3@6 ~@6 b3@16 ~@2 a3@9 ~@18 g#3@4 b4@37 ~@9 b3@38 ~@11, ~@49 d4@16 ~@29 e4@11 e5@27 ~@12 c#4@42 ~@6, ~@95 g#4@39 ~@8 a3@27 ~@23]/8", // D A5
K: "[e4@3 f#4@34 ~@11, a3@7 ~@17]/2",
L: "[b3@5 ~@14 [e4,g#4]@21 ~@8 c#5@12 ~@6 [c#4,e4,a4]@19 ~@11 f#4@18 ~@6, c#3@22 ~@25 a4@13 ~@60, [e4,g#4]@17 ~@2 b3@18 ~@9 e4@16 ~@4 c#3@17 ~@10 b2@9 ~@18, ~@9 b4@31 ~@7 f#4@15 ~@33 [a3,d4]@20 ~@5]/5", // E A E D5
M: "[b5,e6]@3 g#5@2 ~@7 [b4,e5]@4 ~@8, g#2@19 ~@5, g#3@2 ~, e5 ~@5 e4 ~@5", N: "[b3,e4]@7 ~@17, e3 ~@7",
O: "[~ [a3,b3,c#4]@12 ~@5 [b3,e4]@18 ~@12, ~ e4@16 ~ g#3@15 ~@15, ~ a2@10 ~@7 g#2@21 ~@9]/2", // A E5
P: "[[c#4,f#4,a4]@9 ~@9 [b3,e4,g#4]@22 ~@8, f#2@5 ~@13 c#3@17 ~@13]/2", // F#m E
Q: "[[a3,c#4,f#4]@17 ~@2 e4@13 ~@4 b3@2 ~@2 a3@4 ~@5 f#4@16 ~ [a3,d4,f#4]@10 ~@9 a4@5 ~@6, d3@10 ~@26 e4@8 ~@4 d4@17 ~ e2@18 d5@6 ~@6, ~@38 c#4@7 ~@2 b3@18 ~ e3@25 ~@5, ~@41 a5@3 ~@4, ~@83 f#5@6 ~@7]/4", // F#m D
R: "[~ b3@13 ~@4 [g#2,g#3,b3,e4,g#4]@20 ~@10, a2@7 ~@17]/2", // E
S: "[[e4,a4,c#5]@11 ~@7 [b3,e4,g#4]@23 ~@7, f#3@7 ~@11 c#3@19 ~@11]/2", // A E
T: "[e4@3 ~@6 d4@8 ~ [c#3,a3,c#4,a4]@24 ~@6 d4@12 ~@7 a4@3 ~@9 e4@14 ~@27, [d3,a3]@10 ~@55 e3@33 ~@22, ~@3 f#4@7 ~@55 a5@5 ~@7 a4@14 ~@29, ~@6 e4@10 ~@2 e4@22 ~@7 b3@12 ~@6 e2@13 f#4@14 ~@28, ~@66 [d5,f#5]@4 ~@6 d5@15 ~@29]/5", // F#m D5 D
U: "[~@25 e4@6 ~@8 e3@2 ~ e4@3 f#4@19 ~@8, ~@23 b3@8 ~@11 a3@21 ~@9, ~@8 c#4@3 ~@13]/3",
V: "[[a4,c#5]@9 ~@6 e6@4 ~@5 a5@4 ~@9 c#5@6 ~@5, f#3@31 ~@17, e4@7 ~@29 [e4,a4]@8 ~@4]/2", // A A5
W: "[~@20 f#4@14 ~@9 [a3,e4]@3 ~@2, ~@17 b2@20 ~@11, ~@18 b3@17 ~@13, ~@19 d4@23 ~@6]/2", // A5
X: "[e4@3 f#4@14 ~ d4@21 a3@3 e4@3 a3 ~@2, a3@11 ~@7 b3@18 ~@12, ~@9 b2@5 ~@10]/2",
Y: "[e4@3 f#4@10 ~@6 f#4@17 ~ d4@5 ~@7 b4@21 ~@53 a4@7 ~@3 a4@13 ~@7 e4@3 ~@6 d4@19 ~@11, a3@13 ~@4 b3@18 ~ [a2,a3]@4 ~@6 [g#2,g#3]@27 ~@23 c#4@44 ~@19 e4@22 ~@11, ~@18 d4@17 ~@12 e4@24 ~@24 b3@20 ~@38 a3@10 ~@29, ~@24 g#4@11 ~@13 e4@24 ~@6 f#4@13 ~@5]/8", // A G#
Z: "~@9 [c#4,f#4]@3 ~@6 [c#5,f#5]@3 d5 ~@2", // F#5
AA: "[~@3 [c#6,f#6]@3 d6 ~@18 e4@8 ~@9 b5@2 g#5@2 e5@2, ~@23 g#3@7 ~@18, ~@3 b3 ~@2]/2", // F#5
AB: "[~ [b3,c#4]@36 ~@6 [a3,d4] ~@4, a3@17 ~@31, ~ [e4,g#4]@9 ~@38]/2", AC: "~ d4 ~ f#4@11 ~@10, a3@7 ~@5, e4 ~@5",
AD: "~@3 f#5 ~@8 [a3,e4]@4 ~@8, ~ [a4,e5]@4 ~@19", // A5
AE: "[~@9 g#4@9 [e4,b4]@19 ~@11, b3@37 ~@11, c#3@11 ~@5, e4@7 ~@41, ~@3 f#4@8 ~@37]/2", // E5
AF: "[~ [a3,e4]@2 f#4 ~@6 e5@3 f#5@4 ~@8 g#4@14 ~@10 f#4@20 ~@3, ~@10 a4@8 ~@3 c#3@19 ~@6 f#3@19 ~@7, ~@23 b3@17 ~@7 b3@8 ~@17, ~@24 e4@16 ~@7 d4@21 ~@4]/3", // A5
AG: "[~@24 b4@3 ~@10 e4@2 ~@9, ~@7 b5 g#2@8, ~@22 g#5@3 ~@11 [g#4,b4]@3 ~@9, ~@23 e5@3 ~@9 e5@3 ~@10]/2", // G#m
AH: "[a3,b3,c#4,e4]@13 ~@11", AI: "~@3 b3@2 ~@3, ~@6 g#3@7 ~@11",
AJ: "[[c#4,f#4,a4]@8 ~@10 g#4@17 ~@13, ~@15 c#3@11 ~@22, ~@16 b3@21 ~@11, ~@17 e4@20 ~@11]/2", // F#m
AK: "[e4@3 ~@6 d4@3 a3@2 ~@4 [a3,e4]@24 ~@6, a3@10 ~@8 c#3@19 ~@11, ~@3 f#4@8 ~@7 a4@29 ~, ~@6 e4@11 ~ c#4@26 ~@4]/2", // A5
AL: "[b3,d4,f#4]@7 ~@12 a4@3 ~@2, ~@16 a5@5 ~@3, ~@17 f#5@5 ~@2, ~@9 d5@2 ~", // Bm
AM: "~@6 e4@7 ~@11, ~@3 d5@8 ~@13, ~ a4@2 ~@3, ~@5 f#4@8 ~@11",
AN: "[[a2,b3,c#4,e4]@13 ~@5 [g#3,b3,e4]@16 ~@14, ~@3 g#2@3 ~@2]/2", // A E
AO: "[[e4,a4,c#5]@6 ~@3 [b3,e4]@10 ~@2 a3 ~@2, [f#2,f#3]@7 ~@11 g#4@18 ~@6 e4 ~@5, ~@6 c#3@5 ~@5]/2", // A E5 F#
AP: "[e4 f#4@3 ~@2 c#4@9 ~, a3@16 ~@2 a3@23 ~@7, ~@9 e4@10 ~@5, ~@18 c#3@13 ~@17]/2",
AQ: "[[c#4,f#4] ~@2 [c#5,f#5] ~@2 a4 ~@3 e4@2 ~@4, b2@9 ~@7 a5@5 ~@7 a4@8 ~@12, ~@17 e2@15 ~@16, ~@17 [d5,f#5]@4 ~@6 d5@8 ~@13, ~@29 f#4@7 ~@12]/2", // F#5 D
AR: "[[b3,c#4,e4]@5 ~@4 [g#3,b3,e4,g#4]@9 ~@6, a4@8 ~@10 g#2@13 ~@17]/2", // C#m7 E
AS: "[[e4,a4,c#5]@11 ~@7 [b3,e4,g#4]@20 ~@10, [f#2,f#3]@9 c#3@7 ~@8]/2", // A E F#
AT: "[e4@3 ~@6 d4@8 ~ [a3,c#4,e4]@20 ~@10, a3@16 ~@2 c#3@11 ~@19, ~ f#4@4 ~ a4@9 ~, ~@6 e4@11 ~@31]/2", // A
AU: "[~ f#4@5 ~@13 [a4,d5,f#5]@20 ~@9, d4@2 ~@4 d2@5 ~@5]/2", // D
AV: "[[b3,c#4,e4]@12 ~@6 [g#3,b3,e4]@19 ~@11, a3@7 ~@11 g#2@16 ~@14]/2", // C#m7 E
AW: "[[e4,a4,c#5]@2 ~ [b3,e4,g#4]@4 ~, [f#2,f#3]@14 ~@4 c#3@15 ~@15]/2", // A E F#
AX: "[~ [a3,e4]@3 ~@8 f#5 ~@20 e4@6 ~@9 f#4@14 ~@7 a4@3 ~@12 e4@3 ~@9, ~@9 e5@3 ~@18 b3@9 ~@7 a3@15 ~@5 e3@23 ~@7, ~@10 a4@4 ~@4 c#3@19 ~@8 b2@8 ~@13 e2@17 f#4@4 ~@9, ~@47 d4@15 ~@4 a5@2 d5@3 ~@10 d5@5 ~@10, ~@67 f#5@4 ~@11 a4@4 ~@10]/4", // A5
AY: "[[b3,c#4,e4,a4]@4 ~@2 [g#2,g#3,b3,e4,g#4]@7 ~@3]/2", // A E
AZ: "[[e4,a4,c#5]@11 ~@7 [b3,e4]@24 ~@6, [f#2,f#3]@7 ~@11 g#4@22 ~@8, ~@6 c#3@5 ~@5]/2", // A E5 F#
BA: "[[a3,e4]@3 f#4 ~@5 [a4,e5]@3 f#5 ~@5 a4@27 ~@3 f#4@5 ~@13 a4@2 ~@11 e4@2 ~@15, ~@18 c#4@25 ~@3 b3@4 ~@14 f#5@3 ~@10 a4@3 ~@16, ~@18 e4@22 ~@7 d4@5 ~@11 a5@4 ~@11 f#4@3 ~@15, ~@18 c#3@17 ~@10 f#3@2 ~@18 [d2,d3]@21 ~@10, ~@65 d5@3 ~@8 d5@4 ~@16]/4", // A5 D
BB: "[~ [b3,c#4,e4]@24 ~@9 e5 ~@2 b5@3 ~@6 a6@2 ~@24, ~ [a2,a3]@49 ~@22, ~@5 c#6 ~@3]/3", // C#m7 A
})).s("gm_piano").gain(0.35).pan(0.9)
// chords · piano · soft notes
const piano_soft = note(`<
~@4 A ~ B@2 C ~@9 D E ~@6 F@2 G@2 H I@3 J@4 K@2 L M@2 ~@3 N O ~@4 P@3 ~ Q ~ R ~@2 S@2 ~ T U@2 ~ V@2 W@2 X Y ~@2 Z@2 ~
AA@3 AB@2 AC@4 AD@2 AE@2 ~ AF@2 AG@2 ~ AH AI AJ AK AL AM@2 ~ AN@2 AO ~@5 AP@2 AQ ~@4 AR@3 AS ~@2 AT@2 AU ~@2 AV ~@2
AW@2 AX ~@6 AY ~
>`.pickRestart({
A: "~@7 e3@5 ~@12", B: "[[c#4,f#4]@10 ~@8 c#3@21 ~@9]/2", C: "~ [a3,e4,f#4]@12 ~@11", D: "~ c#4@2 ~ d4@11 ~@9",
E: "~@7 b3@4 ~@13, ~ d4@3 ~@2", F: "[g#2@9 ~@7]/2", G: "[~@11 e3@26 ~@11]/2", H: "~@2 a3",
I: "[~@54 b3@8 ~@5 e4 ~@4, ~@23 b2@37 ~@12]/3", J: "[~@16 e4@22 ~@7 a2@35 ~@7 d3@2 ~@7]/4",
K: "[~@3 a3@3 ~@2, ~@10 e4@27 ~@11, ~@15 d4@22 ~@11]/2", L: "~@6 b3@6 ~@4 b3 ~@2 c#4@3 ~@2",
M: "[~@21 d4@13 ~@14, ~@5 d3@4 ~@3]/2", N: "~@15 g#4 ~@5 g#2@3", O: "~@4 g#3@3 e3 ~@16",
P: "[~@21 a3@8 ~@17 [b2,f#3]@6 ~@20, ~@9 c#3@11 ~@16, ~@19 a4@28 ~@25, ~@19 c#4@16 ~@37]/3", // B5
Q: "~ a4@11 a3 ~@11, ~ [c#4,e4]@13 ~@10", R: "f#2@7 ~@17", S: "[~@25 f#4@11 ~@12, ~@21 b2@10 ~@17, ~@11 f#3@4 ~@9]/2",
T: "~@5 a2@2 ~@5", U: "[~@4 e3@3 ~@14 a3@8 ~@19, ~@10 a2@9 ~@5]/2",
V: "[~ a2@11 ~@7 [b3,e4]@18 ~@11, e4@9 ~@10 g#2@20 ~@9, ~@19 g#3@13 ~@16]/2", // E5
W: "[~@19 c#6@2 ~@8 c#5@2 ~@3 f#3@9 ~@5, f#2@7 ~, ~@27 e5@4 ~@17]/2", X: "~@5 a3@3 ~@4, ~@2 d3@17 ~@5, ~@7 f#3@8 ~@9",
Y: "~@16 b2 ~@7", Z: "[~@16 f#3@14 ~@11 f#4 ~@6, ~@15 b2@10 ~@23]/2",
AA: "[~@24 b3@3 ~@2 b3@3 ~@3 c#4, ~@5 a2@11 ~@2, ~@21 a3@43 ~@3 b3@5]/3", AB: "[~@24 a3@13 ~@11, ~ d3@31 ~@16]/2",
AC: "[~@6 f#3@5 ~@62 a4 ~@22, b2@37 ~@8 g#2@38 ~@13]/4", AD: "[~@15 e4@21 ~@11 d4, a2@5 ~@3, ~@9 a4@25 ~@14]/2",
AE: "[d3@19 ~@5]/2", AF: "[~@31 e5 ~@8 e5@2 ~@6, ~@21 d3@19 ~@8]/2", AG: "[~@21 b2@22 ~@5]/2",
AH: "~@10 g#3@7 ~@4 g#3@3", AI: "~ e4 ~@22", AJ: "a2@13 ~@6 g#3@3 ~@2", AK: "~ g#2@13 ~@10", AL: "[f#2,f#3] ~@3",
AM: "[~@21 d3@12 ~@6 d3@2 ~@7]/2", AN: "[[b2,f#3]@5 ~@11 e3@24 ~@8, ~@16 e2@17 ~@15]/2", AO: "a3 ~",
AP: "[~@14 d5 ~@2 e3@24 ~@7]/2", AQ: "a2 ~", AR: "[~@21 b2@2 b3@5 ~@14 d3@17 ~@13]/3", AS: "a2@3 ~@5",
AT: "[~@11 d3@6 ~@7]/2", AU: "~ g#3@3 ~@4", AV: "[a2,a3]@11 ~@13", AW: "[~@22 d3@14 ~@4 e4 ~@7]/2",
AX: "~@10 g3 ~@10 b2@3", AY: "~@5 b4@3 c#5@2 ~@9 e6@5",
})).s("gm_piano").gain(0.15).pan(0.9)
// chords · string ensemble 2
const string_ensemble_2 = note(`<
~@4 A@4 B@4 ~@8 C@8 D@4 E@6 F@2 G@2 H@6 I@8 J@4 K@8 ~@4 L@8 M@8 N@4 O@6 P@2 Q@8 R@2 S@2 T U@7 V@8 W@8 X@4 Y@3 Z@3
>`.pickRestart({
A: "[~ [a3,a4,c#5]@16 ~@2 b4@30 a4@15 ~@3 [b3,e4,g#4]@29, ~ e4@48 f#4@18 ~@29, ~@17 g#3@28 ~@4 f#3@11 ~@5 c#3@27 ~@4, ~@19 g#4@28 ~@49, ~@19 c5@3 ~@74]/4", // A E
B: "[~ [d3,d4,f#4]@15 ~@4 c#5@24 ~@6 f#5@11 ~@4 [e3,d5]@29 ~@2, ~@16 a3@31 ~@2 d5@13 ~@3 f#4@27 ~@4, ~@17 e4@26 ~@3 b3@20 ~@30, ~@19 [a4,b4]@26 ~@2 a4@46 ~@3]/4", // D E7 Asus2
C: "[~ [a3,f#4,a4]@16 ~@2 b3@30 d3@18 [b2,b3]@28 [a3,a4]@15 ~@3 [b2,b4]@29 ~@3 b4@17 ~@4 c5@24 ~@2, ~ d4@138 ~@25 e4@28, ~ e4@14 ~@2 f#3@31 ~@19 b4@27 ~ d3@18 b3@21 ~@9 g#3@22 ~@27, ~@19 f#4@28 ~@2 f#4@91 ~@3 g#4@49]/8", // D B A B
D: "[~ c#5@48 f#4@36 [c#4,e5]@9 ~ b4, ~ a4@86 ~@9, ~@49 d4@29 ~@7 c#5@10 ~]/4", // C#m
E: "[~@17 a4@15 ~@15 g#4@48 ~@20 e5@29, ~ d5@43 g#3@7 ~@44 a4@46 ~@3, ~@2 f#5@41 ~@4 b4@93 ~@4]/6",
F: "[~ [d4,a4]@44 ~@3, ~ f#4@38 ~@9]/2", G: "[~ [b4,e5,g#5]@46 ~]/2",
H: "[~ [d5,f#5]@17 ~ c#5@28 a4@2 ~@3 b4@12 ~@3 a4@30 [g#4,b4,e5]@43 ~@4, ~@19 e5@25 ~@3 f#4@25 ~@72, ~@49 d5@43 ~@52, ~@65 a3@15 ~@64]/6", // D E
I: "[~ [a4,c#5]@16 ~@2 b4@25 ~@5 [a4,c#5]@16 ~@2 b4@30 [e4,a4]@17 ~ [c#4,e4,a4]@24 ~@6 f#4@14 ~@2 [f#4,a4]@25 ~@6, ~ e4@46 f#3@9 ~@9 [c#3,c#4]@23 ~@9 [d3,d4]@13 ~@5 c#3@28 a3@18 e3@31, ~@49 e4@47 ~ f#4@15 ~@31 b2@7 ~@42, ~@67 g#4@28 ~@50 d4@42 ~@5]/8", // A A5 A F#m C# D
J: "[~ a3@18 g#3@26 ~@4 c#5@14 ~@2 [b4,e5,g#5]@27 ~@4, ~ [e4,b4]@45 f#3@21 ~@29, ~ a4@16 ~@2 [g#4,e5]@28 [e4,a4]@15 ~@3 c#4@19 ~@12]/4", // E E5 C#m A5
K: "[~ [f#4,a4]@18 [c#4,e4,a4]@24 ~@6 f#4@13 ~@3 [f#4,a4]@14 ~@16 e4@10 ~@8 d5@31 ~@17 d5@27 ~@4, ~ e4@16 ~@30 d4@32 ~@16 a4@95 ~@2, ~ d4@10 ~@8 c#3@27 b2@7 ~@12 e3@16 ~@111, ~@47 a3@18 ~@30 a3@3 ~@47 c#5@18 ~@29]/8", // F#m A F#m
L: "[~ [f#4,a4]@16 [b3,f#4]@27 ~@5 [d3,f#4]@18 [b3,f#4]@28 [d3,e4,f#4]@16 ~@4 f#4@24 ~@4 e4@2 g#4@47, ~ d4@112 d4@25 ~@7 b4@44 ~@3, ~ [a3,e4]@14 ~@34 a3@16 ~@30 a3@14 ~@3 c3@3 ~@77, ~ d3@5 ~@106 b2@18 ~@62, ~@113 b3@21 ~@9 g#3@13 ~@36]/8", // F#m B5 D B5 D A5
M: "[~@17 e5@26 ~@42 c#5@10 b4@16 ~@2 a4@29 ~@4 e5@45 a4, ~ [e4,a4,c#5]@45 a3@3 a4@32 ~@62 g#4@49, ~@44 d3@23 d5@19 ~@9 d5@44 ~@6 b4@43 ~@4, ~@47 e4@38 ~@107, ~@47 f#4@35 ~ c#4@10 ~@2 b3@37 ~@10 g#3@16 ~@34]/8", // A
N: "[~ e4@39 b4@3 c#5@4 ~@18 [a4,a5]@28 ~@3, ~@47 d5@46 ~@3]/4", // A
O: "[~ g#4@47 ~ [d3,f#4]@15 ~@3 c#3@25 ~@23 b3 ~@28, ~ e4@93 ~ d4@43 ~@6, ~ b4@44 ~@4 a4@44 ~@2 a3@18 ~@31, ~ c#4@36 ~@57 b2@8 ~@42, ~@97 f#4@42 ~@5]/6", // D
P: "[~ [g#4,b4,e5]@28 ~@19]/2", // E
Q: "[~ [a4,e5]@14 ~@2 [g#4,e5]@31 ~ a4@16 ~@2 b4@30 [d4,f#4,a4]@15 ~@3 c#5@27 ~@4 f#5@17 [e3,e4]@14 ~@15, ~ e4@48 f#3@14 ~@2 [c#3,c#4]@26 ~@6 d3@16 a4@28 ~@2 a4@44 ~@5, ~ b4@44 ~@22 e4@73 ~@5 d5@44 ~@3, ~ c#5@16 ~@50 g#4@28 ~@17 a3@17 ~@13 b3@8 ~@13 a5@25 ~@4]/8", // A5 C#m D E C#
R: "[~ [b4,c#5]@16 ~@2 [g#4,b4]@26 ~@3, ~ e5@43 ~@4, ~ a3@7 ~@11 g#3@20 ~@9]/2", // Bsus2 G#m
S: "[~ a4@16 b4@26 ~@5, ~ e4@47, ~ c#5@14 ~@33, ~ f#3@10 ~@37]/2",
T: "~ [f#4,a4]@12 ~@4 [e4,a4,c#5]@7, ~ d3@14 ~ a3@4 ~@4", // F#m A
U: "[~@23 [d5,f#5]@13 ~@5 [e3,f#4,d5]@25 ~@5 [a4,c#5]@15 ~@3 [g#4,e5]@30 a4@16 ~@2 [g#4,b4,e5]@28 ~@2 [d3,d4,e4,f#4,a4], ~@23 a4@42 ~@6 e4@46 ~@2 e4@47 ~@2, ~@23 b3@6 ~@42 b4@44 ~@4 c#5@14 ~@35, ~@71 a3@18 g#3@22 ~@8 f#3@9 ~@9 [c#3,c#4]@26 ~@5]/7", // D A C#m E D C#
V: "[~@19 [a4,c#5,e5]@27 ~@19 [e4,a4]@28 ~@4 [b4,c#5]@16 ~@2 [g#4,b4]@27 ~ [e4,a4,c#5]@17 ~ [e4,g#4,b4]@29 ~@2, ~@19 [c#3,c#4]@10 ~@17 f#4@9 ~@40 a3@10 ~@8 g#3@22 ~@8 f#3@10 ~@8 [c#3,c#4]@27 ~@4, ~@47 b4@4 ~@14 a5@25 ~@102, ~@49 d5@46 ~@2 e5@44 ~@51]/8", // A A5 Bsus2 G#m A E C#
W: "[~ [f#4,a4]@13 ~@5 [e4,a4,c#5]@25 ~@3 [d5,f#5]@14 ~@6 [e3,f#4,a4,d5]@25 ~@14 e5@6 ~@3 g#4@28 ~@2 [a4,c#5]@14 ~@2 [g#4,c#5,e5]@17 ~@3 [b4,e5,g#5]@11, ~ [d3,d5]@18 ~@28 b3@6 ~@42 [e4,b4]@46 ~@4 e4@12 ~@35, ~ e4@16 a3@15 ~@15 a4@18 ~@30 a3@18 g#3@27 ~@3 f#3@8 ~@41, ~@95 [a4,c#5]@16 ~@2 e5@30 ~@18 g#5@8 ~@23]/8", // F#m A D A C#m E D E5 …
X: "[~ d5@3 ~@15 e5@27 ~@3 f#5@11 ~@5 [f#4,d5]@25 ~@6, ~ a4 ~@44 b3@7 ~@12 e3@22 ~@9, ~@47 a4@43 ~@6, ~@47 d5@12 ~@37]/4", // D
Y: "[~@19 a4@36 ~@17]/3", Z: "[~@2 b3@49 ~@21]/3",
})).s("gm_string_ensemble_2").gain(0.12).pan(0.9)
// chords · string ensemble 2 · soft notes
const string_ensemble_2_soft = note(`<
~@20 A@2 ~@4 B@2 ~@2 C@4 D@4 E@8 F ~ G@3 ~@5 H ~@3 I ~@2 J@2 ~ K@2 ~@4 L@2 M ~@8 N@3 O@4 P@2 Q@2 ~@3 R ~@4 S ~@7 T@2 U
~@8 V@3 ~@4 W ~@6 X ~@4 Y@3 Z@3
>`.pickRestart({
A: "[~@17 b2@31]/2", B: "[~@20 e3@27 ~]/2", C: "[~@17 d5@17 ~@12 b3@40 b4@9 ~, ~@17 f#5@15 ~@14 f#4@36 ~@14]/4",
D: "[~@19 e5@23 ~@7 c#5@47, ~@13 e4@83]/4",
E: "[~@19 d5@27 ~ c#4@48 ~@20 c#4@18 ~@13 f#5@41 ~@5, ~@19 e4@3 ~@73 d4@19 ~@28 b3@18 ~@32, ~@97 a4@45 ~@50, ~@112 a5@33 ~@47]/8",
F: "~ g#3@5 ~@18", G: "[~@19 g#4@29 ~@24, ~@16 e5@33 ~@23, ~@19 g#3@25 ~@28]/3", H: "~ c#5@16 ~@7", I: "~ d3@11 ~@12",
J: "[~@23 [b4,c#5]@19 ~@6]/2", K: "[~@17 f#5@29 ~@2]/2", L: "[~@17 [b2,f#3]@30 ~]/2", M: "~ e4@15 ~@3 [b2,f#3]@5",
N: "[~@41 f#5@25 ~@6, ~@23 f#4@32 ~@17]/3", O: "[~@19 e4@27 ~ c#5@37 ~@12]/4", P: "[~@17 f#5@28 ~@3]/2",
Q: "[~ c#3@37 ~@10]/2", R: "~ a3@9 ~@14", S: "~ c#5@17 ~@6", T: "[~@19 g#4@28 ~, ~@17 [c#3,c#4]@22 ~@9]/2",
U: "~ d4@2 ~@21", V: "[~@25 f#5@16 e3@17 ~@14, ~@20 b3@11 ~@41]/3", W: "~ d4@11 ~@12", X: "~@11 a5@2 ~@11",
Y: "[~@19 [d5,f#5]@38 ~@15]/3", Z: "[~@2 [c#4,e4,g#4]@49 ~@21]/3",
})).s("gm_string_ensemble_2").gain(0.05).pan(0.9)
// … 323 more lines
More by Zeze di Camargo
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.