0:00/0:00
// Mit viel viel Herz — Howard Carpendale
// 134 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 136 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(134/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(`<
~@4 A@2 B@2 A@4 C@4 D@4 E@4 F@2 A@2 G@2 B@2 H I J I K L M N O P Q R S T U V W@2 X Y W@2 Z Y AA AB AC AD AB@2 AE AF AE
W K AG AH AI K AJ X L AH AK AH AJ AL AM AN AO AP AQ AR AJ W@2 AS AJ W@2 AP Y AB@2 AC AT AB@2 AE AU AB@2 AC AT AB@2 AV
W AW@2 AX@2 D@2 AY AZ AB@2 AC BA AB@2 BB BC AB@2 AC BD BE AB BF W BG@2
>`.pickRestart({
A: "[db2@31 ~]/2", B: "[db2@29 ~@3]/2", C: "[db2@15 ~]/2", D: "[gb1@15 ~]/2", E: "[db2@59 ~@5]/4",
F: "[ab1@29 ~@3]/2", G: "ab1/2", H: "db2@2 ~@2 db2@3 ~ db2 ~ db2@3 ~@3", I: "db2@3 ~@3 db2@4 ab2@2 bb2@2 ab2@2",
J: "db2 ~ db2 ~@2 db2 ~@2", K: "db2@2 ~@2 db2@4 ~@2 db2@3 ~@3", L: "db2@4 ~@2 db2@3 ~ ab2@2 bb2@2 ab2@2",
M: "db2@2 ~@2 db2@3 ~@3 db2@3 ~@3", N: "db2@4 ~@2 db2@3 ~ ab1@2 bb1@2 ab1@2", O: "gb1@3 ~ gb1@5 ~ gb1@3 ~@3",
P: "gb1@4 ~@2 gb1@4 db2@2 eb2@2 bb1 ~", Q: "gb1@2 ~@2 gb1@2 ~@4 gb1@3 ~@3", R: "gb1@3 ~@3 gb1@3 ~ db2@2 eb2@2 bb1@2",
S: "db2@2 ~@2 db2@3 ~@3 db2@4 ~@2", T: "db2@4 ~@2 db2@3 ~ ab2@2 bb2@4", U: "db2@2 ~@2 db2@2 ~@4 db2@3 ~@3",
V: "db2@3 ~@3 db2@3 ~ ab2@2 bb2@4", W: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~", X: "db2 ~ db2@2 ~ db2@2 ~",
Y: "db2@5 ~ db2@4 ab2@2 bb2@2 ab2@2", Z: "db2@2 ~@2 db2@4 ~@2 db2@5 ~",
AA: "gb2@2 gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~", AB: "gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2 ~",
AC: "db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~", AD: "db2 ~ db2@3 ~ f2@3 ~ gb2@3 ~ ab2 ~",
AE: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~", AF: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ gb2@3 ~ ab2 ~",
AG: "db2@3 ~@3 db2@2 ~@2 ab2@2 bb2@2 ab2 ~", AH: "db2@2 ~@2 db2@4 ~@2 db2@3 ~ db2 ~",
AI: "db2@5 ~ db2@3 ~ ab2@2 bb2@2 ab2@2", AJ: "db2@2 ~ db2@2 ab2 bb2 ab2", AK: "db2@5 ~ db2@3 ~ ab2@2 bb2@2 ab2 ~",
AL: "gb1@2 ~@2 gb1@4 ~@2 gb1@3 ~ gb1 ~", AM: "gb1@4 ~@2 gb1@4 db2@2 eb2@2 db2 ~",
AN: "gb1@2 ~@2 gb1@4 ~@2 gb1@2 ~@2 gb1 ~", AO: "gb1@2 ~ gb1@2 db2 eb2 bb1", AP: "db2@2 ~@2 db2@3 ~@3 db2@3 ~ db2 ~",
AQ: "db2@4 ~@2 db2 ~ db2@2 ab2@2 bb2@2 ab2@2", AR: "db2@2 ~@2 db2@4 ~@2 db2@2 ~@2 db2 ~",
AS: "db2@2 ~@2 db2@5 ~ db2@2 ~@2 db2 ~", AT: "db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ eb2@2 db2@2",
AU: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1@2", AV: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ eb2@2",
AW: "gb1/2", AX: "db2/2", AY: "ab1", AZ: "~@2 ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1@2",
BA: "db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ eb2@2 db2 ~", BB: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ eb2 ~",
BC: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ bb1@2 db2 ~ eb2 ~, ~@10 ab1 ~@5",
BD: "db2 ~ db2 ~ db2 ~ db2 ~ db2@2 bb1@2 db2@2 eb2@2", BE: "gb2 ~ gb2 ~ gb2 ~ gb2 ~ gb2@2 gb2 ~ gb2 ~ gb2 ~",
BF: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2@2 eb2@2", BG: "[db2@27 ~@5]/2",
})).s("gm_electric_bass_finger").gain(0.5)
// chords · epiano2 · "E.PIANO"
const epiano2 = note(`<
A B A C A B A B A B A B A B A C D E F E A B G C H@2 A B I@2 A C A C A C A C A C J K D E A B A L H@2 A L H@2 A M N@2 O
P Q@2 R@2 I@2 A B A C A B A C G C A L D S T U A C G L I@2 A C V@2 W X Y Z AA AB AC AD AE@2 AC AF AG AB Y AD AE@2 AH ~
AI ~ AJ@2 AK@2 Y Z AL AB AC AD AM@2 Y AN AO AB AP AD AQ AR AS@2
>`.pickRestart({
A: "[f3,ab3,db4]@7 ~ [f3,ab3,eb4]@7 ~", B: "[f3,ab3,db4]@5 ~ [f3,ab3,c4]@9 ~",
C: "[f3,ab3,db4]@5 ~ [f3,ab3,c4]@8 ~@2", D: "[gb3,bb3,db4]@7 ~ [gb3,bb3,eb4]@7 ~",
E: "[gb3,bb3,db4]@5 ~ [gb3,bb3,c4]@8 ~@2", F: "[gb3,bb3,db4]@7 ~ [gb3,bb3,eb4]@6 ~@2",
G: "[f3,ab3,db4]@7 ~ [f3,ab3,eb4]@6 ~@2", H: "[[ab3,c4,eb4]@29 ~@3]/2", I: "[[ab3,c4,eb4]@7 ~]/2",
J: "[gb3,bb3,db4]@6 [gb3,bb3] ~ [gb3,bb3,eb4]@6 ~@2", K: "[gb3,bb3,db4]@5 ~ [gb3,bb3,c4]@9 ~",
L: "[f3,ab3,db4]@5 ~ [f3,ab3,c4]@7 ~@3", M: "[f3,ab3,db4]@5 ~ [f3,ab3,c4]@6 ~@4",
N: "[[gb3,bb3,db4]@27 ~ [gb3,bb3,db4]@3 ~]/2", O: "[f3,ab3,db4]",
P: "~@2 [f3,ab3,db4] ~@3 [f3,ab3,db4] ~@3 [f3,ab3,db4] ~@3 [f3,ab3,db4] ~", Q: "[[gb3,bb3,db4]@27 ~@5]/2",
R: "[[ab3,c4,eb4]@24 ~@2 [bb3,db4]@2 ~@2 [ab3,c4,eb4] ~, ~@26 gb3 ~@5]/2", // Ab Bbm Ab
S: "db4 ~ db4@3 ~ [gb3,bb3,c4]@8 ~@2, [gb3,bb3]@5 ~@11", T: "[gb3,bb3,db4]@6 ~@2 [gb3,bb3,eb4]@7 ~",
U: "[gb3,bb3,db4]@5 ~ [gb3,bb3,c4]@7 ~@3", V: "[[ab3,c4,eb4]@3 ~]/2",
W: "[f3,ab3,db4]@7 ~ [ab3,eb4]@6 f3 ~, ~@8 f3@5 ~@3", X: "[f3,ab3,db4]@9 ~ [f3,ab3,db4]@5 ~",
Y: "[gb3,bb3,db4]@3 ~ [gb3,bb3,f4]@3 ~", Z: "[gb3,bb3,eb4]@5 ~ [gb3,bb3,db4]@8 ~@2",
AA: "[f3,ab3,db4]@3 ~ [f3,db4,f4]@3 ~", AB: "[f3,ab3,eb4]@5 ~ [f3,ab3,db4]@8 ~@2",
AC: "[gb3,bb3,db4]@6 ~@2 [gb3,bb3,f4]@7 ~", AD: "[gb3,bb3,eb4]@5 ~ [gb3,bb3,db4]@7 ~@3",
AE: "[[ab3,eb4,ab4]@29 ~@3]/2", AF: "[gb3,bb3,eb4]@4 ~@2 [gb3,bb3,db4]@9 ~", AG: "[f3,ab3,db4]@3 ~ [ab3,db4,f4]@3 ~",
AH: "[gb3,bb3]@13 ~@3, db4@15 ~", AI: "[ab3,db4]@15 ~, f3@13 ~@3", AJ: "[[gb3,bb3,db4]@13 ~@3]/2",
AK: "[[ab3,c4,eb4]@5 ~@3]/2", AL: "[f3,ab3,db4]@5 ~@3 [ab3,db4,f4]@6 ~@2",
AM: "[[ab3,c4,eb4]@12 ~@8 ab3@9 ~@3, ~@14 ab3@4 eb4@11 ~@3, ~@16 ab4@13 ~@3]/2", // Ab
AN: "[gb3,bb3,eb4]@5 ~ [gb3,bb3,db4]@9 ~", AO: "[f3,ab3,db4]@5 ~@3 [ab3,db4,f4]@5 ~@3",
AP: "[gb3,bb3,db4]@5 ~@3 [gb3,bb3,f4]@7 ~", AQ: "[ab3,c4,eb4]@13 ~@3", AR: "[ab3,c4]@13 ~@3, gb4 ~",
AS: "[[f3,ab3,db4]@3 ~]/2", // Db
})).s("gm_epiano2").gain(0.35).pan(0.6)
// chords · piano · "A.PIANO"
const piano = note(`<
~@54 A B ~@2 C D E ~ F G H I J K L@2 ~@22 M N O P Q R S T U V O W X Y Z AA AB@2 AC AD AE AF AG AH AI AJ AK AL AM AN AO
AP AQ AR AS AT AU AV AW AX AY AZ BA ~
>`.pickRestart({
A: "~@5 [f4,db5] ~ [gb4,db5]", B: "~@2 [g4,db5]@3 ~ [ab4,db5]@2 ~@2 [ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5]@2",
C: "[f4,ab4,db5]@15 ~", D: "~@2 [db4,f4,ab4,db5] ~@3 [db4,ab4,db5] ~@3 [db4,ab4,db5] ~@3 [db4,ab4,db5] ~",
E: "[db4,gb4,bb4,db5]@15 ~", F: "[eb4,ab4,c5], ab3@5 ~@11",
G: "~@10 [gb3,db4,gb4] ~@3 [ab3,eb4,ab4,c5] ~, ~@5 bb4 ~@2", H: "[ab3,eb4,ab4,c5]@3 ~",
I: "~@2 [eb4,eb5]@2 ~@2 [f4,f5]@2 ~@2 [gb4,gb5] ~ [ab4,ab5] ~ [bb4,bb5] ~", // Eb F Gb Ab Bb
J: "[db5,ab5,db6]@2 ~@2 db6@2 ~@4 [ab5,bb5] ~@3 [ab5,db6]@2, ~@4 ab5 ~@5 db6@2 ~@4", // Db5 Absus2 Db5
K: "~@2 [ab5,db6]@2 f5 ~ eb5 ~ db5 ~ bb4 ~ ab4 ~@3", // Db5
L: "[[ab4,db5]@2 ~@2 [ab4,db5]@4 ~@2 [bb4,db5]@4 [ab4,db5]@4 [f4,db5] ~ [ab4,db5] ~ [ab4,db5] ~ db5@2 ab4 ~ db4@2 ~@2, ~@10 ab4 ~@13 bb4 ~@3 db5 ~@3]/2", // Db5 Bbm Db5 Db Db5
M: "~@2 db5 [db4,db5] ~ [db4,db5] ~@2, ~@4 db4 ~@11", // Db
N: "[db4,db5]@2 [db4,db5]@2 ~@2 db5@2 [db4,db5] ~ [db4,db5] ~ [db4,db5] ~ [db4,db5] ~, ~@6 db4 ~@9", // Db
O: "[bb3,db4] gb3 [bb3,f4] gb3", P: "[bb3,eb4]@4 gb3@2 [bb3,db4]@3 ~ gb3 ~ ab3 bb3 ab3 ~, ~@12 db4@3 ~",
Q: "f3@2 ab3 f3 [ab3,db4,f4]@2 f3@2", R: "[ab3,eb4]@2 f3 [ab3,db4]@2 f3 ~ f3, ~@3 [ab3,db4]",
S: "gb3@2 bb3 gb3 [bb3,f4]@2 gb3@2, ~@4 db4 ~@11", // Bb5
T: "[bb3,eb4]@4 gb3@2 [bb3,db4]@4 gb3@2 ab3 bb3 ab3 gb3, ~@6 db4 ~", U: "ab3@2 [eb4,ab4] ab3 [eb4,ab4]@3 ab3",
V: "~@2 [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~", // Ab5
W: "[bb3,eb4]@2 gb3 [bb3,db4]@2 gb3 ab3 bb3", X: "f3@2 ab3 f3 ~@2 f3@2, ~@4 [ab3,eb4]@3 ~",
Y: "[ab3,db4]@4 f3@2 bb3@4 f3@2 ab3@2 f3 ~", Z: "gb3@2 bb3 gb3 [bb3,f4]@2 gb3@2",
AA: "[bb3,eb4]@2 gb3 ~@2 gb3 ~ gb3, ~@3 [bb3,db4]@4 ~", // Eb5 Bbm
AB: "[ab3 ~ ab3@2 [eb4,ab4]@6 ab3@2 bb3@2 c4@4 ab3@4 [eb4,ab4]@4 ab3@2 [eb4,ab4]@2 ab3 ~, ~@6 eb4@3 ~@7]/2", // Ab5
AC: "gb3@4 [bb3,eb4]@2 ~@2 [bb3,db4]@4 ~@2 bb3 ~, ~@3 gb3@2 ~ gb3@2", // Eb5 Bbm
AD: "[bb3,e4]@4 gb3@2 [bb3,eb4]@4 gb3@2 ~@2 gb3 ~, ~@3 [bb3,db4]", // Bbdim Eb5 Bbm
AE: "f3@4 [ab3,eb4]@2 f3@2 [ab3,db4]@4 ~@2 ab3 ~, ~@3 f3", AF: "[ab3,db4,f4]@2 f3 [ab3,eb4]@2 f3 [ab3,db4] f3",
AG: "gb3@2 ~@2 [gb3,bb3,eb4]@2 ~@2 [bb3,db4]@4 ~@2 bb3 ~, ~@4 gb3 ~ gb3@2", // Ebm Bbm
AH: "[bb3,e4]@4 gb3 ~ [bb3,eb4]@4 gb3@2 [bb3,db4]@2 gb3@2", // Bbdim Eb5 Bbm
AI: "ab3@4 [eb4,ab4]@2 ab3@3 ~ [ab3,eb4,ab4] ~ [ab3,eb4] ~ [ab3,eb4,ab4] ~", // Ab5
AJ: "[ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~ [ab3,eb4,ab4] ~", // Ab5
AK: "gb3 ~@3 gb3@3 ~ [gb3,bb3,f4]@6 gb3 ~", AL: "[bb3,eb4]@4 gb3 ~ [gb3,bb3,db4]@4 gb3@2 g3 ~ bb3@2, gb3@3 ~@9 db4@4",
AM: "[ab3,db4]@4 f3@4 [ab3,db4,f4]@4 f3@3 ~, f3 ~@7", AN: "[ab3,eb4]@4 f3@2 [ab3,db4]@4 f3@2 [ab3,db4]@2 f3 ~",
AO: "gb3@4 bb3@2 gb3@2 ~@6 bb3 ~, ~@4 [bb3,f4]@3 ~, ~@3 gb3", AP: "[bb3,eb4]@2 gb3 [bb3,db4]@2 gb3 [ab3,db4] bb3",
AQ: "ab3@2 [eb4,ab4] ~ [eb4,ab4]@2 ~ ab4, ~@3 ab3@2 ~ ab3@2, ~@14 eb4 ~", // Ab5
AR: "~@2 ab3@2 [bb3,bb4] ~ [db4,db5] ~ [eb4,eb5] ~ [gb4,f5] ~ [ab4,ab5]@2 [gb4,gb5] ~, ~@2 ab4 ~@13", // Bb Db Eb Gbmaj7 Ab Gb
AS: "~@4 [gb4,bb4]@2 ~@2 [gb4,bb4]@4 gb4 ~ gb4 ~, ~@4 eb5 ~@3 f5@7 ~", // Gb
AT: "[bb4,eb5]@4 gb4 ~ [bb4,db5]@4 gb4@2 ab4@2 bb4@2, gb4@3 ~@3 gb4@2 ~@4 db5 ~ db5 ~", // Eb5 Bbm
AU: "[ab4,db5]@2 f4 db4 ~@2 db4@2, ~@4 [ab4,f5]@3 ~", AV: "[ab4,eb5]@4 db4@2 [ab4,db5]@4 db4@2 [f4,db5]@2 db4 ~",
AW: "[bb4,db5] gb4 [bb4,f5] gb4", AX: "[bb4,eb5]@2 gb4 [bb4,db5]@2 gb4 [ab4,db5] bb4",
AY: "[ab3,ab4]@4 [eb4,ab4]@2 ab3@2 ~@2 ab3@3 ~ ab3@2, c5, ~ [eb4,ab4]", // Ab Ab5
AZ: "~@2 [ab3,ab4]@2 ~@2 ab3@2 [bb3,bb4]@2 [db4,db5] ~ [db4,db5]@2 bb3@2, ~@6 ab4 ~@7 bb4 ~", BA: "[db4,f4,ab4,db5]",
})).s("gm_piano").gain(0.5)
// other · brass section · "BRASS"
const brass_section = note(`<
~@55 A ~ B ~ C D E@3 F@2 ~@3 G ~@3 H ~@3 I ~@3 B ~@3 J K@2 ~ J L@2 ~@2 M ~ N ~ M O@3 B ~ B N P Q@3 ~@6 R@2 ~ S ~ T ~
U@3 ~ M ~ M ~ V@3 ~@2
>`.pickRestart({
A: "~@14 [gb5,gb6] ~", B: "~@12 [db5,db6] ~ [db5,db6]@2",
C: "~@2 [db4,db5] ~@3 [f4,f5] ~@3 gb4@2 ~@2 [ab4,ab5]@2, ~@10 gb5 ~@5", D: "[gb4,gb5]@3 ~@13",
E: "[~@10 [ab4,ab5]@2 [bb4,bb5] ~ [ab4,ab5]@26 ~@2 [gb4,db5,gb5] ~@3 [ab4,eb5,ab5] ~]/3", // Ab Bb Ab Gb5 Ab5
F: "[[ab4,eb5,ab5]@25 ~ ab4@2 bb5@2 [db5,db6]@2, ~@26 ab5 ~ bb4 ~@3]/2", // Ab5 Db
G: "~@10 [ab4,ab5]@2 bb5@2 [f4,f5] ~, ~@12 bb4 ~@3", H: "~@12 [db4,db5] ~ [db4,db5]@2",
I: "~@10 [ab4,ab5] ~ [bb4,bb5] ~ [gb4,gb5] ~", J: "~@14 [ab4,ab5]!2", K: "[[ab4,ab5]@31 ~]/2",
L: "[[ab4,ab5]@27 ~ [db5,db6] ~ [db5,db6] ~]/2", M: "~@12 [db5,db6] ~ [db5,db6] ~",
N: "~@10 [db5,db6] ~@3 [db5,db6] ~", O: "[~@10 [db5,db6] ~@3 [ab4,ab5]@28 [bb4,bb5]@2 [db5,db6] ~ [db5,db6] ~]/3",
P: "~@12 db6@2 [db5,db6] ~, ~@12 db5 ~@3", // Db
Q: "[~@10 [db5,db6] ~@3 [ab4,ab5]@27 ~ [ab4,ab5]@2 [bb4,bb5]@2 [db5,db6] ~]/3", R: "[[ab4,ab5]@30 [db5,db6] ~]/2",
S: "~@6 db6!2, ~@12 db5 ~ db5 ~", T: "~@12 [db5,db6] ~ db6@2, ~@14 db5 ~",
U: "[~@10 [db5,db6] ~@3 [ab4,ab5]@27 ~ [db5,db6] ~ [db5,db6] ~ [db5,db6] ~]/3", // Db Ab Db
V: "[~@10 [db5,db6] ~@3 [ab4,ab5]@27 ~ [bb4,bb5]@2 [db5,db6] ~ [db5,db6] ~]/3", // Db Ab Bb Db
})).s("gm_brass_section").gain(0.6)
// chords · percussive organ · "ELEC ORGAN"
const percussive_organ = note(`<
~@24 A@2 B@2 A@2 C@2 D ~@15 A@2 E@2 A@2 F@2 G@2 H I J@2 K@2 L@2 M ~@19 N@2 O@2 P@2 Q@2 R S T U V W L@2 X@2 Y Z V AA@3
~@8 AB@2 AC AD V AE L@2 AF S AG AH AI AE L@2 AJ ~
>`.pickRestart({
A: "[ab4,eb5,ab5]/2", B: "[db5@8 eb5@8 db5@6 c5@9 ~, f4, ab4@15 ~]/2",
C: "[db5@8 eb5@8 db5@6 c5@9 ~, [f4,ab4]@31 ~]/2", D: "[f4,ab4,db5] ~@7",
E: "[db5@4 eb5@4 db5@3 c5@4 ~, f4, ab4@15 ~]/2", F: "[[ab4,db5]@15 ~, f4@9 ~@23]/2", G: "[[db5,gb5]@31 ~]/2",
H: "[f4,ab4,db5]", I: "~@2 [ab4,db5]@2 ~@2 [ab4,db5]@2 ~@2 [ab4,db5]@2 ~@2 [ab4,db5] ~", J: "[[gb4,db5,gb5]@31 ~]/2",
K: "[[ab4,eb5,ab5]@24 ~@2 [gb4,db5,gb5]@2 ~@2 [ab4,eb5,ab5] ~]/2", L: "[[ab4,eb5,ab5]@31 ~]/2",
M: "[f4,ab4,db5]@3 ~@5", N: "[eb5,ab5]/2", O: "[db5@4 eb5@4 db5@3 c5@4 ~, ab4@15 ~, f4@11 ~@5]/2",
P: "[[eb5,ab5]@31 ~, ab4@29 ~@3]/2", Q: "[[ab4,db5]@15 ~, f4 ~@7]/2", R: "gb4@7 ~ [gb4,bb4,f5]@7 ~, db5@5 ~@11",
S: "[gb4,bb4,eb5]@5 ~ [gb4,bb4,db5]@9 ~", T: "[ab4,db5]@7 ~ [ab4,db5,f5]@7 ~", U: "[f4,ab4,eb5]@6 [ab4,db5]@9 ~",
V: "[gb4,bb4,db5]@7 ~ [gb4,bb4,f5]@7 ~", W: "[gb4,bb4,eb5]@5 ~ [gb4,bb4,db5]@8 ~@2",
X: "[[bb4,db5]@6 ~@2 [bb4,db5,f5]@7 ~ [bb4,eb5]@5 ~ [bb4,db5]@9 ~, gb4@31 ~]/2", // Bbm Eb5 Bbm
Y: "[ab4,db5]@6 ~@2 [ab4,db5,f5]@7 ~, f4 ~", Z: "[ab4,eb5]@5 ~ [ab4,db5]@9 ~, f4@7 ~",
AA: "[[gb4,bb4,eb5]@5 ~ [gb4,bb4,db5]@8 ~@2 [eb5,ab5]@31 ~, ~@15 ab4@31 ~@2]/3", // Ebm Gb Ab5
AB: "[[gb4,db5]@8 ~@8 [bb4,eb5]@6 [bb4,db5]@9 ~, bb4@6 ~@2 [bb4,f5]@7 ~@17, ~@12 gb4@19 ~]/2", // Gb5 Eb5 Bbm Bb5
AC: "[ab4,db5]@7 ~ [ab4,db5,f5]@7 ~, f4@15 ~", AD: "[ab4,eb5]@6 [f4,ab4,db5]@9 ~",
AE: "[gb4,bb4,eb5]@5 ~ [gb4,bb4,db5]@7 ~@3", AF: "[bb4,db5]@6 ~@2 [bb4,db5,f5]@7 ~, gb4 ~",
AG: "[f4,ab4]@8 [ab4,db5,f5]@7 ~, db5@3 ~@5", AH: "[f4,ab4,eb5]@5 ~ [ab4,db5]@9 ~",
AI: "[gb4,bb4,db5]@7 ~ [gb4,bb4,db5,f5]@7 ~", AJ: "[ab4,db5], f4@7 ~",
})).s("gm_percussive_organ").gain(0.35).pan(0.3)
// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
~@23 A@7 B C D E F G H I J K L M N O P C Q R S T@2 U V W@2 X Y Z AA AB AC AD AE AF AG AH AI AJ AK C AL AM AN AO AP AQ
AR AS AT AU AV AW AX AO AY AZ BA@2 BB BC BD@2 BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV@8 BW BX BY BZ CA
CB CC CD CE CF CG CH CI CJ CK CL CM CN@2
>`.pickRestart({
A: "[~@16 [eb4,c5,eb5,ab5]@27 ~@5 [db4,ab4,db5]@24 ~@9 ab5@24 ~@7, ~@15 [ab3,ab4]@28 ~@4 [f3,ab3,f4]@25 ~@7 ab3@25 ~@8, ~@10 [eb4,ab4,c5,eb5]@3 ~]/7", // Ab Db5 Ab Fm Ab
B: "~ ab3@2 ~ [db4,f4,ab4,db5]@2 [ab3,db5] ~ [ab3,eb4,f4,ab4,eb5]@3 ~ [eb4,f4,ab4,eb5] [ab3,db4] [ab3,eb4] ~, [db4,f4,ab4,db5]@3 ~ ab3 ~@11", // Db Db5 Fm7 Db5 Ab5 Db
C: "[ab3,db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [c4,f4,ab4,c5]@3 ~ [f4,ab4,c5] ~ [ab3,f4,ab4,c5] ~ [c4,f4,ab4,c5] ~, ~@5 f3 ~@2", // Db Fm
D: "[ab3,db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [ab3,db4,db5] ~ [ab3,eb4,f4,ab4,eb5]@3 ~ [ab3,eb4,f4] ~ [ab3,eb4] ~, ~@6 [ab4,eb5] ~", // Db Db5 Fm7 Ab5
E: "[ab3,db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [c4,f4,ab4,c5]@3 ~ [f3,f4,ab4,c5] ~ [ab3,f4,ab4,c5] ~ [f4,ab4,c5] ~, ~@7 c4", // Db Fm
F: "[ab3,db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [ab3,db4,db5] ~ [ab3,eb4,f4,ab4,eb5]@3 ~ [ab3,eb4,f4,ab4] ~ [eb4,ab4] ~, ~@6 eb5 ~", // Db Db5 Fm7 Ab5
G: "[ab3,db4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [f4,ab4,c5]@3 ~ [f4,ab4,c5] ~ [ab3,f4,ab4,c5] ~ [c4,f4,ab4,c5] ~, f4 ~@5 c4@4 f3@2 ~@4", // Db5 Db Fm
H: "[ab3,db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [ab3,db4,ab4,db5] ~ [ab3,eb4,f4,ab4,eb5]@3 ~ [ab3,eb4,f4,ab4,eb5] ~ [ab3,eb4] ~", // Db Db5 Fm7 Ab5
I: "[ab3,db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [f4,ab4,c5]@3 ~ [f3,f4,ab4,c5] ~ [ab3,f4,ab4,c5] ~ [c4,f4,ab4,c5] ~, ~@3 c4@2 ~@3", // Db Fm
J: "[ab3,db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [ab3,db4,ab4,db5] ~ [ab3,eb4,f4,ab4,eb5]@3 ~ [ab3,eb4,f4,ab4,eb5] ~ [ab3,eb4,ab4,eb5] ~", // Db Db5 Fm7 Ab5
K: "~ ab3@2 ~ [ab3,db4,f4,ab4,db5] ~ [c4,ab4,c5]@4 [f3,f4,ab4,c5] ~ [ab3,f4,ab4,c5] ~ [c4,f4,ab4,c5] ~, [db4,f4,ab4,db5]@3 ~@3 f4@2 ~@8", // Db Fm Db
L: "[gb3,db4,gb4,bb4,db5]@3 ~ [db4,gb4,bb4,db5] gb3 [gb3,db4,bb4,db5] ~ [gb3,eb4,gb4,bb4,eb5]@3 ~ [gb3,eb4,gb4,bb4,eb5] ~ eb5 ~", // Gb Ebm
M: "[gb3,db4,gb4,bb4,db5]@2 ~@2 [gb3,db4,gb4,bb4,db5] ~ [gb3,c4,gb4,bb4,c5]@3 ~ [gb3,c4,gb4,bb4,c5] ~ [c4,gb4,bb4,c5] ~ [gb4,bb4] ~, ~@13 gb3@2 ~", // Gb Cm7b5 Gb
N: "[db4,gb4,bb4,db5]@3 ~ [gb4,bb4,db5] gb3 [gb3,bb4,db5] ~ [gb3,eb4,gb4,bb4,eb5]@3 ~ [gb3,eb4,gb4,bb4,eb5] ~ [gb3,eb4,bb4,eb5] ~, gb3 ~@3 db4@3 ~@9", // Gb Ebm
O: "[gb3,db4,gb4,bb4,db5]@3 ~ [gb3,db4,gb4,bb4,db5] ~ [gb3,c4,gb4,bb4,c5]@3 ~ [gb3,c4,bb4,c5] ~ [gb3,c4,gb4,bb4,c5]@2 gb4 ~", // Gb Cm7b5
P: "[db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [db4,f4,ab4,db5] ~ [ab3,eb4,f4,ab4,eb5]@3 ~ [ab3,eb4,f4,ab4,eb5] ~ [eb4,eb5] ~", // Db Fm7 Eb
Q: "[ab3,db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [ab3,db4,f4,ab4,db5] ~ [ab3,eb4,f4,ab4,eb5]@3 ~ [ab3,eb4,f4,ab4,eb5] ~ [ab3,eb4,f4,eb5] ~, ~@8 db5 ~@7", // Db Fm7
R: "[ab3,db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] ~ [c4,f4,ab4,c5]@3 ~ [f4,ab4,c5] ~ [ab3,f4,ab4,c5] ~ c4 ~, ~@5 f3 ~@2", // Db Fm
S: "[ab3,ab4,c5,eb5,ab5]@15 ~", // Ab
T: "[[ab3,ab4,c5,eb5,ab5]@3 ~ ab3 ~ [ab3,ab4,c5,eb5,ab5]@3 ~ ab3 ~ [ab3,ab4,c5,eb5,ab5]@2 ~ ab4 [db4,f4,ab4,db5]@3 ~ [f3,ab3,db4,f4,ab4,db5]@3 ~ [f3,ab3,db4,f4,ab4,db5] ~ [f3,ab3,db4] f4 ~ f3@2 ~, ~@15 [f3,ab3]@4 ~@9 [ab3,db4,f4,ab4,db5]@3 ~]/2", // Ab Db Fm Db
U: "~ f3@2 ~ [f3,ab3,db4,f4,ab4,db5]@2 [db4,f4,ab4,db5]@2 [ab3,db4,ab4] f3 [ab3,f4,ab4,db5] ~ [f3,ab3,db4,f4,ab4,db5]@2 ~@2, [ab3,db4,f4,ab4,db5]@3 ~@3 [f3,ab3] ~@9", // Db Db5 Db Fm
V: "[ab3,ab4,c5,eb5]@7 ~ [ab3,ab4,c5,eb5] ~ [ab3,eb5] ~ [ab3,ab4,c5,eb5,ab5]@3 ~, ab5 ~", // Ab Ab5 Ab
W: "[[ab3,ab4,c5,eb5,ab5]@3 ~ [ab4,eb5,ab5]@2 [ab3,c5] ~ [ab3,ab4,c5,eb5] ~ [ab3,c5,eb5] ~ [ab3,ab4,c5,eb5,ab5]@2 ~ ab4 [ab3,db4,f4,ab4,db5]@3 ~ [f3,ab3,db4]@2 [ab4,db5] ~@2 eb4@2 ~ [f3,ab3,eb4,f4,ab4,eb5]@2 [ab4,eb5] ~, ~@4 [ab3,c5] ~@10 f3@4 ~ [f4,ab4,db5] ~@3 [f3,ab3,f4,ab4,eb5]@3 ~@5]/2", // Ab Ab5 Ab Db Db5 Fm7 Ab5 Ab …
X: "~ eb5 ~@2 [f3,ab3,db4,ab4,db5] ~ [f3,ab3,db4,db5]@2 ~@2 [f3,ab3,db4,f4,ab4,db5]@3 ~ [ab3,db4,f4,ab4,db5] f3, [f3,ab3,db4,f4,ab4,db5]@3 ~@13", // Db
Y: "[gb3,db4,gb4,bb4,db5]@3 ~ [gb3,db4,gb4,bb4,db5]@2 [db4,bb4,db5] ~ [gb3,db4,gb4,bb4,db5]@2 ~@2 [gb3,db4,gb4,bb4,db5] ~ [gb3,db4,bb4,db5] ~", // Gb
Z: "[gb3,db4,gb4,bb4,db5]@2 ~@2 [gb3,db4,gb4,bb4,db5] ~ [gb3,db4,gb4,bb4,db5] ~ [gb3,db4,gb4,bb4,db5] ~ [db4,bb4,db5] ~ [gb3,db4,gb4,bb4,db5]@2 ~@2", // Gb
AA: "[f3,db4,f4,ab4,db5]@2 ~@2 [f3,db4,f4,bb4] ~ [f3,db4] ~ [f3,db4,f4,ab4,db5]@2 ~@2 [f3,db4,f4,ab4,db5] ~ [db4,ab4,db5] f3, ~@2 [ab4,db5] ~@5", // Db Bbm Db Db5
AB: "[f3,db4,f4,ab4,db5] ~ [f3,db4,f4,ab4,db5]@2 ~@2 [f3,db4,f4,ab4,db5]@2 ~@3 f3 ~@2 [f3,db4,f4,ab4,db5] ~, ~@5 [db4,f4,ab4,db5] ~@2", // Db
AC: "~ gb3@2 ~ [db4,gb4,bb4,db5] ~ [db4,bb4,db5] ~ [gb3,db4,gb4,bb4,db5]@2 ~@2 [gb3,db4,gb4,bb4,db5] ~ [gb3,db4,gb4,bb4,db5] ~, [db4,gb4,bb4,db5] ~ gb3 ~@5", // Gb
AD: "[gb3,db4,gb4,bb4,db5]@2 ~@2 [gb3,db4,gb4,bb4,db5] ~ [gb3,db4,bb4] ~ [gb3,db4,gb4,bb4,db5]@2 ~@2 [gb3,db4,gb4,bb4,db5] ~ [gb3,db4,gb4,bb4,db5] ~", // Gb
AE: "[ab3,eb4,ab4,c5]@3 ~ [ab4,c5]@2 ab3 ~ [ab3,eb4,ab4,c5] ~ ab3 ~ [ab3,ab4,c5,ab5] ~ [ab3,ab4,c5,ab5] ~, ~@4 [ab3,eb4] ~@11", // Ab Ab5
AF: "[ab3,eb4,ab4,c5,ab5]@3 ~@2 ab3 [ab3,eb4,c5] ~ [ab3,eb4,c5,ab5] ab4 ~ [gb4,ab4,db5] ~@2 [ab3,eb4,ab4,c5,ab5] ~, ~@2 [eb4,ab4,c5,ab5] ~@2 [gb3,db4,gb5] ~@2", // Ab Gbsus2 Ab Gb5
AG: "[ab3,eb4,ab4,c5,ab5]@3 ~ [ab4,c5,ab5]@2 [ab3,eb4] ~ [ab3,eb4,ab4,c5,ab5]@2 ~@2 [ab3,eb4,ab4,c5] ~ [ab3,eb4,c5] ~, ~@4 [ab3,eb4] ~@7 ab5@2 ~@2", // Ab Ab5 Ab Ab5
AH: "[ab3,eb4,ab4,c5,ab5]@2 ~@2 [ab3,eb4,ab4,c5,ab5] ~ [ab3,eb4,ab4,c5] ~ [ab3,eb4,ab4,c5,ab5]@3 ~ [ab3,eb4,ab4,c5,ab5] ~@3", // Ab
AI: "[f3,db4,f4,ab4,db5]@3 ~ [f3,db4,f4,ab4,db5] ~ [f3,ab4,db5] ~ [f3,eb4,f4,ab4,eb5]@3 ~ [f3,eb4,f4,ab4,eb5] ~ [f3,eb4,eb5] ~", // Db Fm7 F7
// … 156 more lines
More by Howard Carpendale
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.