0:00/0:00
// Kiss From a Rose — Seal
// 131 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 119 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(131/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(`<
~@6 A@2 B@3 C@5 D E@2 F G@2 H I@3 J@2 K L@2 M N@2 O@3 P Q@3 R@3 S@3 T@2 U V@3 W X Y Z@3 AA AB@2 AC@2 AD AE@2 AF AG@2
AH AI@2 AJ AK@3 ~@9 AL AM@2 AN@2 AO AP AQ@2 AR@3 AS@2 AT AE@2 AU AV AW@2 AA AB@2 AC@2 AD AE@2 AF AX@3
>`.pickRestart({
A: "[~@8 g1@22 d#1 ~]/2", B: "[d#1@11 ~ f1@11 ~ g1@23 ~]/3",
C: "[g1@12 d#1@11 ~ f1@11 ~ g1@21 ~ d1@2 g1@11 ~ f2@3 ~ e2@3 ~]/5", D: "d2@3 ~ c2@3 ~ b1@3 ~ a1@3 ~", E: "[g1@3 ~]/2",
F: "~ d#1@2 d#1", G: "[f1@4 f2 ~@7 d#1@8 d#1@4 f1@4 f2 ~@3]/2", H: "d1 f1 g1@5 d1",
I: "[g1@2 ~@2 g1@2 d1@2 f1@2 d1@2 g1@11 ~ g1@11 ~ d#1@4 a#1@4 d#2@4]/3", J: "[f2@4 c2@4 a1@3 ~ g1@7 ~ g1@3 ~ g1@8]/2",
K: "g1@3 ~ f1@5 ~ f1@3 ~ f1@2", L: "[c2@2 f2@4 d2@2 c2@3 ~ g1@11 ~ g1@6 g1 ~]/2", M: "g1@3 ~ d#1@7 ~ d#1@3 ~",
N: "[f1@9 ~ f1@2 d#1@7 ~ d#1@3 ~ f1@8]/2", O: "[~@2 f1@2 g1@20 g2@2 a2 ~ a#2@6 c3@2 a#2@3 ~ a2@2 g2 ~ g2@3 ~]/3",
P: "f2@3 ~ g2@7 ~ g2@2 d2@2", Q: "[g1@12 g1@22 g1@2 d#1@11 ~]/3", R: "[f1@11 ~ g1@9 ~ d1@2 g1@11 ~ g1@11 ~]/3",
S: "[d#1@12 f1@11 ~ g1 ~ c0@10 ~@10 f1@2]/3", T: "[d#1@9 ~ d#1@2 f1@8 d1@2 f1@2 g1@7 ~]/2",
U: "g1@3 ~ g1@8 g1@2 d1@2", V: "[d#1@7 ~ d#1@4 f1@7 ~ f1@4 g1@11 ~ g1@8 a#1@4]/3", W: "d#2@2 d#2 f2",
X: "c2@4 a#1@4 d#2@7 ~", Y: "d#2 f2 c2 a#1", Z: "[g1@22 ~@2 g1@11 ~ g1@11 ~]/3", AA: "d#1@4 a#1@4 d#2@3 ~ f1@4",
AB: "[c2@4 f2@3 ~ g1@11 ~ g1@11 ~]/2", AC: "[d#1@11 ~ f1@7 ~ f1@3 ~ g1@7 ~]/2", AD: "g1@4 g1@7 ~ g1@4",
AE: "[d#1@2 d#1 f1@2 f1 d#1@2]/2", AF: "d#1 f1@2 f1", AG: "[g1@7 ~ g1@4 g1@6 d1@5 ~ d#1@7 ~]/2",
AH: "d#1@2 f1@4 d#1 g1", AI: "[g1@22 f1@2 d#1@7 ~]/2", AJ: "d#1@4 f1@4 c1@7 ~",
AK: "[d#1@7 ~ d#1@4 f1@6 d#1@2 f1@2 d#1@2 f2@24]/3", AL: "~@7 f1", AM: "[f1@4 f1@2 f1@2 g1@11 ~ g1@9 ~ g1@2]/2",
AN: "[d#1@8 d#1@3 ~ f1@8 f1@2 f1@2 g1@8]/2", AO: "g1!2 g1@2 g1@2 g1@2", AP: "d#1@7 ~ d#1@4 f1@3 ~",
AQ: "[f1@3 ~ f1@3 ~ g1@12 ~@12]/2", AR: "[d#1@11 ~ f1@8 f1@4 g1@12 g1 ~@7 g1@4]/3",
AS: "[d#1@8 d#1@4 f1@7 ~ f1@4 g1@8]/2", AT: "g1 ~@3 g1@8 g1@4", AU: "d#1@4 f1@7 ~ f1@4", AV: "g1@2 g1!2",
AW: "[g1@4 g1@4 g1@11 ~ g1@11 ~]/2", AX: "[g1@7 ~ g1@4 g1@6 d1@5 ~ g1@11 ~ g1@11 ~]/3",
})).s("gm_electric_bass_finger").gain(0.42)
// chords · piano · "A.PIANO 2"
const piano = note(`<
A B C@3 D@3 E@3 F@6 G@2 H I@2 J K@3 L@3 M@2 N O@2 P@2 ~@3 Q R S@3 T@2 U V@3 W@3 X@3 Y Z@2 AA AB@2 AA AC@2 AD@2 AE AF@2
AG AH AI@2 AJ@3 ~@9 AK AL@2 AM@3 AN@2 AO AP@2 AQ AR AS AT AU AV AW AX@3 AA AB@2 AA AC@2 AD@2 AE AY@3
>`.pickRestart({
A: "~@4 g4@2 a4 ~ [d3,f3,a#3]@8", B: "~@2 [c3,f3,a3]@5 ~",
C: "[[b3,d4,g4]@9 ~ g4 a4 [a#3,d4,f4]@5 ~ [a3,c4,e4]@5 ~]/3", // G A# Am
D: "[[b3,d4]@20 g5@2 d5@2 [d4,g4,b4]@17 ~@7, g4@23 ~@25]/3", // Bm G
E: "[[d#4,g4,a#4,d5]@11 ~ [c4,f4,a4]@12 [d4,g4,b4]@22 ~@2]/3", // D#maj7 F G
F: "[[d4,g4,b4]@10 ~@2 [d#4,g4,a#4]@10 ~@2 [c4,f4,a4]@11 ~ [d4,g4,b4]@23 ~ [d4,g4,b4]@12 [c4,f4,a4]@11 ~ [c4,e4,g4]@11 ~, ~@3 d5@2 ~@19]/6", // G D# F G F C
G: "[[d4,g4,b4]@11 ~ [d4,g4,b4]@10 ~@2 [d4,g4,a#4]@8]/2", H: "~@2 [d#4,g4,a#4,d5]@5 ~",
I: "[[f4,a4,c5,d5]@5 ~@7 [d#4,g4,a#4,d5]@9 ~@3 [f4,a4,c5]@8]/2", J: "~@4 [b4,d5,g5]@11 ~",
K: "[[b4,d5,g5]@7 ~ [b4,d5,g5]@3 ~ [b3,d4,g4]@10 g3@2 [b3,d4,g4]@10 g3@2 [a#3,d4,g4]@10 g3@2, ~@12 g3@5 ~@31]/3", // G Gm
L: "[[a3,c4]@4 [a3,a#3,c4]@4 [a3,c4]@2 f3 ~ [b3,d4,g4]@10 g3@2 [b3,d4,g4]@10 g3@2 [a#3,d4,g4]@10 g3@2]/3", // Am G Gm
M: "[[a3,c4]@4 [a3,a#3,c4]@3 ~ [a3,c4]@2 f3 ~ [b3,d4,g4]@10 g3 ~ [b3,d4,g4]@6 g3@2, ~@12 g3@5 ~@15]/2", // Am G
N: "[b3,d4,g4]@2 g3 ~ [g3,a#3,d4,g4]@7 ~ [g3,a#3,d4,g4]@3 ~", // G Gm
O: "[~@4 a#3@3 ~ [a3,c4,f4]@2 ~@2 [g3,a#3,d4,g4]@7 ~ [g3,a#3,d4,g4]@3 ~@5 a#3@3 ~, [a3,c4,f4]@7 ~@17 [a3,c4,f4]@7 ~]/2", // F Gm F
P: "[[a3,c4,f4]@3 ~ [b3,d4,g4]@21 ~@7, ~@2 g3@9 ~@5]/2", Q: "[b3,d4,g4]@3 [b3,d4,g4]", R: "g3@4 f3@4 [a#3,d4,g4]@7 ~",
S: "[[a3,c4,f4]@11 ~ [b3,d4,g4]@12 [b3,d4,g4]@12 [b3,d4,g4]@2 g3@2 g2@2 [g3,b3,d4,g4]@5 ~]/3", // F G
T: "[[g3,a#3,d4,g4]@11 ~ [f3,c4,f4,a4]@11 ~ [g3,d4,g4,b4]@3 ~@5]/2", U: "~@4 [b4,d5,g5] d4 g3@2",
V: "[[d#3,d4,g4,a#4]@11 ~ [f3,c4,a4]@11 ~ [g3,d4,b4]@21 ~@3]/3", // D#maj7 F G
W: "[[d#3,d4,g4,a#4]@11 ~ [f3,c4,a4]@11 ~ [g3,d4,b4]@12 [g3,d4,a#4]@11 ~]/3", // D#maj7 F G Gm
X: "[[d4,g4,a#4]@7 ~ [d4,g4,a#4]@3 d#3 a4@8 d5@3 ~ [d4,g4,a#4]@7 ~ [d4,g4,a#4]@3 d#3 [f4,a4]@4 [f4,a#4]@4 [a4,d5]@4, d#3@5 ~@2 d#3@2 ~@3 [c4,f4]@11 ~@13 c4@11 ~, ~@12 f3@6 ~@6 d#3@5 ~@2 d#3@2 ~@3 f3@6 ~@6]/3", // Gm F A#5 D5 F5
Y: "[g4,b4]@4 a4 b4 a4 [d4,g4], [g3,d4]@3 ~", Z: "[f4 g4 f4 d4 [b3,d4,g4]@5 g3 [b3,d4,g4]@5 g3, ~@8 g3@5 ~@19]/2",
AA: "[a#3,d4,g4]@5 g3 [a3,c4]@2", AB: "[[a3,a#3,c4]@4 [a3,c4]@2 f3 ~ [b3,d4,g4]@10 g3@2 [b3,d4,g4]@10 g3@2]/2",
AC: "[[a3,a#3,c4]@3 ~ [a3,c4]@2 f3 ~ [b3,d4,g4]@10 g3 ~ [b3,d4,g4]@6 g3@2 [b3,d4,g4]@2 g3 ~, ~@8 g3@5 ~@19]/2", // Am G
AD: "[[g3,a#3,d4,g4]@7 ~ [g3,a#3,d4,g4]@3 ~@5 a#3@3 ~ [a3,c4,f4]@2 ~@2 [g3,a#3,d4,g4]@7 ~, ~@12 [a3,c4,f4]@7 ~@13]/2", // Gm F Gm F
AE: "[g3,a#3,d4,g4]@3 ~@5 a#3@3 ~ [a3,c4,f4]@3 ~, ~@4 [a3,c4,f4]@7 ~@5", // Gm F
AF: "[[b3,d4,g4]@20 g4 ~ a4 ~ a#4@5 ~ c5@2, g3@9 ~@7]/2", AG: "a#4@3 ~ a4@4 a#4 g4@3 f4@3 ~, ~@9 a4 ~@6",
AH: "g4@7 ~ g4@2 f4 ~ g4@4", AI: "[~@4 g4@2 a4 ~ a#4@6 c5@2 a#4@4 a4@3 ~ g4@4 f4@3 ~, ~@2 g4@3 f4@2 ~]/2",
AJ: "[a#4@6 c5@2 a#4@4 a4@3 ~ g4@4 f4@3 ~ [a3,c4,f4]@24, g4@12 f4@7 ~@29]/3", AK: "~@7 [c3,c4]",
AL: "[[f2,f3] [g2,g3] [c3,c4] [f3,f4] [b3,d4,g4]@11 ~]/2", // F G C F G
AM: "[[a#3,g4]@10 ~@2 [a3,c4,f4]@11 ~ [b3,d4,g4]@22 ~@2, d4 ~@3]/3", // D# F G
AN: "[[a#3,d4,g4]@11 ~ [a3,c4,f4]@12 [b3,d4,g4] ~ [b3,d4,g4] ~@5]/2", AO: "~ [a3,c4,g4]", AP: "[d5 g4 f4@3 d5@2 ~]/2",
AQ: "~@4 g3@2 ~@2 g3@3 ~ g3@3 ~", AR: "~@4 g3@2 ~@2 g3@5 ~@3", AS: "g3@3 ~ g3@4 ~@4 g3@2 ~@2",
AT: "g3@2 ~@2 g3 ~ g3 ~", AU: "[d#4,g4,a#4,d5]@5 ~ [f4,a4,c5,d5]@2", AV: "~ [d#4,g4,a#4,d5]",
AW: "~@4 [f4,a4,c5]@9 ~@3", // F
AX: "[[b4,d5,g5]@11 ~ [b4,d5,g5]@7 ~ [b4,d5,g5]@3 ~ [b3,d4,g4]@10 g3@2 [b3,d4,g4]@10 g3@2, ~@24 g3@5 ~@19]/3", // G
AY: "[[b3,d4,g4]@21 ~@3 [b3,d4,g4]@10 g3@2 [b3,d4,g4]@9 ~@3, g3@18 ~@6 g3@5 ~@19]/3", // G
})).s("gm_piano").gain(0.41).pan(0.2)
// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
~@6 A@7 B@4 C@3 D@3 E@3 F@3 G@3 H@3 ~@3 I@3 J@3 K@2 ~ L@3 M@6 N@3 O@3 P@3 Q@3 R@3 S@3 T@2 ~@11 U@2 V@5 W X@3 Y@3 Z@3
AA@3 O@3 P@3 Q@3 AB@3
>`.pickRestart({
A: "[~@8 b3@24 a#3@11 ~ [f3,a3]@11 ~ [g3,b3]@35 ~ [g3,a#3]@11 ~ [f3,a3]@8, ~@8 g3@35 ~@69]/7", // F G Gm F
B: "[~@4 [g3,b3]@35 ~ [f3,a3]@12 [g3,c4]@11 ~]/4", C: "[[g3,b3]@24 [g3,a#3]@23 ~]/3",
D: "[[f3,a3]@7 ~@5 [g3,a#3]@11 ~ [f3,a3]@11 ~ [g3,b3]@9 ~@3]/3", E: "[~@12 [g3,b3,d4]@23 ~ [g3,a#3,d4]@12]/3",
F: "[[a3,c4,f4]@11 ~ [g3,b3,d4]@24 [g3,a#3,d4]@11 ~]/3", G: "[[a3,c4,f4]@11 ~ [g3,b3,d4]@23 ~ [g3,a#3,d4]@11 ~]/3",
H: "[[a3,c4,f4]@11 ~ [g3,a#3,d4]@12 [a3,c4,f4]@11 ~@13]/3", I: "[~@12 [g3,b3]@23 ~ [g3,a#3]@11 ~]/3",
J: "[[f3,a3] [g3,b3]@3]/3", K: "[[a#3,d4]@11 ~ [c4,f4]@11 ~ [d4,g4]@3 ~@5]/2", L: "[g3@11 ~ f3@11 ~ g3@23 ~]/3",
M: "[g3@11 ~ f3@11 ~ g3@15 ~ [a#3,d4,g4]@19 ~ [a3,c4,f4]@11 ~ [a#3,d4,g4]@11 ~ [a3,c4,f4]@11 ~]/6", // Gm F Gm F
N: "[[g3,b3,d4]@24 [g3,b3]@23 ~, ~@24 d4 ~@23]/3", O: "[[g3,a#3,d4]@12 [a3,c4,f4]@11 ~ [g3,b3,d4]@24]/3",
P: "[[g3,a#3,d4]@11 ~ [a3,c4,f4]@11 ~ [g3,b3,d4]@23 ~]/3", // Gm F G
Q: "[[g3,a#3,d4]@11 ~ [a3,c4,f4]@11 ~ [g3,a#3,d4]@12 [a3,c4,f4]@11 ~]/3", // Gm F Gm F
R: "[g4@23 ~ [g3,a#3,d4,d#4,g4,a#4]@12 [a3,c4,f4,a4]@12]/3", // D#maj7 F
S: "[[g3,b3,d4,g4,b4]@2 [g3,a#3,d4,d#4,g4,a#4] [a3,c4,f4,a4]]/3", // G D#maj7 F
T: "[[g3,a#3,d4,d#4,g4,a#4]@3 [a3,c4,f4,a4]@3 ~@2]/2", U: "[~ [b3,d4,g4]@3]/2",
V: "[[g3,a#3,d4]@6 [a3,c4,f4]@6 a4@6 g4@6 [g3,a#3]@6 [a3,c4,f4]@6 [b3,d4,g4] ~@3, ~@6 d4@9 ~@5, ~@3 b3@3 ~@4]/5", // Gm F Gm F G
W: "~ [f3,g3,c4]", X: "[a#3@11 ~ [f3,a3]@11 ~ [g3,b3]@23 ~, g3 ~@47]/3",
Y: "[[g3,a#3]@11 ~ [f3,a3]@12 [g3,b3]@23 ~, g5 ~@5 g5 ~@17]/3", // Gm F G
Z: "[[g4,a#4]@11 ~ [f4,a4]@11 ~ [a#4,g5]@11 ~ [a4,g5]@11 ~]/3", AA: "[[g4,g5]@24 [g3,b3,d4]@23 ~]/3",
AB: "[g4@23 ~ [g3,b3,d4]@23 ~]/3", // G
})).s("gm_string_ensemble_2").gain(0.28)
// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
~@22 A B ~@23 C ~@2 D E F@3 G H I@2 J@3 K@3 L@3 M@3 N O ~ N ~@2 P Q R S T U V W X Y Z@5 AA@2 ~@4 AB AC ~@4 AD AE@2 J@3
K@3 L@3 AF@3
>`.pickRestart({
A: "~@14 [a3,c4] ~", B: "[a3,c4]@2 [b3,d4] ~ [b3,d4]@2 [a3,c4]@2 [b3,d4]@2 [d4,f4] ~@5", C: "~@8 g5 ~@7",
D: "g5 ~@3 d5 ~ g5 ~ d5@7 ~", E: "d5 ~ g5 ~ d5@7 ~ g4 ~@3", F: "[~@4 g4@23 ~ f4@12 g4@3 ~ g5@4]/3", G: "~@4 f4@11 ~",
H: "g4@4 g4 ~ a4@2 b4@6 a4@2", I: "[b4@2 c5@2 d5@3 ~ [d5,g5]@22 ~@2]/2",
J: "[g5@4 f5@6 ~@2 g5@4 f5@4 d5 ~@3 [d5,g5]@22 ~@2, d5@10 ~@2 d5@7 ~@29]/3", // G5
K: "[[d5,g5]@11 ~ [d5,f5]@11 ~ [b4,d5]@23 ~]/3", L: "[[a#4,d5,g5] [c5,f5,g5] a#4 a4]/3", M: "[g4 g4]/3", N: "g4 ~@15",
O: "~@8 g4 ~@7", P: "~@12 a#4 ~@3", Q: "f5 ~@3 d5 ~@3 f4 ~@3 c5 ~@3", R: "f5 ~@3 c5 ~@3 f5 ~@3 g5 ~ c5 ~",
S: "~@4 c5 ~@3 c5 ~ f4 ~ f4 ~ f4 ~", T: "c5 ~ c5 ~ c5 ~ f4 ~ f4 ~@3 c5 ~@3", U: "f5 ~ c5 ~ f4 ~@3 c5 ~@3 f5 ~ g5 ~",
V: "f4 ~@3 c5 ~@3 c5 ~ d5 ~ f4 ~@3", W: "c5 ~ d5 ~ c5 ~ f4 ~ f4 ~@3 c5 ~@3", X: "d5 ~ c5 ~ f4 ~@3 c5 ~@3 f5 ~ g5 ~",
Y: "f4 ~@3 c5 ~@3 d5 ~ c5 ~@5", Z: "[f4 ~@3 c5 ~ d5 ~ g5@12 d5@24 [a4,c5]@24 [g4,b4]@12]/5",
AA: "[[g4,a#4]@6 [f4,a4]@6 [d4,g4]!2 ~@2]/2", AB: "g5 ~@11 g5 ~@3", AC: "~@4 g5 ~@3", AD: "a4 c5 b4 g4 a4 c5 b4 g4",
AE: "[a4 c5 b4 g4 [d5,g5]@11 ~]/2", AF: "[g4@12 [d5,g5]@11 ~]/3",
})).s("gm_string_ensemble_1").gain(0.31)
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
~@19 A B@2 C D E F G@2 H I@2 J K L M@2 ~@2 N@5 O@4 P@8 Q@3 R S T U V W X Y Z AA AB AC@8 ~@18 AD@8 Q@3 R S T U V W X Y
Z AA AB AE AF
>`.pickRestart({
A: "~@2 [d#4,g4,a#4]@2 [d#4,g4] [d#3,a#3,d#4,g4] d#3!2, ~@2 [d#3,a#3]@3 ~ [a#3,d#4,g4,a#4]@2, ~@2 a#4 ~", // D# D#5 D#
B: "[[a3,c4,f4,a4]@2 [a3,c4,f4] [c3,f3,a3,c4,f4]!3 a#4@2 ~ [d#3,a#3,d#4,g4] [d#3,a#3,d#4,g4,a#4]@2 [f3,a3,c4,f4,a4]!2 [c3,f3,a3,c4,f4,a4]!2, [c3,f3]@3 ~@3 [d#3,a#3,d#4,g4]@3 ~@3 c3@2 ~@2, ~ a4!2 ~ a#4 ~@3]/2", // F D# F F5 D#
C: "[c3,f3,a3,c4,f4,a4]!2 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!2 d3!2, ~@3 [g3,d4,g4,b4]", // F G
D: "[d3,g3,d4,g4,b4]!6 [d3,g3,d4,g4,b4]@2", // G
E: "[d3,g3,d4,g4,b4]!4 [g3,d4,g4,b4]@2 [g3,d4,g4,b4] [d3,g3,d4,g4,b4], ~@4 d3@3 ~", // G
F: "[d3,g3,d4,g4,b4]!2 [d#3,g3,d4,g4,a#4]@2 [d#3,g3,d4,g4,a#4]@2 [d4,g4,a#4]!2, ~@3 [d#3,g3]", // G D#maj7 Gm D#
G: "[[a3,c4,f4,a4]@2 [a3,c4,f4,a4]!2 [a3,c4,f4] [d3,a3,c4,f4] [g3,d4,g4,b4]@2 [g3,d4,g4,b4] [d3,g3,d4,g4,b4] [d3,g3,d4,g4]!2 [g3,d4,g4,b4]@2 [g3,d4,g4] [d3,g3,d4,g4], d3@3 d3@2 ~ d3@3 ~@3 d3@3 ~, ~@2 a4 ~@2 b4 ~ b4]/2", // F Dm7 G G5 G G5
H: "[d3,g3,d4,g4,b4]@2 [g3,d4,g4,a#4]@2 [g3,d4,g4,a#4] [d3,g3,d4,g4,a#4]!3, ~@2 d3@3 ~@3", // G Gm
I: "[[c3,f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]!4 [g3,d4,g4,b4]@2 [g3,d4,g4,b4]@2 [d4,g4,b4]!2 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!2, ~@3 d3@3 ~@2, ~@5 g3 ~@2]/2", // F G
J: "[d3,g3,d4,g4,b4]!2 [d#3,g3,d4,g4,a#4]@2 [d#3,d4,g4] [d#3,d4,g4,a#4] [d#3,g3,d4,g4,a#4]!2, ~@2 g3 ~, ~@8 a#4 ~@7", // G D#maj7
K: "[d3,a3,c4,f4,a4]@2 [d3,a3,c4,f4,a4]!2 [d3,a3,c4,f4,a4]@2 [d#3,g3,d4,g4,a#4]@2", // Dm7 D#maj7
L: "[d#3,g3,d4,g4,a#4]!4 [d3,a3,c4,f4,a4]!4", M: "[[d3,a3,c4,f4,a4]@2 [d3,a3,c4,f4,a4]@2 [d3,g3,d4,g4,b4]@21 ~@7]/2",
N: "[~@13 b4@22 ~ [d4,g4,a#4]@11 d3 [f4,a4]@11 c3 [d4,g4,b4]@20, ~@12 d3@35 ~@12 [d3,g3]@21, ~@12 [g3,d4,g4]@23 g3@11 ~ [a3,c4]@12 ~@21]/5", // Gm F G G5 Am
O: "[~@4 [d4,g4,b4]@11 ~ [g4,a#4]@11 ~@11 c3 ~ [g4,b4]@24, ~@3 d3@36 ~@25, ~@3 g3@12 [g3,d4]@12 [g3,c4]@12 [f3,g3,d4]@25, ~@7 [f4,a4]@3 ~@6]/4", // G Gm G G5 C5 G7 F
P: "[[g3,d4] a#4@10 d3 [f4,a4]@11 ~ [g4,b4]@23 ~ [g4,a#4]@11 ~@2 a4@10 ~ [g4,b4]@23 ~ [a#3,d#4,g4,a#4]@4 [a#3,d#4,g4] ~ [d#3,a#3,d#4,g4,a#4]@2 [d#3,a#3,d#4,g4,a#4]@2 [d#3,a#3,d#4,g4,a#4]@2 [a3,c4,f4,a4]@4 [a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]@2 [a#3,d#4,g4,a#4]@4 [a#3,d#4,g4,a#4]@2 [d#3,a#3,d#4,g4,a#4]@2, [d3,g4]@11 [g3,c4]@12 [f3,g3,d4]@23 ~ [d3,g3,d4]@12 [f3,a3]@11 ~ [d3,g3,d4]@24 d#3@7 ~@6 [c3,f3]@6 ~@6 d#3@6 ~@2, ~@60 [c4,f4]@11 ~@57]/8", // G5 F G Gm G D# F D# …
Q: "[[d#3,a#3,d#4,g4,a#4]@2 [d#3,a#3,d#4,g4,a#4]@2 [f3,a3,c4,f4,a4]@4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4]@2 [f3,a3,f4]@2 [d3,g3,g4,b4]@4 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]@9 ~@3 [g3,d4,g4,b4]@4 [g3,d4,g4]@2 [d3,g3,d4,g4]@2, ~@4 c3@2 ~ c4@3 ~@14, ~@8 a4 ~@3 a4@4 ~@28 b4@4, ~@14 c3 ~@25 d3@6 ~@2]/3", // D# F G G5
R: "[d3,g3,d4,g4,b4]!2 [d3,b4]@2 [d3,b4] [d3,g3,d4,g4,b4]!3, ~@2 [g3,d4,g4]@3 ~@3", // G G5
S: "[d3,g3,d4,g4,a#4]@2 [d3,g3,d4,g4,a#4]!2 [d3,g3,d4,g4,a#4]@2 [c3,f3,a3,c4,f4,a4]@2", // Gm F
T: "[c3,f3,a3,c4,f4,a4]!2 [c3,f3,a3,c4,f4,a4]@2 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!2", // F G
U: "[d3,g3,d4,g4,b4]!2 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!4", // G
V: "[d3,g3,d4,g4,a#4]@2 [d3,g3,d4,g4,a#4]@2 [d3,g3,d4,g4,a#4]!2 [c3,f3,a3,c4,f4,a4]@2", // Gm F
W: "[c3,f3,a3,c4,f4,a4]!4 [g3,d4,g4,b4]@2 [g3,d4,g4,b4] [d3,g3,d4,g4,b4], ~@4 d3@3 ~", // F G
X: "[d3,g3,d4,g4,b4]!2 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!2 [d3,g3,d4,g4,b4]@2", // G
Y: "[g3,d4,g4,a#4]@2 [g3,d4,g4,a#4] [d3,g3,d4,g4,a#4] [d3,g3,d4,g4,a#4]@2 [c3,f3,a3,c4,f4,a4]@2, d3@3 ~@5", // Gm F
Z: "[c3,f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]@4 ~ a#4@3 [a#2,d#3,a#3,d#4,g4,a#4]@4, ~@2 [a#2,d#3,a#3,d#4,g4] ~", // F D#
AA: "[d#3,a#3,d#4,g4,a#4]@2 [f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]!2 [c3,f3,a3,c4,f4,a4]@2, a#2 ~", // D# F
AB: "[d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4]!2 [d3,g3,g4,b4]@2 [d3,g3,g4,b4] [d3,g3,d4,g4,b4], ~@2 b4@2 d4@3 ~", // G G5 G
AC: "[[d3,g3,d4,g4,b4]!2 [d3,g3,d4,g4,b4]@62]/8", // G
AD: "[~ a#4@10 d3 [f4,a4]@11 ~ [g4,b4]@23 ~ [g4,a#4]@11 ~@2 a4@10 ~ [g4,b4]@18 ~@6 [a#3,d#4,g4,a#4]@4 [a#3,d#4,g4] ~ [d#3,a#3,d#4,g4,a#4]@2 [d#3,a#3,d#4,g4,a#4]@2 [d#3,a#3,d#4,g4,a#4]@2 [a3,c4,f4,a4]@4 [a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]@2 [a#3,d#4,g4,a#4]@4 [a#3,d#4,g4,a#4]@2 [d#3,a#3,d#4,g4,a#4]@2, [d3,g3,d4,g4]@11 [g3,c4]@12 [f3,g3,d4]@23 ~ [d3,g3,d4]@12 [f3,a3]@11 ~ [d3,g3,d4]@18 ~@6 d#3@7 ~@6 [c3,f3]@6 ~@6 d#3@6 ~@2, ~@60 [c4,f4]@11 ~@57]/8", // F G Gm G D# F D# G5 …
AE: "[d3,g3,d4,g4,b4]!2 [d3,g3,d4,g4,b4]@2 [g3,d4,g4,b4]@2 [g3,d4,g4] [d3,g3,d4,g4], ~@4 d3@3 ~, ~@3 b4", // G G5
AF: "~ [d3,g3,d4,g4] [d3,b4]@2 [d3,b4] ~@3, [d3,g3,d4,g4,b4] ~ [g3,d4,g4]@3 ~@3, ~ b4@3 ~@12", // G5 G G5
})).s("gm_acoustic_guitar_steel").gain(0.14).pan(0.8)
// other · acoustic guitar nylon · "NYLON GTR"
const acoustic_guitar_nylon = note(`<
~@6 A B C D B E F G H I J ~@18 K L M N O P Q O R S T@2 U V W X Y Z ~@16 AA AB AC AD AB AE AF AG AH AI AG AH AI AG AH
AI AG AH AJ B C D B C AK ~ AL D B AM D B ~@18
>`.pickRestart({
A: "~@4 g3 b3 d4 g4", B: "d4 b3 g3 b3 d4 g4 d4 b3", C: "g3 a#3 d4 g4 d4 a#3 f3 a3", D: "c4 f4 c4 a3 g3 b3 d4 g4",
E: "g3 b3 d4 g4 d4 b3 g3 a#3", F: "d4 g4 d4 a#3 f3 a3 c4 f4", G: "c4 a3 g3 b3 d4 g4 d4 b3",
H: "g3 b3 d4 g4 d4 ~ g3 b3", I: "d4 g4 d4 ~ f4 c4 a3 c4", J: "a3@2 e4 c4 g3 c4 g3@2",
K: "~@4 [d#4,g4] [f4,a4] [g4,a#4] d#3", // D# F Gm
L: "[g3,a#3,d4] ~ [a4,c5]@2 [g3,a#3,d4,g4,a#4] ~@3 [f4,a4]@2 c3@2 [f3,a3,g4] c4 ~@2", // Gm Am Gm F
M: "[f3,a3,f4] c4 ~ g3 [d4,g4]@6 ~@2 g3@2 d3@2, ~@4 b3 ~@11", N: "~@8 g5@2 d5 ~ g3@2 b3@2, g2@3 ~",
O: "d4 g4 d4 ~ g3 b3 d4 g4", P: "d4 ~ g3 a#3 d4 g4 d4 ~", Q: "f3 a3 c4 f4 c4 ~ g3 b3", R: "d4 ~ g3 b3 d4 g4 d4 ~",
S: "g3 a#3 d4 g4 d4 ~ f3 a3", T: "[c4 f4 c4 ~ g3@6 ~@6]/2", U: "d#3 ~ a#3 d4 ~@2 f3 a3", V: "c4 f4 c4 ~ g3 ~ d4 g4",
W: "d4 ~ g3 ~@2 g4 d4 b3", X: "d#3 g3 a#3 d4 ~@2 f3 ~", Y: "~ f4 c4 a3 g3 b3 d4 g4", Z: "d4 b3 g3 a#3 ~ g4 d4 a#3",
AA: "~@4 d#4@2 g4 c5", AB: "g4 a#4 f4@2 a4 f5 a4 c5", AC: "g4@2 g5 b4 d5 b4 g4@2", AD: "g5 b4 d5@2 d#4@2 g4 c5",
AE: "d#4@2 g4 c5 g4 a#4 f4@2", AF: "a4 f5 a4 c5 f3@2 a3 f4", AG: "a3 c4 f3@2 a3 f4 a3 c4",
AH: "e3@2 g3 e4 g3 c4 d3@2", AI: "f3 d4 f3 a#3 f3@2 a3 f4", AJ: "f3 d4 f3 a#3 g3 b3 d4 g4", AK: "c4 f4 c4 a3 g3 ~@3",
AL: "d#3 g3 a#3 d4 a#3 g3 f3 a3", AM: "d#3 g3 a#3 d4 a#3@2 f3 a3",
})).s("gm_acoustic_guitar_nylon").gain(0.33).pan(0.8)
// other · acoustic guitar nylon · "NYLON GTR" · soft notes
const acoustic_guitar_nylon_2 = note("<~@14 A B ~@23 B C D B E F G ~ H I J K L M ~@66>".pickRestart({
A: "~@5 b3 ~@2", B: "~@3 b3 ~@4", C: "~ b3 ~@5 a#3", D: "~@5 a3 ~@2", E: "~ b3 ~@5 b3", F: "~@5 a#3 ~@2",
G: "~@3 a3 ~@4", H: "~ g3 ~@2 a#3 g3 ~@2", I: "~@3 a3 ~ b3 ~@2", J: "~ b3 ~ b3 d4 ~@3", K: "~@4 a#3@2 ~ a3",
L: "c4 ~@7", M: "~@4 d4 ~@3",
})).s("gm_acoustic_guitar_nylon").gain(0.13).pan(0.8)
// other · oboe
const oboe = note("<A B C@2 D E@2 ~@62 F G@2 H@2 I@2 ~@43>".pickRestart({
A: "~@2 g5 a5 a#5@3 c6", B: "a#5@2 ~@2 a5@4 g5@4 f5@3 ~", C: "[g5@7 ~ g5@2 f5@2 g5@6 ~@2 g5@2 a5@2 a#5@5 ~ c6@2]/2",
D: "a#5@3 ~ a5@3 ~ f5@3 ~ a5@2 ~@2", E: "[g5@7 ~ g5@2 f5@2 g5@11 ~@9]/2", F: "~@3 g5", G: "[f5@7 ~ c5@4 d5@17 ~@3]/2",
H: "[~@4 g5@2 a5@2 a#5@11 ~ a5@3 ~ f5@6 a5@2]/2", I: "[a#5@11 ~ a5@11 ~@9]/2",
})).s("gm_oboe").gain(0.29).pan(0.2)
// other · acoustic guitar steel · "+MANDOLIN"
const acoustic_guitar_steel_2 = note("<~@3 A B C ~@29 D E F ~@31 G H I@2 J K L ~@43>".pickRestart({
A: "~@4 g4 ~ a4 ~ [a#4,c5] a#4@4 ~ c5@2", B: "a#4@2 ~@2 a4!4 g4@2 ~@2 f4@3 ~", C: "g4@3 ~",
D: "~@8 g4 ~ a4 ~ [a#4,c5] a#4@3", E: "~@2 c5@2 a#4@2 ~@2 a4!4 g4@2 ~@2", F: "f4@3 ~ g4@12", G: "~@4 a#4@3 c5",
H: "a#4@2 c5 a#4 a4@4 g4@4 f4@4", I: "[g4@6 d4@2 g4@2 f4@2 g4@7 ~ g4@2 a4@2 a#4@6 c5@2]/2",
J: "a#4@4 a4@2 a#4 a4 g4@4 f4@4", K: "a#4@6 c5@2 a#4@2 c5 a#4 a4@4", L: "g4@4 f4@3 ~@9",
})).s("gm_acoustic_guitar_steel").gain(0.3).pan(0.2)
// other · trombone
// … 97 more lines
More by Seal
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.