0:00/0:00
// Rhythm of My Heart — Stewart Rod
// 94 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 99 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(94/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 · "FINGERDBAS"
const bass = note(`<
~@13 A B C D E B F G A B C D E B F G H I J K L M N O ~ A B C D E B F G@2 H I J K L M N O ~@6 P Q R S T U V W H I J K L
M N O H I J K L M N O ~@14
>`.pickRestart({
A: "db2@3 ~ db2 ~ db2@4 bb1@2 db2 ~@11", B: "bb1@3 ~ bb1 ~ bb1@4 ab1@2 bb1 ~@11",
C: "db2@3 ~ db2 ~ db2@3 ~ db2 ~ db2 ~@7 ab1@2 a1@2", D: "bb1@3 ~ bb1 ~ bb1@3 ~ bb1 ~ bb1@2 ~@10",
E: "db2@4 db2 ~ db2@4 bb1@2 db2 ~@7 ab1 ~ a1@2", F: "gb1@2 gb1 ~ gb1@2 gb1@3 ~ gb1@2 gb1 ~@11",
G: "ab1 ~ ab1 ~ ab1 ~ ab1@2 ab2@2 gb1@2 ab1 ~@3 ab1@2 ~@2 ab1 ~ bb1 ~, ~@8 gb2 ~@9 ab2@4 ~@2",
H: "db2@3 ~ db2@2 db2@2 ~@2 ab1 ~ db2@3 ~ db2@2 db2@2 ~@2 db2 ~",
I: "gb1@3 ~ gb1 ~ gb1@2 ~@2 db1 ~ gb1@3 ~ gb1 ~ gb1@2 ab1@2 bb1 ~",
J: "db2@3 ~ db2 ~ db2@3 ~ ab1@2 db2@2 ~@2 db2 ~ db2@2 gb1@2 g1@2",
K: "ab1@2 ~@2 ab1 ~ ab1@2 gb1@2 bb2@2 ~@4 ab1@2 db2 ~ ab1 ~ bb1@2, ~@6 ab2@5 ~",
L: "db2@3 ~ db2 ~ db2@2 ab1@2 bb1 ~ db2@2 ~@2 db2 ~ db2@2 ab1@2 bb1@2",
M: "gb1@2 ~@2 gb1 ~ gb1@3 ~ gb1 ~ gb1@2 ~@2 gb1 ~ gb1@2 ab1@2 bb1 ~",
N: "db2@3 ~ db2 ~ db2@4 ab1@2 db2@2 ~@2 db2 ~ db2@3 ~ gb1@2",
O: "ab1@2 ~@2 ab1 ~ ab1@3 ~ bb1 ~ db2@3 ~ db2 ~ db2@2 ab1@2 bb1 ~",
P: "gb1@2 ~@2 gb1 ~ gb1@2 ~@2 gb1 ~ f1@2 ~@2 f1 ~ f1@2 ~@2 f1@2",
Q: "eb1@2 ~@2 eb1 ~ eb1 ~@3 eb1@2 db1 ~@3 db1 ~ db1 ~@3 db1 ~",
R: "bb1@2 ~@2 bb1 ~ bb1@2 ~@2 bb1 ~ bb1@2 ~@2 bb1 ~ bb1@2 ab1 ~ bb1 ~",
S: "bb1 ~@3 bb1 ~ bb1@2 ~@2 bb1 ~ bb1@2 ab1@2 db2@2 bb1 ~ ab1@2 bb1 ~",
T: "gb1@3 ~ gb1 ~ gb1@2 ~@2 gb1 ~ f1@2 ~@2 f1 ~ f1@2 ~@2 f1 ~",
U: "eb1@3 ~ eb1 ~ eb1@2 ~@2 eb1@2 db1@2 ~@2 db1 ~ db1@2 ~@2 db1@2, ~@18 bb1 ~@5",
V: "eb1@2 ~@2 eb1 ~ eb1@2 ~@2 eb1 ~ eb1@2 ~@2 eb1 ~ eb1@2 ~@2 eb1 ~",
W: "ab1@2 ~@2 ab1 ~ ab1@2 ~@2 ab1 ~ ab1@2 gb1 ~ bb2 ~ ab2@2 f2@2 eb2 ~",
})).s("gm_electric_bass_finger").gain(0.5)
// chords · vibraphone
const vibraphone = note(`<
~@11 A B@2 C D E D E F G H C D E D E F I J K L M N O P Q ~ R@2 D E D E F G S T K L M N O P Q U V@4 W@2 ~@7 T K L M N O
P Q T K L M N O P Q X Y@3 ~@10
>`.pickRestart({
A: "[db4,db5,db6,f6]!2, db7@5 ~ db7@5 ~", // Db
B: "[[b4,b6]@2 [b4,eb5,eb7]@2 eb5@2 ~@2 [db6,ab6,ab7] ~@7, [b3,b5,gb6]@3 ~@2 [f4,f5]@3 ~@4, gb4@5 ~ [gb4,b4,gb5,gb6,b6,gb7]@5 [gb4,gb5,gb6,gb7]@5 ~@8, ~@6 [eb4,eb6]@17 ~ db4@24, ~@3 b6@2 ~ eb7@2 ~@2 [f6,f7]@5 ~@9]/2", // B Db5 B5 F B5 Gb Eb F
C: "bb3", D: "db4", E: "bb3@23 ~", F: "gb3", G: "ab3", H: "[db6,ab6,ab7] ~@7, db4",
I: "~@7 [f4,f6] [gb4,gb6] [ab4,ab6] [f4,f6] [gb4,gb6], ab3", J: "[db4,ab5,ab6] ~ ab6@2 ab6 ~ f6@5 ab6, bb6 ~@5",
K: "gb6@4 f6 ~ eb6@4 ~@2 bb5@8 ~@2 bb5@2", L: "ab5@4 db6 ~ db6@4 ~@2 f6@4 f6@4 eb6@2 db6@2", M: "eb6@10 f6 ab6",
N: "bb6@2 ab6@2 ~ bb6 f6@5 ab6", O: "gb6@4 f6@2 eb6@4 db6@2 bb5@9 ~ bb5@2", P: "ab5@2 ~@7 f6@3", Q: "eb6@12 db6@11 ~",
R: "[db4 bb3, db6@9 ~@7]/2", S: "[ab4,eb5,ab5] ~", T: "bb6@2 ab6@2 ab6 ~ f6@5 ab6",
U: "[db5,f5,db6]@11 ~ [db3,f3,db4,db5,f5]@12, ~@6 db6@5 ~", // Db
V: "[[b3,b5]@6 [b3,eb4,eb6]@6 [gb3,gb4,gb5,gb6]@8 [gb3,gb4,gb5]@2 gb6 ~ [db5,ab6]@11 ~ [db3,f3,db4,db5,f5]@12 [b3,b5]@6 [b3,eb4,eb6]@6 [gb3,eb4,gb4,gb5,b5,gb6]@6 [gb3,gb4]@6 [db5,ab6]@11 ~ [db3,f3,db4,db5,f5]@12, [b2,b4,gb5]@12 b3@36 gb3@6 b5@4 ~@2 eb6@4 ~@2 gb5@15 ~@3 db6@10 ~@2, ~@3 eb5@8 [gb3,gb4,gb5]@3 ~@10 [b2,b4,gb5]@6 b3@12 ~@6, ~@6 eb3@6 [eb4,eb6]@6 ~@2 bb6@39 ~@7 bb6@12 ~@18, ~@6 b5@4 ~@2 b5@11 ~ f5@7 ~@5 db6@10 ~@8 [eb3,eb5]@12 gb6 ~@5 f5@7 ~@17]/4", // B Gb Db5 Db B Gb Db5 Db …
W: "[[b3,b5]@6 [b3,eb4,eb6]@6 eb4@6 ~@4 [gb3,gb4,gb5]@11 ~@15, [b2,b4,gb5] b3@2 ~, gb3@3 b5@2 ~ [gb3,gb4,gb5,b5,gb6]@4 f4@6 ~@8, ~@6 eb5@14 [f5,f6]@2 gb6 ~@25, ~@3 eb3@3 eb6@2 ~@2 f3@8 ~@6]/2", // B Gb B5 F
X: "[db6,f6,db7]@11 ~ [db4,f4,db5,db6,f6]@12, ~@6 db7@5 ~", // Db
Y: "[[b4,b6]@4 [b4,eb5,b6,eb7]@4 [gb4,eb5,gb6,eb7]@4 [gb4,gb5]@2 gb4@2 ~@6 [db6,ab7]@11 ~@39, b3@8 b4@6 gb5 ~@5 gb6@36 ~@16, [gb4,b5,gb6]@2 b6@3 gb7@2 ~@11, ~@4 eb6@18 f6@7 ~@43, ~@4 eb4@4 [gb5,gb7] ~@3 [gb6,bb7]@5 ~ bb7@4 ~@50]/3", // B Ebm Gb Db5 B5 Gb
})).s("gm_vibraphone").gain(0.3).pan(0.7)
// chords · vibraphone · soft notes
const vibraphone_soft = note(`<
~@11 A ~@16 B C D E ~ F ~ G ~@11 C D E ~ F ~ G ~ H I H J H I ~@8 C D E ~ F ~ G ~ C D E ~ F ~ G ~ K L@2 ~@11
>`.pickRestart({
A: "ab6@11 ~ ab6@11 ~", B: "~@14 f5@3 ~ ab5@2 f5@3 ~", C: "~@5 bb6 ~@6", D: "~@10 db6@3 ~@11", E: "~@5 eb6 ~@6",
F: "~@4 ab6 ~@7", G: "~@4 db6 ~ db6@4 eb6@2 ~@4 ab6@2 ~@6", H: "ab5@11 ~ [ab3,ab5]@11 ~", I: "[bb3,bb5]@11 ~@13",
J: "bb3@5 ~@7, bb5 ~@23", K: "ab6@11 ~ [ab4,ab6]@11 ~", L: "[[bb4,bb6]@9 ~@13 ab6@11 ~@15]/2",
})).s("gm_vibraphone").gain(0.1).pan(0.7)
// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
~@9 A B@2 C D E F G H I J K D E F G H I J L M N O P Q R S T A D E F G H I J K U M N O P Q R V T B C B C B C W X Y@4 Z
AA M N O P Q R V T M N O P Q R V T B C ~@12
>`.pickRestart({
A: "[db3,ab3] ~ db3 ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ ab3 ~ ab3 ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~", // Db5
B: "[db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~ [db3,ab3] ~", // Db5
C: "[b2,gb3] ~ [b2,gb3] ~ [b2,gb3] ~ [b2,gb3] ~ [b2,gb3] ~ [b2,gb3] ~ [b2,gb3] ~ [b2,gb3] ~ [b2,gb3] ~ [b2,gb3] ~ [b2,gb3] ~ [b2,gb3] ~", // B5
D: "f4 ~ [db4,f4] ~ [db4,f4] ~ [db4,f4]@2 ab3 ~ bb3@2 db4 ~ db4 ~ db4 ~ db4 ~ ab3 ~ bb3 ~", // Db
E: "[db4,f4] ~ [db4,f4] ~ db4 ~ [db4,f4]@2 [ab3,bb3]@2 eb4 ~ db4 ~ db4 ~ [ab3,db4] ~ [db4,eb4,f4]@2 [ab3,eb4] ~ [bb3,db4] ~", // Db Absus2 Db5 Db Ab5 Bbm
F: "[db4,f4] ~ [db4,f4] ~ db4 ~ [db4,f4]@2 [ab3,bb3]@2 bb3@2 db4 ~ [ab3,db4] ~ [ab3,db4] ~ [ab3,db4] ~ [ab3,bb3] ~ bb3 ~", // Db Absus2 Db5 Absus2
G: "[db4,f4] ~ db4 ~ db4 ~ [db4,f4]@2 [ab3,bb3] ~ [db4,eb4] ~ db4 ~ db4 ~ [ab3,db4] ~ [eb4,f4]@2 eb4@2 db4 ~", // Db Absus2 Dbsus2 Db5 Ebsus2
H: "[db4,f4] ~ db4 ~ db4 ~ [db4,f4]@2 ab3 ~ bb3 ~ db4 ~ db4 ~@3 db4@2 ab3@2 bb3 ~", // Db
I: "db4 ~ db4 ~ db4 ~ db4 ~ [ab3,bb3] ~ eb4 ~ db4 ~ db4 ~ [ab3,db4] ~ db4 ~ [db4,f4]@2 [db4,eb4] ~, ~@9 eb4@2 ~", // Absus2 Db5 Db Dbsus2
J: "db4 ~ db4 ~ db4 ~ db4 ~ ab3 ~ bb3 ~ db4 ~ db4 ~ db4 ~ db4@2 ab3 ~ bb3 ~",
K: "db4 ~ db4 ~ db4 ~ db4 ~ ab3 ~ bb3 ~ [bb3,db4] ~ [bb3,db4] ~ [ab3,bb3] ~ [bb3,eb4,f4]@2 [ab3,eb4] ~ [bb3,db4,eb4] ~", // Bbm Absus2 Bbsus4 Ab5 Eb7
L: "db4 ~ db4 ~ db4 ~ db4 ~ ab3 ~ bb3 ~ bb3 ~@11", M: "~@2 db4 ~@3 db4 ~@5 db4 ~@3 db4 ~ db4@2 ab3 ~@3, [db2,db3]",
N: "db4 ~ db4 ~ db4 ~ db4@2 ~@4 db4 ~@3 db4 ~ db4 ~ bb3 ~ db4 ~, [gb2,db3]", // Gb5
O: "[db3,db4] ~@3 db4 ~ db4 ~ ab3 ~@3 db4 ~ db4 ~ db4 ~ db4@2 ab3 ~@3, db2", // Db
P: "eb4 ~@3 eb4 ~ eb4 ~ ab3 ~@3 db4 ~ ab2@2 bb2@2 [db3,db4]@2 [bb2,ab3]@2 [ab2,eb4]@2, ab2@13 ~ db4 ~ ab3 ~@7", // Db Bb7 Ab5
Q: "db4 ~@3 db4 ~ db4 ~@5 db4 ~@3 db4 ~ db4 ~ ab3 ~@3, [db2,db3]", // Db
R: "db4 ~@3 db4 ~ [db4,eb4]@2 bb3 ~ db4 ~ db4 ~ db4 ~ [db4,eb4] ~ db4@2 bb3 ~ eb4@2, [gb2,db3]", // Dbsus2 Gb5
S: "[db3,db4] ~ db4 ~ db4 ~ db4@2 ~@4 db4 ~ db4 ~@3 db4 ~ ab3 ~ db4 ~, db2@23 ~", // Db
T: "eb4@4 ab3 ~ eb4@2 ~@4 db4 ~@3 db4 ~ db4 ~@3 bb3 ~, ab2 [db2,db3]", // Db
U: "db4 ~ db4 ~ db4 ~ db4 ~ ab3 ~ bb3 ~ db4 ~@11",
V: "[db3,db4] ~ db4 ~ db4 ~ db4@2 ~@4 db4 ~ db4 ~ db4 ~ db4 ~ ab3 ~ db4 ~, db2@23 ~", W: "bb5 ab5", X: "gb5 f5",
Y: "[~@18 ab2 ~@19 f5@2 ab5@2 bb5 ~ ab5 ~@47 bb4@2 db5@2, db5@23 bb5@25, ~@11 bb2@13 ~@24]/4",
Z: "ab5@6 gb5@4 ~@2 eb5 ~@5 eb5@3 ~ db5 ~, ~@5 f5@4 ~@3", AA: "c5@6 ab4@4 ~@2 ab4@11 ~, ~@5 gb4@2 ~@5",
})).s("gm_electric_guitar_muted").gain(0.3).pan(0.2)
// chords · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note(`<
~@9 A ~@4 B ~@2 C ~@4 B ~@2 C ~@3 D E F G H I J K A ~ B ~@2 C ~@4 D E F G H I J K ~@14 D E F G H I J K D E F G H I J K
~@14
>`.pickRestart({
A: "~@2 ab3 ~@11 db3 ~ db3 ~@7", B: "~@10 bb3 ~@5 gb4 ~@7", C: "~@16 db4 ~@7",
D: "~@4 db4 ~@3 bb3 ~ eb4 ~@3 db4 ~@7 bb3 ~", E: "~@8 bb3@2 eb4 ~@3 db4 ~@9", F: "~@2 db4 ~@7 bb3 ~@11 db4 ~",
G: "~@2 eb4 ~@7 db4 ~@13", H: "~@2 db4 ~@5 ab3 ~ db4 ~@3 db4 ~@7 bb3 ~", I: "~@2 db4 ~@21", J: "~@8 ab3 ~ bb3 ~@13",
K: "~@2 db4 ~@5 ab3 ~ db4 ~@3 db4 ~@5 ab3 ~@3",
})).s("gm_electric_guitar_muted").gain(0.1).pan(0.2)
// other · brass section · "BRASS"
const brass_section = note("<~@9 A B C D ~@24 A ~@17 C D C D C D ~@24 E F ~@12>".pickRestart({
A: "[db5,ab5,db6]@23 ~", B: "[db5,ab5,db6]", C: "~@6 db5@5 ~", D: "b4@11 ~ b4@11 ~", E: "~@6 db4@5 ~",
F: "b3@11 ~ b3@11 ~",
})).s("gm_brass_section").gain(0.4).pan(0.9)
// chords · bandoneon · "BANDNEON"
const bandoneon = note(`<
A B C D E F G H I ~@20 J@4 K@2 L M N ~@9 J@4 K@2 L M ~@14 J@4 K@2 L M J@4 K@2 L M ~@2 B C D E F G H I ~@4
>`.pickRestart({
A: "~@20 f5@2 ab5 ~", B: "bb5@4 ab5@5 ~ f4@10 ~@4, ~@3 f5@5", C: "eb5@2 f5 eb5@2 [gb4,db5]@7",
D: "bb5@4 ab5@5 ~@11 eb5@2 db5@2, [ab3,f4]@3 f5@4 ~, ~@10 [ab3,f4]@13 ~", E: "eb5@10 f5 ab5, c4 ~",
F: "bb5@3 ab5@6 ~@3 f5@10 ab5@2, f4@17 ~@7", G: "gb5@4 f5 ~@5 db5@2 db5@10 ~@2",
H: "db5@9 eb5@2 ~ f5@4 ab5@2 gb5@3 f5@3", I: "eb5 [f3,ab3,db4,db5], ab3@5 ~@7",
J: "[bb5@4 ab5@2 ab5@4 ~@2 f5@8 ~@4 eb5@4 ~@2 eb5@4 db5@2 ~@12 bb5@4 ab5@2 ab5@4 f5@2 f5@4 eb5@2 eb5@4 ~@2 [ab4,eb5]@23 ~, ~@10 bb5@5 ~@5 eb5@4 ~@4 f5@5 ~@11 f5@5 ~@21 db5@5 ~@21, ~@22 db5@5 ~@9 db5@10 ab5@5 ~@45]/4", // Ab5
K: "[bb5@4 ab5@2 ab5@4 ~@2 f5@7 ~@5 gb5@4 ~@2 eb5@4 db5@2 ~@8 ab4@2 ab4@2, ~@10 bb5@5 ~@5 f5@5 ~@3 f5@5 ~@3 [gb4,db5]@12, ~@22 ab5@5 ~@21]/2", // Gb5
L: "ab4@4 db5@2 db5@4 ~@2 f5@4 f5@2 f5@5 ~, ~@10 eb5@5 ~ ab5@5 ~@3", M: "[ab4,eb5]@12 db5@11 ~",
N: "[db4,ab4,db5]@11 ~", // Db5
})).s("gm_bandoneon").gain(0.41).pan(0.2)
// chords · bandoneon · "BANDNEON" · soft notes
const bandoneon_soft = note("<~ A B C D E F G H ~@78 A B C D E F G H ~@4>".pickRestart({
A: "[ab3,db4,f4]@10 [ab3,db4]@13 ~", B: "[bb3,db4,gb4]@10 [bb3,db4]@13 ~", C: "db4@10 db4@13 ~",
D: "[ab3,eb4]@4 [ab3,c4,eb4]@3 ~", E: "~@5 bb5 ~@6, [ab3,db4,ab4]@11 ~",
F: "~@3 eb5@2 bb4@6 bb4, [bb3,db4,gb4,bb4]@5 [bb3,db4,gb4]@7", G: "[ab3,db4,f4]@23 ~, ab4@2 ~", H: "eb4 ~, c4@5 ~@7",
})).s("gm_bandoneon").gain(0.2).pan(0.2)
// drums · kick
const kick = s("bd").struct("<~@9 [x!4]!78 ~@12>").gain(0.5)
// drums · snare
const snare = s("sd").struct("<~@9 [x!2]!4 ~@16 [x!2]!9 ~@9 [x!2]!40 ~@12>").gain(0.5)
// drums · hihat
const hihat = s("hh").struct("<~@9 A@11 B A@3 B A@3 B A@8 B A@7 B@2 A@40 ~@12>".pickRestart({
A: "x!4", B: "x ~@2 x ~@2 x ~@2 x ~ x",
})).gain(0.45)
// drums · low tom
const low_tom = s("lt").struct(`<
~@9 A@4 ~ B ~ B ~ B ~ B ~ B ~ B ~ B@2 C A@7 D@2 ~ B ~ B ~ B ~ E C A@7 D A@5 F A@7 G A@7 G A@7 H I J ~@12
>`.pickRestart({
A: "x ~@2 x", B: "~@3 x", C: "~@3 x ~@3 x!5", D: "x ~@5 x!4 ~@2", E: "~ x ~ x", F: "x ~@6 x!5", G: "x ~@5 x!6",
H: "x ~@8 x!3", I: "x ~@4 x!2 ~@2 x ~ x", J: "x ~@2 x!9",
})).gain(0.5)
// drums · mid tom
const mid_tom = s("mt").struct(`<
~@12 A ~@3 A ~@7 A ~@7 A ~@3 A@2 ~@3 A ~@8 A ~@3 A ~@3 A ~@5 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@14
>`.pickRestart({
A: "~@3 x",
})).gain(0.5)
// drums · high tom
const high_tom = s("ht").struct("<~@9 A@4 ~@16 B@9 ~@9 B@8 A@6 B@24 A@2 ~@12>".pickRestart({
A: "x!2 ~ x", B: "~ x ~ x",
})).gain(0.5)
// drums · crash
const crash = s("cr").struct(`<
~@9 A B ~ C ~@16 A B ~ D A B ~ D@2 ~@9 A B ~ D A B ~ D A B ~ D A B A B ~ D A B ~ D A B ~ D A B ~ D A B ~ D A B ~ D A B
A B ~ E ~@8
>`.pickRestart({
A: "x", B: "~@3 x", C: "~@11 x", D: "~@8 x!2 ~@2", E: "~@2 x",
})).gain(0.45)
// drums · tambourine
const tambourine = s("tb").struct("<~@8 [~@11 x] [x!12]!78 ~@12>").gain(0.35)
stack(
bass, vibraphone, vibraphone_soft, electric_guitar_muted, electric_guitar_muted_2, brass_section, bandoneon,
bandoneon_soft, kick, snare, hihat, low_tom, mid_tom, high_tom, crash, tambourine
)
More by Rod Stewart
Maggie May1971 · D major · 130 bpmSailingB major · 130 bpmTwistin The Night Away (From "Innerspace")1987 · D major · 136 bpmIt Takes TwoB♭ major · 122 bpmDa Ya Think I'm SexyD minor · 114 bpmSome Guys Have All the LuckD major · 118 bpmTonight's the NightB major · 91 bpmAs Time Goes ByF major · 84 bpm
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.