0:00/0:00
// Fire — The Pointer Sisters
// 116 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 111 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(116/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 · percussive organ
const percussive_organ = note(`<
~@23 A@4 B@4 C@2 D@2 E@2 F@2 G H I@4 J K L M N O P Q@3 ~ R S T S U V W S X V Y@5 Z AA@8 AB@7 S@5 AC ~@6 AD@7 R AE@4
>`.pickRestart({
A: "[[db5,f5]@2 [bb4,eb5] [db5,f5]@3 [bb4,eb5] [db5,f5]@3 [bb4,eb5] [db5,f5]@3 [bb4,eb5] [db5,f5]]/4", // Db Eb5 Db Eb5 Db Eb5 Db Eb5 …
B: "[[db5,f5] ~@7 [bb4,eb5]@4 [db5,f5]@12 [bb4,eb5]@4 gb5@4 f5@8 [bb4,eb5]@4 [db5,f5]@12 [bb4,eb5]@4 [db5,f5]@4, ~@7 db5@3 ~@6]/4", // Db Eb5 Db Eb5 Db Eb5 Db
C: "[[eb5,gb5]@2 [db5,f5] [eb5,gb5]@3 [db5,f5] [eb5,gb5]]/2", // Ebm Db Ebm Db Ebm
D: "[[db5,f5]@2 [bb4,eb5] [db5,f5]@3 [bb4,eb5] [db5,f5]]/2", // Db Eb5 Db Eb5 Db
E: "[[eb5,gb5]@2 [db5,f5] [eb5,gb5]@3 [db5,f5] [eb5,gb5], f5 ~@27 f5 ~@3]/2", // Ebm Db Ebm Db Ebm
F: "[~@16 e5 ~@7 bb5@8, [bb4,db5], ~ f5]/2", G: "[gb4,bb4,db5]", H: "[ab4,c5,eb5]@3 ~, [bb4,db5] ~@15",
I: "[[db5,f5]@8 [bb4,eb5]@4 [db5,f5]@12 [bb4,eb5]@4 [db5,f5]@12 [bb4,eb5]@4 [db5,f5]@12 [bb4,eb5]@4 [db5,f5]@3 ~]/4", // Db Eb5 Db Eb5 Db Eb5 Db Eb5 …
J: "a5 bb5@15, [gb5,db6]", K: "[f5,ab5,db6]@15 ~", L: "[eb5,gb5,c6]",
M: "[f5,ab5,db6]@9 ~ [f5,b5,db6] ~ [f5,ab5,b5,db6] ~ [f5,ab5,b5] ~, g5 ~@9 ab5@2 ~@2 db6@2", // Db Db7 Fdim
N: "[gb5,bb5,db6], a5 ~@15", O: "[f5,ab5,db6]", P: "[db5,g5,bb5]",
Q: "[[c5,ab5]@8 [bb4,gb5]@10 [ab4,f5]@4 [g4,e5]@3 [gb4,eb5]@22 ~, g5 ~@47]/3", R: "~ [db5,f5]",
S: "[bb4,eb5] [db5,f5]@3", T: "[bb4,eb5] gb5 f5@2, ~ db5@3", U: "[bb4,eb5] [db5,f5] [eb5,gb5]@2",
V: "[db5,f5] [eb5,gb5]@3", W: "[db5,f5] [eb5,gb5] [db5,f5]@2", X: "[bb4,eb5] [db5,f5] [eb5,gb5]@2, ~@8 f5 ~@7",
Y: "[[db5,f5]@4 [eb5,gb5]@4 ~@16 e5 ~@7 bb5@8 [gb4,bb4,db5]@16 [ab4,c5,eb5]@12 ~@12, ~@4 f5 ~@3 [bb4,db5]@32 ~@16 bb4 ~@23, ~@3 f5@2 ~@5]/5", // Db Ebm Gb Ab Bbm
Z: "~@5 f5 ab5 bb5, ~@10 e5 ~@5",
AA: "[[eb5,e5] ~ db5 ~ db5@2 bb4@2 db5@25 db5 f5@2 e5 [db5,eb5,e5] bb4@2 db5@25 ~ [db5,f5,ab5]!6 [eb5,gb5]@18 e5!2 ~@8 [eb5,e5] db5 bb4@2 db5@24, ~@33 eb5@2 ~@55 f5@9 ~@29, ~@34 e5 ~@37 bb5@28 ~@28]/8", // Emaj7 Dbm Db Ebm Emaj7
AB: "[~@2 [db5,f5,ab5]!3 ~ [db5,f5,ab5] ~ [eb5,gb5]@18 e5 f5@5 e5 f5@3 f5@3 ~ eb5@2 db5 ~ db5@12 bb4@2 db5 ~ db5@4 eb5@2 db5@2 bb4@2 db5@2 [gb4,bb4,db5]@16 [ab4,c5,eb5]@13 ~@3 [db5,f5]@8, ~@8 bb5@59 ~@45, ~@33 e5 ~@2 e5 ~@3 e5 ~@23 d5 ~@7 a4 ~@15 bb4 ~@23]/7", // Db Ebm Gb Ab Db
AC: "[bb4,eb5] [db5,f5] ~@2", // Eb5 Db
AD: "[~@4 [db4,eb4] [f4,gb4,ab4] [gb4,ab4,bb4,c5,db5] [eb5,f5,gb5,ab5] [ab5,bb5,c6,db6,eb6] f6@27 [eb6,e6] db6 bb5@2 db6@26 f6@2 [eb6,e6] [db6,e6] bb5@2 db6@29 ~@11]/7", // Dbsus2 Fm Gb Fm7 Ab Emaj7 Dbm
AE: "[[bb4,eb5]@4 f5@10 ~@2 [gb5,bb5]@15 ~ [f5,ab5]@17 ~@15, ~@4 db5@45 ~@15, ~@32 e5 ~@31]/4", // Eb5 Gb Fm
})).s("gm_percussive_organ").gain(0.36)
// bass · acoustic bass
const bass = note(`<
~ A B A B A B A ~ A C D E F G A B F H I J K L M B N O A B A B F G P B F Q R S T L A U A V W X Y X W X Z AA@3 ~ AB AC
AD AE AF AG AH AE AF AG AI AJ AK AL AM AN AD AE AO AE AP AG AQ AE AR AG AS AT AU AV AW AN AX AN AY AE AZ AB AE BA AE
BB AZ BC AN AD AE AD AE AZ AB BD BE BF ~
>`.pickRestart({
A: "db3@2 ~@4 db3@2 bb2 ~ bb2@2 db3@2 ~@2", B: "~@2 db3@2 ~@2 db3@2 bb2 ~ bb2@2 db3@2 ~@2",
C: "~@2 db3 ~@3 db3@2 bb2@2 bb2@2 db3@2 ~@2", D: "db3 ~@5 db3@2 bb2 ~ bb2@2 db3@2 ~@2",
E: "~@2 db3 ~@3 db3@2 bb2 ~ bb2@2 db3@2 ~@2", F: "eb3@2 ~@4 eb3@2 bb2 ~ bb2@2 eb3@2 ~@2",
G: "~@2 eb3@2 ~@2 eb3@2 bb2 ~ bb2@2 eb3@2 ~@2", H: "~@2 eb3@2 ~@2 eb3 ~ bb2 ~ bb2@2 eb3@4",
I: "bb2@3 ~@3 bb2@2 f2 ~ f2@2 bb2@2 ~@2", J: "~@2 bb2@2 ~@2 bb2@2 f2 ~ f2@2 bb2@4", K: "gb2@5 ~ gb2 ~ gb2@7 ~",
L: "ab2@5 ~ ab2 ~ ab2@4 ~@4", M: "db3@3 ~@3 db3@2 bb2 ~ bb2@2 db3@2 ~@2", N: "db3 ~@2 db3 bb2!2 db3 ~",
O: "~@2 db3@2 ~@2 db3@2 bb2 ~ bb2@2 db3 ~@3", P: "db3@2 ~@4 db3@2 bb2@2 bb2 ~ db3@2 ~@2",
Q: "~@2 eb3@2 ~@2 eb3@2 bb2 ~ bb2@2 eb3@4", R: "bb2@2 ~@4 bb2@2 f2 ~ f2@2 bb2@2 ~@2",
S: "~@2 bb2@2 ~@2 bb2@2 f2 ~ f2@2 bb2@2 f2@2", T: "gb2@4 ~@2 gb2 ~ gb2@6 ~@2", U: "~ db3 ~ db3 bb2!2 db3 ~",
V: "~@2 db3@2 ~@2 db3 ~ bb2 ~ bb2@2 db3@4", W: "gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~",
X: "db3 ~ db3 ~ db3 ~ db3 ~ db3 ~ db3 ~ db3 ~ db3 ~", Y: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~",
Z: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3@2", AA: "[ab2@17 ~@7]/3", AB: "~@4 db3 ~@2 db3",
AC: "bb2!2 db3 ~@2 db3 ~ db3", AD: "bb2 ~ bb2@2 db3@2 ~@2 db3@2 ~@4 db3@2",
AE: "bb2 ~ bb2@2 db3@2 ~@4 db3@2 ~@2 db3@2", AF: "bb2 ~ bb2@2 db3@2 ~@2 eb3@2 ~@4 eb3@2",
AG: "bb2 ~ bb2@2 eb3@2 ~@4 eb3@2 ~@2 eb3@2", AH: "bb2 ~ bb2@2 eb3@2 ~@2 db3@2 ~@4 db3@2",
AI: "bb2 ~ bb2@2 eb3@2 bb2@5 ~@3 bb2@2", AJ: "f2 ~ f2@2 bb2@2 ~@4 bb2@2 ~@2 bb2 ~",
AK: "f2 ~ f2@2 bb2@2 f2 ~ gb2@5 ~ gb2 ~", AL: "gb2@5 ~ gb2 ~ ab2@5 ~ ab2 ~", AM: "ab2@4 ~@4 db3@3 ~@3 db3@2",
AN: "bb2 ~ bb2 ~ db3@2 ~@4 db3@2 ~@2 db3@2", AO: "bb2 ~ bb2 ~ db3@2 ~@2 db3@2 ~@4 db3@2",
AP: "bb2 ~ bb2 ~ db3@2 ~@2 eb3@2 ~@4 eb3@2", AQ: "bb2 ~ bb2@2 eb3@2 bb2 ~ db3@2 ~@4 db3@2",
AR: "bb2 ~ bb2 ~ db3 ~ db3 ~ eb3@4 ~@2 eb3@2", AS: "bb2 ~ bb2@2 eb3@4 bb2@4 ~@2 bb2@2",
AT: "f2 ~ f2@2 bb2@2 ~@4 bb2@2 ~@2 bb2@2", AU: "f2 ~ f2@2 bb2@2 f2@2 gb2@5 ~ gb2 ~",
AV: "gb2@5 ~ gb2 ~ ab2@4 ~@2 ab2 ~", AW: "ab2@5 ~@3 db3@3 ~@3 db3@2", AX: "bb2 ~ bb2@2 db3@2 ~@2 db3@4 ~@2 db3@2",
AY: "bb2 ~ bb2@2 db3 ~@3 db3@4 ~@2 db3@2", AZ: "bb2 ~ bb2@2 db3@2 ~@10", BA: "bb2 ~ bb2@2 db3@2 ~@2 db3 ~@5 db3@2",
BB: "[bb2,db3] ~ bb2@2 db3@2 ~@2 db3@2 ~@4 db3@2", BC: "~@8 db3@3 ~@3 db3@2",
BD: "bb2 ~ bb2@2 db3 ~@5 ab2@2 bb2@2 db3@2", BE: "bb3@2 ab3@2 f3@2 ~ eb3@3 db3@2 ab2@3 ~", BF: "db3",
})).s("gm_acoustic_bass").gain(0.46)
// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
~ A B A C D E@2 ~ F B F G@2 H F I@5 J K L M N O F B P G@2 H F Q R S@3 J K N M N M T U@5 V@5 W X Y X Z@2 AA X AB@2 AC
AD AE@2 AF AG AH AI AJ AI AK AL AM AN AK AL AC AO AP@3 AQ@2 AN AJ AI AR W AS AT X AU AV AW AX AJ AN AJ AI AY W AZ BA
BB ~
>`.pickRestart({
A: "[db3,ab3,db4]@2 ~@4 [db3,ab3,db4]@2 bb2 ~ bb2@2 [db3,ab3,db4] ~@3", // Db5
B: "~@2 [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2 bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2", // Db5
C: "~@2 [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2 bb2 ~ bb2@2 [db3,ab3,db4]@2 ab2 db3", // Db5
D: "[ab3,db4] ~@5 [db3,ab3,db4] ~ bb2 ~ bb2@2 [db3,ab3,db4] ~@3, f4 ~, db3 ~@7", // Db5
E: "[~@2 [db3,ab3,db4] ~@3 [db3,ab3,db4]@2 bb2 ~ bb2@2 [db3,ab3,db4] ~@3 [db3,ab3,db4] ~@5 db3@2 bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2, ~@15 ab2@2 ~@5 ab3@6 ~@4, ~@16 f4@11 ~@5, ~@22 db4 ~@9]/2", // Db5
F: "[db3,ab3,db4]@2 ~@4 [db3,ab3,db4]@2 bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2", // Db5
G: "[~@2 [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2 bb2 ~ bb2@2 [db3,ab3,db4]@2 ~ bb3 [eb3,eb4]@2 ~@4 [eb3,bb3,eb4]@2 bb2 ~ bb2@2 [eb3,bb3,eb4]@2 ~@2, ~@15 db4@17, ~ [gb4,bb4], ~@16 bb3 ~@15]/2", // Db5 Eb Eb5 Gb
H: "~@2 [eb3,bb3,eb4]@2 ~@2 [eb3,bb3,eb4]@2 bb2 ~ bb2@2 [eb3,bb3,eb4]@2 ~@2", // Eb5
I: "[~@2 [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2 bb2 ~ bb2@2 [db3,ab3,db4]@2 ~ bb3 [eb3,eb4]@2 ~@4 [eb3,bb3,eb4]@2 bb2 ~ bb2@2 [eb3,bb3,eb4]@2 ~@4 [eb3,bb3,eb4]@2 ~@2 [eb3,bb3,eb4]@2 bb2 ~ bb2@2 [eb3,bb3,eb4] ~@3 [f3,bb3,db4,f4,bb4]@8 [a3,bb3,db4]@2 ab3@2 a3!2 ~@4 ab3 ~@3 ab3@2 [a3,bb3,db4]@2 ab3@2 [bb3,db4]@4, ~@15 db4@24 ~@21 [bb3,db4]@6 ~@14, ~@2 [gb4,bb4]@3 ~@5, ~@16 bb3 ~@30 bb2@8 ~@25]/5", // Db5 Eb Eb5 Bbm A Bbm Gb
J: "[gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~, [bb3,db4,gb4]@15 ~", // Gb5 Gb
K: "[ab2,eb3] ~ [ab2,eb3] ~ [ab2,eb3] ~ [ab2,eb3] ~ [ab2,eb3] ~ [ab2,eb3] ~ [ab2,eb3,c4,eb4,ab4]@2 ~@2, [c4,eb4,ab4]@11 ~@5", // Ab5 Ab
L: "[db3,ab3,db4] ~ [ab3,db4,f4] [ab3,db4] bb2!2 [db3,ab3,db4] ~, ~@6 db3 ~@9", // Db5 Db Db5
M: "[ab3,db4,f4] ~ [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2 bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2", // Db Db5
N: "[db3,ab3,db4]@2 ~@2 [ab3,db4,f4]@2 [db3,ab3,db4]@2 bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2", // Db5 Db Db5
O: "[ab3,db4,f4] ~ [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2 bb2@2 bb2@2 [db3,ab3,db4]@2 ~@2", // Db Db5
P: "[db3,ab3,db4] ~@2 [db3,ab3,db4] bb2!2 [db3,ab3,db4] ~", // Db5
Q: "~@2 [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2 bb2 ~ bb2@2 [db3,ab3,db4]@2 ~ bb3", // Db5
R: "[eb3,eb4]@2 ~@4 [eb3,bb3,eb4]@2 bb2 ~ bb2@2 [eb3,bb3,eb4]@2 ~@2, [db4,gb4,bb4], bb3 ~@15", // Eb Eb5 Gb
S: "[~@2 [eb3,bb3,eb4]@2 ~@2 [eb3,bb3,eb4]@2 bb2 ~ bb2@2 [eb3,bb3,eb4] ~@3 [db4,f4,bb4]@8 [a3,bb3,db4]@2 ab3@2 a3!2 ~@4 ab3 ~@7 [bb3,db4]@2 ab3 ~@3, ~@15 [bb2,f3,bb3]@8 ~@5 [bb3,db4]@6 ~@14]/3", // Eb5 Bbm A Bbm Bb5 Bbm
T: "[gb2,db3,gb3,bb3,db4,gb4]@15 ~", // Gb
U: "[[db3,ab3,db4,f4]@13 ~@3 [ab3,c4,eb4,ab4]@12 ~@4 [ab3,db4,f4]@7 ~ [ab3,b3,f4]@5 ~@3 [bb3,db4,gb4]@14 ~@2 [ab3,db4,f4]@11 ~@5, ~@15 [ab2,eb3]@13 ~@3 db3@14 ~@2 [gb2,db3,gb3]@14 ~@2 db3@12 ~@5]/5", // Db Ab Db Fdim Gb Db Ab5 Gb5
V: "[eb3@4 [g3,db4,eb4] ~@5 [g3,db4,eb4]@2 ~@4 [gb3,c4,gb4]@59 ~@5, ~@15 eb3@59 ~@6]/5", // Eb7 Gbdim
W: "~@4 [db3,ab3,db4] ~@2 [db3,ab3,db4]", X: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@4 [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2",
Y: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2 ~@4 [db3,ab3,db4]@2", // Db5
Z: "[bb2 ~ bb2@2 [db3,ab3,db4]@2 ~ bb3 [eb3,eb4]@2 ~@4 [eb3,bb3,eb4]@2 bb2 ~ bb2@2 [eb3,bb3,eb4]@2 ~@4 [eb3,bb3,eb4]@2 ~@2 [eb3,bb3,eb4]@2, ~@4 [db4,gb4,bb4]@11 ~, ~@8 bb3 ~@23]/2", // Db5 Eb Eb5 Gb
AA: "bb2 ~ bb2@2 [eb3,bb3,eb4]@2 ~@2 [db3,ab3,db4]@2 ~@4 [db3,ab3,db4]@2", // Eb5 Db5
AB: "[bb2 ~ bb2@2 [db3,ab3,db4]@2 ~ bb3 [eb3,eb4]@2 ~@4 [eb3,bb3,eb4]@2 bb2 ~ bb2@2 [eb3,bb3,eb4]@2 ~@4 [eb3,bb3,eb4]@2 ~@2 [eb3,bb3,eb4]@2, ~@7 db4@20 ~@5, ~@2 [gb4,bb4]@5 ~, ~@8 bb3 ~@23]/2", // Db5 Eb Eb5 Gb
AC: "bb2 ~ bb2@2 [eb3,bb3,eb4] ~@3 [db4,f4,bb4]@8, ~@7 [bb2,f3,bb3]@8 ~", // Eb5 Bbm Bb5
AD: "[a3,bb3,db4]@2 ab3@2 a3!2 ~@4 ab3 ~@3 ab3@2, ~@2 [bb3,db4]@3 ~@3", // A Bbm
AE: "[~@2 ab3@2 [bb3,db4]@3 ~ [gb2,db3,gb3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [ab2,eb3,ab3] ~ [ab2,eb3,ab3] ~ [ab2,eb3,ab3] ~ [ab2,eb3,ab3,c4,eb4,ab4] ~, [a3,db4]@2 ~@6 [bb3,db4,gb4]@15 ~ [c4,eb4,ab4]@5 ~@3, ~ [ab3,bb3]@2 ~@29]/2", // Bbm Gb5 Ab5 Ab A Gb Ab Absus2
AF: "[ab2,eb3,ab3,c4,eb4,ab4] ~ [ab2,eb3,ab3,c4,eb4,ab4] ~ [ab2,eb3,ab3,c4,eb4,ab4]@2 ~@2 [db3,ab3,db4]@2 ~@2 [ab3,db4,f4]@2 [ab3,db4]@2, ~@14 db3 ~", // Ab Db5 Db Db5
AG: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2 [ab3,db4,f4]@2 [db3,ab3,db4] ~@3 [db3,ab3,db4]@2", // Db5 Db Db5
AH: "bb2!2 [db3,ab3,db4] ~ [db3,ab3,db4] ~ [ab3,db4,f4] [db3,ab3,db4]", // Db5 Db Db5
AI: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2 [ab3,db4,f4] ~ [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2", // Db5 Db Db5
AJ: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2 ~@2 [ab3,db4,f4]@2 [db3,ab3,db4]@2", // Db5 Db Db5
AK: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2 [eb3,bb3,eb4]@2 ~@4 [eb3,bb3,eb4]@2", // Db5 Eb5
AL: "bb2 ~ bb2@2 [eb3,bb3,eb4]@2 ~@4 [eb3,bb3,eb4]@2 ~@2 [eb3,bb3,eb4]@2", // Eb5
AM: "bb2 ~ bb2@2 [eb3,bb3,eb4]@2 ~@2 [db3,ab3,db4]@2 ~@2 [ab3,db4,f4]@2 [db3,ab3,db4]@2", // Eb5 Db5 Db Db5
AN: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2 [ab3,db4,f4]@2 [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2", // Db5 Db Db5
AO: "[a3,bb3,db4]@2 ab3@2 [bb3,db4]@6 ab3 ~@5", // A Bbm
AP: "[~@3 a3 ab3@2 ~@2 [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [gb2,db3] ~ [ab2,eb3] ~ [ab2,eb3] ~ [ab2,eb3] ~ [ab2,eb3] ~ [ab2,eb3] ~ [ab2,eb3] ~ [ab2,eb3]@2 ~@2 [db3,ab3,db4]@2 ~@2 [ab3,db4,f4]@2 [db3,db4]@2, ~@2 [a3,bb3,db4]@2 ~@4 [bb3,db4,gb4]@15 ~ [c4,eb4,ab4]@14 ~@8 ab3 ~]/3", // Gb5 Ab5 Db5 Db A Gb Ab
AQ: "[bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2 [ab3,db4,f4] ~ [db3,ab3,db4]@2 ~@2 db3@2 bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@2 [db3,ab3,db4]@2 ~@2 [ab3,db4,f4]@2 [db3,ab3,db4]@2, ~@7 [ab3,db4]@2 ~@7]/2", // Db5 Db Db5 Db Db5
AR: "bb2!2 [db3,ab3,db4] ~@5", AS: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@4 [db3,ab3,db4]@2 ~@2 [ab3,db4]@2, ~@14 db3 ~",
AT: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ab2 [db3,ab3] db4@6 [db3,ab3,db4] ~, ~ f4, ~@4 db3 ~@3, ~@8 ab3 ~@7", // Db5
AU: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ab2 db3 [ab3,db4] ~@5 [db3,ab3,db4] ~, ~ f4, ~@4 db3 ~@3", // Db5
AV: "bb2 ~ bb2@2 [db3,ab3,db4] ~@11", AW: "~@4 [db3,ab3,db4] ~ [ab3,db4,f4] [db3,ab3,db4]",
AX: "bb2 ~ bb2@2 [db3,ab3,db4] ~@3 [ab3,db4,f4] ~ [db3,ab3,db4] ~@3 [db3,ab3,db4]@2", // Db5 Db Db5
AY: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@10", AZ: "bb2 ~ bb2@2 [db3,ab3,db4]@2 ~@4 ab2@2 bb2@2 db3@2",
BA: "bb3 ~ ab3@2 f3@2 ~ eb3@3 db3@2 ab2@3 ~, [gb3,gb4], db4@7 ~", BB: "db3 [ab3,db4,f4]@15",
})).s("gm_electric_guitar_jazz").gain(0.22).pan(0.6)
// chords · piano
const piano = note(`<
~@27 A B C D E F A G@2 H@2 I J K L M N O P Q R S T U V W@4 X Y Z AA AB AC AD Y AE AF AG@2 AH AI AJ AK AL AM AN AM AO
AP AQ AK AR AS AT@2 AU AV AW AX AY@3 AX AZ ~@2 BA ~@2 BB BC BD BE BF BE BG BH BI AZ BJ@2 ~
>`.pickRestart({
A: "[db4,ab4,db5,f5]@2 ~@4 [ab4,db5,f5] ~ [gb4,bb4,eb5] ~ [gb4,bb4,eb5] ~ [db4,ab4,db5,f5]@2 ~@2, ~@3 db4 bb3@2 ~@2", // Db Ebm Db
B: "~@2 [db4,ab4,db5,f5]@2 ~@2 [ab4,db5,f5] ~ [bb3,gb4,bb4,eb5]@2 db4@2 [bb4,db5,gb5]@4, ~@3 db4 ~@4", // Db Ebm Gb
C: "[db4,ab4,db5,f5]@2 ~@4 [db4,ab4]@2 [gb4,bb4] ~ [gb4,bb4,eb5] ~ [db4,ab4,db5,f5]@2 ~@2, ~@6 [db5,f5] ~ bb3@4 ~@4, ~@4 eb5 ~@3", // Db Db5 Gb Ebm Db
D: "~@2 [db4,ab4,db5,f5]@2 ~@2 [ab4,db5,f5] ~ [gb4,bb4,eb5] ~ [gb4,bb4,eb5] ~ [db4,ab4,db5,f5]@2 ~@2, ~@3 db4 bb3@2 ~@2", // Db Ebm Db
E: "[eb4,bb4,db5,gb5]@2 ~@4 [eb4,gb5]@2 [ab4,db5,f5] ~ [ab4,db5] ~ [eb4,bb4,db5,gb5]@2 ~@2, ~@6 [bb4,db5] ~ bb3@4 ~@4, ~@5 f5 ~@2", // Ebm7 Ebm Db Db5 Ebm7 Bbm
F: "~@2 [eb4,bb4,db5,gb5]@2 ~@2 [eb4,gb5]@2 [ab4,db5] ~ [ab4,db5] ~ [eb4,bb4]@2 ~@2, ~@6 [bb4,db5] ~ bb3@4 ~@4, ~@8 f5@2 f5@2 [db5,gb5] ~@3", // Ebm7 Ebm Db5 Eb5 Bbm Gb5
G: "[~@2 [db4,ab4,db5,f5]@2 ~@2 [ab4,db5,f5] ~ [gb4,bb4,eb5] ~ [gb4,bb4,eb5] ~ [db4,ab4,db5,f5]@2 ~@2 [bb4,db5,gb5]@6 [eb4,gb5]@2 [db5,f5] ~ [db5,f5]@2 [eb4,bb4,db5,gb5]@2 ~@2, ~@6 db4@2 bb3@4 ~@3 eb4@7 [bb4,db5] ~ bb3@4 ~@4, ~@24 ab4@2 ab4 ~@5]/2", // Db Ebm Db Gb Ebm Db Ebm7 Bbm
H: "[~@2 [eb4,bb4,db5,gb5]@2 ~@2 [eb4,gb5]@2 [ab4,db5,f5] ~ [ab4,db5,f5] ~ [eb4,bb4,gb5]@2 ~@2 [f4,bb4,db5]@12 ~@4, ~@6 [bb4,db5] ~ bb3@4 [db5,f5] ~@2 bb3@12 ~@5]/2", // Ebm7 Ebm Db Ebm Bbm Db
I: "~@2 [f4,bb4,c5,db5] ~@3 bb3@2 [f4,bb4,c5,db5] ~ [f4,bb4,db5]@2 ~@4, ~@10 c5 ~@5", // Bbm
J: "[db5,gb5,bb5]@2 [db5,gb5] ~ [db5,gb5,bb5] ~ [db5,gb5,bb5] ~ [db5,gb5,ab5,bb5] ~ [gb5,ab5,bb5] ~ [db5,gb5,ab5,bb5] ~ [db5,gb5,ab5,bb5] ~, ab5 ~@9 db5@2 ~@4", // Gb Gb5 Gb
K: "[c5,e5,f5] ~ [c5,f5] ~ [f5,ab5] ~ [c5,f5,ab5] ~ [f5,ab5]@2 ~@2 [eb5,gb5]@2 ~@2, ab5@2 ab5@2 c5@2 ~@2 c5 ~ bb4@4 ~@2, ~@12 f5 ~@3", // Fmaj7 F5 Fm Ebm
L: "[ab3,db4,f4]@2 ~@4 [db4,f4]@2 [bb3,db4,f4] ~ [bb3,db4,f4]@2 [ab3,f4]@2 ~@2, ~@6 ab3 ~@5 db4 ~@3", // Db Bbm Db
M: "~@2 [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [bb3,db4,f4] ~ [bb3,db4,f4] ~ [ab3,db4,f4]@2 ~@2", // Db Bbm Db
N: "[ab3,db4,f4]@2 ~@4 [ab3,db4,f4] ~ [bb3,db4,f4] ~ [bb3,db4,f4] ~ [ab3,db4,f4]@2 ~@2", // Db Bbm Db
O: "~@2 [ab3,db4,f4]@2 ~@2 [ab3,f4] ~ [bb3,db4,f4] ~ [bb3,db4,f4] ~ [ab3,f4] ~@3, ~@3 db4 ~@2 db4 ~", // Db Bbm Db
P: "[gb2,gb3] ~ [gb2,gb3] ~ [gb2,gb3] ~ [gb2,gb3,db4,db5] ~ [gb2,gb3,db4,db5] ~ [gb2,gb3,db4,db5] ~ [gb2,gb3,db4,db5] ~ [gb2,gb3,db4,db5] ~", // Gb Gb5
Q: "[db2,db3] ~ [db2,db3,db5,db6] ~ [db2,db3,db5,db6] ~ [db2,db3,bb4,bb5] ~ [db2,db3,eb4,e4,f4,eb5,e5,f5] ~ [db2,db3,db4,db5] ~ [db2,db3,bb3,bb4] ~ [db2,db3,ab3,ab4] ~", // Db Gb Db Gb Db5
R: "[ab2,ab3] ~ [ab2,ab3] [bb3,b3] [ab2,ab3,ab4] ~ [ab2,ab3,c4,ab4] ~ [ab2,ab3,c4,ab4] ~ [ab2,ab3,c4,ab4] ~ [ab2,ab3,c4,ab4] ~ [ab2,ab3,c4,ab4] ~, ~@2 c4 ~@5", // Ab Bmaj7 Ab
S: "[db2,db3] ~ [db2,db3,f4,db5] ~ [db2,db3,db5] ~ [db2,db3,g4,db5] ~ [db2,db3,g4,ab4,db5] ~ [db2,db3,g4,ab4,db5] ~ [db2,db3,gb4,g4] [f4,g4] [db2,db3,gb4,db5] ~, ~@2 gb4 ~@3 db5 ~", // Db Dbdim Db Gb Fsus2 Gb5
T: "[gb2,gb3] ~ [gb2,gb3] ~ [e4,gb4,bb4,db5]@2 [gb2,gb3] ~ [gb2,gb3] ~ [gb2,gb3,e4,gb4,bb4,db5] ~ [gb2,gb3] ~ [gb2,gb3,db4,eb4] e4, ~@4 [gb2,gb3] ~@11", // Gb Gb7 Gb Gb7 Gb Ebm7 Gb
U: "[db2,db3,f4] ~ [db2,db3] ~ [db2,db3,db5] ~ [db2,db3,a4] ~ [db2,db3] ~ [db2,db3] ~ [ab4,db5]@2 [db2,db3] ~, db5@2 f4@2 ~@2 db5@3 ~@7, ~@7 bb4@3 f4@2 [db2,db3] ~@3", // Db Gbm Db Db5 Db
V: "[db4,g4,bb4,eb5]@2 [eb2,eb3] ~ [eb2,eb3] ~ [db4,g4,bb4,eb5]@2 [eb2,eb3] ~ [eb2,eb3] ~ [db4,g4,bb4,eb5]@2 ~@2, [eb2,eb3] ~@5 [eb2,eb3] ~@5 [eb2,eb3] ~@3", // Eb7 Eb Eb7 Eb Eb7 Eb
W: "[[ab2,gb3,ab3,c4,eb4,ab4]@49 ~@15, gb4 ~@63]/4", X: "~@8 [db4,ab4,db5,f5]@2 ~@4 [ab4,db5,f5] ~, ~@7 db4",
Y: "[gb4,bb4,eb5] ~ [gb4,bb4,eb5] ~ [db4,ab4,db5,f5]@2 ~@4 [db4,ab4,db5,f5]@2 ~@2 [ab4,db5,f5] ~, bb3@2 ~@5 db4", // Ebm Db
Z: "[bb3,gb4,bb4,eb5] db4 [bb4,db5,gb5]@2 [db4,ab4,db5,f5] ~@2 [db4,ab4], ~@14 [db5,f5] ~", // Ebm Gb Db Db5 Db
AA: "[gb4,bb4] ~ [gb4,bb4,eb5] ~ [db4,ab4,db5,f5]@2 ~@4 [db4,ab4,db5,f5]@2 ~@2 [ab4,db5,f5] ~, bb3@2 ~@5 db4, eb5 ~@7", // Gb Ebm Db
AB: "[gb4,bb4,eb5] ~ [gb4,bb4,eb5] ~ [db4,ab4,db5,f5]@2 ~@2 [eb4,bb4,db5,gb5]@2 ~@4 [eb4,gb5]@2, bb3@4 ~@10 [bb4,db5] ~", // Ebm Db Ebm7 Ebm Bbm
AC: "[db5,f5] ~ [ab4,db5] ~ [eb4,bb4,db5,gb5]@2 ~@4 [eb4,bb4,db5,gb5]@2 ~@2 [bb4,db5,gb5] ~, bb3@2 ~@5 eb4, ab4 f5 ~@6", // Db Db5 Ebm7 Gb
AD: "[ab4,db5] ~ [ab4,db5] ~ [db5,f5,gb5] ~@3 [db4,ab4,db5,f5]@2 ~@4 [ab4,db5,f5] ~, bb3@2 [eb4,bb4] ~@4 db4, f5!2 ~@6", // Db5 Gbmaj7 Db Eb5
AE: "[gb4,bb4,eb5] ~ [gb4,bb4,eb5] ~ [db4,ab4,db5,f5]@2 ~@2 [bb4,db5,gb5]@6 [eb4,gb5]@2, bb3@4 ~@3 eb4@7 [bb4,db5] ~", // Ebm Db Gb Ebm Bbm
AF: "[db5,f5] ~ [db5,f5]@2 [eb4,bb4,db5,gb5]@2 ~@4 [eb4,bb4,db5,gb5]@2 ~@2 [eb4,gb5]@2, bb3 ~@3, ab4@2 ab4 ~@11 [bb4,db5] ~", // Db Ebm7 Ebm Bbm
AG: "[[ab4,db5,f5] ~ [ab4,db5,f5] ~ [eb4,bb4,gb5]@2 ~@2 [f4,bb4,db5]@12 ~@6 [f4,bb4,c5,db5] ~@3 bb3@2, bb3@4 [db5,f5] ~@2 bb3@12 ~@13]/2", // Db Ebm Bbm Db
AH: "[f4,bb4,c5,db5] ~ [f4,bb4,db5]@2 ~@4 [db5,gb5,bb5]@2 [db5,gb5] ~ [db5,gb5,bb5] ~ [db5,gb5,bb5] ~, ~@2 c5 ~@5 ab5 ~@7", // Bbm Gb Gb5 Gb
AI: "[db5,gb5,ab5,bb5] ~ [gb5,ab5,bb5] ~ [db5,gb5,ab5,bb5] ~ [db5,gb5,ab5,bb5] ~ [c5,e5,f5] ~ [c5,f5] ~ [f5,ab5] ~ [c5,f5,ab5] ~, ~ db5 ~@2 ab5!2 c5 ~", // Gb Fmaj7 F5 Fm
AJ: "[f5,ab5]@2 ~@2 [eb5,gb5]@2 ~@2 [db3,ab3,db4,f4]@2 ~@4 [ab3,db4,f4] ~, c5 ~ bb4@4 ~@8 db3@2, ~@4 f5 ~@11", // Fm Ebm Db
AK: "[gb3,bb3,eb4] ~ [gb3,bb3,eb4] ~ [db3,ab3,db4,f4]@2 ~@4 [db3,ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~, bb2@2 ~@5 db3", // Ebm Db
AL: "[bb2,gb3,bb3,eb4] db3 [bb3,db4,gb4]@2 [db3,ab3,db4,f4] ~@2 [db3,ab3], ~@14 [db4,f4] ~", // Ebm Gb Db Db5 Db
AM: "[gb3,bb3] ~ [gb3,bb3,eb4] ~ [db3,ab3,db4,f4]@2 ~@4 [db3,ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~, bb2@2 ~@5 db3, eb4 ~@7", // Gb Ebm Db
AN: "[gb3,bb3,eb4] ~ [gb3,bb3,eb4] ~ [db3,ab3,db4,f4]@2 ~@2 [db3,ab3,db4,f4]@2 ~@4 [db3,ab3]@2, bb2@4 ~@10 [db4,f4] ~", // Ebm Db Db5 Db
AO: "[gb3,bb3,eb4] ~ [gb3,bb3,eb4] ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,db4,gb4]@2 ~@4 [eb3,gb4]@2, bb2@4 ~@10 [bb3,db4] ~", // Ebm Db Ebm7 Ebm Bbm
AP: "[db4,f4] ~ [ab3,db4] ~ [eb3,bb3,db4,gb4]@2 ~@4 [eb3,bb3,db4,gb4]@2 ~@2 [bb3,db4,gb4] ~, bb2@2 ~@5 eb3, ab3 f4 ~@6", // Db Db5 Ebm7 Gb
AQ: "[ab3,db4] ~ [ab3,db4] ~ [db4,f4,gb4] ~@3 [db3,ab3,db4,f4]@2 ~@4 [ab3,db4,f4] ~, bb2@2 [eb3,bb3] ~@4 db3, f4!2 ~@6", // Db5 Gbmaj7 Db Eb5
AR: "[gb3,bb3,eb4] ~ [gb3,bb3,eb4] ~ [db3,ab3,db4,f4]@2 ~@2 [bb3,db4,gb4]@6 [eb3,gb4]@2, bb2@4 ~@3 eb3@7 [bb3,db4] ~", // Ebm Db Gb Ebm Bbm
AS: "[db4,f4] ~ [db4,f4]@2 [eb3,bb3,db4,gb4]@2 ~@4 [eb3,bb3,db4,gb4]@2 ~@2 [eb3,gb4]@2, bb2 ~@3, ab3@2 ab3 ~@11 [bb3,db4] ~", // Db Ebm7 Ebm Bbm
AT: "[[ab3,db4,f4] ~ [ab3,db4,f4] ~ [eb3,bb3,gb4]@2 ~@2 [f3,bb3,db4]@12 ~@6 [f3,bb3,c4,db4] ~@3 bb2@2, bb2@4 [db4,f4] ~@2 bb2@12 ~@13]/2", // Db Ebm Bbm Db
AU: "[f3,bb3,c4,db4] ~ [f3,bb3,db4]@2 ~@4 [gb4,bb4]@2 [db4,gb4] ~ [db4,gb4,bb4] ~ [db4,gb4,bb4] ~, ~@2 c4 ~@5 [db4,ab4] ~@7", // Bbm Gb Gb5 Gb Db5
AV: "[db4,gb4,ab4,bb4] ~ [gb4,ab4,bb4] ~ [db4,gb4,ab4,bb4] ~ [db4,gb4,ab4,bb4] ~ [c4,e4,f4] ~ [c4,f4] ~ [f4,ab4] ~ [c4,f4,ab4] ~, ~ db4 ~@2 ab4!2 c4 ~", // Gb Fmaj7 F5 Fm
AW: "[f4,ab4] ~ [eb4,gb4] ~ [ab3,db4,f4] ~@3, c4 ~ bb3@4 ~@10, ~@4 f4 ~@11", // Fm Ebm Db
AX: "[bb3,db4,f4] ~ [ab3,db4,f4] ~@2 [ab3,db4,f4] ~@2", AY: "[bb3,db4,f4] ~ [ab3,db4,f4] ~ [ab3,db4,f4] ~@3",
AZ: "[bb3,db4,f4] ~ [ab3,db4,f4] ~@5", BA: "[eb4,ab4]@2 db4 ~ [eb4,ab4]@2 db4 ~@9, d4 ~@3 d4 ~@11",
BB: "~@2 [db4,db5] ~@5", BC: "~@4 [ab3,db4,f4] ~@3",
BD: "[bb3,db4,f4]@3 ~ [ab3,db4,f4]@2 ~@4 [ab3,db4,f4]@2 ~@2 [db4,f4]@2, ~@14 ab3 ~", // Bbm Db
BE: "[bb3,db4,f4]@3 ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4]@2 ~@6", // Bbm Db
BF: "[bb3,db4,f4]@2 ~@2 [ab3,db4,f4]@2 ~@4 [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~", // Bbm Db
BG: "[bb3,db4,f4]@3 ~ [ab3,db4,f4]@2 ~@4 [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~", // Bbm Db
BH: "[bb3,db4,f4]@3 ~ [ab3,db4,f4]@2 ~@10", BI: "~@8 [ab3,db4,f4]@3 ~@5",
BJ: "[[gb3,bb3,db4,gb4]@15 ~ [ab3,db4,f4]@16, ~@15 db3@17]/2", // Gb Db
})).s("gm_piano").gain(0.5)
// drums · rim
const rim = s("rim").struct("<A ~@22 B@17 C B@3 C ~@11 D B@13 D B@15 D B@5 C ~@6 D B@5 C ~@5>".pickRestart({
A: "x!4", B: "~ x ~ x", C: "~ x ~@2", D: "~@3 x",
})).gain(0.64)
// drums · kick
const kick = s("bd").struct(`<
~@22 A B C B C B C B C B C B C B C B C B C B C B D E F E F E F G H ~@3 I J K J K J K J K J K J K J K J K J K J K J K J
K J K J K J K J K J K J L M J K J K N O J K J K J L I J ~ H@2
>`.pickRestart({
// … 55 more lines
More by The Pointer Sisters
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.