0:00/0:00
// Bamboleo — Gipsy Kings
// 120 bpm, 4/4, key F# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 101 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · acoustic bass · "ACOU BASS"
const bass = note(`<
~@25 A B C A@2 B C A@2 D B@2 E F G H I J A D B K L F M B C A N D I J A D I J O P@7 Q A B C A@2 B C ~@4 A B C A@2 B C
A@2 B C A@2 B C R S@2 T@2
>`.pickRestart({
A: "f#2@2 c#2 ~ f#2@2 c#2 ~", B: "b1@2 f#2 ~ b1@2 f#2 ~", C: "c#2@2 g#2 ~ c#2@2 g#2 ~", D: "f#2@2 c#2 ~ b1@2 f#2 ~",
E: "e2@2 b1 ~ e2@2 b1 ~", F: "a1@2 e2 ~ a1@2 e2 ~", G: "a1@2 e2 ~ d2@2 a1 ~", H: "d2@2 a1 ~ b1@2 f#2 ~",
I: "b1@2 f#2 ~ c#2@2 g#2 ~", J: "c#2@2 g#2 ~ f#2@2 c#2 ~", K: "b1@2 f#2 ~ e2@2 b1 ~", L: "e2@2 b1 ~ a1@2 e2 ~",
M: "d2@2 a1 ~ d2@2 a1 ~", N: "f#2@2 ~@2 f#2@2 c#2 ~", O: "f#2@2 c#2 ~ b1@2 b1@2", P: "a1!2 b1!2",
Q: "f#1@3 f#1@3 f#1@6 ~@4", R: "c#2@2 g#2 ~ c#2@3 ~", S: "f#2@3 c#2@2 ~ f#2@2 b1@3 f#2@2 ~ b1@2",
T: "[f#1@2 f#1@3 f#1@2 f#1 f#1@23 ~]/2",
})).s("gm_acoustic_bass").gain(0.4)
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
A@7 B ~@2 C D ~@2 E@2 ~@2 C D ~@3 F G H I ~ J H I ~ H ~@19 K L M N O P M N Q R S@7 T H I ~ J H I ~ A@4 H I ~ J H I ~
H@2 I ~ J H I ~ U ~@2 V ~
>`.pickRestart({
A: "~@2 [f#3,a3,c#4,e4]@2 [f#3,a3,c#4,d#4] ~@4 [f#3,a3,c#4,e4] ~ [c#3,f#3,a3,c#4,d#4] ~ [f#3,a3,c#4] c#3 [f#3,a3]", // F#m7 D#m7b5 F#m7 D#m7b5 F#m
B: "~@2 [f#3,a3,c#4,e4]@2 [f#3,a3,c#4,d#4] ~@11", C: "~@8 [g#3,b3,d4] ~ [g#3,b3,d4]!2 ~ [g#3,b3,d4] ~ [g#3,b3,c#4]",
D: "~ [g#3,b3,c#4]@3 ~@12", E: "[~@9 [f#3,a3,d#4] ~ [f#3,a3,d#4] ~ [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~@15]/2",
F: "~@9 [g#3,c#4] ~ g#3 [g#3,c#4]!3 [g#3,c#4,f4], ~@5 [g#3,c#4,f4] ~@2", // C#5 C#
G: "[g#3,c#4] ~ g#3 [g#3,c#4,f4]@2 [g#3,c#4]!2 [g#3,c#4,f4]@2 ~@7, ~ [g#3,c#4]@2 ~@13", // C#5 C# C#5 C# C#5
H: "~@2 [a3,d#4] [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~@4 [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~", // Adim D#dim
I: "~@3 [d4,f#4,b4] ~ [d4,f#4,b4]@2 ~@2 d4 ~ [d4,f#4,b4] ~ [d4,f#4,b4]@3", // Bm
J: "~@3 [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~@4 [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~", // D#dim
K: "~@9 [a3,c#4] ~ a3 [a3,c#4]!3 [a3,c#4,f#4], ~@5 [a3,c#4,f#4] ~@2", // A F#m
L: "[a3,c#4] ~@9 [a3,d#4] [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~", // A Adim D#dim
M: "~@3 [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~@4 [d4,f#4,b4] ~ [d4,f#4,b4]@2 ~", N: "~ d4 ~ [d4,f#4,b4] ~ [d4,f#4,b4]@3 ~@8",
O: "~@11 [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~", // D#dim
P: "~@3 [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~@3 [a3,d#4] [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~", // D#dim Adim D#dim
Q: "~@10 [a3,d#4] [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~", // Adim D#dim
R: "~@3 [f#3,a3,d#4] ~ [f#3,a3,d#4]@2 ~ [b3,e4] ~ [b3,e4]@2 ~ [a3,d4]@2 ~", // D#dim E5 D5
S: "[g#3,c#4]@2 ~ [g#3,c#4]@2 ~ [g#3,c#4] ~ [b3,e4] ~ [b3,e4]@2 ~ [a3,d4]@2 ~", // C#5 E5 D5
T: "[g#3,c#4,g#4]@2 ~ [g#3,c#4,g#4]@2 ~ [g#3,c#4,g#4]@10", // C#5
U: "~ [g#3,c#4] ~ g#3 [g#3,c#4]!3 [g#3,c#4,f4] [g#3,c#4] [g#3,c#4,f4]@7, ~ [g#3,c#4,f4] ~@6", // C#5 C# C#5 C#
V: "[g#3,c#4,g#4] ~ [g#3,c#4,g#4] ~@2 [g#3,c#4,g#4] ~ [g#3,c#4,g#4] [g#3,c#4,g#4]@8", // C#5
})).s("gm_acoustic_guitar_steel").gain(0.47).pan(0.4)
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel_2 = note(`<
~@2 A@2 B C B C D C E F E F B C D C E F E F E G H I J K I@2 J K I B L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG
AH AI AJ AG AK AL AM AN AM AN AM AN AO AP AQ J K AR I J K AS ~ AT@2 I J K I@2 J K I@2 J K I@2 J K AU AV AW AX@2
>`.pickRestart({
A: "~@2 [f#3,c#4,e4]@2 [f#3,c#4,d#4] ~@4 [f#3,c#4,e4] ~ [f#3,c#4,d#4] ~ [f#3,c#4] ~ [f#3,a3]", // F#7 D#m7 F#7 D#m7 F#5 F#m
B: "[f#3,a3,c#4] [f#3,a3] ~ f#3!2 [f#3,c#4] ~ f#3 ~ [f#3,a3,c#4,f#4]!2 [f#3,c#4] ~ c#4 [f#3,a3,c#4,f#4]!2, ~ [f#3,a3,c#4,f#4] ~ [a3,c#4,f#4] ~@2 [f#3,a3,c#4] ~", // F#m F#5 F#m F#5 F#m
C: "[f#3,a3,c#4] [f#3,a3] [f#3,a3,c#4,f#4] [f#3,a3,c#4] f#3 [f#3,c#4] ~ f#3 ~@2 [f#3,a3] [f#3,c#4] [f#3,a3,c#4]!2 [f#3,a3,c#4,f#4] [f#3,a3,c#4], ~@6 [a3,c#4,f#4]@2 ~ [f#3,a3,c#4,f#4]@2 ~@5", // F#m F#5 F#m F#5 F#m
D: "[f3,g#3,c#4] [f3,g#3] ~ f3!2 [f3,c#4] ~ f3 ~ [f#3,a3,c#4,f#4]!2 [f#3,c#4] ~ c#4 [f#3,a3,c#4,f#4]!2, ~ [f3,g#3,c#4,f4] ~ [g#3,c#4,f4] ~@2 [f#3,a3,c#4] ~", // C# Fm C# F#m F#5 F#m C# F#m
E: "[f3,g#3,c#4] [f3,g#3] ~ f3!2 [f3,c#4] ~ f3 ~ [f3,g#3,c#4,f4]!2 [f3,c#4] ~ c#4 [f3,g#3,c#4,f4]!2, ~ [f3,g#3,c#4,f4] ~ [g#3,c#4,f4] ~@2 [f3,g#3,c#4] ~", // C# Fm C#
F: "[f3,g#3,c#4] [f3,g#3] [f3,g#3,c#4,f4] [f3,g#3,c#4] f3 [f3,c#4] ~ f3 ~@2 [f3,g#3] [f3,c#4] [f3,g#3,c#4]!2 [f3,g#3,c#4,f4] [f3,g#3,c#4], ~@6 [g#3,c#4,f4]@2 ~ [f3,g#3,c#4,f4]@2 ~@5", // C# Fm C# Fm C#
G: "[f3,g#3,c#4] [f3,g#3] [f3,g#3,c#4,f4] [f3,g#3,c#4] f3 [f3,c#4] ~ f3 [f3,g#3,c#4] ~ [f3,g#3] [f3,g#3,c#4]!3 [f3,g#3,c#4,f4] [f3,g#3,c#4], ~@6 [g#3,c#4,f4]@2 ~ [f3,g#3,c#4,f4]@2 ~@5", // C# Fm C# Fm C#
H: "[f3,g#3,c#4] [f3,g#3] ~ f3 [f3,g#3,c#4]!2 f3!2 [f3,g#3,c#4]@8, ~ [f3,g#3,c#4,f4] ~ f4@5, ~@3 [g#3,c#4] ~@4", // C# Fm C# C#5
I: "[f#3,a3,c#4] [f#3,a3] ~ [f#3,d#4] f#3!2 ~ f#3 ~ [f#3,a3,c#4,f#4]!2 f#3 ~@2 [f#3,a3,f#4] [f#3,a3,c#4,f#4], ~ [f#3,a3,c#4,f#4] ~ [a3,f#4] ~@2 [f#3,a3,c#4] ~, ~@13 d#4@2 ~", // F#m D#m F#m D F#m
J: "[f#3,b3,d4] [f#3,b3] [f#3,b3,d4,f#4] [f#3,b3,b4] [f#3,d4] ~@2 f#3 ~@2 [f#3,b3] [f#3,b4] [f#3,b3,d4] [f#3,b3,b4] [f#3,b3,f#4] [f#3,b3,d4], ~@5 [f#3,b4]@2 ~@2 [f#3,b3,d4,f#4]@2 ~@5, ~@3 [b3,d4,f#4] ~@4", // Bm B5 Bm B5 D B5 Bm B5 …
K: "[g#3,c#4,f4] [g#3,f4] ~ g#3!2 [g#3,c#4] ~ g#3 ~ [g#3,c#4,f4,g#4]!2 [g#3,c#4] ~ c#4 [g#3,c#4,f4]!2, ~ [g#3,c#4,f4,g#4] ~ [c#4,f4,g#4] ~@2 [g#3,c#4,f4] ~", // C# C#5 C# C#5 C#
L: "[f#3,a3,c#4] [f#3,a3] [f#3,a3,c#4,f#4] [f#3,a3,c#4] f#3 [f#3,c#4] ~ f#3 ~@2 [f#3,b3] [f#3,d4] [f#3,b3,d4]!2 [f#3,b3,d4,f#4] [f#3,b3,d4], ~@6 [a3,c#4,f#4]@2 ~ [f#3,b3,d4,f#4]@2 ~@5", // F#m F#5 B5 D Bm F#m Bm
M: "[f#3,b3,d4] [f#3,b3] ~ f#3!2 [f#3,d4] ~ f#3 ~ [f#3,b3,d4,f#4]!2 [f#3,d4] ~ d4 [f#3,b3,d4,f#4]!2, ~ [f#3,b3,d4,f#4] ~ [b3,d4,f#4] ~@2 [f#3,b3,d4] ~", // Bm B5 D Bm D Bm
N: "[f#3,b3,d4] [f#3,b3] [f#3,b3,d4,f#4] [f#3,b3,d4] f#3 [f#3,d4] ~ f#3 ~@2 [f#3,b3] [f#3,d4] [f#3,b3,d4]!2 [f#3,b3,d4,f#4] [f#3,b3,d4], ~@6 [b3,d4,f#4]@2 ~ [f#3,b3,d4,f#4]@2 ~@5", // Bm B5 Bm D B5 D Bm
O: "[e3,b3,e4] [e3,b3] ~ e3!2 [e3,e4] ~ e3 ~ [e3,b3,e4,g#4]!2 [e3,e4] ~ e4 [e3,b3,e4,g#4]!2, ~ [e3,b3,e4,g#4] ~ [b3,e4,g#4] ~@2 [e3,b3,e4] ~", // E5 E E5
P: "[e3,a3,c#4] [e3,a3] ~ e3!2 [e3,c#4] ~ e3 ~ [e3,a3,c#4,e4]!2 [e3,c#4] ~ c#4 [e3,a3,c#4,e4]!2, ~ [e3,a3,c#4,e4] ~ [a3,c#4,e4] ~@2 [e3,a3,c#4] ~", // A A5 C#m A C#m A
Q: "[e3,a3,c#4] [e3,a3] ~ e3!2 [e3,c#4] ~ e3 ~ [f#3,a3,d4,f#4]!2 [f#3,d4] ~ d4 [f#3,a3,d4,f#4]!2, ~ [e3,a3,c#4,e4] ~ [a3,c#4,e4] ~@2 [f#3,a3,d4] ~", // A A5 C#m D A D
R: "[f#3,a3,d4] [f#3,a3] ~ f#3!2 [f#3,d4] ~ f#3 ~ [f#3,b3,d4,f#4]!2 [f#3,d4] ~ d4 [f#3,b3,d4,f#4]!2, ~ [f#3,a3,d4,f#4] ~ [a3,d4,f#4] ~@2 [f#3,b3,d4] ~", // D F#m D Bm D Bm D Bm
S: "[f#3,b3,d4] [f#3,b3] ~ f#3!2 [f#3,d4] ~ f#3 ~ [f3,g#3,c#4,f4]!2 [f3,c#4] ~ c#4 [f3,g#3,c#4,f4]!2, ~ [f#3,b3,d4,f#4] ~ [b3,d4,f#4] ~@2 [f3,g#3,c#4] ~", // Bm B5 D C# Bm C#
T: "[f3,g#3,c#4] [f3,g#3] ~ f3!2 [f3,c#4] ~ f3 [f#3,a3]!2 ~ f#3!2 [f#3,d#4] ~ f#3, ~ [f3,g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [f#3,a3,g#4] ~ [a3,g#4]", // C# Fm C# F#m D#m C# F#m Amaj7
U: "~ [f#3,a3,d#4,g#4] [f#3,a3,g#4] [f#3,d#4] ~ d#4 [f#3,a3,g#4]!2 [f#3,a3]!2 ~ f#3!2 [f#3,d#4] ~ f#3, ~@2 [f#3,a3] ~@2 [f#3,a3,g#4] ~ [a3,g#4]", // D#dim F#m D#m F#m D#m F#m Amaj7
V: "~ [f#3,a3,d#4,g#4] [f#3,a3,g#4] [f#3,d#4] ~ d#4 [f#3,a3,g#4]!2 [f#3,b3,d4] [f#3,b3] ~ f#3!2 [f#3,d4] ~ f#3, ~@2 [f#3,a3] ~@2 [f#3,b3,d4,f#4] ~ [b3,d4,f#4]", // D#dim F#m D#m F#m Bm B5 D F#m …
W: "~ [f#3,b3,d4,f#4]!2 [f#3,d4] ~ d4 [f#3,b3,d4,f#4]!2 [f#3,b3,d4] [f#3,b3] [f#3,b3,d4,f#4] [f#3,b3,d4] f#3 [f#3,d4] ~ f#3, ~@2 [f#3,b3,d4] ~@4 [b3,d4,f#4]", // Bm D Bm B5 Bm D Bm
X: "~@2 [f#3,b3] [f#3,d4] [f#3,b3,d4]!2 [f#3,b3,d4,f#4] [f#3,b3,d4] [e3,b3,e4] [e3,b3] ~ e3!2 [e3,e4] ~ e3, ~ [f#3,b3,d4,f#4]@2 ~@7 [e3,b3,e4,g#4]@2 ~@2 [b3,e4,g#4]@2", // B5 D Bm E5 E Bm E
Y: "~ [e3,b3,e4,g#4]!2 [e3,e4] ~ e4 [e3,b3,e4,g#4]!2 [e3,a3,c#4] [e3,a3] ~ e3!2 [e3,c#4] ~ e3, ~@2 [e3,b3,e4] ~@2 [e3,a3,c#4,e4] ~ [a3,c#4,e4]", // E A A5 C#m E5 A
Z: "~ [e3,a3,c#4,e4]!2 [e3,c#4] ~ c#4 [e3,a3,c#4,e4]!2 [e3,a3,c#4] [e3,a3] ~ e3!2 [e3,c#4] ~ e3, ~@2 [e3,a3,c#4] ~@2 [e3,a3,c#4,e4] ~ [a3,c#4,e4]", // A C#m A A5 C#m A
AA: "~ [f#3,a3,d4,f#4]!2 [f#3,d4] ~ d4 [f#3,a3,d4,f#4]!2 [f#3,a3,d4] [f#3,a3] ~ f#3!2 [f#3,d4] ~ f#3, ~@2 [f#3,a3,d4] ~@2 [f#3,a3,d4,f#4] ~ [a3,d4,f#4]", // D F#m D
AB: "~ [f#3,b3,d4,f#4]!2 [f#3,d4] ~ d4 [f#3,b3,d4,f#4]!2 [f#3,b3,d4] [f#3,b3] ~ f#3!2 [f#3,d4] ~ f#3, ~@2 [f#3,b3,d4] ~@2 [f#3,b3,d4,f#4] ~ [b3,d4,f#4]", // Bm D Bm B5 D Bm
AC: "~ [f3,g#3,c#4,f4]!2 [f3,c#4] ~ c#4 [f3,g#3,c#4,f4]!2 [f3,g#3,c#4] [f3,g#3] ~ f3!2 [f3,c#4] ~ f3, ~@2 [f3,g#3,c#4] ~@2 [f3,g#3,c#4,f4] ~ [g#3,c#4,f4]", // C# Fm C#
AD: "[f#3,a3,d#4] [f#3,a3] ~ f#3!3 ~ f#3 c#4 [f#3,a3,c#4,f#4]!2 [f#3,c#4,f#4] ~ c#4 [f#3,a3,c#4,f#4]!2, ~ [f#3,a3,d#4,g#4] ~ [a3,g#4] ~@2 [f#3,a3,c#4] ~", // D#dim F#m F#5 F#m D#dim Amaj7 F#m
AE: "[f#3,a3,c#4,f#4]@8 [f#3,a3,c#4] [f#3,a3] ~ f#3!3 ~ f#3, ~@5 [f#3,a3,c#4,f#4] ~ [a3,f#4]", // F#m D
AF: "~ [f#3,a3,c#4,f#4]!2 [f#3,d#4] ~@2 [f#3,a3,f#4] [f#3,a3,c#4,f#4] [f#3,b3,d4] [f#3,b3] [f#3,b3,d4,f#4] [f#3,b3,b4] [f#3,d4] ~@2 f#3, ~@4 [f#3,a3,c#4]@2 ~@7 [f#3,b4]@2 ~, ~@5 d#4@2 ~@7 [b3,d4,f#4]@2", // F#m D#m F#m Bm B5 Bm B5 D …
AG: "~@2 [f#3,b3] [f#3,b4] [f#3,b3,d4] [f#3,b3,b4] [f#3,b3,f#4] [f#3,b3,d4] [g#3,c#4,f4] [g#3,f4] ~ g#3!2 [g#3,c#4] ~ g#3, ~ [f#3,b3,d4,f#4]@2 ~@7 [g#3,c#4,f4,g#4]@2 ~@2 [c#4,f4,g#4]@2", // B5 Bm B5 Bm C# C#5 Bm C#
AH: "~ [g#3,c#4,f4,g#4]!2 [g#3,c#4] ~ c#4 [g#3,c#4,f4]!2 [f#3,a3,c#4] [f#3,a3] ~ f#3!3 ~ f#3, ~@2 [g#3,c#4,f4] ~@2 [f#3,a3,c#4,f#4] ~ [a3,f#4]", // C# C#5 C# F#m C# F#m D
AI: "~ [f#3,a3,c#4,f#4]!2 [f#3,d#4] ~@2 [f#3,a3,f#4] [f#3,a3,c#4,f#4] [f#3,a3,c#4] [f#3,a3] ~ f#3!3 ~ f#3, ~@2 [f#3,a3,c#4] ~@2 [f#3,a3,c#4,f#4] ~ [a3,f#4], ~@5 d#4@2 ~@9", // F#m D#m F#m D
AJ: "~ [f#3,a3,c#4,f#4]!2 f#3 [f#3,a3,c#4]@2 [f#3,a3,f#4] [f#3,a3,c#4,f#4] [f#3,b3,d4] [f#3,b3] [f#3,b3,d4,f#4] [f#3,b3,b4] [f#3,d4] ~@2 f#3, ~@13 [f#3,b4]@2 ~, ~@7 [b3,d4,f#4]", // F#m Bm B5 Bm B5 D B5 Bm
AK: "~ [g#3,c#4,f4,g#4]!2 [g#3,c#4] ~ c#4 [g#3,c#4,f4]!2 [f#3,a3,c#4] [f#3,a3] ~ f#3!3 ~ f#3, ~@4 [g#3,c#4,f4]@2 ~@4 [f#3,a3,c#4,f#4]@2 ~ d#4@3, ~@7 [a3,f#4]", // C# C#5 C# F#m C# F#m D
AL: "~ [f#3,a3,c#4,f#4]!2 [f#3,d#4] ~@2 [f#3,a3,f#4] [f#3,a3,c#4,f#4] [a3,b3,d4] [a3,b3] ~ a3 [a3,b3,d4]!2 ~ a3, ~@2 [f#3,a3,c#4] ~@2 [a3,b3,d4,f#4] ~ [b3,d4,f#4], ~@5 d#4@2 ~@9", // F#m D#m F#m Bm7 Asus2 Bm7 F#m Bm7 …
AM: "~ [g#3,a3,c#4,e4]!2 [g#3,c#4] ~ c#4 [g#3,a3,c#4,e4]!2 [a3,b3,d4]!2 [a3,b3,d4,f#4] [a3,b3,d4]!3 ~ a3, ~@2 [g#3,a3,c#4] ~@4 [b3,d4,f#4]", // Amaj7 C#5 Amaj7 Bm7 Amaj7 Bm
AN: "~@2 [g#3,a3] [g#3,c#4] [g#3,a3,c#4]!2 [g#3,a3,c#4,e4] [g#3,a3,c#4] [a3,b3,d4] [a3,b3] ~ a3 [a3,b3,d4]!2 ~ a3, ~ [g#3,a3,c#4,e4]@2 ~@7 [a3,b3,d4,f#4]@2 ~@2 [b3,d4,f#4]@2", // Amaj7 C#5 Amaj7 Bm7 Asus2 Bm7 Amaj7 Bm7 …
AO: "~ [g#3,a3,c#4,e4]!2 [g#3,c#4] ~ c#4 [g#3,a3,c#4,e4]!2 [a3,b3,d4]!2 [a3,b3,d4,f#4] [a3,b3,d4]!3 [b3,d4,f#4]@2, ~@2 [g#3,a3,c#4] ~@5", // Amaj7 C#5 Amaj7 Bm7 Bm Amaj7
AP: "[f#3,a3,c#4,e4,g#4] [a3,c#4,e4,g#4] ~ [f#3,a3,c#4,e4,g#4] [a3,c#4]@2 [f#3,a3,c#4,e4,g#4]@10", // F#m7 Amaj7 F#m7 A F#m7
AQ: "[f#3,a3,c#4] [f#3,a3] ~ f#3!3 ~ f#3 ~ [f#3,a3,c#4,f#4]!2 [f#3,d#4] [f#3,a3,c#4]@2 [f#3,a3,f#4] [f#3,a3,c#4,f#4], ~ [f#3,a3,c#4,f#4] ~ [a3,f#4] ~@4", // F#m D#m F#m D
AR: "[f#3,a3,c#4] [f#3,a3] ~ [f#3,d#4] f#3!2 ~ f#3 ~ [f#3,a3,c#4,f#4]!2 [f#3,d#4] [f#3,a3,c#4]@2 [f#3,a3,f#4] [f#3,a3,c#4,f#4], ~ [f#3,a3,c#4,f#4] ~ [a3,f#4] ~@4", // F#m D#m F#m D#m F#m D
AS: "[f#3,a3,c#4,f#4] ~@3", AT: "~@2 [f#3,c#4,e4]@2 [f#3,c#4] ~@4 [f#3,c#4,e4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,a3]",
AU: "[f3,g#3,c#4] ~ [f3,g#3] [f3,g#3,c#4]!3 [f3,g#3,c#4,f4] [f3,g#3,c#4] [f3,g#3,c#4,f4]@8, ~ [f3,g#3,c#4,f4]@2 ~@13", // C# Fm C#
AV: "[f#3,a3,c#4] [f#3,a3] [f#3,a3,c#4,f#4] [f#3,a3,c#4] f#3 [f#3,c#4] ~ f#3 [f#3,b3,d4] [f#3,b3] [f#3,b3,d4,f#4] [f#3,b3,b4] [f#3,d4] ~@2 f#3, ~@6 [a3,c#4,f#4]@2 ~@5 [f#3,b4]@2 ~, ~@7 [b3,d4,f#4]", // F#m F#5 Bm B5 Bm B5 D F#m …
AW: "[f#3,a3,c#4] [f#3,a3] [f#3,a3,c#4,f#4] [f#3,a3,c#4] f#3 [f#3,c#4] ~ f#3 [f#3,b3,d4] [f#3,b3] [f#3,b3,d4,f#4] [f#3,b3,b4] [f#3,d4] ~ [b3,d4]@2, ~@6 [a3,c#4,f#4]@2 ~@5 [f#3,b4]@2 ~", // F#m F#5 Bm B5 Bm B5 D Bm …
AX: "[[f#3,a3,c#4,e4,f#4] ~ [f#3,a3,c#4,e4,f#4] [a3,c#4]@2 [f#3,a3,c#4,e4,f#4]@2 [f#3,a3,c#4,f#4] [a3,c#4,f#4]@16 ~@8, ~@8 f#3@23 ~]/2", // F#m7 A F#m7 F#m
})).s("gm_acoustic_guitar_steel").gain(0.34).pan(0.3)
// other · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel_3 = note(`<
A B C D C D C E F E G@4 E@2 F E G@7 ~@10 H@2 ~ I J ~ K L M ~ N@2 O P ~@13 Q R S T@4 U ~@7 A B C D ~ V W X ~ Y@4 Z@8 AA
~@2
>`.pickRestart({
A: "f#2@8 f#2@5 ~@3", B: "f#2@4 f#2!3 ~", C: "f#2@4 f#2 ~@3", D: "f#2@4 f#2!2 ~@2", E: "f#2!2", F: "g#2 f#2",
G: "g#2!2", H: "[~ a4 ~ b4 g#4 [f#4,a4] ~ [e4,g#4] ~ f#4 ~ d4!2 e4 ~ f#4@4 f#4 ~@12]/2", I: "~@6 d5 e5 c#5@6 b4 a4",
J: "c#5@7 ~@9", K: "c#5 b4!2 ~ a4!2 g#4 g#4@3 ~@3 f#4!2 f4", L: "f4 ~@3",
M: "c#3 d3 [f#3,a3] c#4 d4 [b3,c#4] c#4@6 ~@4", N: "[a4 b4 g#4 a4 f#4 g#4 f#4 g#4 e4@3 f#4 f#4@7 ~@13]/2",
O: "~@13 b3 [b3,c#4] a3", P: "g#3@5 ~ g#3 g#3@6 ~@3", Q: "~@6 e4 f#4 a4@5 ~@3, ~@8 g#4 ~@7",
R: "~ e5 d5 e5 g#4 a4 ~ g#4@3 f#4 g#4 f#4@4", S: "~ d5 e5 c#5 d5 b4 c#5 b4 a4 b4 g#4 ~ a4 ~ f#4!2, ~@13 [g#4,a4]@2 ~",
T: "[e4 f#4 e4 d4 ~ [d4,e4] c#4@2 ~ b3 d4 e4 f#4 g#4 a4 c#5@2 a4 b4 c#5 a4 b4 c#5 a4 b4 c#5 a4 b4 c#5 a4 b4 c#5@5 ~@6 c#5 b4 c#5 b4 ~@2 b4 a4 ~ g#4@3 ~ g#4 ~@5 a3 g#3 f#3, ~@41 d5@2 ~@3 a4@2 ~@16, ~@47 g#4@4 ~@13]/4", // Dsus2
U: "g#3@2 ~ g#3@2 ~ g#3@3 ~@7", V: "~@3 [g#4,a4] b4@2 f#4 g#4 [a4,b4] ~ c#5 c#5@4 ~",
W: "~@5 d5 c#5 b4 a4 g#4 f#4 ~@5", X: "~ d5 c#5 b4 d5 c#5 b4 d5 c#5 b4 ~@3 c#5 ~@2, ~@10 d5@5 ~",
Y: "[~@5 f#4 e4 d4 c#4 ~ d4 c#4@2 ~@12 f4 f#4 g#4 a4 b4 a4 g#4 ~ f4 g#4 f4 ~ f#4@2 g#4@2 f4 f#4@2 g#4 f4@2 f#4@4 ~@13, ~@13 d4@6 ~@13 f#4@2 ~@30, ~@7 c#4@25]/4",
Z: "[~@7 b3 ~@2 b3 a3 b3 g#3 a3 f#3 g#3 ~@4 f#3 g#3@8 ~@7 f#3@2 ~ a3 ~ b3 ~@2 d4 b3 c#4@15 ~@3 f#4 ~ f#4!2 ~ e4 d4@2 c#4 ~ e4 d4 c#4 b3 d4 c#4@5 ~@27 f#2@8 ~@8, ~@5 d4@2 ~ d4@2 ~@8 f#3@3 ~@18 g#3@2 ~@87, ~@6 c#4@3 c#4@34 c#4@4 ~@81, ~@19 f3@109]/8",
AA: "f#2 ~",
})).s("gm_acoustic_guitar_steel").gain(0.46).pan(0.6)
// other · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_4 = note("<~ A B C B C B ~@71 A B C ~@20>".pickRestart({
A: "~@7 f#2", B: "~@5 f#2!3", C: "~@6 f#2!2",
})).s("gm_acoustic_guitar_steel").gain(0.29).pan(0.6)
// drums · kick
const kick = s("bd").struct("<A@24 B A@28 C A@15 D A@26 B A@2 E ~>".pickRestart({
A: "x!4", B: "x!3 ~", C: "x ~ x!2", D: "x ~@2 x ~@2 x ~@9", E: "x ~ x ~@2 x ~ x!2 ~@7",
})).gain(0.56)
// drums · clap
const clap = s("cp").struct("<~@77 A B A B A B A B A B A B A B A B A B A C ~@4>".pickRestart({
A: "~ x ~ x!3 ~ x!3 ~ x ~ x ~ x", B: "~@2 x ~@2 x!2 ~ x!7 ~", C: "~@2 x ~@2 x!2 ~ x ~@7",
})).gain(0.22)
// drums · hihat
const hihat = s("hh").struct(`<
~@4 A@20 B C A@3 C A@23 D A@3 E A@3 E A@7 ~ C A@3 C A@2 ~@4 C A@3 C A@3 C A@3 C A@2 B C A ~@2
>`.pickRestart({
A: "x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2", B: "x!2 ~@2 x!2 ~@10", C: "~ x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2",
D: "~@9 x ~@2 x!2 ~@2", E: "x!2 ~@2 x!2 ~@3 x ~@2 x!2 ~@2",
})).gain(0.28)
// drums · open hat
const open_hat = s("oh").struct("<~@4 A@20 B A@28 C A@15 ~ A@7 ~@4 A@15 B A@2 ~@2>".pickRestart({
A: "~ x ~ x ~ x ~ x", B: "~ x ~ x ~@4", C: "~@3 x ~ x ~ x",
})).gain(0.28)
// drums · crash
const crash = s("cr").struct(`<
~@25 A ~@3 A ~@23 B ~@3 B ~@3 B ~@7 C A ~@3 A ~@6 A ~@3 A ~@2 D A ~@2 E A ~@3 A ~@3
>`.pickRestart({
A: "x", B: "~ x", C: "x ~@2 x ~@2 x ~@9", D: "~@7 x", E: "~@5 x ~@2",
})).gain(0.33)
// drums · congas
const congas = s("conga:13").struct("<~@3 A B@20 C B@28 D B@15 C B@7 ~@3 A B@15 C B@2 C ~>".pickRestart({
A: "~@13 x!2 ~", B: "~@3 x ~@3 x", C: "~@3 x ~@4", D: "x ~@6 x",
})).gain(1.61)
// drums · congas
const congas_2 = s("conga:18").struct("<~@4 A@20 B A@28 C A@15 B A@7 ~@4 A@15 B A@2 B ~>".pickRestart({
A: "~@3 x!2 ~@6 x!2 ~@3", B: "~@3 x!2 ~@11", C: "~@11 x!2 ~@3",
})).gain(1.61)
// drums · ht
const ht = s("ht").struct(`<
~@4 A B C D A B C D A E F G A B H I A J K L M A B C N A B C O A B P D A Q R D A S T U A B C V A B P D W X Y Z AA X Y
AB AC AD Y AE AF X Y AE AG A B C AH A B C ~@3 AI A B C N A B C O A B C N A B C AJ AK AE AG ~
>`.pickRestart({
A: "x ~ x ~@2 x ~@2 x!4 ~ x!3", B: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x!2", C: "~@2 x ~@2 x ~ x!2 ~@4 x!2 ~",
D: "~@2 x ~@2 x ~@2 x ~@2 x ~ x!3", E: "~@2 x ~@2 x ~ x ~@3 x!2 ~ x ~", F: "x ~ x ~@2 x ~ x!2 ~@4 x!2 ~",
G: "~@2 x ~@2 x ~ x!5 ~ x!3", H: "~@2 x ~@2 x ~ x!2 ~@5 x!2", I: "x ~ x ~@2 x ~@2 x ~@2 x ~ x!3",
J: "~@2 x ~@8 x ~ x!2 ~", K: "x!2 ~ x!2 ~@4 x ~ x ~ x!3", L: "x!2 ~ x!2 ~@4 x ~@5 x", M: "x ~ x ~@2 x ~ x!2 ~@7",
N: "~ x ~ x!4 ~ x!6 ~ x", O: "~ x!5 ~ x!3 ~@3 x ~ x", P: "~@2 x ~@2 x ~ x!2 ~@4 x ~@2",
Q: "~@2 x ~@2 x ~@2 x!2 ~ x!2 ~ x!2", R: "~@2 x ~ x!2 ~ x!2 ~@4 x!2 ~", S: "~@2 x ~@2 x ~ x!2 ~@2 x ~@2 x!2",
T: "~ x!2 ~ x!5 ~@4 x ~@2", U: "~@2 x!2 ~ x!2 ~ x ~@2 x ~ x!3", V: "x ~ x ~@2 x!3 ~@3 x ~@2 x!2",
W: "x ~@7 x ~ x ~@2 x ~@2", X: "x!4 ~ x!3 ~@2 x ~@2 x ~@2", Y: "x ~@2 x ~@2 x!2 ~@2 x ~@2 x ~ x",
Z: "x ~@4 x!2 ~@2 x ~@2 x!3 ~", AA: "x!6 ~ x!2 ~ x ~@2 x ~@2", AB: "x ~@4 x!2 ~@2 x!5 ~ x",
AC: "x!2 ~@3 x ~ x ~@2 x ~@2 x ~ x", AD: "x!4 ~@2 x ~@3 x ~@2 x ~@2", AE: "x ~@4 x ~@4 x ~@2 x ~@2",
AF: "x ~@4 x!2 ~ x ~ x ~@2 x ~@2", AG: "x ~@2 x ~ x ~ x!2 ~@7", AH: "~ x ~@2 x!3 ~ x!6 ~ x", AI: "~@9 x ~ x!2 ~ x ~",
AJ: "~@4 x!2 ~ x!2 ~@7", AK: "x ~ x ~@2 x ~@4 x ~@2 x ~ x",
})).gain(0.22)
// drums · mt
const mt = s("mt").struct("<~@28 A ~@3 B ~@23 C D ~@3 E ~@11 F ~@10 A ~@3 B ~@3 A ~@8>".pickRestart({
A: "~@7 x", B: "~@6 x!2", C: "~@11 x ~@4", D: "~@3 x ~@4", E: "~@2 x!3 ~@3", F: "~@3 x ~@10 x ~",
})).gain(0.45)
// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@4 A@20 B A@28 C D@15 E A@7 F@4 A@15 G H@2 E ~>".pickRestart({
A: "x ~ x!3 ~ x ~@3 x ~ x!4", B: "x ~ x!3 ~ x ~@9", C: "~@8 x ~ x!3 ~ x ~", D: "~@2 x ~ x!5 ~ x!3 ~ x ~",
E: "~@2 x ~ x!4 ~@8", F: "x ~ x!3 ~ x ~@3 x ~@2 x!3", G: "x ~ x!3 ~ x ~ x ~@7", H: "x ~ x!3 ~ x ~ x ~ x!3 ~ x ~",
})).gain(0.85)
// drums · rim
// … 11 more lines
More by Gipsy Kings
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.