0:00/0:00
// Zorba's Dance — Theodorakis Mikis
// 107 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 16 acoustic guitar steel (copy of ch 2 acoustic guitar steel)
// note: Full arrangement: all 109 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(107/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.
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@2 A B C@2 D E@2 F G H@2 I J I K L M N O@3 P Q P R P S P R T U T V P W X Y Z ~ AA AB AC AD AC AE AC AB AF AG AF AH AI
AJ P R T U T V P AK V AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BG BI BJ BK BL BM BN BM BO
BP BQ BR BS AZ BT AZ BU BV BW BX BY ~
>`.pickRestart({
A: "~@15 c#4", B: "d4@13 ~@2 c#4", C: "[d4@12 ~@2 [d4,e4] d4@13 ~@3 c#4, ~@15 c#4 ~@16]/2", D: "d4@14 b3 ~",
E: "[c4@13 ~ [c4,d4] c4@13 ~@3 a#3, ~@15 b3 ~@16]/2", F: "b3@10 ~@2 c4 [a3,b3] g3 b3", G: "a3@11 ~ b3 [g3,a3] f#3 a3",
H: "[g3@20 ~@11 [a#4,c#5]]/2", I: "[b4,d5]@13 ~@2 [a#4,c#5]", J: "[b4,d5]@13 ~ [b4,c5,e5] [a#4,c#5,d5]",
K: "[b4,d5]@13 ~ g#4 b4", L: "[a4,c5]@13 ~ [a4,b4,d5] [g#4,b4,c5]", M: "[a4,c5]@13 ~@2 [a#4,c#5]",
N: "[b4,d5]@12 [c5,e5] [a4,b4,c5,d5] [g4,b4] d5", // Bm C D7 G
O: "[[a4,c5]@11 ~ [a4,b4,c5,d5] [g4,b4] [f#4,a4,c5] [g4,b4]@20 ~@13, ~@15 a4 ~@32]/3", // Am D7 G F#dim G
P: "[a#4,c#5]@2 [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~", // A#m Bm
Q: "[b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,c5,e5] d5", // Bm Cmaj7
R: "[b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~", // Bm
S: "[b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5]@2 [c5,e5] [b4,d5]", // Bm C Bm
T: "[g#4,b4]@2 [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~", // G#m Am
U: "[a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [b4,d5] [a4,c5]", // Am Bm Am
V: "[a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~", // Am
W: "[b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [c5,e5] [b4,c5,d5] [g4,a4,b4] d5", // Bm C Bm G
X: "[a4,c5]@2 [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~", // Am
Y: "[a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,b4,d5] [g4,b4,c5] [f#4,a4] c5", Z: "[g4,b4]",
AA: "[a#4,f#5]@2 [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5]@2 [b4,g5] ~", // D#m Em
AB: "[b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~", // Em
AC: "[a#4,f#5]@2 [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~", // D#m Em
AD: "[b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [c5,a5] [b4,g5]", // Em F Em
AE: "[b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5] ~ [b4,g5]@2", // Em
AF: "[c#5,e5]@2 [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~", // C#m Dm
AG: "[d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] d5 f5 ~ [e5,g5] [d5,f5]", // Dm Em Dm
AH: "[d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~", // Dm
AI: "[b4,d#5]@2 [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~", // B C
AJ: "[c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [c5,e5] ~", // C
AK: "[b4,d5]@2 [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [b4,c5,d5,e5] [a4,c5] [g4,b4] d5", // Bm Cmaj7 Am G
AL: "[a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [a4,b4,d5] [g4,b4,c5] ~ c5, ~@7 [f#4,a4]", // Am Bm7 Cmaj7 F#m
AM: "[g4,b4]@7 ~@9", // G
AN: "~@2 [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] [a4,c5] [g4,a#4,b4] [f#4,b4] [g4,a#4] [g4,b4]@3, ~@13 f#4 ~@2", // G Am G B5 Gm G
AO: "~@2 [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,a#4,b4] f#4 [g4,b4]@2", // G Am G F# G
AP: "~@2 [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] [g4,a4,c5] [f#4,b4] a#4 [g4,b4,c5] a4 [b4,d5]@2", // G Am7 B5 Cmaj7 Bm
AQ: "~@2 [b4,d5]@2 [c5,e5]@2 [a4,c5] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4] [f#4,a#4] [g4,b4]@2", // Bm C Am G Am G F# G …
AR: "~@2 [g4,a4,c5] ~ [f#4,a4]@2 [g4,b4] ~ [b3,g4] [b3,c4,a4] g4 [a#3,f#4] [b3,f#4,g4] a#3 [b3,g4]@2", // Am7 F#m G Em F D#m Gmaj7 Em
AS: "~@2 [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] [g4,a4,c5] b4 [f#4,a#4,b4] [g4,a#4] f#4 [g4,b4]@2", // G Am7 Bmaj7 Gm G
AT: "~@2 [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] [g4,a4,c5] [f#4,a#4,b4] b4 g4 [f#4,a#4] [g4,b4]@2", // G Am7 Bmaj7 F# G
AU: "~@2 [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4] [a4,c5] [b4,d5]@2", // G Am G F# G Am Bm
AV: "~@2 [b4,d5]@2 [c5,e5] ~ [a4,c5] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4] [f#4,a#4] [g4,b4]@2", // Bm C Am G Am G F# G …
AW: "~@2 [a4,c5]@2 [f#4,a4]@2 [g4,b4] ~ [b3,g4] [c4,a4] [b3,g4] [a#3,f#4] [b3,g4] [a#3,f#4] [b3,g4]@2", // Am F#m G Em F Em D#m Em …
AX: "~ [e5,g5] ~ [e5,g5] [d5,f#5] ~ [c5,e5] ~", // Em D C
AY: "[b4,d5]@2 [c5,e5]@2 ~@2 [a4,c5] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4] [f#4,a#4] [g4,b4]@2", // Bm C Am G Am G F# G …
AZ: "~@2 [e5,g5]@2 ~@2 [e5,g5] ~ [d5,f#5]@2 ~@2 [c5,e5]@2 ~@2", // Em D C
BA: "[b4,d5]@2 [c5,e5]@2 ~@2 [a4,c5] ~ [g4,b4] [g4,a4,c5] b4 [f#4,a#4] [g4,b4] [f#4,a#4] [g4,b4]@2", // Bm C Am G Am7 F# G F# …
BB: "~@2 b5 [g5,b5]!5 [d5,f#5] [f#5,a5] [e5,g5] [d5,f#5] [c5,e5] [e5,g5] [d5,f#5] [c5,e5]", // G D F#m Em D C Em D …
BC: "[b4,d5] [d5,f#5] [c5,e5] [b4,d5] [a4,c5] [c5,e5] [b4,d5] [a4,c5] [b4,d5] [a#4,c#5] [b4,d5] [c5,e5] [b4,d5] ~ [g4,b4]@2", // Bm D C Bm Am C Bm Am …
BD: "~@2 [g5,b5] [g5,b5,c6] [g5,b5]!4 [d5,f#5] [f#5,a5] [e5,g5] [d5,f#5] [c5,e5] [e5,g5] [d5,f#5] [c5,e5]", // G Cmaj7 G D F#m Em D C …
BE: "[b4,d5] [d5,f#5] [c5,e5] [b4,d5] [a4,c5] [c5,e5] [b4,d5] c5 [b4,d5] [c5,e5] [b4,d5] [a#4,c#5] [b4,d5] ~ [g4,b4]@2", // Bm D C Bm Am C Bm C …
BF: "~@2 [e5,g5]@2 ~@2 [e5,g5] ~ [d5,f#5]@2 ~@2 [f#5,a5]@2 ~@2", // Em D F#m
BG: "[b4,d5]@2 [c5,e5]@2 ~@2 [a4,c5] ~ [b4,d5] [c5,e5] [b4,d5] [a#4,c#5] [b4,d5]@2 [g4,b4]@2", // Bm C Am Bm C Bm A#m Bm …
BH: "~@2 [e5,g5]@2 ~@2 [e5,g5] ~ [d5,f#5]@2 ~@2 [f#5,a5]@3 ~", // Em D F#m
BI: "~@2 [c5,e5]@2 [a4,c5]@2 [b4,d5] ~ [g4,b4] [a4,c5] [f#4,g4,a#4,b4] ~ [g4,b4]@2 g4@2", // C Am Bm G Am Gmaj7 G
BJ: "~@2 [g4,b4]@2 [a4,c5]@2 [c5,e5] ~ [b4,d5] [c5,e5] [a#4,b4,d5] c#5 [b4,d5]@2 [g4,b4]@2", // G Am C Bm C A# Bm G
BK: "[b4,d5]@2 [c5,e5]@3 ~ [a4,c5] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4]@2 g4@2", // Bm C Am G Am G F# G
BL: "~@2 [c5,e5] ~ [a4,c5] ~ [b4,d5] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4]@2 g4@2", // C Am Bm G Am G F# G
BM: "~@2 [g4,b4]@2 [a4,c5]@2 [c5,e5] ~ [b4,d5] [c5,e5] [b4,d5] [a#4,c#5] [b4,d5]@2 [g4,b4]@2", // G Am C Bm C Bm A#m Bm …
BN: "~@2 [c5,e5] ~ [a4,c5] ~ [b4,d5] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4]@2 g4 ~", // C Am Bm G Am G F# G
BO: "~@2 [c5,e5]@2 [a4,c5] ~ [b4,d5] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4] [f#4,a#4] [g4,b4]@2", // C Am Bm G Am G F# G …
BP: "~@2 [g4,b4]@2 [a4,c5] ~ [c5,e5] ~ [b4,d5] [c5,e5] [b4,d5] [a#4,c#5] [b4,d5] [a#4,c#5] [b4,d5]@2", // G Am C Bm C Bm A#m Bm …
BQ: "~@2 [c5,e5]@2 [a4,c5]@2 [b4,d5] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4] [f#4,a#4] [g4,b4]@2", // C Am Bm G Am G F# G …
BR: "~@2 [g4,b4]@2 [a4,c5] ~ [c5,e5] ~ [b4,d5] [c5,e5] [b4,d5] [a4,c5] [g4,b4]@4", // G Am C Bm C Bm Am G
BS: "~@2 [c5,e5]@2 ~@2 [a4,c5] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4] [f#4,a#4] [g4,b4]@2", // C Am G Am G F# G F# …
BT: "[b4,d5]@2 [c5,e5]@2 ~@2 [a4,c5] ~ [g4,b4] [g4,a4,c5] [a#4,b4] f#4 [g4,a#4,b4] f#4 [g4,b4]@2", // Bm C Am G Am7 Bmaj7 G
BU: "[b4,d5]@2 [c5,e5]@2 ~@2 [a4,c5] ~ [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4] [f#4,a#4] [g4,b4] ~", // Bm C Am G Am G F# G …
BV: "~@2 [g5,b5]!6 [d5,e5,f#5] [f#5,a5] [e5,g5] [d5,f#5] [c5,e5] [e5,g5] [d5,f#5] [c5,e5]", // G D F#m Em D C Em D …
BW: "[b4,d5] [c5,e5] [a4,c5] [b4,d5] [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4] [f#4,a#4] [g4,b4]@4 [d4,g4]@2", // Bm C Am Bm G Am G F# …
BX: "~@2 [g5,b5]!6 [d5,f#5] [f#5,a5] [e5,g5] [d5,f#5] [c5,e5] [e5,g5] [d5,f#5] [c5,e5]", // G D F#m Em D C Em D …
BY: "[b4,d5] [c5,e5] [a4,c5] [b4,d5] [g4,b4] [a4,c5] [g4,b4] [f#4,a#4] [g4,b4] [f#4,a#4] [g4,b4]@3 ~ [g4,b4]@2", // Bm C Am Bm G Am G F# …
})).s("gm_acoustic_guitar_steel").gain(0.36).pan(1)
// chords · banjo
const banjo = note(`<
~ A@6 B@2 A C A@6 B@2 D E A@6 D A@3 B@4 A@2 B F D A@9 G H@3 I@2 J A B@4 A@2 B F K@11 L M L N O P L N L N O M Q R S@8 T
U L M L M L M L P ~
>`.pickRestart({
A: "[b2,g3] ~@3 [b2,g3] ~@3 [b2,g3] ~@3 [b2,g3] ~@3", B: "[c3,a3] ~@3 [c3,a3] ~@3 [c3,a3] ~@3 [c3,a3] ~@3",
C: "[c3,a3] ~@3 [c3,a3] ~@3 [c3,f#3,a3] ~@3 [c3,f#3,a3] ~@3", // F F#dim
D: "b2@2 ~@2 [b2,g3] ~@3 [b2,g3] ~@3 [b2,g3] ~@3, g3 ~@15", E: "[c3,a3] ~@3 [c3,a3] ~@3 [f#3,a3] ~@3 [f#3,a3] ~@3",
F: "[f#3,a3] ~@3 [f#3,a3] ~@3 [f#3,a3] ~@3 [f#3,a3] ~@3", G: "[b2,g3] ~@3 [b2,f3] ~@3 [b2,f3] ~@3 [b2,f3] ~@3",
H: "[b2,f3] ~@3 [b2,f3] ~@3 [b2,f3] ~@3 [b2,f3] ~@3", I: "[c3,e3] ~@3 [c3,e3] ~@3 [c3,e3] ~@3 [c3,e3] ~@3",
J: "[b2,d3] ~@3 [b2,g3] ~@3 [b2,g3] ~@3 [b2,g3] ~@3", K: "~@2 [b2,g3] ~@3 [b2,g3] ~@3 [b2,g3] ~@3 [b2,g3] ~",
L: "~@2 [b2,g3] ~@3 [b2,g3] ~ [c3,g3] ~@3 [c3,g3] ~@3", // Em C5
M: "[d3,f#3] ~ [d3,f#3] ~@3 [d3,f#3] ~ [b2,g3] ~@3 [b2,g3] ~ [b2,g3] ~", // D Em
N: "[d3,f#3] ~ [d3,f#3] ~@3 [d3,f#3] ~ [b2,g3] ~@3 [b2,g3] ~@3", // D Em
O: "[b2,g3] ~ [b2,g3] ~@3 [b2,g3] ~ [c3,g3] ~@3 [c3,g3] ~@3", // Em C5
P: "[d3,f#3] ~ [d3,f#3] ~@3 [d3,f#3] ~ [b2,g3] ~ [b2,g3] ~@3 [b2,g3] ~", // D Em
Q: "[b2,g3] ~ [b2,g3] ~@3 [b2,g3] ~ [b2,g3] ~@3 [b2,g3] ~@3", // Em
R: "g3 ~ [b2,g3] ~@3 [b2,g3] ~ [b2,g3] ~@3 [b2,g3] ~ [b2,g3] ~", // Em
S: "~@2 [b2,g3] ~@3 [b2,g3] ~ [b2,g3] ~@3 [b2,g3] ~ [b2,g3] ~", // Em
T: "~@2 [b2,g3] ~@3 [b2,g3] ~ [b2,g3] ~@3 [b2,g3] ~@3", // Em
U: "[b2,g3] ~ [b2,g3] ~@3 [b2,g3] ~ [b2,g3] ~@3 [b2,g3] ~ [b2,g3] ~", // Em
})).s("gm_banjo").gain(0.31).pan(0.2)
// chords · electric guitar muted
const electric_guitar_muted = note(`<
~ A@6 B@2 A C A@6 B@2 A C A D E A@7 B@4 A@2 B F A@14 G@2 A@2 B@4 A@2 B F H I H@9 J K J L J M N O J M J P H@12 J M J M
J Q R M ~
>`.pickRestart({
A: "~@4 [b3,d4,g4] ~@7 [b3,d4,g4] ~@3", B: "~@4 [c4,e4,a4] ~@7 [c4,e4,a4] ~@3",
C: "~@4 [c4,e4,a4] ~@7 [a3,d4,f#4] ~@3", D: "~@4 [b3,d4,g4] ~@3 d3 e3 ~ d3 c3 b2 ~ a2",
E: "g2@3 ~ [b3,d4,g4]@2 ~@6 [b3,d4,g4] ~@3, a2 ~@15", F: "~@4 [a3,d4,f#4] ~@7 [a3,d4,f#4] ~@3",
G: "~@4 [c4,e4,g4] ~@7 [c4,e4,g4] ~@3", H: "~@2 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~",
I: "~@2 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [b3,d4,f4,g4] ~", // G G7
J: "~@2 [b3,d4,g4] ~@3 [b3,d4,g4] ~@3 [c4,e4,g4] ~@3 [c4,e4,g4] ~", // G C
K: "~@2 [c4,d4,f#4] ~@3 [c4,d4,f#4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~", // D7 G
L: "[c4,d4,f#4] ~ [c4,d4,f#4] ~@3 [c4,d4,f#4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~", // D7 G
M: "[a3,d4,f#4] ~ [a3,d4,f#4] ~@3 [a3,d4,f#4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~", // D G
N: "~@2 [b3,d4,g4] ~@3 [b3,d4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~@3 [c4,e4,g4] ~", // G C
O: "[c4,d4,f#4] ~ [c4,d4,f#4] ~@3 [b3,c4,d4,f#4] ~ f#4 ~ [b3,d4,g4] ~@3 [b3,d4,g4] ~", // D7 Bm G
P: "~@2 [a3,d4,f#4] ~@3 [a3,d4,f#4] ~@3 [b3,d4,g4] ~@3 [b3,d4,g4] ~", // D G
Q: "~@2 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [b3,d4,g4] ~@3 [b3,d4,g4] ~", // D G
R: "~@2 [b3,d4,g4] ~@3 [b3,d4,g4] ~ [c4,e4,g4] ~@3 [c4,e4,g4] ~@3", // G C
})).s("gm_electric_guitar_muted").gain(0.36).pan(0.8)
// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note("<A@3 ~@7 B C@2 ~@7 D E@2 F@3 G@8 H@6 I J K@8 L@5 M@3 N@8 ~@43>".pickRestart({
A: "[~@14 d3 ~ g4@12 ~@2 d3 ~ [d4,g4]@14 ~@2, ~@15 [g3,b3,d4]@13 ~@3 [g3,b3]@15 ~@2]/3", // G5 G
B: "~@7 [f#3,d4,f#4]@9, ~@3 [d3,a3]@5", C: "[~@16 [g3,d4,g4]@13 ~@3, ~@7 d3@7 ~@2, ~@15 b3@13 ~@4]/2",
D: "~@7 d3 f#4@8, ~@7 [f#3,a3,d4]@9", E: "[~@16 g4@13 ~@3, ~@7 d3 ~@8, ~@15 [g3,b3,d4]@13 ~@4]/2",
F: "[[g3,b3,d4,g4]@25 ~@7 [d4,g4]@14 ~@2, ~@31 [g3,b3]@14 ~@3]/3", // G G5 G
G: "[~@14 d3 ~ [g3,d4,g4]@25 ~@6 d3 [g3,d4,g4]@25 ~@7 [e4,a4]@20 ~@11 e3 [e4,a4]@16, ~@15 b3@25 ~@7 b3@25 ~@7 c4@21 ~@11 c4@17, ~@79 a3@18 ~@15 a3@12 ~@4]/8", // G5 A5
H: "[~@15 d3 [d4,g4]@25 ~@7 [a3,e4,a4]@9 ~@5 d3 [f#3,d4,f#4]@13 ~@2 d3 ~ [g3,g4]@14 ~ d3, ~@15 b3@25 ~@7 c4@10 ~@22 [b3,d4]@15 ~@2, ~@15 g3@17 ~@30 a3@14 ~@20]/6", // G5 A5 D G Bm
I: "[g3,b3,d4,g4]@13 ~@2 d3", J: "[g3,b3,g4]",
K: "[~@14 d3 ~ [d4,g4]@29 ~@3 g4@26 ~@4 d3 ~ [g3,d4,g4]@22 ~@9 d3 [g3,d4,f4]@16, ~@15 b3@29 ~@3 [b3,d4]@27 ~@5 b3@23 ~@9 b3@17, ~@16 g3@7 ~@23 d3@2 ~@80, ~@47 g3@5 ~@76]/8", // G5 G7 Bm
L: "[~@14 d3 ~ [d4,f4]@24 ~@7 c3 [g3,e4]@24 ~@7 d3, ~@15 [g3,b3]@24 ~@8 c4@24 ~@9]/5", // Dm C G
M: "[~ [d4,g4]@23 ~@8 [a3,e4]@16, [g3,b3]@23 ~@8 [e3,c4]@17]/3", // G5 A5 G C
N: "[~@16 [c4,e4]@19 ~@13 [g3,d4,g4]@25 ~@7 [a3,c4,e4]@9 ~@6 d3 [f#3,d4,f#4]@12 ~@3 d3 [d4,g4]@14 ~@2, ~@15 a3@20 ~@12 b3@25 ~@23 a3@12 ~@4 b3@13 ~@4, ~@15 e3@9 ~@23 d3@2 ~@30 e3@10 ~@23 g3@11 ~@5]/8", // C G5 Am D G5
})).s("gm_acoustic_guitar_nylon").gain(0.26).pan(0.3)
// bass · acoustic bass
const bass = note(`<
~ A@2 B A C A D@2 E F G A@2 H A@2 I J E F K L A K@2 L K L M N D I D O A@2 O P K@2 A@4 K@2 A@2 L@2 K L Q R L S D T D O
U S O V W X@2 Y@2 Z AA W@2 Z AA AB AC AD AC AE AF AG AH AG AC AI AC AJ AK AL AM AN AO AP AQ AR AS AT AU AV AC AG AC AE
AW AX AY ~
>`.pickRestart({
A: "g2@3 ~ d2@3 ~", B: "g2@6 ~@2 d2@7 ~", C: "g2@2 ~@2 d2@3 ~", D: "a2@5 ~@3 e2@6 ~@2", E: "g2@3 ~ g2@3 ~",
F: "a2@5 ~@3 d2@6 ~@2", G: "g2@7 ~ d2@6 ~@2", H: "g2@4 d2@3 ~", I: "a2@3 ~ e2@3 ~", J: "a2@7 ~ e2@6 ~@2",
K: "g2@5 ~@3 d2@6 ~@2", L: "g2@5 ~@3 d2@5 ~@3", M: "g2@4 ~@4 d2@5 ~@3", N: "g2@5 ~@3 d2@3 ~ g2@3 ~",
O: "a2@5 ~@3 e2@3 ~ a2@3 ~", P: "d2@6 ~@2 a2@4 d3@3 ~", Q: "c2@5 ~@3 g1@5 ~@3", R: "c2@6 ~@2 g2@3 ~ c3@3 ~",
S: "g2@6 ~@2 d2@3 ~ g2@3 ~", T: "a2@5 ~@3 e2@5 ~@3", U: "g2@5 ~@3 d2@4 ~@4", V: "d2@5 ~@3 a2@4 d3@3 ~",
W: "g2@3 ~ d2@2 ~@2 g2@3 ~ d2@2 ~@2", X: "g2@3 ~ d2@2 ~@2 g2@2 ~@2 d2@2 ~@2", Y: "g2 ~ d2 ~ g2 ~ d2 ~",
Z: "g2@3 ~ d2@2 ~@2 g2@2 ~@2 d2@3 ~", AA: "g2@3 ~ d2@2 ~@2 g2@3 ~ d2@3 ~", AB: "g2@2 ~@2 g2@3 ~ c2@3 ~ c2@3 ~",
AC: "d2 ~ d2@2 ~@2 d2 ~ g2@3 ~ d2@4", AD: "g2 ~ g2@3 ~ g2 ~ c2@2 ~@2 c2@3 ~", AE: "g2 ~ g2@3 ~ g2@2 c2@2 ~@2 c2@3 ~",
AF: "d2@2 ~@2 d2@3 ~ g2@3 ~ d2@4", AG: "g2 ~ g2@2 ~@2 g2@2 c2@2 ~@2 c2@3 ~", AH: "d2 ~ d2@2 ~@2 d2 ~ g2@3 ~ d2@3 ~",
AI: "g2 ~ g2@2 ~@2 g2@2 c2@3 ~ c2@3 ~", AJ: "g2 ~ g2@3 ~ d2 ~ g2@3 ~ d2@4", AK: "g2 ~ g2@3 ~ d2@2 g2@4 d2@4",
AL: "g2 ~ g2@4 d2@2 g2@4 d2@4", AM: "g2@2 d2@2 ~@2 d2 ~ g2@4 d2@4", AN: "g2 ~ g2@4 d2 ~ g2@4 d2@4",
AO: "g2 ~ g2@3 ~ d2@2 g2@3 ~ d2@3 ~", AP: "g2@4 d2@3 ~ g2@4 d2@3 ~", AQ: "g2@3 ~ d2@3 ~ g2@4 d2@4",
AR: "g2 ~ g2@3 ~ d2 ~ g2@4 d2@4", AS: "g2@3 ~ d2@2 ~@2 g2@4 d2@4", AT: "g2 ~ g2@2 ~@2 d2@2 g2@4 d2@4",
AU: "g2@3 ~ d2@3 ~ g2 ~ g2@4 d2 ~", AV: "g2 ~@3 g2@2 ~@2 c2@2 ~@2 c2@3 ~", AW: "d2 ~ d2@2 ~@2 d2@2 g2@3 ~ d2@4",
AX: "g2 ~ g2@2 ~@2 g2 ~ c2@3 ~ c2@3 ~", AY: "d2 ~ d2@2 ~@2 d2 ~ g2@2 ~@2 g2 ~ g2@2",
})).s("gm_acoustic_bass").gain(0.36)
// drums · kick
const kick = s("bd").struct("<~ A@64 B@14 C B C B C B C B C B@19 D ~>".pickRestart({
A: "x!2", B: "x!4", C: "x!2 ~ x!2 ~ x ~", D: "x ~ x ~ x ~ x!2",
})).gain(0.41)
// drums · rim
const rim = s("rim").struct("<~ [~ x ~ x]!64 ~@44>").gain(0.51)
// drums · snare
const snare = s("sd").struct("<~@65 [~ x ~ x ~ x ~ x]!43 ~>").gain(0.46)
// drums · hihat
const hihat = s("hh").struct("<~ A@86 B A@13 B A B A B A C ~>".pickRestart({
A: "x!4", B: "x!2 ~ x!2 ~ x ~", C: "x!2 ~ x!2 ~ x!2",
})).gain(0.46)
stack(acoustic_guitar_steel, banjo, electric_guitar_muted, acoustic_guitar_nylon, bass, kick, rim, snare, hihat)
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.