0:00/0:00
// Pretty Maids All in a Row — Eagles
// 64 bpm, 6/8, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 6/8 at bar 3) are rendered on a constant 6/8 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 66 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(64/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: edit a riff to change every repeat.
// chords · lead 3 calliope
const lead_3_calliope = note("<~@22 A B C D ~@4 E F ~@8 G H I J K L M N O ~@4 P Q R S T U V W T U V W ~>".pickRestart({
A: "[c5,eb5]@16 [bb4,d5]@5 [c5,eb5]@5 ~ [d5,f5]@5", B: "[d5,f5]@2 [eb5,g5]@7 ~@23", C: "[bb4,eb5,g5] [a4,eb5,f5]",
D: "[ab4,eb5,f5]@11 [d5,f5]@2 ~@19", E: "[eb5,ab5,c6]@16 bb5@12 g5 bb5 ~ eb6, ~ [f5,d6]",
F: "[ab5,c6,f6]@5 [g5,bb5,eb6]@14 ~@13", // Fm Eb
G: "c5@2 ~@2 bb4 c5@2 ~@2 bb4 ~ c5@2 ~ bb4 ~ [f4,c5] ~ [g4,d5]@2 ~ [ab4,eb5]@4 ~@2 [bb4,f5]@4 ~", // F5 G5 Ab5 Bb5
H: "[c5,g5]@4 ~ [c5,g5]@4 ~@2 [c5,g5]@4 ~ [ab4,eb5]@2 [bb4,f5]@2 ~ [ab4,eb5]@4 [g4,d5] ~ [g4,d5]@4 ~", // C5 Ab5 Bb5 Ab5 G5
I: "[g4,d5] [ab4,eb5]@4 ~@3", // G5 Ab5
J: "[bb4,g5]@4 ~ [bb4,g5]@8 ~ [bb4,g5] ~ [bb4,g5]@2 ~@3 f5@4 ~@2 a4@2 [ab4,d5]@2 ~, ~@20 a4@5 ~@7, ~@20 eb5@2 ~@5 eb5@4 ~", // Eb Abdim
K: "f5@2 [ab4,eb5]@2 [ab4,d5]@9 ~@19, bb4 ~@31", // Ab5 Abdim
L: "[c5,g5]@4 ~ [c5,g5]@8 ~ [d5,bb5] ~ eb5@4 [bb4,f5] eb5@4 [g4,d5] ~@6, ~@16 ab4@2 ~@3 ab4@2 ~@9", // C5 Gm Bb5 G5
M: "d5@2 [ab4,eb5]@2 ~ [g4,d5]@8 ~ [ab4,eb5] ~ g4@4 [f4,ab4]@5 ~@7, g4 ~@15 bb4@2 ~@14", // Ab5 G5 Ab5 Fm
N: "[bb4,g5]@4 ~ [bb4,g5]@4 ~@2 [bb4,g5]@4 ~ [a4,g5]@4 ~ [a4,f5]@4 eb5@2 eb5@3 [ab4,d5] ~, ~@27 a4@2 ~@3", // Eb A7 Dm Abdim
O: "f5@2 eb5@2 d5@9 ~@19, ab4@3 ~@5", P: "bb5", Q: "bb5@11 ab5@5 g5@11 f5@4 ~",
R: "bb4@4 ~ eb5@4 ~@2 g5@4 ~ f5@7 ~@4 c5@4 ~, g5@11 ~@21", S: "eb5@11 ~@5 d5@7 ~@9, f5@23 ~@9", T: "d6, bb5@21 ~@11",
U: "d6@11 [ab5,c6]@5 bb5@11 [f5,ab5]@4 ~, bb5@7 ~@9 g5@7 ~@9", // Ab Fm
V: "bb4@4 ~ eb5@4 ~@2 g5@4 ~ g5@11 c5@4 ~, bb5 a5, g5@11 ~@5 f5@7 ~@9", W: "eb5@11 ~@5 d5@7 ~@9, [f5,ab5]@23 ~@9",
})).s("gm_lead_3_calliope").gain(0.27)
// other · lead 8 bass lead
const lead_8_bass_lead = note(`<
~@31
[~@8 g5 bb5 ~ eb6@2 ~@3 eb6@4 ~ bb5@2 ~@5 bb5 ~ g5 ~, ~@27 c6@2 ~@3]
[bb5@11 ~@5 gb5@4 g5 bb5@4 ~@2 g5@3 f5 ~]
[eb5@4 ~@5 g6 ~ g6@2 ~ g6 ~ g6@2 ab6@2 ~ g6@2 ~@4 f6@3 eb6 ~]
[bb5@21 ~@11]
~@31
>`).s("gm_lead_8_bass_lead").gain(0.52)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@9 A B C D E D F G H I H I J K L M N K O P Q R S E T F G H G H G U V W X Y Z L AA Y K L AB AC AD AE AF AC K L AG AH K
L AG AH ~
>`.pickRestart({
A: "~@29 eb4@3", B: "f4@10 ~@6 eb4@10 ~@3 eb4@3", C: "f4@11 ~@5 eb4@10 ~@6",
D: "[eb4,g4,bb4,eb5,g5]@13 ~ [eb4,g4,bb4,eb5,g5] ~ [eb4,g4,bb4,eb5,g5]@11 ~@5", // Eb
E: "[eb4,f4,bb4,d5,bb5]@11 ~@5 [ab4,c5,eb5,ab5]@4 ~ [f4,c5,eb5,ab5]@4 ~@2 [bb3,d4,f4,bb4,d5,bb5]@4 ~", // Bb Ab Fm7 Bb
F: "[eb4,f4,bb4,d5,bb5]@11 ~@21", G: "[ab4,bb4,eb5,g5]@11 ~@5 [g4,bb4,d5,g5]@11 ~@5", H: "[f4,c5,eb5,ab5]@21 ~@11",
I: "[ab4,bb4,eb5,g5]@5 ~@3 [g4,bb4,d5,g5]@5 ~@3", J: "[db4,ab4,db5,eb5,ab5]@11 ~@5 [ab4,c5,eb5,ab5]@11 ~@5",
K: "[c4,g4,bb4,eb5,g5]@4 ~ [c4,g4,bb4,eb5,g5]@4 ~@2 [c4,g4,bb4,eb5,g5]@2 ~ [c4,g4,bb4,eb5,g5] ~ [g3,d4,g4,bb4,d5,g5]@4 ~ [g3,d4,g4,bb4,d5,g5]@4 ~@2 [g3,d4,g4,bb4,d5,g5]@2 ~ [g3,d4,g4,bb4,d5,g5] ~", // Cm7 Gm
L: "[c4,ab4,bb4,eb5,g5]@4 ~ [c4,ab4,bb4,eb5,g5]@4 ~@2 [c4,ab4,bb4,eb5,g5]@2 ~ [c4,ab4,bb4,eb5,g5] ~ [c4,ab4,bb4,eb5,g5]@11 ~@5", // Cm7
M: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@2 ~ [bb3,g4,bb4,eb5,g5] ~ [a3,g4,bb4,eb5,g5]@4 ~ [a3,g4,bb4,eb5,g5]@4 ~@2 [a3,f4,c5,eb5,g5]@2 ~ [a3,f4,c5,eb5,g5] ~", // Eb Am7b5
N: "[bb3,f4,bb4,eb5,bb5]@4 ~ [bb3,f4,bb4,eb5,bb5]@4 ~@2 [bb3,f4,bb4,eb5,bb5]@2 ~ [bb3,f4,bb4,eb5,bb5] ~ [bb3,d4,f4,bb4,d5,bb5]@10 ~@6", // Bbsus4 Bb
O: "[ab4,bb4,eb5,g5]@4 ~ [ab4,bb4,eb5,g5]@4 ~@2 [ab4,bb4,eb5,g5]@2 ~ [ab4,bb4,eb5,g5] ~ [ab4,bb4,eb5,g5]@10 ~@6", // Eb
P: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@2 ~ [bb3,g4,bb4,eb5,g5] ~ [ab3,f4,c5,eb5,g5]@4 ~ [ab3,f4,c5,eb5,g5]@4 ~@2 [ab3,f4,c5,eb5,g5]@2 ~ [ab3,f4,c5,eb5,g5] ~", // Eb Abmaj7
Q: "[bb3,f4,bb4,eb5,bb5]@4 ~ [bb3,f4,bb4,eb5,bb5]@4 ~@2 [bb3,f4,bb4,eb5,bb5]@2 ~ [bb3,f4,bb4,eb5,bb5] ~ [bb3,d4,f4,bb4,d5,bb5]@7 ~@4 [bb3,d4,f4,bb4,d5,bb5]@2 ~ [bb3,d4,f4,bb4,d5,bb5] ~", // Bbsus4 Bb
R: "[bb3,f4,c5,eb5,ab5]@4 ~ [bb3,f4,c5,eb5,ab5]@8 ~ [bb3,f4,c5,eb5,ab5] ~ [bb3,d4,f4,bb4,d5,bb5]@7 ~@4 [bb3,d4,f4,bb4,d5,bb5]@4 ~", // Fm7 Bb
S: "[eb4,g4,bb4,eb5,g5]@13 ~ [eb4,g4,bb4,eb5,g5] ~ [eb4,g4,bb4,eb5,g5]@13 ~ [eb4,g4,bb4,eb5,g5] ~", // Eb
T: "[eb4,g4,bb4,eb5,g5]@13 ~ [eb4,g4,bb4,eb5,g5] ~ [eb4,g4,bb4,eb5,g5]@11 bb4@2 ~ [eb4,g4,bb4,eb5,g5] ~", // Eb
U: "[f4,c5,eb5,ab5]@11 ~@5 [bb3,f4,c5,eb5,ab5]@11 ~@5", // Fm7
V: "[c4,g4,bb4,eb5,g5]@4 ~ [c4,g4,bb4,eb5,g5]@4 ~@2 [c4,g4,bb4,eb5,g5]@2 ~ [c4,g4,bb4,eb5,g5] ~ [g3,d4,g4,bb4,d5,g5]@11 ~@5", // Cm7 Gm
W: "[c4,ab4,bb4,eb5,g5]@4 ~ [c4,ab4,bb4,eb5,g5]@4 ~@2 [c4,ab4,bb4,eb5,g5]@2 ~ [c4,ab4,bb4,eb5,g5] ~ [ab4,bb4,eb5,g5]@11 ~@5, ~@16 c4@7 ~@9", // Cm7 Eb
X: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@2 ~ [bb3,g4,bb4,eb5,g5] ~ [a3,f4,c5,eb5,g5]@7 ~@4 [a3,f4,c5,eb5,g5]@2 ~ [a3,f4,c5,eb5,g5]@2", // Eb Am7b5
Y: "[bb3,f4,bb4,eb5,bb5]@4 ~ [bb3,f4,bb4,eb5,bb5]@4 ~@2 [bb3,f4,bb4,eb5,bb5]@2 ~ [bb3,f4,bb4,eb5,bb5] ~ [bb3,d4,f4,bb4,d5,bb5]@11 ~@5", // Bbsus4 Bb
Z: "[c4,g4,bb4,eb5,g5]@4 ~ [c4,g4,bb4,eb5,g5]@4 ~@2 [c4,g4,bb4,eb5,g5]@4 ~ [g3,d4,g4,bb4,d5,g5]@4 ~ [g3,d4,g4,bb4,d5,g5]@4 ~@2 [g3,d4,g4,bb4,d5,g5]@2 ~ [g3,d4,g4,bb4,d5,g5] ~", // Cm7 Gm
AA: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@4 ~ [a3,f4,c5,eb5,g5]@4 ~ [a3,f4,c5,eb5,g5]@4 ~@2 [a3,f4,c5,eb5,g5]@2 ~ [a3,f4,c5,eb5,g5] ~", // Eb Am7b5
AB: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@2 ~ [bb3,g4,bb4,eb5,g5] ~ [a3,f4,c5,eb5,g5]@4 ~ [a3,f4,c5,eb5,g5]@4 ~@2 [a3,f4,c5,eb5,g5]@2 ~ [a3,f4,c5,eb5,g5] ~", // Eb Am7b5
AC: "[bb3,f4,bb4,eb5,bb5]@4 ~ [bb3,f4,bb4,eb5,bb5]@4 ~@2 [bb3,f4,bb4,eb5,bb5]@2 ~ [bb3,f4,bb4,eb5,bb5] ~ [bb3,d4,f4,bb4,d5,bb5]@4 ~ [bb3,d4,f4,bb4,d5,bb5]@4 ~@2 [bb3,d4,f4,bb4,d5,bb5]@4 ~", // Bbsus4 Bb
AD: "[c4,g4,bb4,eb5,g5]@4 ~ [c4,g4,bb4,eb5,g5]@4 ~@2 [c4,g4,bb4,eb5,g5]@2 ~ [c4,g4,bb4,eb5,g5] ~ [g3,d4,g4,bb4,d5,g5]@4 ~ [g3,d4,g4,bb4,d5,g5]@4 ~@2 [g3,d4,g4,bb4,d5,g5]@4 ~", // Cm7 Gm
AE: "[ab4,bb4,eb5,g5]@4 ~ [ab4,bb4,eb5,g5]@4 ~@2 [ab4,bb4,eb5,g5]@2 ~ [ab4,bb4,eb5,g5] ~ [ab4,bb4,eb5,g5]@11 ~@5", // Eb
AF: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@4 ~ [a3,f4,c5,eb5,g5]@4 ~ [a3,f4,c5,eb5,g5]@4 ~@2 [a3,f4,c5,eb5,g5]@4 ~", // Eb Am7b5
AG: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@2 ~ [bb3,g4,bb4,eb5,g5] ~ [a3,f4,c5,eb5,g5]@3 ~@2 [a3,f4,c5,eb5,g5]@3 ~@3 [a3,f4,c5,eb5,g5]@2 ~ [a3,f4,c5,eb5,g5] ~", // Eb Am7b5
AH: "[bb3,f4,bb4,eb5,bb5]@3 ~@2 [bb3,f4,bb4,eb5,bb5]@3 ~@3 [bb3,f4,bb4,eb5,bb5]@2 ~ [bb3,f4,bb4,eb5,bb5] ~ [bb3,d4,f4,bb4,d5,bb5]@3 ~@2 [bb3,d4,f4,bb4,d5,bb5]@3 ~@3 [bb3,d4,f4,bb4,d5,bb5]@3 ~@2", // Bbsus4 Bb
})).s("gm_acoustic_guitar_steel").gain(0.18).pan(0.9)
// chords · string ensemble 1
const string_ensemble_1 = note(`<
A@2 B@2 A C D@2 E F B G H I H J K@2 ~@8 L M N O P H I H J K@2 ~@4 Q R S P T R S P U V W X U V W X U V W X U V W X ~
>`.pickRestart({
A: "eb5@11 ~@5 d5@11 ~@5", B: "eb5@11 ~@5 c5@11 ~@5", C: "eb5@10 ~@6 f5@7 ~@4 d5@3 ~@2", D: "eb5@5 ~@3 c5@5 ~@3",
E: "eb5@5 ~@3 d5@5 ~@3", F: "eb5@11 ~@5 f5@7 ~@4 d5@4 ~", G: "eb5@11 ~@5 bb4@11 ~@5", H: "[bb5,eb6,g6]@21 ~@11",
I: "[bb5,d6,f6]@11 ~@5 [ab5,c6,eb6]@11 ~@5", J: "[bb5,d6,f6]@11 ~@5 [bb5,db6,f6]@11 ~@5", K: "[eb6@13 ~@3]/2",
L: "eb5@10 ~@6 d5@7 ~@4 eb5@4 ~", M: "c5@21 ~@11", N: "eb5@20 ~ d5@4 ~@2 c5@4 ~", O: "bb4@21 ~@11", P: "bb5@21 ~@11",
Q: "eb6@4 ~ d6@4 ~@2 f6@4 ~ d6@7 ~@4 eb6@4 ~", R: "c6@21 ~@11", S: "eb6@20 ~ d6@4 ~@2 c6@4 ~",
T: "d6@7 ~@4 eb6@4 ~ d6@7 ~@4 eb6@4 ~", U: "[d6,f6]@7 ~@4 [eb6,g6]@4 ~ [d6,f6]@7 ~@4 [eb6,g6]@4 ~",
V: "[c6,eb6]@21 ~@11", W: "[d6,f6]@7 ~@4 [eb6,g6]@4 ~ [d6,f6]@7 ~@4 [a5,c6]@4 ~", X: "[d6,f6]@21 ~@11",
})).s("gm_string_ensemble_1").gain(0.27)
// bass · synth bass 1
const bass = note("<~@3 [~@27 ab1@4 ~] [bb1@21 ~@11] ~@2 [~@27 ab1@3 ~@2] [bb1@5 ~@3] ~@57>")
.s("gm_synth_bass_1").gain(0.27)
// other · synth bass 2
const synth_bass_2 = note(`<
~@2
[ab3@11 ~@5 eb3@11 ~@5]!2
~@2
[ab3@5 ~@3 eb3@5 ~@3]!2
~@2
[ab3@11 ~@5 eb3@11 ~@5]!2
~@54
>`).s("gm_synth_bass_2").gain(0.27)
// chords · piano
const piano = note(`<
A@2 B C D@2 E F G@2 B H I@2 J@2 K L M L N O P Q R S T U V W X Y@2 Z@2 AA L AA L AB AC AD Q AE AF AG AH AI AJ AK AL AM
AJ AN AO AM AJ AP AO AQ AR AS AO AM AT ~
>`.pickRestart({
A: "[g3@5 g3@4 ~@2 c4@4 ~ [f3,bb3,d4]@11 bb3@4 ~ [ab3,c4,eb4]@7 ~@4 [g3,c4,eb4]@4 ~ [eb3,bb3,d4]@10 ~@6, [bb1,bb2]@53 ~@11, [c4,eb4]@11 ~@53]/2", // Bb Ab Cm Ebmaj7 Bb Cm
B: "[db2,db3,ab3,c4,eb4]@10 ~ ab3@4 ~ [ab1,ab2,eb3,ab3,c4]@10 ~@6, f3@7 ~@25", // Ab
C: "[db2,db3,f3,ab3,c4,eb4]@7 ~@4 [db2,db3,f3,ab3,c4,eb4]@3 ~@2 [ab1,ab2,eb3,ab3,c4]@10 ~@6", // Dbmaj7 Ab
D: "[[g3,c4,eb4]@10 ~@6 [f3,bb3,d4]@10 ~@6 [ab3,c4,eb4]@7 ~@4 [g3,c4,eb4]@4 ~ [eb3,bb3,d4]@10 ~@6, [bb1,bb2]@53 ~@11]/2", // Cm Bb Ab Cm Ebmaj7 Bb
E: "f3@4 ~ f3@4 ~@2 ab3@4 ~ [ab1,ab2,eb3,ab3,c4]@11 ~@5, [db2,db3,ab3,c4,eb4]@11 ~@21", // Ab
F: "[db2,db3,f3,ab3,c4,eb4]@7 ~@4 [db2,db3,f3,ab3,c4,eb4]@4 ~ [ab1,ab2,eb3,ab3,c4]@11 ~@5", // Dbmaj7 Ab
G: "[g3@4 ~ g3@4 ~@2 c4@4 ~ [f3,c4,d4]@11 ~@5 [ab3,c4,eb4]@7 ~@4 [g3,c4,eb4]@4 ~ [f3,bb3,d4]@10 ~@6, [bb1,bb2]@53 ~@11, [c4,eb4]@11 ~@53]/2", // Dm7 Ab Cm Bb Cm
H: "[f3,ab3,c4,eb4]@7 ~@4 [f3,ab3,c4,eb4]@4 ~ [bb1,bb2]@4 ~ [bb1,bb2]@2 ~@2 [c2,c3] ~ [eb2,eb3]@2 ~ [c2,c3] ~, [db2,db3]@5 ~@3 [eb3,ab3,c4,eb4]@5 ~@3", // Fm7 Bb C Eb C Db Ab
I: "[[bb3,eb4,g4]@11 ~@5 [bb4,eb5,g5]@4 ~ [c5,eb5,ab5]@4 ~@2 [ab4,c5,eb5]@4 ~ [bb4,d5,f5]@11 ~@5 [ab1,ab2,eb3,ab3,c4]@4 ~ [f1,f2,bb3]@4 ~@2 [bb1,bb2,bb3]@4 ~, [eb2,eb3]@43 ~@21]/2", // Eb Ab Bb Ab Bb5 Bb Eb
J: "[[bb3,eb4,g4]@13 ~ [c5,eb5,ab5] ~ [c5,eb5,ab5]@4 ~ [bb4,eb5,g5]@4 ~@2 [f4,ab4,c5]@4 ~ [f4,bb4,d5]@10 ~@6 [f4,bb4,db5]@10 ~@6, [eb2,eb3]@53 ~@11]/2", // Eb Ab Eb Fm Bb Bbm Eb
K: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [g1,g2,f3,bb3,d4]@10 ~@6, [ab1,ab2]@5 ~@11", // Cm7 Gm7 Ab
L: "[f1,f2,g3,ab3,c4,eb4]@21 ~@11", // Fm7
M: "[ab1,ab2,g3,bb3,c4,eb4]@7 ~@4 [ab1,ab2,g3,bb3,c4,eb4]@4 ~ [f3,bb3,d4]@7 ~@4 [f3,bb3,d4]@4 ~, ~@8 [g1,g2]@5 ~@3", // Abmaj7 Bb G
N: "[ab1,ab2,g3,bb3,c4,eb4]@5 ~@3 [g1,g2,f3,bb3,d4]@5 ~@3", // Abmaj7 Gm7
O: "[f3,ab3,c4,eb4]@5 [c2,c3]@4 ~@2 [bb1,bb2,f3,ab3,c4,eb4]@4 ~ [ab1,ab2,eb3,ab3,c4]@11 ~@5, [db2,db3] ~@7", // Fm7 C Fm7 Ab Db
P: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [f3,bb3,d4]@7 ~@4 [f3,bb3,d4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Cm7 Bb C G
Q: "[ab1,ab2,ab3,bb3,c4,eb4]@21 ~@11", // Ab
R: "[g3,bb3,c4,eb4]@4 ~ g3@4 ~@2 [eb2,bb3]@4 ~ [f3,a3,c4,eb4]@11 [c2,c3]@4 ~, [bb1,bb2]@5 ~@11 f2@7 ~@9", // Cm7 Eb5 F7 C Bb
S: "[bb1,bb2,eb4]@11 ~@5 [bb1,bb2,d4]@11 ~@5, [ab3,c4]@21 ~@11", // Eb5 Bb Ab
T: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [f3,bb3,d4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@5 ~@3 [g1,g2]@5 ~@3", // Cm7 Bb Eb C G
U: "[g3,bb3,c4,eb4]@5 ~@3 [f3,ab3,c4,eb4]@5 ~@3, [ab1,ab2]@21 ~@11", // Cm7 Fm7 Ab
V: "[bb1,bb2,g3,bb3,c4,eb4]@7 ~@4 [eb2,g3,bb3,c4,eb4]@4 ~ [f3,a3,c4,eb4]@11 [c2,c3]@4 ~, ~@16 f2@7 ~@9", // Cm7 F7 C
W: "[g3,g4]@11 ~@5 [g3,g4]@11 ~@3 bb2 ~, bb2@15 ~", // G
X: "bb2@11 ~@5 bb2@4 ~ [bb2,g3,g4]@2 ~@2 [c3,ab3,ab4] ~ [eb3,c4,c5]@2 ~ [c3,ab3,ab4] ~, [g3,g4]@5 ~@3", // Eb Fm Cm Fm G
Y: "[[c4,eb4,g4]@13 ~ bb4 ~ [bb4,eb5,g5]@4 ~ [c5,eb5,ab5]@4 ~@2 [ab4,c5,eb5]@4 ~ [bb4,d5,f5]@11 ~@5 [ab1,ab2,ab3,bb3]@4 ~ [f1,f2,f3]@4 ~@2 [bb1,bb2,bb3]@4 ~, [eb2,eb3]@43 ~@21]/2", // Cm Eb Ab Bb Absus2 F Bb Eb
Z: "[[g3,bb3,eb4]@13 ~ [ab4,c5,eb5] ~ [ab4,c5,eb5]@4 ~ [g4,bb4,eb5]@4 ~@2 [f4,ab4,c5]@4 ~ [f4,bb4,d5]@11 ~@5 [f4,bb4,db5]@11 ~@5, [eb2,eb3]@53 ~@11]/2", // Eb Ab Eb Fm Bb Bbm Eb
AA: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [g1,g2,f3,bb3,d4]@11 ~@5, [ab1,ab2]@11 ~@21", // Cm7 Gm7 Ab
AB: "[ab1,ab2,g3,bb3,c4,eb4]@11 ~@5 [g1,g2,f3,bb3,d4]@11 ~@5", // Abmaj7 Gm7
AC: "[f1,f2,g3,ab3,c4,eb4]@7 ~@4 [db2,db3,f3,ab3,c4,eb4]@4 ~ [bb1,bb2,g3,ab3,c4,eb4]@7 ~@4 [bb1,bb2,f3,ab3,c4,eb4]@4 ~", // Fm7 Dbmaj7 Cm7 Fm7
AD: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [g3,bb3,d4,f4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Cm7 Gm7 Eb C G
AE: "[bb1,bb2,g3,bb3,c4,eb4]@7 ~@4 [eb2,g3,bb3,c4,eb4]@4 ~ [f2,f3,a3,c4,eb4]@7 ~@4 [c2,c3,a3,c4,eb4]@4 ~", // Cm7 F7 Adim
AF: "[bb1,bb2,ab3,c4,eb4]@11 ~@5 [bb1,bb2,ab3,c4,d4]@11 ~@5", // Ab Bb7
AG: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [f3,bb3,d4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Cm7 Bb Eb C G
AH: "[ab1,ab2,g3,bb3,c4,eb4]@11 ~@5 [ab1,ab2,c4,eb4]@11 [f3,ab3]@4 ~, ~@16 [g3,bb3]@7 ~@9", // Abmaj7 Ab Fm Gm
AI: "[bb1,bb2,g3,bb3,c4,eb4]@7 ~@4 [eb2,g3,bb3,c4,g4]@4 ~ [f2,f3,a3,c4,eb4]@7 ~@4 [c2,c3,a3,c4,eb4]@4 ~", // Cm7 F7 Adim
AJ: "~@5 f3@4 ~@2 ab3@4 ~ [bb1,bb2,ab3,c4,d4]@11 ~@5, [bb1,bb2,ab3,c4,eb4]@11 ~@21", // Bb7 Ab
AK: "[g3,bb3,eb4]@4 ~ [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@4 ~ [f3,bb3,d4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Eb Bb Eb C G
AL: "[g3,bb3,c4,eb4]@11 ~@5 [ab3,bb3,c4,eb4]@11 ~@5, [ab1,ab2]@21 ~@11", // Cm7 Ab
AM: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [eb2,g3,bb3,c4,eb4]@4 ~ [f2,f3,a3,c4,eb4]@7 ~@4 [c2,c3,a3,c4,eb4]@4 ~, [bb1,bb2]@5 ~@27", // Cm7 F7 Adim Bb
AN: "[g3,bb3,eb4]@4 ~ [g3,bb3,eb4]@7 ~@4 [f3,bb3,d4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Eb Bb Eb C G
AO: "[g3,bb3,c4,eb4]@7 ~@4 [f3,ab3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@7 ~@4 [f3,ab3,c4,eb4]@4 ~, [ab1,ab2]@11 ~@5 [ab1,ab2]@11 ~@5", // Cm7 Fm7 Cm7 Fm7 Ab
AP: "[bb3,eb4,g4]@5 g3@4 ~@2 [g3,bb3,eb4,g4]@4 ~ [f3,bb3,d4,f4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Eb Bb Eb C G
AQ: "[g3,bb3,c4,eb4]@11 eb2@4 ~ [f2,f3,a3,c4,eb4]@7 ~@4 [a3,c4,eb4]@3 [b1,b2] ~, [bb1,bb2]@7 ~@20 [c2,c3]@2 ~@3", // Cm7 F7 Adim B Bb C
AR: "~@5 f3@4 ~@2 ab3@4 ~@6 f3@4 ~@2 ab3@4 ~, [bb1,bb2,ab3,c4,eb4]@11 ~@5 [bb1,bb2,ab3,c4,d4]@11 ~@5", // Ab Bb7
AS: "[c2,c3,bb3,eb4,g4]@11 ~@5 [g1,g2,f3,bb3,d4,f4]@11 ~@5", // Cm7 Gm7
AT: "~@5 f3@4 ~@2 ab3@4 ~ [bb1,bb2,ab3,c4,d4]@13 ~ c4 ~, [bb1,bb2,ab3,c4,eb4]@11 ~@21", // Bb7 Ab
})).s("gm_piano").gain(0.27).pan(0.1)
// bass · electric bass finger
const bass_2 = note(`<
~@6 A B C@2 A D E F E G H I J I J K L M N O L P N Q R S T S U V W V W V X L Y N O L Y N Z L Y N Q L Y N AA L Y N AB AC
AD N O ~
>`.pickRestart({
A: "db2@11 ~@5 ab1@11 ~@5", B: "db2@7 ~@4 db2@4 ~ ab1@11 ~@5", C: "[bb1@53 ~@11]/2",
D: "db2@7 ~@4 db2@4 ~ bb1@4 ~ bb1@2 ~@2 c2 ~ eb2@2 ~ c2 ~", E: "eb2@29 ~ eb3 ~",
F: "eb3@11 ~@5 ab1@4 ~ f1@2 ~@4 bb1@4 ~", G: "eb3@11 ~@5 bb2@7 ~@9", H: "ab2@11 ~@5 g2@11 ~@5", I: "f3@5 ~@11",
J: "ab3@5 ~@3 g3@5 ~@3", K: "db4@4 ~ c4@4 ~@2 bb3@4 ~ ab3@11 ~@5", L: "c3@11 ~@5 g2@11 ~@5",
M: "ab2@7 ~@7 eb3 ~ ab3@7 ~@9", N: "bb3@11 ~@5 f3@11 ~@5", O: "bb2@21 ~@11", P: "ab2@7 ~@7 eb3 ~ ab3@11 ~@5",
Q: "bb2@29 ~ bb2 ~", R: "bb2@11 ~@5 bb2@4 ~ bb2@2 ~@2 c3 ~ eb3@2 ~ c3 ~", S: "eb3@29 ~ eb4 ~",
T: "f4@11 ~@5 ab2@4 ~ f2@2 ~@4 bb2@4 ~", U: "eb4@11 ~@5 bb3@7 ~@9", V: "ab3@11 ~@5 g3@11 ~@5", W: "f3@11 ~@21",
X: "f2@11 ~@5 bb2@11 ~@5", Y: "ab2@13 ~ eb3 ~ ab3@11 ~@5", Z: "bb2@11 ~@5 bb2@7 ~@4 b2@2 ~@3",
AA: "bb2@13 ~ f3 ~ bb3@11 ~@5", AB: "bb2@30 bb2 ~", AC: "c3@5 ~@3 g2@5 ~@3", AD: "ab2@13 ~ ab2 ~ ab3@11 ~@5",
})).s("gm_electric_bass_finger").gain(0.27)
// drums · kick
const kick = s("bd").struct("<~@11 A B@3 C B@5 D B@9 ~@3 C B@9 C B C B C B@3 C B C B@3 C B C B C B@2 ~>".pickRestart({
A: "~@25 x ~@6", B: "x", C: "x ~@14 x", D: "x ~@7 x ~@6 x",
})).gain(0.41)
// drums · snare
const snare = s("sd").struct(`<
~@11 A B C B D B@5 E B@8 F A B A D B@5 F B@3 D B D B G B@3 G B D B@3 H B D B H B@2 ~
>`.pickRestart({
A: "~@21 x ~@8 x ~", B: "~ x", C: "~@16 x ~@4 x ~@5 x ~@4", D: "~@16 x ~@10 x ~@4", E: "~@11 x ~@15 x ~@4",
F: "~@8 x ~@6 x", G: "~@16 x ~@6 x ~ x ~ x ~@4", H: "~@16 x ~@8 x ~ x ~@4",
})).gain(0.41)
// drums · hihat
const hihat = s("hh").struct(`<
~@12 A B A C D@5 E D@8 F ~ B ~ C D@5 G D@3 C D C D H D@3 H D C D@2 A H D C D H D@2 ~
>`.pickRestart({
A: "~@5 x ~@3 x ~ x ~@2 x ~ x ~@4 x ~@3 x ~ x ~@2 x ~", B: "x ~@4 x ~@3 x ~ x ~@2 x ~@17",
C: "x ~@4 x ~@3 x ~ x ~@2 x ~ x ~@4 x ~@3 x ~ x ~@4", D: "x ~@4 x ~@3 x ~ x ~@2 x ~ x ~@4 x ~@3 x ~ x ~@2 x ~",
E: "x ~@4 x ~@3 x ~ x ~@4 x ~@4 x ~@3 x ~ x ~@4", F: "x ~@4 x ~@3 x ~ x ~@2 x ~ x ~@4 x ~@5 x ~@2 x ~",
G: "x ~@4 x ~@3 x ~ x ~@2 x ~ x ~@4 x ~@10", H: "x ~@4 x ~@3 x ~ x ~@2 x ~ x ~@15",
})).gain(0.41)
// drums · low tom
const low_tom = s("lt").struct("<~@11 A ~ A ~@16 B@2 C B ~@6 B ~@25>".pickRestart({
A: "~@27 x ~@4", B: "~@25 x ~@6", C: "x ~@26 x ~@4",
})).gain(0.41)
// … 24 more lines
More by Eagles
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.