0:00/0:00
// Everything I Own — Boy George
// 120 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 91 bars on a 32-step grid, each part at one level. 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 · electric bass finger · "FINGERDBAS"
const bass = note(`<
A B C B D@2 E F G H E F I J K L M N M N M N O P Q R S E F G H E F I J K L M N M N M N O P Q P T U V W X@3 Y M N M N M
N Q P Q P Q P Q Z AA N M N M N O P Q P Q P Q Z AB AC AD AC AE ~@3
>`.pickRestart({
A: "~@31 c#2", B: "f#2 f2 d#2@2", C: "b1@8 c#2@8 f#2@14 ~ c#2",
D: "[b1@8 c#2@8 f#1@32 c#2@3 ~ c#2@3 ~ g#1@3 ~ g#1@3 ~]/2", E: "~@7 c#2 g#1@4 a#1@4 b1@3 ~ b1@3 ~ f#1@3 ~ f#1@3 ~",
F: "~@7 b1 f#1@4 f#1@4 f#1@4 ~@3 f#1 a#1@4 ~@3 a#1", G: "c#2@4 c#2@4 g#1@6 ~@2 f#1@3 ~ f#1@3 ~ f#1@8",
H: "~@7 f#1 a#1@4 ~@3 a#1 c#2@3 ~ c#2@3 ~ g#1@3 ~ g#1@3 ~",
I: "c#2@4 c#2@4 g#1@4 d#1@2 ~ f#1 g#1@3 ~ g#1@3 ~ d#1@4 ~@3 d#1",
J: "g#1@3 ~ g#1@3 ~ d#1@3 ~ d#1@3 ~ c#2@3 ~ c#2@3 ~ g#1@3 ~ g#1@3 ~",
K: "~@8 c#1@3 ~ f#1@2 f#1@2 g#1@3 ~ g#1@3 ~ d#1@4 ~@3 d#1",
L: "g#1@3 ~ f#1@3 ~ f1@3 ~ d#1@3 ~ c#2@3 ~ b1@3 ~ a#1@3 ~ g#1@3 ~", M: "~@8 f1@8 f#1@3 ~ f#1@2 ~@2 a#1@3 ~ d#2@2 ~@2",
N: "b1@3 ~ b1@2 ~@2 f#1@6 ~@2 c#2@3 ~ c#2@3 ~ g#1@3 ~ g#1@2 ~@2", O: "~@8 a#1@8 b1@6 ~@2 d#1@6 ~ d#1",
P: "f#1 ~ f#1 ~ d#1@2 ~@2 f#1 ~ f#1 ~ f#1@3 ~", Q: "~@8 a#1@6 ~@2 b1@6 ~@2 d#1@6 ~ d#1",
R: "f#1 ~ f#1 ~ d#1@2 ~@2 f#1@8", S: "~@15 a#1 c#2@3 ~ c#2@3 ~ g#1@3 ~ g#1@3 ~",
T: "~@3 f#1 a#1@2 ~@2 c#2@2 ~@2 d#2@2 ~@2 d#1@2 ~@2 d#1@2 ~@2 a#1@3 ~ c#2@3 ~",
U: "d#1@2 ~@2 d#1@2 ~@2 a#1@3 ~ c#2@3 ~ d#1@2 ~@2 d#1@2 ~@2 a#1@3 ~ c#2@3 ~",
V: "d#1@2 ~@2 d#1@2 ~@2 a#1@3 ~ c#2@3 ~ d#1@2 ~@2 d#1@2 ~@2 a#1@3 ~ d#2@3 ~",
W: "d#1@2 ~@2 d#1@2 ~@2 d#2@3 ~ f#2@3 ~ g#1@4 ~@3 g#1 d#1@4 ~@3 d#1",
X: "g#1@2 ~@2 g#1@2 ~@2 d#1@3 ~ f#1@3 ~ g#1@4 ~@3 g#1 d#1@4 ~@3 d#1",
Y: "g#1@2 ~@2 f#1@2 ~@2 f1@2 ~@2 d#1@2 ~@2 c#2@3 ~ b1@3 ~ a#1@3 ~ g#1@3 ~",
Z: "f#1@2 ~@2 f#1@2 ~@2 d#1@4 ~@4 c#2@3 ~ c#2@3 ~ b1@3 ~ b1@3 ~",
AA: "a#1@3 ~ a#1@3 ~ g#1@3 ~ g#1@3 ~ f#1@3 ~ f#1@2 ~@2 a#1@3 ~ d#2@2 ~@2",
AB: "a#1@3 ~ a#1@3 ~ g#1@3 ~ g#1@3 ~ f#2@8 f2@8", AC: "d#2@2 b1 c#2", AD: "f#2@14 ~ c#2 f#2@7 ~ f2@8",
AE: "f#1@7 ~ f#2@4 ~@20",
})).s("gm_electric_bass_finger").gain(0.4)
// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
~@2 A ~ A ~@4 B C ~@2 B D B E F G F G F H I H J@2 K ~@2 L M ~ N@4 O F G F G F P Q R S T@7 U@2 F G F G F H I H I H I H
V E F G F G F H I H I H I H W X Y Z Y AA ~@3
>`.pickRestart({
A: "[d#4,f#4,b4,d#5]@8 [f4,g#4,c#5,f5]@8 [f#4,a#4,c#5,f#5]@15 ~", B: "~@3 [f4,g#4,c#5,f5]", C: "~@3 [d#4,f#4,b4,d#5]",
D: "~@3 [d#4,g#4,b4,d#5]", E: "~@8 [f#4,a#4,c#5]@3 ~@5", F: "[d#4,f#4,b4]@3 ~@5 [c#5,f5,g#5,c#6]@3 ~@5",
G: "~@4 f4@3 f#4 f4@3 d#4 c#4@3 b3 [f#4,a#4,c#5]@6 ~@10", H: "~@5 d#5 f#4 ~", I: "~@12 [f#4,a#4,c#5]@3 ~",
J: "[~@2 [f#4,a#4,c#5]@4 ~ [c#5,f5,g#5]]/2", K: "~@3 [b4,d#5,f#5]", L: "~@3 [g#5,c#6,f6]", M: "~@3 [b5,d#6,f#6]",
N: "[~@8 [f4,g#4]@4 [f#4,a#4]@2 [d#4,b4]@25 ~ [d#4,b4]@4 [f#4,a#4]@2 [f4,g#4]@24 ~@2 [f4,g#4]@4 [f#4,a#4]@2 [d#4,b4]@25 ~ [d#4,b4]@4 [f#4,a#4]@2 [f4,g#4]@18]/4", // Fm F# G#m F# Fm F# G#m F# …
O: "[c#5,f5,g#5,c#6]@4 [d#5,f#5,b5]@4 [f#4,a#4,c#5]@3 ~@5", P: "~@4 f4@3 f#4 f4@3 d#4 c#4@3 b3 f#4@4 ~@4 d#5@4 f#4@4",
Q: "~@2 d#5 f#4 c#5 f#4 ~@2", R: "[f#4,a#4,c#5,f#5] ~@3 d#5 f#4 ~@2", S: "f#4 ~ d#5 f#4 c#5 f#4 ~@2",
T: "[[f#4,a#4,c#5,f#5]@4 ~@16 c#5 ~@3 c#5 ~@2 d5 d#5@8 c#5@3 ~ g#4@3 ~@4 c#4 ~@4 c#5 ~@3 c#5 ~@2 d5 d#5@8 c#5@3 ~ g#4@3 ~@4 c#4 ~@4 c#5 ~@3 c#5 ~@2 d5 d#5@8 c#5@3 ~ g#4@3 ~@4 c#4 ~@12 c#5@8 ~@16 c#5 ~@3 c#5 ~@2 d5 ~@8 c#5@3 ~@4 f#4 d#4@3 c#4 ~@4 c#5 ~@3 c#5 ~@2 d5 ~@8 c#5@3 ~@4 f#4 d#4@3 c#4 ~@4 c#5 ~@3 c#5 ~@2 d5 ~@4, ~@16 f#4@28 ~@4 f#4@28 ~@4 f#4@28 ~@4 [g#4,d#5]@32 g#4@27 ~@5 g#4@27 ~@5 [g#4,b4,d#5]@16, ~@8 a#4@12 ~@4 a#4@12 ~@4 a#4@12 ~@4 b4@11 ~@5 b4@12 ~@4 b4@12 ~@12, ~@16 c#4@12 d#4@19 ~ d#4@31 ~ d#4@31 ~@33 d#5@20 ~@12 d#5@20 ~@28]/7", // F# G#5 G#m
U: "[~@4 c#5@3 ~@4 f#4 d#4@3 c#4 ~@24 c#6@8 [f#4,a#4,c#5]@6 ~@10, ~ [c#4,f4,g#4,c#5]@2 ~, ~@3 f5@3 ~@2, ~@2 g#5 ~]/2", // F# C#
V: "~@8 [g#4,c#5,f5]@3 ~@5", // C#
W: "~@8 [f#4,b4,d#5]@4 ~@4 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3", // B C#
X: "[g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@19", Y: "~@2 [d#4,f#4,b4,d#5] [f4,g#4,c#5,f5]",
Z: "[f#4,a#4,c#5,f#5]@15 ~@17", AA: "[f#4,a#4,c#5,f#5]@3 ~@5",
})).s("gm_rock_organ").gain(0.35)
// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~ A B A C@2 ~@41 D@8 ~@28 E F G F H ~@3>".pickRestart({
A: "[a#3,c#4,f#4] [g#3,c#4,f4] [b3,d#4,f#4]@2", B: "[b3,d#4,f#4] [g#3,c#4,f4] [a#3,c#4,f#4]@2",
C: "[[b3,d#4,f#4] [g#3,c#4,f4] [a#3,c#4,f#4]@4 ~@2]/2", // B C# F#
D: "[~ [d#4,f#4,a#4]@2 [d#4,f#4,a#4]@2 [d#4,f#4,a#4]@2 [d#4,g#4,b4]@2 [d#4,g#4,b4]@2 [d#4,g#4,b4]@2 [d#4,g#4,b4]@2 [f4,g#4,c#5]]/8", // D#m G#m C#
E: "~@2 [a#3,c#4,f#4] [g#3,c#4,f4]", F: "[b3,d#4,f#4]@2 [b3,d#4,f#4] [g#3,c#4,f4]",
G: "[a#3,c#4,f#4]@2 [a#3,c#4,f#4] [g#3,c#4,f4]", H: "[a#3,c#4,f#4]@3 ~@5",
})).s("gm_string_ensemble_1").gain(0.25)
// chords · harpsichord · "HARPSICHRD"
const harpsichord = note(`<
~ A B A C D E F G H E F I J I J G K G K G K L F M N D E F G H E F I J I J G K G K G K L F M F O P@2 Q R@3 J G K G K G
K L F M F M F M K G K G K G K L F M F M F M K S T U T V ~@3
>`.pickRestart({
A: "~@4 [a#4,c#5,f#5] ~@7 [g#4,c#5,f5] ~@7 [f#4,b4,d#5] ~@7 [f#4,b4,d#5] ~@3", // F# C# B
B: "~@4 [f#4,b4,d#5] ~@7 [g#4,c#5,f5] ~@7 [a#4,c#5,f#5] ~@7 [a#4,c#5,f#5] ~@3", // B C# F#
C: "~@4 [f#4,b4,d#5] ~@7 [g#4,c#5,f5] ~@7 [a#4,c#5,f#5] ~@11", D: "~@20 [g#4,c#5,f5] ~@7 [g#4,c#5,f5] ~@3",
E: "~@4 [g#4,c#5,f5] ~@7 [g#4,c#5,f5] ~@7 [f#4,b4,d#5] ~@7 [f#4,b4,d#5] ~@3", // C# B
F: "~@4 [f#4,b4,d#5] ~@7 [f#4,b4,d#5] ~@7 [a#4,c#5,f#5] ~@7 [a#4,c#5,f#5] ~@3", // B F#
G: "~@4 [g#4,c#5,f5] ~@7 [g#4,c#5,f5] ~@7 [a#4,c#5,f#5] ~@7 [a#4,c#5,f#5] ~@3", // C# F#
H: "~@4 [a#4,c#5,f#5] ~@7 [a#4,c#5,f#5] ~@7 [g#4,c#5,f5] ~@7 [g#4,c#5,f5] ~@3", // F# C#
I: "~@4 [g#4,c#5,f5] ~@7 [g#4,c#5,f5] ~@7 [g#4,b4,d#5] ~@7 [g#4,b4,d#5] ~@3", // C# G#m
J: "~@4 [g#4,b4,d#5] ~@7 [g#4,b4,d#5] ~@7 [g#4,c#5,f5] ~@7 [g#4,c#5,f5] ~@3", // G#m C#
K: "~@4 [f#4,b4,d#5] ~@7 [f#4,b4,d#5] ~@7 [g#4,c#5,f5] ~@7 [g#4,c#5,f5] ~@3", // B C#
L: "~@4 [g#4,c#5,f5] ~@7 [a#4,c#5,f#5] ~@7 [f#4,b4,d#5] ~@7 [f#4,b4,d#5] ~@3", // C# F# B
M: "~@4 [a#4,c#5,f#5] ~@7 [a#4,c#5,f#5] ~@7 [f#4,b4,d#5] ~@7 [f#4,b4,d#5] ~@3", // F# B
N: "~@4 [f#4,b4,d#5] ~@7 [f#4,b4,d#5] ~@19", // B
O: "~@4 [a#4,c#5,f#5] ~@7 [a#4,c#5,f#5] ~@7 [f#4,a#4,d#5] ~@7 [f#4,a#4,d#5] ~@3", // F# D#m
P: "~@4 [f#4,a#4,d#5] ~@7 [f#4,a#4,d#5] ~@7 [f#4,a#4,d#5] ~@7 [f#4,a#4,d#5] ~@3", // D#m
Q: "~@4 [f#4,a#4,d#5] ~@7 [f#4,a#4,d#5] ~@7 [g#4,b4,d#5] ~@7 [g#4,b4,d#5] ~@3", // D#m G#m
R: "~@4 [g#4,b4,d#5] ~@7 [g#4,b4,d#5] ~@7 [g#4,b4,d#5] ~@7 [g#4,b4,d#5] ~@3", // G#m
S: "~@4 [g#4,c#5,f5] ~@7 [g#4,c#5,f5] ~@7 [a#4,c#5,f#5] ~@7 [g#4,c#5,f5] ~@3", // C# F# C#
T: "~@4 [f#4,b4,d#5] ~@7 [f#4,b4,d#5] ~@7 [f#4,b4,d#5] ~@7 [g#4,c#5,f5] ~@3", // B C#
U: "~@4 [a#4,c#5,f#5] ~@7 [a#4,c#5,f#5] ~@7 [a#4,c#5,f#5] ~@7 [g#4,c#5,f5] ~@3", // F# C#
V: "~@4 [a#4,c#5,f#5] ~@3 [a#4,c#5,f#5]@4 ~@20", // F#
})).s("gm_harpsichord").gain(0.25)
// chords · percussive organ · "ORGAN 2"
const percussive_organ = note(`<
~ A B A C@2 D E F G D E H I J I F K F K F K L M N O@2 D E F G D E H I J I F K F K F K L M N M P Q@2 R S@3 T F K F K F
K L M N M N U N K F K F K F K L M N M N U N K V W X W Y ~@3
>`.pickRestart({
A: "[f#5,a#5,c#6,a#6]@8 [f5,g#5,c#6,g#6]@8 [d#5,f#5,b5,f#6]@15 ~", // F# C# B
B: "[d#5,f#5,b5]@8 [f5,g#5,c#6]@8 [f#5,a#5,c#6]@15 ~", // B C# F#
C: "[[d#5,f#5,b5]@8 [f5,g#5,c#6]@8 ~@28 [f#6,a#6]@4 ~@2 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~, ~ [f#5,a#5,c#6]@2 ~]/2", // B C# F# C# F#
D: "~@2 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 f#4 ~ [f#5,b5,d#6] ~ f#4 ~@3 f#4 ~ [f#5,b5,d#6] ~ f#4 ~", // C# B
E: "~@2 f#4 ~ [f#5,b5,d#6] ~ f#4 ~@3 f#4 ~ [f#5,b5,d#6] ~ f#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~", // B F#
F: "~@2 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~", // C# F#
G: "~@2 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~", // F# C#
H: "~@2 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [c#6,f6] ~ a#5@2 ~@2 g#4 ~ [b5,d#6,g#6] ~ g#4 ~@3 g#4 ~ [b5,d#6,g#6] ~ g#4 ~, ~@12 g#5@2 g#4 ~@17", // C# G#m
I: "~@2 g#4 ~ [b5,d#6,g#6] ~ g#4 ~@3 g#4 ~ [a#5,c#6,f#6]@2 [g#5,c#6,f6] ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~", // G#m F# C#
J: "~@2 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [a#5,c#6,f#6]@2 [b5,d#6,g#6] ~@3 g#4 ~ [b5,d#6,g#6] ~ g#4 ~@3 g#4 ~ [b5,d#6,g#6] ~ g#4 ~", // C# F# G#m
K: "~@2 f#4 ~ [b5,d#6,f#6] ~ f#4 ~@3 f#4 ~ [b5,d#6,f#6] ~ f#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~", // B C#
L: "~@2 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [a#5,c#6,f#6] ~ g#4 ~@3 f#4 ~ [b5,d#6,f#6] ~ f#4 ~@3 f#4 ~ [b5,d#6,f#6] ~ f#4 ~", // C# F# B
M: "~@2 f#4 ~ [b5,d#6,f#6] ~ f#4 ~@3 f#4 ~ [b5,d#6,f#6] ~ f#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~", // B F#
N: "~@2 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~@3 f#4 ~ [b5,d#6,f#6] ~ f#4 ~@3 f#4 ~ [b5,d#6,f#6] ~ f#4 ~", // F# B
O: "[~@2 f#4 ~ [b5,d#6,f#6] ~ f#4 ~@3 f#4 ~ [b5,d#6,f#6] ~ f#4 ~ [f#5,a#5,c#6]@24 [c#6,f#6,a#6]@8 ~@2 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~]/2", // B F# C#
P: "~@2 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~@3 d#4 ~ [f#5,a#5,d#6] ~ d#4 ~@3 d#4 ~ [f#5,a#5,d#6] ~ d#4 ~", // F# D#m
Q: "~@2 d#4 ~ [f#5,a#5,d#6] ~ d#4 ~@3 d#4 ~ [f#5,a#5,d#6] ~ d#4 ~@3 d#4 ~ [f#5,a#5,d#6] ~ d#4 ~@3 d#4 ~ [f#5,a#5,d#6] ~ d#4 ~", // D#m
R: "~@2 d#4 ~ [f#5,a#5,d#6] ~ d#4 ~@3 d#4 ~ [f#5,a#5,d#6] ~ d#4 ~@3 g#4 ~ [g#5,b5,d#6] ~ g#4 ~@3 g#4 ~ [g#5,b5,d#6] ~ g#4 ~", // D#m G#m
S: "~@2 g#4 ~ [g#5,b5,d#6] ~ g#4 ~@3 g#4 ~ [g#5,b5,d#6] ~ g#4 ~@3 g#4 ~ [g#5,b5,d#6] ~ g#4 ~@3 g#4 ~ [g#5,b5,d#6] ~ g#4 ~", // G#m
T: "~@2 g#4 ~ [g#5,b5,d#6] ~ g#4 ~@3 g#4 ~ [g#5,b5,d#6] ~ g#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~", // G#m C#
U: "~@2 f#4 ~ [b5,d#6,f#6] ~ f#4 ~@3 f#4 ~ [g#5,c#6,f6] ~ f#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~@3 f#4 ~ [a#5,c#6,f#6] ~ f#4 ~", // B C# F#
V: "~@2 g#4 ~ [g#5,c#6,f6] ~ g#4 ~@3 g#4 ~ [g#5,c#6,f6] ~ g#4 ~ [f#5,a#5,c#6,a#6]@8 [f5,g#5,c#6,g#6]@8", // C# F# C#
W: "[d#5,f#5,b5,f#6]@15 ~ [d#5,f#5,b5]@8 [f5,g#5,c#6]@8", // B C#
X: "[f#5,a#5,c#6]@15 ~ [f#5,a#5,c#6,a#6]@8 [f5,g#5,c#6,g#6]@8", Y: "[f#5,a#5,c#6]@3 ~@5",
})).s("gm_percussive_organ").gain(0.22).pan(0.7)
// drums · kick
const kick = s("bd").struct("<A B C B@2 D E@10 F E@8 G H E@10 I E@3 J E@12 G K E@27 L B M B N ~@3>".pickRestart({
A: "~@23 x ~@4 x ~@3", B: "x!2", C: "x ~@15 x ~@14 x", D: "~@3 x", E: "~ x ~ x", F: "~@7 x!2 ~@15 x ~@7",
G: "~ x!2 ~", H: "~@3 x!2 ~ x ~", I: "~ x!3 ~@2 x ~", J: "~ x!3", K: "~ x ~ x ~@2 x ~", L: "~@7 x!2 ~@3 x ~@3 x ~@15",
M: "x ~@14 x!2 ~@15", N: "~@7 x!2 ~@23",
})).gain(0.5)
// drums · rim
const rim = s("rim").struct("<~@5 A B@19 C A B@27 C A B@9 A B@3 A B@9 A B@3 C ~@7>".pickRestart({
A: "~@3 x", B: "~ x ~ x", C: "~ x ~@2",
})).gain(0.4)
// drums · snare
const snare = s("sd").struct(`<
A B@4 C ~@10 D ~@5 D ~@2 E C ~@10 D ~@5 D ~@7 D ~@3 F ~@5 D ~@3 D ~@3 D ~@5 D ~@3 D ~@3 B@4 D ~@3
>`.pickRestart({
A: "~@3 x", B: "~ x ~ x", C: "~@5 x!4 ~@23", D: "~ x ~@2", E: "~ x", F: "x!2 ~@2",
})).gain(0.45)
// drums · hihat
const hihat = s("hh").struct(`<
~ A@2 B C D B E@6 B@4 E@3 B E@3 B F D B E@6 B@4 E@3 B E@3 B E@9 B E@3 B E@3 B E B E B E B E@3 B E@3 B E B E B E B E@2
B G ~@3
>`.pickRestart({
A: "x ~@3 x ~@3 x ~@3 x ~@2 x!2 ~@3 x ~@3 x ~@3 x ~@3", B: "x ~@3 x ~@3 x ~@3 x ~@2 x!2 ~@3 x ~@3 x ~@3 x ~@2 x",
C: "x", D: "~@16 x ~@3 x ~@3 x ~@3 x ~@2 x", E: "x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x", F: "x!5 ~@3",
G: "x!3 ~@5",
})).gain(0.3)
// drums · open hat
const open_hat = s("oh").struct("<~@4 [~@3 x] ~@86>").gain(0.3)
// drums · crash
const crash = s("cr").struct(`<
~ A ~@14 B ~@5 B ~@2 C ~@11 B ~@3 C ~ B ~@7 B ~@2 C B ~@5 B ~@3 B ~@3 B ~@5 B ~@3 B ~@3 D ~@3 B ~@3
>`.pickRestart({
A: "x", B: "~ x ~@2", C: "~ x", D: "~ x!2 ~",
})).gain(0.4)
// drums · tambourine
const tambourine = s("tb").struct("<~ A@24 ~ A@21 B C@6 D E A@27 ~ F@3 G ~@3>".pickRestart({
A: "~@11 x ~@4", B: "~@3 x", C: "~@3 x ~@8 x ~@3", D: "~@3 x ~@4 x ~@3 x ~@3", E: "x ~@3 x ~@6 x ~@4",
F: "~@3 x ~@12", G: "~ x ~@2",
})).gain(0.4)
// drums · ht
const ht = s("ht").struct("<A ~@11 B ~@2 C D ~@9 E ~@6 B ~@2 F ~@10 G ~@6 F ~@10 H ~@20 I D ~@3>".pickRestart({
A: "~@16 x!4 ~@12", B: "~@15 x!2 ~@15", C: "~@31 x", D: "x", E: "~ x", F: "~@15 x!2 ~@4 x!2 ~@9", G: "~@7 x!2 ~@23",
H: "~@16 x!3 ~@13", I: "~@19 x!2 ~@4 x!2 ~@4 x",
})).gain(0.4)
// drums · mt
const mt = s("mt").struct("<~@87 [~ x ~@2] ~@3>").gain(0.35)
// drums · cabasa
const cabasa = s("cabasa:4").struct("<~ A B A C D E@77 F G H G I ~@3>".pickRestart({
A: "x!3 ~ x!3 ~ x!3 ~ x!3 ~", B: "x!2 ~ x!2 ~ x ~ x!2 ~ x!2 ~ x ~ x!2 ~ x!2 ~ x ~ x ~ x ~ x ~@3",
C: "x!2 ~ x!2 ~ x ~ x!2 ~ x!2 ~ x ~ x!2 ~ x!2 ~ x ~ x ~@7", D: "~@16 x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x",
E: "x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x",
F: "x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~ x ~ x ~@3 x ~ x ~ x ~@3",
G: "x ~ x ~ x ~@3 x ~ x ~ x ~@3 x!2 ~ x!2 ~ x ~ x!2 ~ x!2 ~ x ~",
H: "x!2 ~ x!2 ~ x ~ x ~ x ~ x ~@3 x ~ x ~ x ~@3 x ~ x ~ x ~@3", I: "x!2 ~ x!2 ~ x ~ x ~@23",
})).gain(0.75)
stack(
bass, rock_organ, string_ensemble_1, harpsichord, percussive_organ, kick, rim, snare, hihat, open_hat, crash,
tambourine, ht, mt, cabasa
)
More by Boy George
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.