0:00/0:00
// God Moving Over the Face of the Waters — Moby
// 100 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 185 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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, A@4 for four bars: edit a riff to change every repeat.
// chords · piano · "A.PIANO 1"
const piano = note("<A@24 B@128 C@5 B@24 D@4>".pickRestart({
A: "[~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@5 f#4@3 ~@6 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@5 f#4@3 ~@6 f#4@2 ~@14 f#4@2 ~@14 [f#4,d5]@2, [b3,b5]@5 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 b5@4 f#4@3 [b3,b5]@7 ~, ~@3 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 b5@4 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 ~@2 d5@5 ~@4 d5@6 ~ f#4@3 [b3,b5]@7 ~ b3@6 d5@5 ~@5, ~@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 ~@2 d5@5 ~@4 d5@6 ~ f#4@3 [b3,b5]@7 ~ b3@6 d5@5 ~@3 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 [d4,f#5]@6 ~@2 [d4,f#5]@5]/6", // D B D B D B D
B: "[~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@5 f#4@3 ~@6 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@5 f#4@3 ~@6 f#4@2 ~@14 f#4@2 ~@14 [f#4,d5]@2, [b3,b5]@5 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 b5@4 f#4@3 [b3,b5]@7 ~, ~@3 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 b5@4 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 ~@2 d5@5 ~@4 d5@6 ~ f#4@3 [b3,b5]@7 ~ b3@6 d5@5 ~@5, ~@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 ~@2 d5@5 ~@4 d5@6 ~ f#4@3 [b3,b5]@7 ~ b3@6 d5@5 ~@3 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 [d4,f#5]@6 ~@2 [d4,f#5]@5]/8", // D B D B D B D
C: "[~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@5 f#4@3 ~@6 f#4@2 ~@14 f#4@2 ~@14 [f#4,d5]@2, [b3,b5]@5 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 [d4,f#5]@6 ~@2 [d4,f#5]@5, ~@3 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 b5@4 f#4@3 [b3,b5]@7 ~, ~@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 ~@2 d5@5 ~@4 d5@6 ~ f#4@3 [b3,b5]@7 ~ b3@6 d5@5 ~@5]/5", // D B D B
D: "[~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@14 f#4@2 ~@5 f#4@3 ~@6 d5@6 ~@28, [b3,b5]@5 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@5 ~@2 f#4@3 [b3,b5]@7 ~ [b3,b5]@7 ~ [b3,b5]@7 ~@33, ~@3 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@2 [d4,f#5]@6 ~@31, ~@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@6 ~@2 d5@6 ~ f#4@3 [b3,b5]@7 ~ [b3,b5]@6 d5@5 ~@3 d5@5 ~@2 d5@5 ~@4 f#4@3 ~@31]/4", // B D B
})).s("gm_piano").gain(0.33)
// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
~@16 A@7 B@2 C D@3 E@4 C F@3 C G@2 A@7 B@2 C D@3 E@4 C F@3 C G@2 A@7 B@2 C D@3 E@4 C F@3 C G@2 A@7 B@2 C D@3 E@4 C F@3
C G@2 A@7 B@2 C D@3 E@4 C F@3 C G@2 A@7 B@2 C D@3 E@4 C F@3 C F@3 C F@3 C F@3 C F@3 C F@3 C F@3 C H@2 ~
>`.pickRestart({
A: "[[g2,g3]@31 [b2,d4]@32 [d3,f#4]@32 [g2,e4]@31 ~ [g2,g3]@32 [b2,d4]@32 [d3,f#4]@32 [g2,e4]]/7", // G Bm D C G Bm D C
B: "[~@31 [g2,g3]@33]/2", C: "[b2,d4]", D: "[[d3,f#4]@31 ~ e4@31 [g2,g3]@33, ~@31 g2@29 ~@36]/3",
E: "[[b2,d4]@31 [d3,f#4]@32 e4@32 [g2,g3]@33, ~@63 g2@29 ~@36]/4", F: "[[d3,f#4]@31 [g2,e4]@32 [g2,g3]@33]/3",
G: "[[d3,f#4]@31 [g2,e4]@28 ~@5]/2", H: "[[d3,f#4]@31 [g2,e4]@32 ~]/2",
})).s("gm_string_ensemble_2").gain(0.64)
// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
~@31 A B C D E F@2 G@2 C H I J H K D L B C D E F@2 G@2 C H I J H K D L B C D E F@2 G@2 C H I J H K D L B C D E F@2 G@2
~@23 M@5 N@6 O@3 P@3 Q@6 R@3 S T@3 U@3 V@7 W@2 H X@4 Y@3 Z AA@6 AB@5 AC@5 AD@3 AE@3 ~
>`.pickRestart({
A: "~@23 b4@9", B: "a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 ~ a5@2 g5@3 a5@2 g5@3",
C: "a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@2 a5@3 g5@3",
D: "a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@2 ~",
E: "g5@2 f#5@3 g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@3 g5@2 f#5@3, ~@16 g#5 ~@15",
F: "[a5@3 g5@2 a5@3 g5@2 a5@2 ~ g5@3 a5@2 g5@3 a5@3 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@3]/2",
G: "[a5@3 g5@3 a5@2 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@2 g5@3 f#5@3 g5@2 f#5@3 g5@2 f#5@3 g5@3 f#5@3 g5@3 b5@2 g5@3 f#5@3]/2",
H: "a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3",
I: "a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5 ~@2",
J: "g5@2 f#5@3 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@3 g5@2 f#5@3 g5@2 f#5@2 ~",
K: "a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3",
L: "g5@2 f#5@3 g5@3 f#5@3 g5@2 f#5@3 g5@2 f#5@3 g5@3 b5@2 g5@3 f#5@3",
M: "[~@31 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 ~ g5@2 f#5@3 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@3 g5@3 f#5@2 g5@3 f#5@3]/5",
N: "[a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5 ~ g5@3 f#5@3 g5@2 f#5@3 g5@2 f#5@3 g5@3 f#5@3 g5@2 b5@3 g5@3 f#5@2 a5@3 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3]/6",
O: "[a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@2 ~ g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@2 g5@3 f#5@3 ~@3 f#5@2 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3, ~@58 g5@5 ~@33]/3",
P: "[a5@2 g5@3 a5@3 g5@2 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@2 ~ g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@2 f#5@3 g5@3 b5@3 g5@2 f#5@3 ~]/3",
Q: "[a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@2 ~ g5@2 f#5@3 g5@3 f#5@2 g5@3 f#5@2 g5@3 f#5@3 g5@3 f#5@2 g5@3 f#5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3]/6",
R: "[a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@2 a5@3 g5@2 a5@3 g5@2 ~ g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@2 g5@3 b5@3 g5@2 f#5@3 a5@3 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3]/3",
S: "a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@3 g5@2 a5@3 g5@3",
T: "[a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@2 ~ g5@2 f#5@3 g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@3 g5@2 f#5@2 ~ a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3]/3",
U: "[a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@2 ~ g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@2 g5@3 b5@3 g5@2 f#5@3 ~]/3",
V: "[a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 ~@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@2 ~ g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@3 g5@2 f#5@3 g5@2 f#5@2 ~ a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@2 ~ g5, ~@23 g5@4 ~@197]/7",
W: "[~@2 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@2 g5@3 b5@3 g5@2 f#5@3 a5@3 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3]/2",
X: "[a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@2 ~ g5@2 f#5@3 g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@3 g5@2 f#5@2 ~ a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3]/4",
Y: "[a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@2 ~ g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@2 g5@3 b5@3 g5@2 f#5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3]/3",
Z: "a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3",
AA: "[a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@2 ~ g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@3 g5@2 f#5@3 g5@2 f#5@2 ~ a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@2 ~ g5@3 f#5@2 ~ g5@2 f#5@3 g5@2 f#5@3 g5@3 f#5@2 g5@2 ~ b5@3 g5@2 f#5@3 ~]/6",
AB: "[a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 ~@2 a5@3 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@2 ~ g5@3 f#5@2 g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@3 ~@2 f#5@2 ~ a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@3 g5@2 a5@3 g5@3, ~@23 g5@4 ~@95 g5@4 ~@34]/5",
AC: "[a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@2 ~ g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@2 g5@3 b5@3 g5@2 f#5@3 a5@3 g5@2 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3]/5",
AD: "[a5@2 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@2 a5@3 g5@3 a5@3 g5@2 g5@3 f#5@2 g5@3 f#5@2 g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@3 ~@2 f#5@2 ~ a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@3, ~@29 g5@2 ~@17]/3",
AE: "[a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 ~@2 a5@3 g5@3 a5@2 g5@3 a5@2 g5@3 a5@3 g5@3 a5@2 g5@3 a5@3 g5@2 a5@3 g5@2 ~ g5@3 f#5@3 g5@2 f#5@3 g5@3 f#5@2 g5@3 f#5@3 g5@2 b5@3 g5@3 f#5@3, ~@23 g5@4 ~@69]/3",
})).s("gm_string_ensemble_1").gain(0.35)
// other · string ensemble 1 · "STRINGS"
const string_ensemble_1_2 = note("<~@88 A@2 B C@5 A@2 B C@5 A@2 B C@5 ~@73>".pickRestart({
A: "a4@3 g4@2 a4@3 g4@3 a4@2 g4@3 a4@3 g4@2 a4@3 g4@3 a4@2 g4@3",
B: "a4@2 g4@3 a4@3 g4@2 a4@3 g4@3 a4@3 g4@2 a4@3 g4@2 a4@3 g4@2 ~",
C: "[g4@2 f#4@3 g4@2 f#4@3 g4@2 f#4@3 g4@3 f#4@3 g4@2 f#4@3 g4@3 f#4@2 a4@3 g4@3 a4@2 g4@3 a4@2 g4@3 a4@3 g4@2 a4@3 g4@3 a4@2 g4@3 a4@2 g4@3 a4@3 g4@3 a4@2 g4@3 a4@3 g4@2 a4@3 g4@3 a4@2 g4@3 a4@3 g4@2 a4@3 g4@3 a4@3 g4@3 a4@2 g4@3 a4@2 g4@3 a4@2 g4@2 ~ g4@3 f#4@2 g4@3 f#4@3 g4@2 f#4@3 g4@3 f#4@2 g4@3 f#4@2 g4@3 f#4@3 ~]/5",
})).s("gm_string_ensemble_1").gain(0.22)
// other · orchestra hit · "ORCH.HIT"
const orchestra_hit = note(`<
~@56 A ~ B ~ C D@2 ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~@25 A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B
~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~@2
>`.pickRestart({
A: "g2@13 ~@3", B: "a2@5 ~@3", C: "g2@11 ~@5", D: "[~@31 a2@18 ~@15]/2",
})).s("gm_orchestra_hit").gain(0.24)
// drums · kick
const kick = s("bd").struct(`<
~@112 A ~ B ~ A ~ A ~ A C ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A C ~@2 A ~ A ~ A ~ A C ~@2 A C ~@2 A C ~@2 A ~
A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2
>`.pickRestart({
A: "x", B: "~ x ~@30", C: "~@31 x",
})).gain(0.22)
// drums · splash
const splash = s("cr").struct(`<
~@112 A ~ B ~ A ~ A ~ A C ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A C ~@2 A ~ A ~ A ~ A C ~@2 A C ~@2 A C ~@2 A ~
A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2
>`.pickRestart({
A: "x", B: "~ x ~@30", C: "~@31 x",
})).gain(0.19)
// drums · ride
const ride = s("rd").struct(`<
~@112 A ~ B ~ A ~ A ~ A C ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A C ~@2 A ~ A ~ A ~ A C ~@2 A C ~@2 A C ~@2 A ~
A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2
>`.pickRestart({
A: "x", B: "~ x ~@30", C: "~@31 x",
})).gain(0.22)
stack(piano, string_ensemble_2, string_ensemble_1, string_ensemble_1_2, orchestra_hit, kick, splash, ride)
More by Moby
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.