0:00/0:00
// You Make Me Feel (Mighty Real) — Sylvester
// 136 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 112 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(136/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 · rock organ · "THIS SONG"
const rock_organ = note(`<
~@8 A B C D E F G H ~@32 A I C J K L M N A O P Q R S T U ~ V W X@2 Y Z@3 AA AB@3 AC AD AE AF AA AG@2 AH AI@2 AJ AK AL
AM AN AM AO AP AM A AQ C AR AS AT AU H AV AQ AW D AS AX AY AZ
>`.pickRestart({
A: "~@4 [f4,bb4]@2 ~@3 [db4,f4,ab4] ~@3 [bb3,g4]@2 ~@2 [bb3,eb4] ~@4 [bb3,eb4,g4] ~, ~@4 db4 ~@8 eb4 ~@3 g4@2 ~@5", // Bb5 Db Eb Eb5 Eb
B: "~@4 [f4,a4]@3 ~ [c4,a4] ~@2 [c4,eb4,g4] ~ [c4,f4] ~@3 [c4,f4] ~@4 [f4,a4]@2, ~@4 c4 ~@3 f4@2 ~@3 a4@2 ~@2 a4@2 ~@3 c4 ~", // F Cm F5 F
C: "~@4 [f4,bb4]@2 ~@3 [db4,f4,ab4] ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@4 db4 ~@8 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Bb5 Db Eb5 Eb
D: "~@4 [c4,f4] ~@3 [c4,f4,a4] ~@2 [eb4,g4] ~ [c4,a4]@3 ~ [c4,f4] ~@4 [c4,f4,a4] ~, ~@4 a4@2 ~@7 f4 ~@3 a4@2 ~@5", // F5 F Eb F F5 F
E: "~@4 [db4,f4] ~@3 [db4,f4,ab4] ~@4 [bb3,eb4] ~@3 [bb3,g4]@2 ~@3 [eb4,g4]@2, ~@4 bb4@2 ~@7 g4@2 ~@2 eb4 ~@4 bb3 ~", // Db Eb5 Eb
F: "~@4 [c4,a4]@2 ~@2 [c4,f4,a4] ~@3 [c4,eb4,g4] [c4,f4] ~@3 [c4,f4] ~@4 [c4,f4,a4] ~, ~@4 f4 ~@8 a4@2 ~@2 a4@2 ~@5", // F Cm F5 F
G: "~@4 [f4,bb4]@2 ~@2 [f4,ab4]@2 ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@4 db4 ~@3 db4 ~@4 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Bb5 Fm Eb5 Eb
H: "~@4 [f4,a4]@3 ~ [c4,f4,a4] ~@2 [eb4,g4] ~ [c4,a4]@2 ~@2 [c4,f4] ~@4 [c4,f4] ~, ~@4 c4 ~@8 f4 ~@3 a4@2 ~@3 a4@2", // F Eb F F5
I: "~@4 [f4,a4]@2 ~@2 [c4,a4] ~@2 [c4,eb4,g4] ~ [c4,f4] ~@3 [c4,f4] ~@4 [c4,f4,a4] ~, ~@4 c4 ~@3 f4@2 ~@3 a4@2 ~@2 a4@2 ~@5", // F Cm F5 F
J: "~@4 [c4,f4] ~@3 [c4,f4,a4] ~@2 [eb4,g4] ~ [c4,a4]@3 ~ [c4,f4] ~@4 [c4,f4] ~, ~@4 a4@2 ~@7 f4 ~@3 a4@2 ~@3 a4@2", // F5 F Eb F F5
K: "~@4 [db4,f4] ~@3 [f4,ab4] ~@4 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@4 bb4@2 ~@2 db4@2 ~@3 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Db Fm Eb5 Eb
L: "~@4 [c4,a4]@2 ~@2 [c4,f4,a4] ~@3 [c4,eb4,g4] [c4,f4] ~@3 [c4,f4] ~@4 [f4,a4]@2, ~@4 f4 ~@8 a4@2 ~@2 a4@2 ~@3 c4 ~", // F Cm F5 F
M: "~@4 [f4,bb4]@2 ~@2 [db4,f4,ab4]@2 ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@4 db4 ~@8 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Bb5 Db Eb5 Eb
N: "~@4 [f4,a4]@3 ~ [c4,f4] ~@2 [eb4,g4] ~ [c4,a4]@2 ~@2 [c4,f4] ~@4 [c4,f4] ~, ~@4 c4 ~@3 a4@2 ~@3 f4 ~@3 a4@2 ~@3 a4@2", // F F5 Eb F F5
O: "~@4 [f4,a4]@2 ~@2 [f4,a4]@2 ~ [c4,eb4,g4] ~ [c4,f4] ~@3 [c4,f4] ~@4 [c4,f4,a4] ~, ~@4 c4 ~@3 c4 ~@4 a4@2 ~@2 a4@2 ~@5", // F Cm F5 F
P: "~@4 [f4,bb4]@2 ~@3 [f4,ab4]@2 ~@2 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@4 db4 ~@4 db4 ~@3 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Bb5 Fm Eb5 Eb
Q: "~@4 [c4,f4,a4] ~@3 [c4,f4,a4] ~@2 [eb4,g4] ~ [c4,a4]@3 ~ [c4,f4] ~@4 [c4,f4,a4] ~, ~@13 f4 ~@3 a4@2 ~@5", // F Eb F F5 F
R: "~@4 [db4,f4] ~@3 [f4,ab4] db4 ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@4 bb4@2 ~@7 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Db Fm Eb5 Eb
S: "~@4 [c4,a4]@2 ~@2 [c4,f4] ~@2 eb4 [c4,g4] [c4,f4] ~@3 [c4,f4] ~@4 [c4,f4,a4] ~, ~@4 f4 ~@3 a4@2 ~@3 a4@2 ~@2 a4@2 ~@5", // F F5 C5 F5 F
T: "~@4 [f4,bb4]@2 ~@3 db4 ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@4 db4 ~@3 [f4,ab4]@2 ~@3 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Bb5 Eb5 Eb Fm
U: "~@4 [c4,f4,a4]@3 ~ [c4,f4,a4] ~@2 [eb4,g4] ~ [c4,a4]@2 ~@2 [c4,f4] ~@4 [f4,a4]@2, ~@13 f4 ~@3 a4@2 ~@3 c4 ~", // F Eb F F5 F
V: "~@4 [f3,c4,f4] ~@3 [f3,c4,f4] ~@4 [f3,c4,f4] ~@3 [f3,c4,f4] ~@6", // F5
W: "~@4 [f3,c4,f4] ~@4 [f3,c4,f4] ~@3 [f3,c4] ~@3 [f3,c4,f4] ~@6, ~@13 f4@2 ~@9", // F5
X: "[~@4 [f3,c4,f4] ~@4 [f3,c4,f4] ~@3 [f3,c4,f4] ~@3 [f3,c4,f4] ~@2 f3 ~ bb3 f3@2 ab3 ~@2 c4@2 ~@3 [f3,c4] ~@3 [f3,c4] ~@3 [f3,c4] ~@2 f3 ~ bb3 f3, ~@28 f3 ~@19]/2", // F5
Y: "~ ab3@2 ~ [f3,c4] ~@3 c4@2 ~@3 c4@2 ~@2 [f3,c4] ~@2 f3 ~ bb3 f3, ~@8 f3 ~@4 f3 ~@10", // F5
Z: "[~ ab3@2 ~ c4@2 ~@2 c4@2 ~@3 c4@2 ~@2 [f3,c4] ~@2 f3 ~ bb3 f3@2 ab3@2 ~ c4@2 ~@2 c4@2 ~@3 c4@2 ~@2 [f3,c4] ~@2 f3 ~ bb3 f3@2 ab3 ~@2 [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 f3 ~ bb3 f3 ~ bb3 f3, ~@4 f3 ~@3 f3 ~@4 f3 ~@14 f3 ~@3 f3 ~@4 f3 ~@34]/3", // F5
AA: "~ ab3 ~@2 [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@2 f3 ~ bb3 f3", // F5
AB: "[~ ab3 ~@2 [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@2 f3 ~ bb3 f3@2 ab3 ~@2 [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@3 f3 bb3 f3@2 ab3 ~@2 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@3 [f3,c4] ~@2 f3 ~ bb3 f3]/3", // F5
AC: "~ ab3@2 ~ [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@3 f3 bb3 ~", // F5
AD: "~ ab3 ~@2 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@3 [f3,c4] ~@2 f3 ~ bb3 f3, f3 ~@11", // F5
AE: "~ ab3 ~@2 [f3,c4] ~@3 [f3,c4] ~@4 c4@2 ~@2 [f3,c4] ~@3 f3 bb3 ~, ~@13 f3 ~@10", // F5
AF: "f3 ab3@2 ~ [f3,c4] ~@3 f3 c4@2 ~@2 [f3,c4] ~@3 [f3,c4] ~@2 f3 ~ bb3 f3", // F5
AG: "[~ ab3 ~@2 [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@2 f3 ~ bb3 f3@2 ab3 ~@2 [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~ bb3 f3 ~ bb3 f3]/2", // F5
AH: "~ ab3@2 ~ [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~ bb3 ~ f3 bb3 ~", // F5
AI: "[f3 ab3 ~@2 c4@2 ~@2 f3 c4 ~@3 [f3,c4] ~@3 [f3,c4] ~ bb3 ~ f3 bb3 f3@2 ab3@2 ~ [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@2 f3 ~ bb3 f3, ~@4 f3 ~@43]/2", // F5
AJ: "~ ab3@2 ~ [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~", // F5
AK: "~@4 [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@4 [f3,c4,f4] ~, ~@4 f4@2 ~@2 f4@2 ~@3 f4@2 ~@2 f4@2 ~@5", // F5
AL: "~@3 [f3,c4] ~@4 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4,f4] ~@6, ~@3 f4@2 ~@3 f4@2 ~@3 f4@2 ~@9", // F5
AM: "~@4 [f3,c4,f4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4,f4] ~@6, ~@8 f4@2 ~@3 f4@2 ~@9", // F5
AN: "~@4 [f3,c4,f4] ~@3 [f3,c4] ~@4 [f3,c4] ~@3 [f3,c4] ~@6, ~@8 f4@2 ~@3 f4@2 ~@2 f4@2 ~@5", // F5
AO: "~@3 [f3,c4,f4] ~@4 [f3,c4,f4] ~@4 [f3,c4,f4] ~@3 [f3,c4,f4] ~@6", // F5
AP: "~@3 f3 [c4,f4] ~@3 [f3,c4] ~@4 [f3,c4,f4] ~@3 [f3,c4,f4] ~@6, ~@4 f4 ~@7", // F5
AQ: "~@4 [f4,a4]@3 ~ [f4,a4]@2 ~ [c4,eb4,g4] ~ [c4,f4] ~@3 [c4,f4] ~@4 [c4,f4,a4] ~, ~@4 c4 ~@3 c4 ~@4 a4@2 ~@2 a4@2 ~@5", // F Cm F5 F
AR: "~@4 [c4,f4,a4]@2 ~@2 [c4,f4,a4] ~@2 [eb4,g4] ~ [c4,a4]@3 ~ [c4,f4] ~@4 [c4,f4,a4] ~, ~@13 f4 ~@3 a4@2 ~@5", // F Eb F F5 F
AS: "~@4 [db4,f4,bb4]@2 ~@2 [db4,f4,ab4]@2 ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@13 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Bbm Db Eb5 Eb
AT: "~@4 [c4,a4]@2 ~@2 [c4,f4] ~@3 [c4,eb4,g4] [c4,f4] ~@3 [c4,f4] ~@4 [c4,f4,a4] ~, ~@4 f4 ~@3 a4@2 ~@3 a4@2 ~@2 a4@2 ~@5", // F F5 Cm F5 F
AU: "~@3 [f4,bb4]@2 ~@3 [db4,f4,ab4]@2 ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@3 db4 ~@9 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Bb5 Db Eb5 Eb
AV: "~@4 [f4,bb4]@2 ~@2 [db4,f4,ab4] ~@4 [bb3,g4]@2 ~@2 [bb3,eb4] ~@4 [bb3,eb4,g4] ~, ~@4 db4 ~@8 eb4 ~@3 g4@2 ~@5", // Bb5 Db Eb Eb5 Eb
AW: "~@4 [f4,bb4]@2 ~@3 [f4,ab4] ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@4 db4 ~@4 db4@2 ~@2 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Bb5 Fm Eb5 Eb
AX: "~@4 [c4,f4,a4] ~@3 [c4,f4,a4] ~@3 [c4,eb4,g4] [c4,f4] ~@3 [c4,f4] ~@4 [c4,f4,a4] ~, ~@13 a4@2 ~@2 a4@2 ~@5", // F Cm F5 F
AY: "~@4 [f4,bb4]@2 ~@2 [db4,f4,ab4]@2 ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [bb3,eb4,g4]@2, ~@4 db4 ~@8 g4@2 ~@2 g4@2 ~@5", // Bb5 Db Eb5 Eb
AZ: "~ [f3,c4,f4] ~@2 [f3,c4,f4]@2 ~@18", // F5
})).s("gm_rock_organ").gain(0.55)
// chords · epiano1 · "THIS SONG"
const epiano1 = note("<~@16 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF ~@64>".pickRestart({
A: "~ d3@3 [d4,f4,a4]@2 d3@2 [d4,f4,a4] ~@4 [f4,a4]@4 ~ f4@2 d3 [d4,f4,a4]@3, ~@11 d3@5 ~@8, ~@13 d4@2 ~@2 [d4,a4]@3 ~@4", // Dm F Dm D5
B: "~ bb2@3 ~@4 [bb3,d4,g4]@3 ~@2 [g3,db4,f4]@5 ~ [g3,db4,e4]@5, ~ d4 ~@2 [bb3,d4,g4]@4 ~@16, ~@6 bb2@5 ~@2 a2@9 ~@2", // Gm Gm7b5 Dbdim Gm
C: "~ d3@3 [d4,f4,a4]@2 d3@2 [d4,g4,b4] ~@2 d3 [d4,f4,a4]@3 d3 ~ [d4,g4,b4]@3 ~@2 [f4,a4]@2, ~@5 d3, ~@7 d4", // Dm G Dm G F
D: "~ bb2@3 ~@4 [bb3,d4,g4]@3 ~@2 [a2,a3,f4]@5 ~ [a2,a3,e4]@5, ~@4 [bb3,d4,g4]@4 ~@5 db4@11, ~@6 bb2@5 ~@13", // Gm Dm A5 Gm
E: "~ d3@2 ~ [f4,a4]@2 d3@2 [d4,g4,b4] ~@3 [d4,f4,a4]@4 d3 [d4,g4,b4]@3 ~@2 [d4,f4,a4]@2, ~@3 d4@3 ~@5 d3@2 ~@7 d3@4", // F G Dm G Dm
F: "~ bb2@3 ~@5 [bb3,d4,g4]@3 ~ [a2,a3,db4,f4]@5 ~ [a2,a3,db4,e4]@5, ~ [bb3,d4,g4] ~@4, ~@6 bb2@5 ~@13", // Gm Aaug A Gm
G: "~ d3@2 [d4,f4,a4]@3 d3@2 [d4,g4,b4] ~@4 [f4,a4]@3 ~ [d4,g4,b4]@3 ~ [d4,f4,a4]@3, ~@11 d3@3 ~@2 d3@2 ~@2 d3@4, ~@3 d4 ~@2", // Dm G F G Dm
H: "~ bb2@2 ~@3 bb2@6 ~ [a2,a3,db4,e4]@5 ~ [c3,c4,e4,g4]@5, ~ d4@2 ~@5, ~ [bb3,g4]@2 ~@3", // A C Eb
I: "~ [f3,c4,f4,a4]@4 ~@4 [c4,f4] ~@3 [f3,c4,f4]@3 f4 [f3,c4] ~@4 [f3,c4,f4] ~", // F F5
J: "~ [f3,c4,f4]@3 ~ [f3,c4]@2 ~@3 [f3,c4,f4] ~@2 [ab5,ab6]!2 g6 g5 ~@2 [f5,f6]!2 ~@3, ~@5 f4 ~@18", // F5 Ab F
K: "~@3 f4 c4 ~@3 [f3,c4,f4] ~@4 [f3,c4,f4]@3 ~ [f3,c4,f4] ~@3 [f3,c4,f4] ~@2, ~ f3@4 ~@19", // F5
L: "~ f3 ~@2 [f3,c4,f4] ~@3 [f3,c4,f4] ~@3 [f3,c4,f4] ~@3 c4 [f3,f4] ~@3 [c4,f4] ~@2, ~@21 f3@2 ~", // F5 F F5
M: "~@4 [f4,bb4]@2 ~@3 [db4,f4,ab4] ~@3 [bb3,g4]@2 ~@2 [bb3,eb4] ~@4 [bb3,eb4,g4] ~, ~@4 db4 ~@8 eb4 ~@3 g4@2 ~@5", // Bb5 Db Eb Eb5 Eb
N: "~@4 [f4,a4]@2 ~@2 [c4,a4] ~@2 [c4,eb4,g4] ~ [c4,f4] ~@3 [c4,f4] ~@4 [c4,f4,a4] ~, ~@4 c4 ~@3 f4@2 ~@3 a4@2 ~@2 a4@2 ~@5", // F Cm F5 F
O: "~@4 [f4,bb4]@2 ~@3 [f4,ab4]@2 ~@2 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@4 db4 ~@4 db4 ~@3 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Bb5 Fm Eb5 Eb
P: "~@4 [c4,f4] ~@3 [c4,f4,a4] ~@2 [eb4,g4] ~ [c4,a4]@3 ~ [c4,f4] ~@4 [c4,f4,a4] ~, ~@4 a4@2 ~@7 f4 ~@3 a4@2 ~@5", // F5 F Eb F F5 F
Q: "~@4 [db4,f4] ~@3 [db4,f4,ab4]@2 ~@3 [bb3,eb4] ~@3 [bb3,eb4] ~@4 [eb4,g4]@2, ~@4 bb4@2 ~@7 g4@2 ~@2 g4@2 ~@3 bb3 ~", // Db Eb5 Eb
R: "~@4 [c4,a4]@2 ~@2 [c4,f4,a4] ~@3 [c4,eb4,g4] [c4,f4] ~@3 [c4,f4] ~@4 [c4,f4,a4] ~, ~@4 f4 ~@8 a4@2 ~@2 a4@2 ~@5", // F Cm F5 F
S: "~@4 [db4,f4,bb4] ~@3 [f4,ab4]@2 ~@3 [bb3,eb4] ~@3 [eb4,g4]@2 ~@3 [eb4,g4]@2, ~@8 db4 ~@4 g4@2 ~@2 bb3 ~@4 bb3 ~", // Bbm Fm Eb5 Eb
T: "~@4 [f4,a4]@3 ~ [c4,f4] ~@2 [eb4,g4] ~ [c4,a4]@2 ~@2 [c4,f4] ~@4 [f4,a4]@2, ~@4 c4 ~@3 a4@2 ~@3 f4 ~@3 a4@2 ~@3 c4 ~", // F F5 Eb F F5 F
U: "~ d3@3 [d4,f4,a4]@3 ~ [d4,f4,a4] ~@3 d3 [d4,f4,a4]@3 d3 ~ a4@2 d3 ~ [d4,f4,a4]@2, ~@7 d3@2 ~@8 [d4,f4]@3 ~@4", // Dm
V: "~ bb2@3 [bb3,d4,g4]@2 ~@2 [bb3,d4] ~@4 [a2,g3,db4,f4]@5 ~ a2@4 ~, ~@6 bb2@5 ~@7 [g3,db4,e4]@5 ~, ~@4 g4 ~@7", // Gm Bb Aaug Dbdim
W: "~ d3@3 [f4,a4,c5]@2 d3@2 [g4,b4,d5] ~@2 d3 ~ [f4,a4,c5]@3 d3 [g4,b4,d5]@3 d3 ~ [f4,a4,c5]@2", // F G F G F
X: "~ bb2@3 [bb3,d4,g4]@2 ~@3 [bb3,g4]@3 ~ [a2,g3,db4,f4]@5 ~ [a2,g3,db4,e4]@5, ~@6 bb2@5 ~@13, ~@8 d4@3 ~@2 a3 ~@10", // Gm Eb Aaug A7
Y: "~ d3@3 [d4,f4,a4]@2 d3 ~ [d4,f4,a4] ~@2 d3 ~ [d4,f4,a4]@3 d3 [d4,f4,a4] ~@2 d3 ~ [d4,f4,a4]@2", // Dm
Z: "~ bb2@3 [bb3,d4,g4]@2 ~@2 [bb3,d4,g4]@3 ~@2 [a2,g3,db4,f4]@5 [a2,g3,db4,e4]@5 ~, ~@6 bb2@5 ~@13", // Gm Aaug A7
AA: "~ d3@2 ~@2 d3@3 [d4,f4,a4] ~@4 [d3,d4,f4,a4]@4 [d3,d4,f4,a4]@3 ~@2 [d3,d4,f4,a4]@2, ~@3 [d4,f4,a4]@4 ~@17", // Dm
AB: "~ d4@7 ~ d4@3 ~ a2@5 [c3,c4,e4,g4]@5 ~, ~ [bb2,bb3,g4]@10 ~ [a3,db4,e4]@5 ~@7", // C Eb A
AC: "~@4 [f3,c4,f4]@2 ~@2 c4 f3 ~@3 [f3,c4,f4]@2 ~@2 [f3,f4]@2 ~@3 [c4,f4]@2, ~@8 f4@2 ~@7 c4 ~@4 f3 ~", // F5 F F5
AD: "~@4 [f3,c4,f4]@2 ~@3 [f3,c4,f4]@2 ~@2 [ab5,ab6]!2 ~ [g5,g6] ~@2 [f5,f6]!2 ~@3", // F5 Ab G F
AE: "~@4 [f3,c4,f4] ~@4 [f3,c4,f4] ~@3 [c4,f4]@2 ~@2 [f3,c4,f4] ~@4 [f3,c4,f4]@2, ~@13 f3 ~@10", // F5
AF: "~@4 [f3,f4] ~@4 f3 ~@3 [c4,f4]@2 ~@2 [f3,c4,f4]@2 ~@3 [f3,c4,f4]@2, ~@4 c4@2 ~@2 [c4,f4]@2 ~@3 f3 ~@10", // F F5
})).s("gm_epiano1").gain(0.53)
// chords · electric guitar muted · "HAS MANY"
const electric_guitar_muted = note(`<
~@4 A B C D E F G F H F H F I J K L M L N O P Q R S H F E F H F H F I J T L M U V O P W R S G F E F E F G F H F H F H
F H X Y ~@24 Z AA AB AC AD AE AF AG AH AI AJ AK AJ AL AH AM F AG AN AK AH AO AP
>`.pickRestart({
A: "~@16 [ab5,c6,f6]!2 ~@4 c6 [ab5,f6]", B: "c6 [ab5,c6,f6]@2 [f5,g5] [d5,e5] ~@19",
C: "~ ab6 a6@2 ~@18 [ab5,c6,f6]@2, ~ [c6,f6]@3 ~@20", D: "~ [f5,g5] [d5,e5] ~@21",
E: "~ [db5,f5,bb5]@2 ~ [db5,f5,bb5] ~ [db5,f5,bb5] ~@3 [db5,f5,ab5] [db5,f5] ab5 [bb4,eb5,g5] ~@2 [bb4,eb5,g5] ~ [bb4,eb5,g5] ~@3 [bb4,eb5,g5]!2", // Bbm Db Eb
F: "~ [a4,c5,f5]@2 ~ [a4,c5,f5]!2 ~@4 [a4,c5,f5]!2 ~ [a4,c5,f5]@2 ~ [c5,f5] [a4,c5,f5] ~@4 [a4,c5,f5]!2", // F F5 F
G: "~ [db5,f5,bb5] ~@2 [db5,f5,bb5] ~ [db5,f5,bb5] ~@3 [db5,f5,ab5]!2 ~ [bb4,eb5,g5] ~@2 [bb4,eb5,g5] ~ [bb4,eb5,g5] ~@3 [bb4,eb5,g5]!2", // Bbm Db Eb
H: "~ [db5,f5,bb5]@2 ~ [db5,f5,bb5] ~ [db5,f5,bb5] ~@3 [db5,f5,ab5]!2 ~ [bb4,eb5,g5] ~@2 [bb4,eb5,g5] ~ [bb4,eb5,g5] ~@3 [bb4,eb5,g5]!2", // Bbm Db Eb
I: "~ [a4,d5,f5]@5 ~ [a4,d5,f5] [a4,d5] g5 ~@2 [a4,d5,f5]@6 ~ [a4,d5,f5]@5", // Dm D5 Dm
J: "~ [bb4,d5,g5]@5 ~ [bb4,g5]@5 ~ [a4,db5,f5]@5 ~ [a4,db5,e5]@5, ~@7 d5@3 ~@14", // Gm Eb Aaug A
K: "~ [a4,d5,f5]@4 ~@2 [a4,d5,f5] [a4,d5,g5] ~@2 [a4,d5,f5]@7 ~ [a4,d5,f5]@5", // Dm Dsus4 Dm
L: "~ [bb4,d5,g5]@5 ~ [bb4,d5,g5]@4 ~@2 [a4,db5,f5]@5 ~ [a4,db5,e5]@5", // Gm Aaug A
M: "~ [a4,d5,f5]@4 ~@2 [a4,d5,f5] [a4,d5,g5] ~@2 [a4,d5,f5]@6 ~@2 [a4,d5,f5]@5", // Dm Dsus4 Dm
N: "~ [a4,d5,f5]@3 ~@3 [a4,d5,f5] d5 [a4,g5] ~@2 a4@6 ~ [a4,d5,f5]@5, ~@11 [d5,f5]@6 ~@7", // Dm A7 Dm
O: "~ [bb4,d5,g5]@5 ~ [bb4,d5,g5]@5 ~ [db5,e5,a5]@5 ~ [c5,e5,g5]@4 ~", // Gm A C
P: "~ [a4,c5,f5]!2 ~ [c5,f5] [a4,c5,f5] ~ [a4,c5,f5] [c5,f5] ~ [a4,c5,f5] ~ c5 [a4,c5,f5] c5 ~ [c5,f5] [a4,c5,f5] ~ [c5,f5]!2 ~ [a4,c5,f5] [c5,f5]", // F F5 F F5 F F5 F F5 …
Q: "~ [a4,c5,f5] ~ c5 [c5,f5]!2 ~ [a4,c5,f5] [c5,f5] ~ [c5,f5] [a4,c5,f5] ~ [c5,f5] ~ [c5,f5] [a4,c5,f5]!2 ~ [c5,f5] ~ [a4,c5,f5]!2 f5", // F F5 F F5 F F5 F F5 …
R: "c5 [a4,c5,f5] c5 f5 ~ [a4,c5,f5] ~ [c5,f5] ~ [c5,f5] [a4,c5,f5] ~ c5 [a4,c5,f5] ~ c5 [c5,f5] [a4,c5,f5] ~ [a4,c5,f5]!2 ~ [a4,c5,f5] [c5,f5]", // F F5 F F5 F F5
S: "~ [a4,c5,f5] ~ c5 [c5,f5] [a4,c5,f5] ~ [c5,f5]!2 ~ [a4,c5,f5] [c5,f5] ~ [a4,c5,f5] ~ c5 [c5,f5] [a4,c5,f5] ~ [c5,f5]!2 ~ [a4,c5,f5]!2", // F F5 F F5 F F5 F F5 …
T: "~ [a4,d5,f5]@4 ~@2 [a4,d5,f5] [a4,d5,g5] ~@2 [a4,d5,f5]@7 ~ [a4,d5,f5]@4 ~", // Dm Dsus4 Dm
U: "~ [bb4,d5,g5]@4 ~@2 [bb4,d5,g5]@4 ~@2 [a4,db5,f5]@5 ~ [a4,db5,e5]@4 ~", // Gm Aaug A
V: "~ [a4,d5,f5]@3 ~@3 [a4,d5,f5] d5 [a4,g5] ~ [a4,d5,f5]@6 ~@2 [a4,d5,f5]@5", // Dm A7 Dm
W: "~ [a4,c5,f5] ~ c5 [c5,f5] c5 f5 [a4,c5,f5] [c5,f5] ~ [c5,f5] [a4,c5,f5] ~ [c5,f5] ~ [c5,f5] [a4,c5,f5]!2 ~ [c5,f5]!2 a4 [a4,c5,f5] f5", // F F5 F F5 F F5 F F5 …
X: "~ [a4,c5,f5]@2 ~ [a4,c5,f5]!2 ~@4 [a4,c5,f5]!2 ~ [a4,c5,f5]@2 ~ [c5,f5] [a4,c5,f5] ~@4 [ab5,c6,f6]!2", // F F5 F Fm
Y: "~ [ab5,c6,f6]@2 ~@21", Z: "~@12 [c6,f6]@2 ~ e5 [c5,d5] [a4,b4] ~@6, ~@4 f5 ~@3", AA: "~@11 [ab5,f6,ab6]@4 ~@9",
AB: "~@11 [f5,c6,f6]@4 ~@9", AC: "~@11 [f5,bb5,c6,eb6]@4 ~@9", AD: "~@11 [f5,c6,f6]@5 ~@8",
AE: "~@11 [c5,f5,ab5]@4 ~@9", AF: "~@11 [c5,f5,ab5]@3 ~@10",
AG: "~ [db5,f5,bb5] ~@2 [db5,f5,bb5] ~ [db5,f5,bb5] ~@3 [db5,f5,ab5] [db5,f5] ab5 [bb4,eb5,g5] ~@2 [bb4,eb5,g5] ~ [bb4,eb5,g5] ~@2 bb4 [eb5,g5] [bb4,eb5,g5]", // Bbm Db Eb
AH: "~ [a4,c5,f5]@2 ~ [a4,c5,f5]!2 ~@4 [a4,c5,f5]!2 [a4,c5,f5]@2 ~@2 [c5,f5] [a4,c5,f5] ~@4 [a4,c5,f5]!2", // F F5 F
AI: "~ [db5,f5,bb5]@2 ~ [db5,f5,bb5]!2 ~@4 [db5,f5,ab5]!2 ~ [bb4,eb5,g5] ~@2 [bb4,eb5,g5]!2 ~@3 bb4 [eb5,g5] [bb4,eb5,g5]", // Bbm Db Eb
AJ: "~ a4 ~@2 [a4,c5,f5]!2 ~@4 [a4,c5,f5]!2 ~ [a4,c5,f5]@2 ~ [c5,f5] [a4,c5,f5] ~@4 [a4,c5,f5]!2, [c5,f5] ~@11", // F F5 F F5
AK: "~ [db5,f5,bb5] ~@2 [db5,f5,bb5] ~ [db5,f5,bb5] ~@3 [db5,f5,ab5]!2 ~ [bb4,eb5,g5] ~@2 [bb4,eb5,g5] ~ [bb4,eb5,g5] ~@2 bb4 [eb5,g5] [bb4,eb5,g5]", // Bbm Db Eb
AL: "~ [db5,f5,bb5]@2 ~ [db5,f5,bb5] ~ [db5,f5,bb5] ~@3 [db5,f5,ab5]!2 ~ [bb4,eb5,g5] ~@2 [bb4,eb5,g5] ~ [bb4,eb5,g5] ~@2 bb4 [eb5,g5] [bb4,eb5,g5]", // Bbm Db Eb
AM: "~ [db5,f5,bb5]@2 ~ [db5,f5,bb5] ~ [db5,f5,bb5] ~@3 [db5,f5,ab5] [db5,f5] ab5 [bb4,eb5,g5] ~@2 [bb4,eb5,g5] ~ [bb4,eb5,g5] ~@2 bb4 [eb5,g5] [bb4,eb5,g5]", // Bbm Db Eb
AN: "~ [a4,f5]@2 ~ [a4,c5,f5]!2 ~@4 [a4,c5,f5]!2 [a4,c5,f5]@2 ~@2 [c5,f5] [a4,c5,f5] ~@4 [a4,c5,f5]!2, c5 ~@11", // Dm F F5 F
AO: "~ [db5,f5,bb5]@2 ~ [db5,f5,bb5] bb5 [db5,f5] ~@3 [db5,f5,ab5]!2 ~ [bb4,eb5,g5] ~@2 [bb4,eb5,g5]!2 ~@3 bb4 [eb5,g5] [bb4,eb5,g5]", // Bbm Db Eb
AP: "~ [c5,f5,a5]@2 ~ [c5,f5,a5]@2 ~@18", // F
})).s("gm_electric_guitar_muted").gain(0.36)
// chords · string ensemble 1 · "PRG.CHANGE"
const string_ensemble_1 = note(`<
~@8 A B@2 C@4 D ~@8 E@5 F@2 C@4 D ~@8 E@5 F@2 C@4 G@2 C@2 G@4 H@7 ~@18 I@8 J C@4 K@2 C@4 L@4 M
>`.pickRestart({
A: "~ f6@12 eb6@11, ~ bb5@23", B: "[~ f6@35 [bb5,eb6]@12, c6@3 ~]/2", C: "[[c6,f6]@3 [bb5,eb6]]/2", D: "[c6,f6]@11 ~",
E: "[~ [c6,f6]@107 [bb5,eb6]@12]/5", F: "[~@3 [bb5,eb6], ~ [c6,f6]@37 ~@10]/2", G: "[~ [c6,f6]@35 [bb5,eb6]@12]/2",
H: "[[c6,f6]@157 ~@11]/7", I: "[~ [f5,f6]@191]/8", J: "c6 [bb5,eb6]", K: "[[c6,f6]@35 [bb5,eb6]@13]/2",
L: "[[c6,f6]@37 eb6@11 [c6,f6]@36 [bb5,eb6]@12, ~@37 bb5@14 ~@45]/4", M: "[f5,c6,f6] ~@3",
})).s("gm_string_ensemble_1").gain(0.18)
// other · lead 1 square · "PRG.CHANGE"
const lead_1_square = note("<~@76 A@2 ~@6 B@2 C@2 ~@24>".pickRestart({
A: "[~@2 eb7@2 c7 bb6 ~ f6 eb7@2 c6 bb5@2 [c6,f6] eb6!2 [c6,f6] bb6!2 [c6,f6] ~ eb6 [c6,f6,f7] bb5@2 c6 eb7@2 [f6,f7] ~ bb6 ~@2 eb6 [f6,f7] ~ bb6 ~ eb7@2 f7@2 ~@6, ~ f7@2 ~@4 f7@2 ~ c7@2 ~ f7@2 ~@2 bb5@2 ~ eb7@2 ~@4 eb6 ~@2 bb5@2 ~ eb7@2 ~@14, ~@8 eb6 ~@2 bb6 ~@2 eb7@2 c7@2 ~ [c7,f7]@2 ~@2 bb6 ~ c7@2 ~@4 c7@2 ~@4 c7@2 ~@9]/2", // F5 F F5
B: "[~@2 eb7@2 c7 bb6 ~ f6 eb7@2 [c6,c7] bb5@2 [c6,f6] eb6!2 f6 [bb5,bb6]@2 [c6,f6,c7] eb6!2 [c6,f6,f7] [bb5,bb6]@2 c6 ~ eb6 [f6,f7] bb5@2 ~ eb7@2 [f6,f7] bb6@2 c7 eb7@2 f7 ~@7, ~ f7@2 ~@4 f7@2 ~@2 bb6 ~ f7@2 ~@4 f7@2 ~@5 eb7@2 ~@4 eb6 ~@15, ~@8 eb6 ~@5 eb7@2 [c6,c7]@2 ~@2 eb7@2 ~@3 c7@2 ~@2 bb6 ~ c7@2 ~@15]/2", // C F5 Bb F5 Bb F C
C: "[~@2 eb7@2 c7 bb6@2 f6 eb7@2 [c6,c7] bb5@2 [c6,f6] eb7@2 f6 bb5@2 [c6,f6] eb7@2 [c6,f6,f7] bb6 bb6 [c6,c7] eb7@2 [f6,f7] ~ bb6 c7 ~ eb6 [f6,f7] ~ bb6 c7 eb7@2 f7@2 ~@6, ~ f7@2 ~@4 f7@2 ~@2 bb6 ~ f7@2 ~@2 bb6 ~ [c7,f7]@2 ~@11 eb7@2 ~@14, ~@8 eb6 ~@5 eb6 ~ [c6,c7]@2 ~@2 eb6 ~@2 bb5@2 ~ eb6 ~@2 bb5@2 ~@17]/2", // C F5 C F F5 C
})).s("gm_lead_1_square").gain(0.37)
// other · lead 1 square · "PRG.CHANGE" · soft notes
const lead_1_square_soft = note("<~@76 A B ~@6 C B A D ~@24>".pickRestart({
A: "~@11 c7", B: "~ f6 ~@2 c6 ~@2 c6 ~@16", C: "~@22 c7 ~", D: "~ f6 ~@2 c6@2 ~ c6 ~@16",
})).s("gm_lead_1_square").gain(0.25)
// bass · fretless bass · "ON THE"
const bass = note(`<
A B C D E F B G ~@56 H I J K L M H N O P Q R B S T U V B W X Y C Z AA AB AC Q AD AE F AF AA ~@16
>`.pickRestart({
A: "~ f2@3 f3@3 f2@2 ~ f3@3 f2@3 f3@2 ~ f2@3 f3@2", B: "~ f2@3 f3@3 f2@3 f3@2 ~ f2@3 f3@3 f2@3 f3@2",
C: "~ f2@3 f3@3 f2@3 f3@2 ~ f2@3 f3@2 ~ f2@3 f3@2", D: "~ f2@3 f3@3 f2@3 f3@3 f2@3 bb3@4 ab3 ~ f3@2",
E: "~ f2@3 f3@3 f2@3 f3@3 f2@3 f3@3 f2@3 f3@2", F: "~ f2@3 f3@2 ~ f2@3 f3@2 ~ f2@3 f3@2 ~ f2@3 f3@2",
G: "~ f2@3 f3@2 ~ f2@3 f3@2 ~ f2@3 bb3@4 ab3 ~ f3@2", H: "~ f2@2 ~ f3@3 f2@3 f3@3 f2@3 f3!2 ~ f2@3 f3@2",
I: "~ f2@3 f3@3 f2@3 f3@3 f2@3 f3@2 ~ f2 c3 ~ ab2@2", J: "~ f2@3 f3@2 ~ f2@3 f3@2 ~ f2@3 f3@3 f2@2 ~ f3@2",
K: "~ f2@3 f3!2 ~ f2@3 f3@3 f2@2 ~ f3@3 ~ c3 ~ ab2@2, ~@19 f2@2 ~@3",
L: "~ f2@2 ~ f3@3 f2@3 f3!2 ~ f2@3 f3@3 f2@3 f3@2", M: "~ f2@3 f3!2 ~ f2@3 f3@3 f2@3 f3@2 ~ f2 c3 ~ ab2@2",
N: "~ f2@2 ~ f3@3 a2@3 a3@3 bb2@3 bb3@2 ~ c3@2 ~ c4@2", O: "~ f2@3 f3@2 ~ f2@2 ~ f3@2 ~ f2@3 f3@2 ~ f2@3 f3@2",
P: "~ f2@3 f3@3 f2@2 ~ f3@3 f2@2 ~ f3@2 ~ f2@3 f3@2", Q: "~ f2@3 f3@2 ~ f2@3 f3@3 f2@2 ~ f3@3 f2@3 f3@2",
R: "~ f2@3 f3@3 f2@3 f3@3 f2@3 f3@3 f2@2 ~ f3@2", S: "~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@3 f3@3 f2@2 ~ f3@2",
T: "~ f2@3 f3@3 f2@3 f3@2 ~ f2@2 ~ f3@2 ~ f2@3 f3@2", U: "~ f2@2 ~ f3!2 ~ f2@3 f3@2 ~ f2@3 f3@3 f2@3 f3@2",
V: "~ f2@3 f3@2 ~ f2@2 ~ f3@3 f2@2 ~ f3!2 ~ f2@3 f3@2", W: "~ f2@3 f3@2 ~ f2@3 f3@3 f2@3 f3@2 ~ f2@3 f3@2",
X: "~ f2@2 ~ f3@2 ~ f2@3 f3@3 f2@3 f3@3 f2@3 f3@2", Y: "~ f2@3 f3@3 f2@3 f3@3 f2@2 ~ f3@2 ~ f2@3 f3@2",
Z: "~ f2@3 f3@2 ~ f2@3 f3@2 ~ f2@3 f3@2 ~ f2@2 ~ f3@2", AA: "~ f2@3 f3@2 ~ a2@3 a3@3 bb2@3 bb3@2 ~ c3@3 c4@2",
AB: "~ f2@3 f3@2 ~ f2@3 f3@2 ~ f2@3 f3@3 f2@3 f3@2", AC: "~ f2@3 f3@3 f2@3 f3@3 f2@3 f3!2 ~ f2@3 f3@2",
AD: "~ f2@3 f3!2 ~ f2@3 f3@3 f2@3 f3@2 ~ f2@3 f3@2", AE: "~ f2@3 f3@2 ~ f2@3 f3@2 ~ f2@3 f3@2 ~ f2@3 f3!2",
AF: "~ f2@3 f3@2 ~ f2@3 f3@3 f2@3 f3!2 ~ f2@3 f3@2",
})).s("gm_fretless_bass").gain(0.55)
// bass · slap bass 1 · "ON THE"
const bass_2 = note(`<
~@8 A B C D C E F@2 G H I H I J K L M N O P A Q C D C B R S G T U H V W K X Y Z AA AB A B C D C AC AD@2 AE AF C AG AH
E AI AJ ~@32 A AK C AL C E AD@2 AE AM AN AO AN E AI AP
>`.pickRestart({
A: "~ bb1@2 ~ bb2@3 bb1@3 bb2!2 ~ eb2@3 eb3@3 eb2@3 eb3!2", B: "~ f2@3 f3@3 f2@3 f3!2 ~ f2@3 c3@3 bb2 ab2@2 f2@2",
C: "~ bb1@3 bb2@3 bb1@3 bb2!2 ~ eb2@3 eb3@3 eb2@3 eb3!2",
D: "~ f2@3 f3@3 f2@3 f3 f3@2 f2@3 c3@3 ~ ab2 ~ f2@2, ~@19 bb2@2 ~@3",
// … 123 more lines
More by
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.