0:00/0:00
// Dulce Amor (Sweet Love) — Estefan Gloria
// 182 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 173 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(182/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 · fretless bass
const bass = note(`<
~ A B C D E F G H I J K L M N O P Q R S T U@3 V W@2 X Y@3 Z AA AB@2 Z AC AD@2 AE@2 AD@2 AF@2 AG AH AI AJ AG AH AI AJ
AG AH AI AJ AK AL AM AN I J K L M N O P Q R S T U@3 V W@2 X Y@3 Z AA AB@2 Z AC AD@2 AE@2 AD@2 AF@2 AG AH AI AJ AG AH
AI AJ AO AP AQ AR AS AT AU AV I J K L M N O P Q R S T U@3 V W@2 X Y@3 Z AA AB@2 Z AC AD@2 AE@2 AD@2 AW@4 Z AA AB@2 Z
AC AD@2 AE@2 AD@2 AE@2 AX AY AZ BA AX AY BB BC
>`.pickRestart({
A: "eb1@3 ~@5 ab1@4 c2@4", B: "bb1 ~ f2 f1", C: "bb1@3 ~@5 f1@3 ~ d1@3 ~", D: "eb1@4 ~@4 c2@4 bb1@3 ~",
E: "eb2@4 ~@2 eb2 ~ g1@3 ~ c2@3 ~", F: "bb1@3 ~@3 bb1 ~ ab1@5 ~@3", G: "g1@4 ~@2 g1 ~ f1@5 ~@3",
H: "eb1@4 ~@2 eb1 ~ c2@3 ~ bb1@3 ~", I: "eb1@3 ~@3 eb1 ~ ab1@4 c2@3 ~", J: "bb1@2 ~@4 bb1 ~ f1@3 ~ ab1@3 ~",
K: "bb1@3 ~@3 bb1 ~ d1@4 f1@4", L: "eb1@4 ~@2 eb1 ~ bb1@4 eb2@4", M: "eb1@2 ~@4 eb1 ~ ab1@4 c2@3 ~",
N: "bb1@3 ~@3 bb1@2 ab1@4 ~@2 ab1 ~", O: "g1@3 ~@3 g1@2 f1@4 ~@2 f1@2", P: "eb1@4 ~@2 eb2@2 bb1@3 ~ g1@3 ~",
Q: "f1 ~@5 f1 ~ a1@4 c2@3 ~", R: "bb1 ~@2 bb2 ~ g2 f2 d2", S: "f1@2 ~@4 f1 ~ a1@4 c2@4",
T: "bb1@2 ~@4 bb1@2 f1@3 ~ g1@4",
U: "[ab1@4 ~@2 eb2 ~ ab1 ~@3 g1@7 ~@3 d2@2 g1@2 ~@2 f1@8 ~@2 c2@2 bb1@2 ~@2 eb1@4]/3",
V: "~@2 bb2 ~@3 g2@3 ~ eb2@2 bb1@2 g1@2", W: "[ab1@4 ~@2 ab1 ~ eb2 ~@3 g1@7 ~@3 g1 ~ d2@2 ~@2 g1 ~@3]/2",
X: "f1@4 ~@2 c2 ~ bb1@2 ~@2 d1@2 eb1@2", Y: "[~@12 eb1@9 ~ eb1 ~ ab1@2 ~@2 bb1@8 ~@2 bb1 ~ bb2@4 bb1 ~@3]/3",
Z: "bb1@3 ~ bb2@2 bb1 ~ d1@2 ~@2 eb1@4", AA: "~@6 eb1 ~ c2 ~ c2@2 bb1@2 ~@2",
AB: "[eb1@5 ~ eb1 ~ ab1@3 ~ bb1@7 ~@3 bb1 ~ bb2@3 ~ bb2@2 ~@2]/2", AC: "~@6 eb2 ~ bb1@3 ~ g1@3 ~",
AD: "[ab1@3 ~@5 c2@4 bb1@7 ~@3 bb1 ~ f1@3 ~ bb1@2 ~@2]/2",
AE: "[bb1@2 ~@4 bb1 ~ d1@3 ~ eb1@8 ~@2 eb2@2 bb1@3 ~ g1@2 ~@2]/2",
AF: "[bb1@2 ~@4 bb1 ~ d1@3 ~ eb1@7 ~@3 eb2@2 bb1@3 ~ g1@2 ~@2]/2", AG: "eb1@4 eb2 ~ eb2 ~ g1@3 ~ bb1 ~ bb1@2",
AH: "~@2 bb1@2 ~@2 bb1 ~ d1@3 ~ f1@2 ~@2", AI: "bb0@5 ~ f1 ~ bb0@3 ~ d1@2 ~@2",
AJ: "eb1@4 ~@2 eb1 ~ g1@3 ~ bb1@2 ~@2", AK: "eb1@3 ~@3 eb1 ~ ab1@4 bb1@3 ~", AL: "~@4 bb2 ~@5 bb1 ~ f1@2 ab1@2",
AM: "bb0@2 ~@4 bb0 ~ d1@3 ~ eb1@2 ~@2", AN: "~ eb1 ~@2 eb2 ~ bb1 c2", AO: "eb1@2 eb2@2 ~@2 eb2 ~@3 ab1@2 bb1 ~ bb1@2",
AP: "~ bb1@2 ~ bb1 bb2 f2 ~", AQ: "bb0 bb1 ~ bb1 ~ bb2 f2@2", AR: "~ eb1 bb1 ~ eb2 ~ c2 bb1",
AS: "eb1 ~ eb2@4 eb3 ~@3 eb2@4 ~@2", AT: "bb0 ~ bb1@3 ~ bb2 ~@3 bb2@2 ab2@2 bb2 ~",
AU: "~@2 bb1@4 bb2 ~@3 bb1 ~ bb0@2 bb1@2", AV: "eb1@2 eb3 d3 c3@2 bb2@2 g2@2 f2@2 eb2@2 bb1 ~",
AW: "[bb1@2 ~@4 bb1 ~ d1@3 ~ eb1@8 ~@8 eb1@9 ~ eb1 ~ ab1@2 ~@2 bb1@8 ~@2 bb1 ~ bb2@4 bb1 ~@3]/4",
AX: "eb1@4 ~@2 eb1 ~ ab1@4 c2@2 ~@2", AY: "bb1@3 ~@3 bb1@2 f1@3 ~ ab1@3 ~", AZ: "bb1@3 ~@3 bb1@2 bb2@2 ~@2 bb0@3 ~",
BA: "eb1@3 ~@3 eb1 ~ c1@3 ~ bb0@3 ~", BB: "bb1 ~ bb1 ~ bb1@2 ~@2 bb1 ~ bb1@2 bb0@2 ~@2", BC: "eb1 ~",
})).s("gm_fretless_bass").gain(0.34)
// chords · accordion
const accordion = note(`<
A B C D E F G H I ~ J ~ K L@2 M N O P Q R ~@3 S T U ~@18 V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK ~ J ~ K L@2 M N O
P Q R ~@3 S T U ~@18 AL AM AN AO AL AM AP AO AQ AR AS AT AU AV AW AX ~ J ~ K L@2 M N O P Q R ~@3 S T U ~@19 AY ~ AZ ~
AY ~ BA ~ BB ~ BC ~ BD ~ BE BF BG BH BI BJ BK BL@2
>`.pickRestart({
A: "~@10 [bb3,bb4] ~ eb4 ~ g4 ~", B: "bb4@2 eb4@2 g4@2 bb4 ~ [c4,eb4,ab4,c5] ~@3 [c4,eb4,ab4,c5] ~ [bb3,d4,f4,bb4] ~",
C: "~@2 [bb3,d4,f4,bb4] ~@3 f4@6 [bb3,d4] ~@3, ~@6 ab4@5 ~@5, ~@6 d4 ~@9", // Bb
D: "bb3@2 d4@2 f4@2 ab4@2 [d4,f4,ab4,c5] ~@3 [d4,f4,ab4,c5] ~ [eb4,g4,bb4] ~", // Dm7b5 Eb
E: "~@2 [eb4,g4,bb4] ~@3 [bb3,eb4,g4]@5 ~ [bb3,eb4] ~@3", // Eb Eb5
F: "bb4@2 eb4@2 g4@2 bb4@2 [eb4,g4,c5] ~ [eb4,g4,c5] ~ [eb4,c5]@2 bb4 ~, ~@12 g4 ~@3", // Cm
G: "[d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ ab4@2 [c5,eb5] ~ [c5,eb5] ~ [c5,eb5] ~", // Dm Cm
H: "g4@2 [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ f4@2 [ab4,c5] ~ [ab4,c5] ~ [ab4,c5] ~", // Bb Ab
I: "eb4@2 eb5@2 bb4@2 g4 ~ eb4 g4 eb4@3 ~@3", J: "~@2 [d4,f4,bb4] ~ [f4,ab4] ~ [d4,f4] ~ [d4,f4]@2 ~@6, ~@8 bb4 ~@7",
K: "~@2 [bb4,eb5,g5] ~ [g4,eb5] ~ [ab4,f5] ~ [bb4,g5] ~@7, ~@4 eb5 ~@3", // Eb Cm Db Eb
L: "[~@14 bb4@4 [d5,f5]@2 ~@2 bb4 ~ ab4@2 c5 ~ eb5 ~ ab5 ~]/2", M: "g4 ~ bb4 ~ eb5 ~ g4 ~ f4@2 ab4 ~ f4@2 d4@2",
N: "eb4@2 eb5@2 bb4@2 g4 ~ eb4 eb4@3 ~@4, ~@9 g4 ~@6", O: "f4 ~ a4@2 c5 ~ eb5 ~ g5 ~@3 eb5 ~ f5 ~",
P: "~@2 d5 ~ bb4 ~ f4@2 ~@8", Q: "f4@2 a4 ~ c5 ~ eb5 ~ g5 ~@3 eb5@2 f5 ~", R: "~@2 d5 ~ bb4 ~ f4@3 ~@7",
S: "~@2 eb4 ~ eb5 ~ d5 ~ db5@3 ~@5", T: "~@2 eb4 ~ c5 ~ ab4 ~ eb5@2 ~@6, ~@8 eb4 ~@7",
U: "~@2 eb4 ~ bb4@2 ~@2 [bb4,d5]@2 ~@6", // Bb
V: "~@2 [g4,bb4] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4]@4 [eb4,g4,bb4] ~@3, ~@8 eb4 ~@7", // Gm Eb Gm Eb
W: "~@2 [d4,f4,bb4] ~ [bb4,d5] ~ [bb4,d5] ~ [f4,bb4]@3 ~ [d4,f4,bb4] ~@3", // Bb Bb5 Bb
X: "~@2 [f4,bb4] ~ [f4,bb4,d5] ~ [f4,bb4,d5] ~ [f4,bb4]@3 ~ [d4,f4,bb4] ~@3", // Bb5 Bb Bb5 Bb
Y: "~@2 [eb4,g4,bb4] ~ [bb4,eb5] ~ [bb4,eb5] ~ [eb4,g4,bb4]@3 ~ [eb4,g4] ~@3", // Eb Eb5 Eb
Z: "[g4,bb4]@3 ~ [eb4,g4] ~ bb3 ~ [g4,bb4]@2 ~@2 [eb4,g4]@2 ~@2", // Gm Eb Gm Eb
AA: "~@2 ab4@2 ~@2 [f4,ab4]@2 ~@2 [f4,ab4]@2 [eb4,g4]@2 [d4,f4] ~, ~@2 f4 ~@13", // Fm Eb Dm
AB: "[f4,ab4] ~ f4@2 [d4,f4] ~ bb3 ~ [f4,ab4]@3 ~ [d4,f4]@2 ~@2, ~@2 ab4 ~@13", // Fm Dm Fm Dm
AC: "~ eb4 [g4,bb4] ~@3 eb4 bb4 ~@2 [g4,bb4] ~ [f4,ab4] ~ eb4@2, ~@6 g4@2 ~@6 g4 ~", // Gm Fm
AD: "[eb4,g4]@2 ~@2 [eb4,g4]@2 ~ g4 ~@2 [eb4,g4]@2 ~@2 [f4,ab4]@2, ~@6 bb4@3 ~@7", // Eb Fm
AE: "~@2 [f4,ab4]@3 ~ [d4,f4]@5 ~ [bb3,d4]@2 ~@2", AF: "~@2 bb3@2 d4@2 ~ f4@3 [ab4,c5]@2 ~@2 c5@2, ~@13 ab4@2 ~",
AG: "~ bb4@2 ~ bb4@2 ~ bb4@4 ~ eb4@2 ~@2, g4@2 ~@2 g4 ~ g4@4 ~@2 g4 ~@3",
AH: "[g4,bb4]@2 ~@2 [eb4,g4] ~ [bb3,eb4] ~ [g4,bb4]@2 ~@2 [eb4,g4]@2 ~@2", // Gm Eb Eb5 Gm Eb
AI: "~@2 [f4,ab4] ~@3 [f4,ab4] ~@3 [f4,ab4] ~ [eb4,g4] ~ [d4,f4] ~", // Fm Eb Dm
AJ: "[f4,ab4]@3 ~ [d4,f4] ~ bb3 ~ [f4,ab4]@2 ~@2 f4@2 ~@2, ~@12 d4 ~@3", // Fm Dm Fm
AK: "~@2 eb5 ~ bb4 ~ g4 ~ [eb4,g4] eb4@3 ~@4", AL: "[eb4,g4]@3 ~ bb4@2 [eb4,g4] ~ [c4,eb4]@3 ~ [bb3,d4]@2 ~@2",
AM: "~@2 [f4,ab4] ~@3 [f4,ab4]@5 ~ [d4,f4]@2 ~@2", // Fm Dm
AN: "[d4,f4]@4 ab4@2 [d4,f4] ~ [bb3,d4]@3 ~ eb4@2 ~@2, ~@12 bb3 ~@3", // Dm Bb
AO: "~@2 [g4,bb4] ~@3 [g4,bb4]@5 ~ [eb4,g4] ~@3", // Gm Eb
AP: "[d4,f4]@4 ab4@2 f4@2 [bb3,d4]@3 ~ eb4@2 ~@2, ~@6 d4 ~@5 bb3 ~@3", // Dm Bb
AQ: "g5 ~ g4 ~ bb4 ~ g5 ~ f5 ~ g4 ~ bb4 ~ eb5 ~", AR: "d5 ~ d4 ~ f4 ~ c5 ~ bb4 [bb4,c5] ~@2 d4@2 f4 ~",
AS: "bb4 ~ [bb4,d5] ~ ab4@2 g4@2 f4 ab4 ~@2 ab4@2 bb4@2, ~@4 c5 ~ bb4 ~@5 c5 ~ g4 ~", // Bb
AT: "~@2 bb4@2 g4 ~ eb4 ~ c4 eb4 c4@2 bb3 ~@3, ~@2 g4 ~@13",
AU: "[bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [c5,c6]@2 [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~", // Bb C Bb
AV: "[f4,d5]@4 [ab4,f5]@2 ~@4 [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~", // Dm Db Bb
AW: "[c5,c6]@2 [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [c5,c6]@2 [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~", // C Bb C Bb
AX: "[eb4,eb5] ~ eb4 ~ g4 ~ bb4 ~ eb5@2 ~@6", // Eb
AY: "~@2 bb4 ~ [f5,ab5] ~ [eb5,g5] ~ [d5,f5] ~ [c5,eb5] ~ [bb4,d5]@2 ~@2", // Fm Eb Dm Cm Bb
AZ: "~@2 bb4 ~ eb5 ~ d5 ~ c5 ~ bb4 ~ g4 ~@3", BA: "~@2 g6@2 eb6@2 bb5 [bb5,eb6] g5@2 eb5@2 bb4@2 ~@2",
BB: "~@2 bb4@2 ~ f5 bb5 d6 f6@2 ~@6, ~@2 d5 ~@5", BC: "~@2 g6 ~ [eb6,g6] eb6 bb5@2 g5 [g5,bb5] eb5 ~ bb4@2 ~@2",
BD: "~@2 bb4@2 d5 f5 bb5 d6 f6@2 ~@6", BE: "~@2 [bb4,g5] ~ [g4,eb5] ~ [ab4,f5] ~ [bb4,g5]@2 ~@6",
BF: "[eb4,eb5] ~ [eb4,eb5]@2 [g4,g5]@2 [bb4,bb5]@2 [eb5,eb6]@3 ~ [c5,c6] ~ [d5,d6]@2", // Eb G Bb Eb C D
BG: "~@2 [bb4,bb5] [bb4,d5,bb5,d6] ~@2 [f4,f5] ~ [ab4,ab5] ~ [c5,c6]@2 [bb4,c5,bb5,c6] [bb4,bb5]@2 ~", // Bb F Ab C Bbsus2 Bb
BH: "~@2 [bb3,bb4]@2 [d4,d5] ~ [f4,f5] ~ [d5,d6]@2 ~@2 [bb4,bb5] ~ [eb5,eb6]@2, ~@8 [bb4,bb5] ~@5 [bb4,bb5] ~", // Bb D F D Bb Eb Bb
BI: "~ [bb4,bb5] ~ [g4,g5] ~@2 [eb4,eb5] ~ [g4,g5] [g4,bb4,g5,bb5] ~@2 [eb4,eb5]@2 ~@2", // Bb G Eb G Gm Eb
BJ: "[bb3,eb4,bb4,eb5] ~ [g4,g5] ~ [bb4,bb5] ~ [g4,g5] ~ [f4,f5]@3 ~ [eb4,eb5] ~ [d5,d6]@2", // Eb5 G Bb G F Eb D
BK: "~@2 [bb4,bb5] [d5,d6] [bb4,bb5] ~ [f4,f5] ~ [ab4,ab5] ~ [c5,c6] ~ [bb4,bb5]@2 ~@2", // Bb D Bb F Ab C Bb
BL: "[[d4,f4,bb4,d5,f5,bb5] ~ [d4,f4,bb4,d5,f5,bb5] ~ [d4,f4,bb4,d5,f5,bb5] ~@3 [f4,bb4,d5,f5,bb5,d6] [bb4,f5,d6] [f4,d5,bb5] [f4,bb4,d5,f5,bb5,d6] ~@4 [eb4,eb5]@7 ~@9, ~@15 [bb3,g4,bb4]@8 ~@9]/2", // Bb Eb
})).s("gm_accordion").gain(0.3).pan(0.4)
// chords · trumpet
const trumpet = note(`<
~@27 A B@2 C ~ D ~ E ~ D F@2 G@2 F@2 G@2 H I J K L ~ L ~@27 A B@2 C ~ D ~ E ~ D F@2 G@2 F@2 G@2 M ~@3 N O P Q ~@26 A
B@2 C ~ D ~ E ~ D F@2 G@2 F@2 R@3 C ~ D ~ E ~ D F@2 G@2 F@2 G@2 ~@8
>`.pickRestart({
A: "[eb4,c5]@2 ~@2 [ab4,c5,eb5] ~ [ab4,c5] ~ [f4,bb4,d5] ~@3 bb4@2 [g4,bb4,eb5] ~, ab4 ~@15", // Cm Ab Bb Eb
B: "[~@12 [eb4,g4,bb4,eb5]@11 ~@9]/2", C: "~@2 [d4,f4] ~@3 [f4,ab4]@4 f4@2 d4 ~@3, ~@10 ab4 ~@5",
D: "~@2 [eb4,g4] ~@3 [g4,bb4]@5 ~ [eb4,g4] ~@3", E: "~@2 [d4,f4] ~@3 [f4,ab4]@6 [d4,f4] ~@3",
F: "[[ab4,c5] ~@7 [c5,eb5]@3 ~ [bb4,d5]@14 ~@6]/2", G: "[[d4,f4]@2 ~@2 [d4,f4]@2 ~@2 [f4,ab4]@3 ~ [eb4,g4]@17 ~@3]/2",
H: "~@4 eb5 ~@3 bb4@3 ~ g4@2 ab4 ~", I: "~@2 ab4 ~@3 f4@6 d4 ~@3", J: "ab4 ~@3 ab4 ~@3 ab4@4 g4@2 bb4 ~",
K: "~@2 bb4 ~@3 g4@5 ~ eb4 ~@3", L: "bb4@15 ~", M: "[g4,bb4,eb5]@9 ~@7", N: "eb5 ~@3 g5@2 eb5@2 c5@4 bb4@2 ~@2",
O: "~@2 ab5 ~@3 f5@5 ~ d5 ~@3", P: "d5@2 ~@2 f5 ~ d5@2 c5@3 ~ bb4@2 ~@2",
Q: "~@2 bb4 ~@3 [bb4,eb5,g5]@5 ~ [bb4,eb5] ~@3", // Eb Eb5
R: "[[d4,f4]@2 ~@2 [d4,f4]@2 ~@2 [f4,ab4]@3 ~ [eb4,g4]@16 [bb4,eb5]@11 ~@9]/3", // Dm Fm Eb Eb5
})).s("gm_trumpet").gain(0.37).pan(0.7)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~ A B C D A E F D G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK AI@2 AJ AL AM AN@2 AM@2
AN@2 AM@2 AN@2 AM@2 AN@2 AM G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK AI@2 AJ AL AO
AP AQ AR AO AP AQ AR AS AT AU AV AW AX AT AV G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI@2 AJ
AK AI@2 AJ Z AA AB AC AD AE AF AG AH AI@2 AJ AK AI@2 AJ AL AY AZ@2 AY@2 AZ BA BB
>`.pickRestart({
A: "[eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [bb2,eb3,g3,bb3]@2 [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [bb2,eb3,g3,bb3]@2 [d3,f3,bb3] ~", // Eb Bb
B: "[d3,f3,bb3] ~ [d3,f3,bb3] ~ [bb2,d3,f3,bb3]@2 [d3,f3,bb3] ~ [d3,f3,bb3] ~ [d3,f3,bb3] ~ [bb2,d3,f3,bb3]@2 [d3,f3,bb3] ~", // Bb
C: "[d3,f3,bb3] ~ [d3,f3,bb3] ~ [bb2,d3,f3,bb3]@2 [d3,f3,bb3] ~ [d3,f3,bb3] ~ [d3,f3,bb3] ~ [bb2,d3,f3,bb3]@2 [eb3,g3,bb3] ~", // Bb Eb
D: "[eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [bb2,eb3,g3,bb3]@2 [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [bb2,eb3,g3,bb3]@2 [eb3,g3,bb3] ~", // Eb
E: "[d3,f3,bb3] ~ [d3,f3,bb3] ~ [bb2,d3,f3,bb3]@2 [d3,f3,bb3] ~ [c3,eb3,ab3] ~ [c3,eb3,ab3] ~ [ab2,c3,eb3,ab3]@2 [c3,eb3,ab3] ~", // Bb Ab
F: "[bb2,d3,g3] ~ [bb2,d3,g3] ~ [g2,bb2,d3,g3]@2 [bb2,d3,g3] ~ [d3,f3,bb3] ~ [d3,f3,bb3] ~ [bb2,d3,f3,bb3]@2 [eb3,g3,bb3] ~", // Gm Bb Eb
G: "~@2 [eb3,g3] ~ [eb3,g3] ~ [eb3,g3] ~ [eb3,g3]@2 c3@2 bb2@2 ~@2", // Eb
H: "~@2 f3 ~ [f3,ab3] ~ [f3,ab3] ~ [f3,ab3]@2 c3@2 bb2@2 ~@2", // Fm
I: "~@2 [c3,f3,ab3,bb3] ~ [f3,ab3,bb3] ~ [f3,ab3,bb3] ~ [f3,ab3,bb3]@2 c3@2 bb2@2 ~@2", // Fm Bb7
J: "~@2 g3 ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3]@2 c3@2 bb2@2 ~@2", // Eb
K: "[g3,bb3] ~ eb3 ~ eb3 ~ g3 ~ [eb3,g3,c4] ~ [eb3,g3,c4]@2 bb3 ~ [f3,bb3,d4] ~", // Gm Cm Bb
L: "~@2 [f3,bb3,d4] ~ f3 ~ [bb3,d4] ~ [ab3,c4]@3 ~ eb3 ~ [eb3,ab3,c4] ~", // Bb Ab
M: "[g3,bb3]@3 ~ [d3,g3] ~ [d3,g3,bb3] ~ [f3,ab3]@4 [d3,f3] ~ [d3,f3,ab3] ~, ~@4 d3 ~@3", // Gm G5 Gm Fm Dm Ddim
N: "[g3,bb3]@2 eb3 ~ [eb3,g3] ~ [eb3,g3,c4] ~@3 [eb3,g3,c4] ~@3 [eb3,g3,bb3] ~, eb3 ~@15", // Gm Eb Cm Eb
O: "~@2 [c3,eb3,a3] ~ [c3,eb3,a3] ~ [c3,eb3,a3]@5 ~ [c3,eb3,a3] ~ [d3,f3,bb3] ~", // Adim Bb
P: "~@2 [d3,f3,bb3] ~ [d3,f3,bb3] ~ [f3,bb3]@5 ~ [f3,bb3] ~ [f3,bb3] ~, ~@3 d3@4 ~", // Bb Bb5
Q: "[c3,eb3,a3]@3 ~ [c3,eb3,a3] ~ [c3,eb3,a3]@5 ~ [c3,eb3,a3] ~ [d3,f3,bb3]@2", // Adim Bb
R: "f3 ~ [d3,f3] ~ [d3,f3,bb3] ~ [d3,f3,bb3]@5 ~ [d3,f3,bb3]@2 ~@2", // Dm Bb
S: "[eb3,ab3,c4] ~ [eb3,ab3,c4] ~ [eb3,ab3] ~ [eb3,ab3,c4] ~ [ab3,c4]@2 eb3 ~ [eb3,ab3,c4] ~ [d3,g3,bb3]@2, ~@8 eb3 ~@7", // Ab Ab5 Ab Gm
T: "~@2 [d3,g3,bb3] ~ [d3,g3,bb3] ~ [d3,g3,bb3] ~ [d3,g3,bb3]@2 ~@2 [d3,g3,bb3] ~ [c3,f3,ab3]@2", // Gm Fm
U: "~@2 [c3,f3,ab3] ~ [c3,f3,ab3] ~ [c3,f3,ab3] ~ [c3,f3,ab3]@3 ~ [eb3,g3,bb3]@4", // Fm Eb
V: "~@2 [eb3,g3,bb3] ~@3 [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3] ~ [g3,bb3,db4] ~@3", // Eb Gdim
W: "[eb3,ab3,c4]@3 ~ [eb3,ab3,c4] ~ [eb3,c4] ~ [eb3,ab3,c4]@2 ~@2 [eb3,ab3,c4] ~ [d3,g3,bb3]@2", // Ab Cm Ab Gm
X: "~@2 [d3,g3,bb3] ~ d3 ~ [d3,bb3] ~ [d3,g3,bb3]@3 ~ [d3,g3,bb3] ~ d3 ~", // Gm
Y: "[c3,f3,ab3]@3 ~@5 [d3,f3,bb3]@2 ~@4 [eb3,g3]@2", Z: "~@3 [g3,bb3,eb4]",
AA: "~@2 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~ [c3,eb3,ab3]@2 ~@2 [d3,f3,bb3]@4", // Eb Ab Bb
AB: "~@2 [d3,f3,bb3] ~@3 [d3,f3,bb3] ~ [c3,eb3,ab3]@2 ~@4 f3 ~", // Bb Ab
AC: "[d3,f3,bb3]@3 ~ d3 ~ [d3,f3,bb3] ~ [eb3,ab3,c4] ~@3 [g3,bb3,eb4]@3 ~", // Bb Ab Eb
AD: "~@2 [eb3,g3,bb3] ~@5 [eb3,g3,bb3]@3 ~ [eb3,g3,bb3] ~@3", // Eb
AE: "[eb3,bb3]@2 [g3,bb3] ~@3 [eb3,bb3] ~ [c3,eb3,ab3] ~@3 [d3,f3,bb3]@4, g3 ~@15", // Eb5 Gm Eb5 Ab Bb
AF: "~@2 [d3,f3,bb3] ~@3 d3 ~ [d3,f3,bb3]@3 ~ [d3,f3,bb3] ~ d3 ~", // Bb
AG: "[d3,f3,bb3]@3 ~@3 [d3,f3,bb3] ~ [eb3,ab3,c4] ~@3 [bb3,eb4]@4", // Bb Ab Eb5
AH: "~@4 [eb3,g3,bb3] ~ [eb3,g3,bb3] ~@5 [eb3,g3,bb3]@3 ~", // Eb
AI: "[c4 ~@3 [eb3,ab3,c4]@2 ~@6 [f3,bb3,d4]@8 ~@2 [f3,bb3,d4] ~@5 [f3,bb3,d4] ~@3]/2", // Ab Bb
AJ: "~@6 [f3,bb3,d4] ~@5 [eb3,ab3,c4] ~@3", AK: "~@6 [eb3,g3,bb3] ~ [eb3,g3,bb3] ~@3 [eb3,g3,bb3]@2 [ab3,c4] ~",
AL: "~@6 [eb3,g3,bb3] ~ [eb3,g3,bb3] ~@3 [eb3,g3,bb3]@2 [g3,bb3] ~", // Eb Gm
AM: "[eb3,g3,bb3] ~ [eb3,g3,bb3]!2 [eb3,g3,bb3]@2 [eb3,g3,bb3]@2 [eb2,g2,bb2,eb3] ~@3 [eb3,g3,bb3]@4", // Eb
AN: "[d3,f3,bb3] ~ [d3,f3,bb3]!2 [d3,f3,bb3]@2 [d3,f3,bb3]@2 [d2,f2,bb2,d3] ~@3 [d3,f3,bb3]@4", // Bb
AO: "[g3,bb3,eb4] ~ [g3,bb3,eb4]!2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [eb2,g2,bb2,eb3] ~@3 [f3,bb3,d4]@4", // Eb Bb
AP: "[f3,bb3,d4] ~ [f3,bb3,d4]!2 [f3,bb3,d4]@2 [f3,bb3,d4]@2 [d2,f2,bb2,d3] ~@3 [f3,bb3,d4]@4", // Bb
AQ: "[f3,bb3,d4] ~ [f3,bb3,d4]!2 [f3,bb3,d4]@2 [f3,bb3,d4]@2 [d2,f2,bb2,d3] ~@3 [g3,bb3,eb4]@4", // Bb Eb
AR: "[g3,bb3,eb4] ~ [g3,bb3,eb4]!2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [eb2,g2,bb2,eb3] ~@3 [g3,bb3,eb4]@4", // Eb
AS: "~@4 [g3,bb3,eb4] ~ [g3,bb3,eb4]@2 ~@4 [g3,bb3,eb4]@2 ~@2", // Eb
AT: "~@4 [f3,bb3,d4] ~ [f3,bb3,d4] ~@5 [f3,bb3,d4]@3 ~", // Bb
AU: "~@4 [f3,bb3,d4] ~ [f3,bb3,d4] ~@5 [f3,bb3,d4] ~ [f3,bb3,d4] ~", // Bb
AV: "~@4 [g3,bb3,eb4] ~ [g3,bb3,eb4] ~@5 [g3,bb3,eb4]@3 ~", // Eb
AW: "~@4 [g3,bb3,eb4] ~ [g3,bb3,eb4] ~@5 [g3,bb3,c4,eb4]@2 ~@2", // Eb Cm7
AX: "~@4 [f3,bb3,d4] ~ [f3,bb3,d4] ~@5 [f3,bb3,d4]@2 ~@2", AY: "~@2 [g3,bb3,eb4]!2 ~@2 [g3,bb3,eb4]@2",
AZ: "~@2 [f3,bb3,d4]!2 ~@2 [f3,bb3,d4]@2", // Bb
BA: "[bb2,d3,f3,bb3] ~ [bb2,d3,f3,bb3] ~ [bb2,d3,f3,bb3] ~@3 [bb2,d3,f3,bb3] ~ [bb2,d3,f3,bb3] ~ [bb2,d3,f3,ab3,bb3] ~@3", // Bb Bb7
BB: "[eb3,g3] ~", // Eb
})).s("gm_acoustic_guitar_steel").gain(0.29).pan(0.7)
// chords · trombone
const trombone = note(`<
~@27 A B@2 C ~ D ~ E ~ F G@2 H@2 G@2 H@2 I J K L M ~ M ~@27 A B@2 C ~ D ~ E ~ F G@2 H@2 G@2 H@2 N O P Q R S T U ~@26 A
B@2 C ~ D ~ E ~ F G@2 H@2 G@2 V@3 C ~ D ~ E ~ F G@2 H@2 G@2 H@2 ~@8
>`.pickRestart({
A: "[eb3,ab3]@2 ~@2 [ab3,c4] ~ [eb3,ab3] ~ [f3,bb3] ~@3 [bb2,d3] ~ [bb2,eb3] ~", B: "[~@12 [eb3,bb3,eb4]@13 ~@7]/2",
C: "~@2 d3@2 ~@2 [f3,ab3]@3 ~ [f3,ab3] ~ [d3,f3] ~@3, ~@2 f3 ~@13", D: "~@2 [eb3,g3] ~@3 [g3,bb3]@6 [eb3,g3] ~@3",
E: "~@2 [d3,f3] ~@3 [f3,ab3]@5 ~ [d3,f3] ~@3", F: "~@2 [eb3,g3] ~@3 [g3,bb3]@5 ~ [eb3,g3] ~@3",
G: "[c4@2 ~@6 [c4,eb4]@3 ~ [bb3,d4]@15 ~@5, ab3 ~@31]/2", // Cm Bb
H: "[[d3,f3]@2 ~@2 [d3,f3]@2 ~@2 [f3,ab3]@3 ~ [eb3,g3]@16 ~@4]/2", // Dm Fm Eb
I: "~@4 eb4@2 ~@2 [g3,bb3]@3 ~ g3@2 [f3,ab3] ~, ~@4 bb3 ~@7 eb3 ~@3", // Gm Fm
J: "~@2 [f3,ab3] ~@3 [d3,f3]@5 ~ d3@2 ~@2, ~@12 bb2 ~@3", // Fm Dm
K: "[f3,ab3] ~@3 [f3,ab3] ~@3 [f3,ab3]@4 g3@2 g3@2, ~@12 eb3 ~ bb3 ~", // Fm
L: "~@2 [g3,bb3] ~@3 g3@5 ~ [bb2,eb3] ~@3, ~@6 eb3@3 ~@7", M: "[bb2,bb3]", N: "eb3@3 ~ g3 ~ eb3@2 c3@3 ~ bb2@2 ~@2",
O: "~@2 ab3 ~@3 f3@5 ~ d3 ~@3", P: "d3@3 ~ f3 ~ d3@2 c3@3 ~ bb2@2 ~@2", Q: "~@2 bb3 ~@3 g3@5 ~ eb3@2 ~@2",
R: "[eb3,g3]@3 ~ [g3,bb3] ~ [eb3,g3] ~ [c3,ab3]@3 ~ [bb2,bb3]@3 ~", S: "~@2 [f3,ab3] ~@3 [f3,ab3]@5 ~ [d3,f3] ~@3",
T: "[d3,f3]@3 ~ [f3,ab3] ~ [d3,f3] ~ [c3,eb3]@4 [bb2,eb3,g3]@2 ~@2, ~@4 g3 ~@3", // Dm Fm Dm Cm Eb
U: "~@2 [g3,bb3] ~@3 [g3,bb3]@5 ~ [eb3,g3] ~@3", // Gm Eb
V: "[[d3,f3]@2 ~@2 [d3,f3]@2 ~@2 [f3,ab3]@3 ~ [eb3,g3]@16 [bb3,eb4]@13 ~@7]/3", // Dm Fm Eb Eb5
})).s("gm_trombone").gain(0.38).pan(0.6)
// chords · brass section
// … 168 more lines
More by Gloria Estefan
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.