0:00/0:00
// Morgen — Calvert
// 96 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 65 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(96/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 · alto sax
const alto_sax = note("<~@46 A B C D A E F G ~@11>".pickRestart({
A: "[gb4,bb4] ~ [gb4,bb4] ~ [gb4,bb4] ~ [gb4,bb4] ~", B: "[bb4,db5]@6 [ab4,c5]@3 [gb4,bb4]@11 ~@4",
C: "[db4,f4]@3 ~@3 [db4,f4]@3 ~@3 [db4,f4]@8 ~@2 [bb3,db4] ~", D: "[db4,f4]@8 ~ [eb4,gb4]@2 ~ [db4,f4]@9 ~@3",
E: "[bb4,db5]@6 [ab4,c5]@3 ~ gb4@10 ~@2 [gb4,bb4]@2, ~@9 bb4@10 ~@5", // Bbm Ab Gb
F: "[e4,c5]@3 ~ [e4,c5]@3 ~@5 [e4,c5]@3 ~ [e4,c5]@3 ~@3 [e4,c5]@2", // C
G: "f4@2 ~@2 f4 ~ f4@2 ~@2 f4 ~ f4@2 ~@2 f4 ~ f4@5 ~",
})).s("gm_alto_sax").gain(0.5)
// chords · string ensemble 1
const string_ensemble_1 = note(`<
A B C@2 A D E@2 F@2 G H I@2 J@2 K B L@2 F@2 M@2 N@2 O@2 P@2 Q@2 R@2 S T K B U A V@2 W X Y@2 P@2 Z@2 AA@2 AB AC H B AD
A AE@2 AF AG AH@3
>`.pickRestart({
A: "[f3,bb3,d4]@23 ~", B: "[g3,bb3,eb4]@11 ~", C: "[[bb3,d4]@8 [a3,c4]@7 ~, f4@11 ~]/2", D: "[g3,bb3,eb4]@23 ~",
E: "[[bb3,d4]@11 ~ [a3,c4]@12 [bb3,d4]@22 ~@2, f3@23 ~]/2", F: "[[g3,bb3,eb4]@23 ~]/2",
G: "[bb3,d4]@12 [a3,c4]@11 ~, f3@11 ~", H: "[f3,bb3,d4]@11 ~",
I: "[g3@22 ~@2 gb3@11 ~ [f3,a3]@11 ~, [c4,eb4], bb3@35 ~@13]/2", // F Cm
J: "[~ bb3@33 ~@2 [f3,a3,c4,f4]@9 ~@3, [f3,d4]@17 ~@7]/2", K: "[f3,bb3]@11 ~, d4",
L: "[[bb3,d4]@11 ~ [c4,eb4]@12 [bb3,d4]@22 ~@2, f3@15 ~, ~@4 a3@3 ~@9]/2", // Bb Cm Bb
M: "[d4@12 [a3,eb4]@10 ~@2 [bb3,d4]@23 ~, f3@23 ~, bb3@5 ~@19]/2", // Adim Bb
N: "[g3@22 ~@2 gb3@11 ~ [f3,a3]@10 ~@2, [c4,eb4]@47 ~, bb3@11 ~@5]/2", O: "[~@12 ab3@11 ~, [f3,bb3,d4]@23 ~]/2",
P: "[[bb3,eb4]@47 ~, gb3@15 ~]/2", Q: "[[f3,bb3,db4,f4]@47 ~]/2", R: "[[gb3,bb3,eb4]@15 ~]/2",
S: "[e3,g3,bb3,c4,e4]@6 ~@6 [e3,g3,bb3,c4,e4]@7 ~@5", // C7
T: "~@4 [f3,a3,c4,eb4,f4]@3 ~@3 [f3,a3,c4,eb4,f4]@3 ~@3 [f3,a3,c4,eb4,f4]@5 ~@3", // F7
U: "d4@12 [a3,c4]@11 ~, f3@11 ~, bb3@5 ~@7", V: "[[g3,bb3,eb4]@47 ~]/2", W: "[bb3,d4]@23 ~, f3@7 ~",
X: "[g3,bb3]@5 ~ [f3,a3]@5 ~, [c4,eb4]@11 ~", Y: "[[bb3,d4]@23 ~, f3@11 ~]/2", Z: "[[f3,bb3,db4,f4]@23 ~]/2",
AA: "[[gb3,bb3,eb4,gb4]@23 ~]/2", AB: "[e3,g3,bb3,c4,e4] ~ [e3,g3,bb3,c4,e4] ~", AC: "[f3,a3,c4,eb4,f4]@19 ~@5",
AD: "bb3@11 ~ [a3,eb4]@11 ~, f3@11 ~, d4@3 ~@5", AE: "[[g3,bb3,eb4]@15 ~]/2", AF: "f3@10 ~@2 g3@9 ~@3, [bb3,d4]@11 ~",
AG: "g3@9 ~@3 gb3@10 ~@2, [bb3,c4,eb4]@11 ~", AH: "[~@36 bb4@23 ~@13, [f3,bb3,d4]@59 ~@13]/3",
})).s("gm_string_ensemble_1").gain(0.3)
// other · electric guitar muted
const electric_guitar_muted = note(`<
~@4 A B C D B@2 E D F G H I D B E D J K C L M N O P Q R S T Q R U V W B X Y K B D Z AA D Q R AB AC AD AE AF AG AH K AI
AJ AK AL AM AN AO AP ~
>`.pickRestart({
A: "bb3@2 ~@4 d4 ~@3 f4 ~ g4@2 ~@2 f4 ~ d4 ~@3 bb3 ~", B: "eb4 ~@5 g4 ~@3 bb4 ~ c5 ~@3 bb4 ~ g4 ~@3 eb4 ~",
C: "bb3 ~@5 d4 ~@3 d4 ~ f4 ~@3 f4 ~ f3 ~ g3 ~ a3 ~", D: "bb3 ~@5 d4 ~@3 f4 ~ g4 ~@3 f4 ~ d4 ~@3 bb3 ~",
E: "bb3 ~@5 d4 ~@3 d4 ~ f4 ~@5 f3 ~ g3 ~ a3 ~", F: "c4 ~@5 eb4 ~@3 eb4 ~ g4 ~@3 g4 ~ eb4 ~@3 c4 ~",
G: "eb4 ~@5 gb4 ~@3 bb4 ~ c5 ~@3 bb4 ~@5 eb4 ~", H: "bb3 ~@5 d4 ~@3 f4 ~ g4 ~@3 f4 ~ d4 ~@3 f4 ~",
I: "bb3 ~@5 d4 ~@3 f4 ~ g4 ~@3 f4 ~ g4 ~ f4 ~ d4 ~", J: "eb4 ~@5 g4 ~@3 bb4 ~ c5 ~@3 bb4 ~ g4 ~@5",
K: "eb4 ~@5 g4 ~@3 bb4 ~ c5 ~@3 bb4 ~ g4 ~@3 bb4 ~", L: "bb3 ~@5 d4 ~@3 f4 ~ g4 ~@3 f4 ~ d4@2 gb4 ~ bb3 ~",
M: "c4 ~@3 c4 ~ eb4 ~@5 g4 ~@3 g4 ~ eb4 ~@3 c4 ~", N: "eb4 ~@3 eb4 ~ gb4 ~@3 gb4 ~ f4 ~@3 f4 ~ f4 ~ d4 ~ c4 ~",
O: "bb3 ~@5 d4 ~@3 f4 ~ g4@2 ~@2 f4 ~ d4@2 ~@2 f4 ~", P: "bb3 ~@3 bb3 ~@5 bb3 ~ bb4 ~@3 bb3 ~ bb4 ~ bb3 ~ bb4 ~",
Q: "eb4 ~@5 gb4 ~@3 bb4 ~ c5 ~@3 bb4 ~ gb4 ~@3 bb4 ~", R: "eb4 ~@5 gb4 ~@3 bb4 ~ c5 ~@3 bb4 ~ gb4 ~@3 eb4 ~",
S: "bb3 ~@5 db4 ~@3 f4 ~ g4 ~@3 f4 ~ db4 ~@3 f4 ~", T: "bb3 ~@5 db4 ~@3 f4 ~ bb4@2 ~@2 f4 ~ db4 ~@3 bb3 ~",
U: "~@6 c5 ~@11 c5 ~@5", V: "~@4 f4 ~@5 f4 ~@5 f4 ~@5 f4 ~", W: "~@6 d4 ~@3 f4 ~ g4 ~@3 f4 ~ d4 ~@3 bb3 ~",
X: "bb3 ~@5 d4 ~@3 eb4 ~ f4 ~@5 f3 ~ g3 ~ a3 ~", Y: "bb3 ~@5 d4 ~@3 f4 ~ g4 ~@3 f4 ~ bb3 ~ c4 ~ d4 ~",
Z: "c4 ~@5 eb4 ~@5 f4 ~@5 f3 ~ g3 ~ a3 ~", AA: "bb3 ~@5 d4 ~@3 f4 ~ g4 ~@3 f4 ~ d4@2 ~@2 f4 ~",
AB: "bb3 ~@5 db4 ~@3 db4 ~ f4 ~@5 db4 ~@3 f4 ~", AC: "bb3 ~@5 db4 ~@3 db4 ~ f4 ~@3 bb4 ~ f4 ~@3 db4 ~",
AD: "eb4 ~@5 gb4 ~@5 c5@2 ~@2 bb4 ~ gb4 ~@3 bb4 ~", AE: "eb4 ~@5 gb4 ~@3 bb4 ~ c5 ~@3 bb4 ~ [gb4,bb4] ~@3 eb4 ~",
AF: "~@6 c5@3 ~@9 c5@2 ~@4", AG: "~@4 f4 ~@5 f4 ~@5 f4 ~@5 f4@2",
AH: "bb3@2 ~@4 d4@2 ~@2 f4 ~ g4@2 ~@2 f4 ~ d4@2 ~@2 bb3 ~", AI: "bb3 ~@5 d4 ~@5 f4 ~@5 f3 ~ g3 ~ a3 ~",
AJ: "bb3 ~@5 d4 ~@3 f4 ~ g4 ~@5 bb3 ~ c4 ~ d4 ~", AK: "eb4 ~@5 g4 ~@3 bb4 ~ c5 ~@3 bb4 ~ g4@2 ~@2 bb4 ~",
AL: "eb4 ~@5 g4 ~@3 bb4 ~ c5 ~@3 bb4 ~ g4@2 ~@2 eb4 ~", AM: "bb3@7 ~@3 bb3 ~ bb3 ~@3 bb3 ~ bb3 ~@3 bb3 ~",
AN: "c4 ~@5 c4 ~@3 d4 ~ eb4 ~@5 eb4 ~@5", AO: "bb3 ~@5 d4@2 ~@2 f4 ~ g4 ~@3 f4 ~ d4 ~@3 f4 ~",
AP: "bb3 ~@5 g4 ~ f4 ~ d4 ~ bb3 ~@11",
})).s("gm_electric_guitar_muted").gain(0.45).pan(0.6)
// bass · acoustic bass
const bass = note(`<
A B C D E F G H I J K L M N O P Q R S T U V G W X Y Z AA AB AC AD AE AB AF AG AH AI AJ S AK AL AM Q AN G AO AB AP AQ
AR AS AT AU AV AW I S AX AY AZ BA BB AD BC ~
>`.pickRestart({
A: "bb1@13 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~", B: "eb1@10 ~@2 eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~",
C: "bb1@7 ~@5 bb1@7 ~@5", D: "f1@2 ~ f1@2 ~", E: "bb1@4 ~@2 bb1@5 ~", F: "eb1@7 ~@5 eb1@7 ~@5", G: "bb1@2 ~ f1@2 ~",
H: "bb1@8 ~@4 f2@4 ~@2 bb1@5 ~", I: "eb2@7 ~@5 eb1@8 ~@4", J: "eb1@8 ~@4 eb2@9 ~@3", K: "bb1@8 ~@4 f1@9 ~@3",
L: "bb1@2 ~ bb1@2 ~", M: "c2@2 ~ c2@2 ~", N: "eb2@9 ~@3 f2@5 ~ f1@5 ~", O: "bb1@7 ~@5 bb1@6 ~@6",
P: "bb1@5 ~ d2@4 ~@2 f2@6 f1@5 ~", Q: "bb1@7 ~@5 bb1@8 ~@4", R: "eb1@6 ~@6 eb1@7 ~@5", S: "bb1@7 ~@5 f1@8 ~@4",
T: "bb1@4 ~@2 bb1@3 ~@3", U: "eb2@7 ~@5 eb2@10 ~@2", V: "eb1@7 ~@5 eb1@8 ~@4", W: "bb1@8 ~@4 f2@5 ~ bb1@4 ~@2",
X: "c2@3 ~ c2@3 ~", Y: "eb2@8 ~@4 f2@6 f1@5 ~", Z: "bb1@8 ~@4 bb1@3 ~@3 f1@4 ~@2", AA: "bb1@11 ~ f2@5 ~ bb1@4 ~@2",
AB: "eb2@8 ~@4 bb2@7 ~@5", AC: "eb2@9 ~@3 eb2@8 ~@4", AD: "bb1@6 ~@6 f2@7 ~@5", AE: "bb1@9 ~@3 bb2@5 ~ bb1@5 ~",
AF: "eb2@8 ~@4 eb2@4 ~@2 eb2@5 ~", AG: "~@6 c2@6 ~@6 c2@5 ~", AH: "~@4 f2@3 ~@3 f2@3 ~@3 eb2@2 d2@4 c2@2",
AI: "bb1@6 ~@6 bb1@7 ~@5", AJ: "eb2@8 ~@4 eb1@7 ~@5", AK: "bb1@6 ~@6 f2@5 ~ bb1@4 ~@2", AL: "eb2@8 ~@4 bb1@7 ~@5",
AM: "eb2@9 ~@3 eb2@4 ~@2 eb2@4 ~@2", AN: "c2@2 f2 f1", AO: "bb1@12 f2@5 ~ bb1@4 ~@2", AP: "eb2@7 ~@5 bb2@6 eb2@4 ~@2",
AQ: "bb1@8 ~@4 f2@7 ~@5", AR: "bb1@7 ~@5 f2@3 ~@3 bb1@5 ~", AS: "eb2@7 ~@5 bb2@7 ~@5",
AT: "eb2@7 ~@5 bb2@5 ~ eb2@5 ~", AU: "~@3 c2@2 ~@4 c2@2 ~", AV: "~@4 f2@2 ~@4 f2 ~ f2@4 eb2@2 d2@4 c2@2",
AW: "bb1@7 ~@5 bb1@4 ~@2 d2@4 ~@2", AX: "bb1@8 ~@4 c2@3 ~@3 d2@3 ~@3", AY: "eb2@7 ~@5 bb1@6 ~@6",
AZ: "eb2@8 ~@4 eb2@4 ~@2 eb2@3 ~@3", BA: "f2@3 ~ g2@3 ~", BB: "c2@9 ~@3 eb2@4 ~@2 f2@5 ~", BC: "bb1 ~ f1 ~ bb1@4",
})).s("gm_acoustic_bass").gain(0.5)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
A B C D E F G@2 H I J K L M@2 N O P Q R S T U@2 V W X Y Z AA AB AC AD AE AF AG@2 AH AI AJ AK AL AM AN AO AP AQ AR AS
AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH@2
>`.pickRestart({
A: "[f3,bb3,d4,f4]@12 ~@2 [f3,bb3,d4,f4] ~ [f3,bb3,d4,f4] ~ [f3,bb3,d4,f4] ~ [f3,bb3,d4,f4] ~ [f3,bb3,d4,f4] ~", // Bb
B: "[g3,bb3,eb4,g4]@12 ~@2 [g3,bb3,eb4,g4] ~ [g3,bb3,eb4,g4] ~ [g3,bb3,eb4,g4] ~ [g3,bb3,eb4,g4] ~ [g3,bb3,eb4,g4] ~", // Eb
C: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4,f4]@3 ~ [f3,d4,f4] ~ [f3,bb3,d4,f4]@3 ~@3 [f3,bb3]@5 ~, eb4 ~@17 [d4,f4]@3 ~@3", // Bb Dm Bb Bb5 Dm
D: "[f3,a3,c4,f4]@2 ~@4 [a3,c4,f4]@4 f3 ~ [f3,a3,c4,f4]@4 ~@2 [f3,a3,c4,f4]@3 ~@3, ~@2 f3 ~@5", // F
E: "[f3,bb3,d4,f4]@4 ~@2 [f3,bb3,d4,f4]@3 ~ [bb3,d4] ~ [f3,d4,f4]@4 ~@2 [f3,bb3]@5 ~, ~@6 [d4,f4] ~", // Bb Dm Bb5 Dm
F: "[g3,bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4,g4]@3 ~ g3 ~ [g3,bb3,eb4,g4]@3 ~@3 [g3,eb4,g4]@6, ~@9 bb3@2 ~", // Eb Cm
G: "[[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4,f4]@3 ~@3 [f3,a3,c4,f4]@3 ~@3 [f3,a3,c4]@6 [f3,bb3,d4]@2 ~@4 [f3,bb3,d4,f4]@3 ~ f3 ~ [f3,bb3,d4,f4]@2 ~@4 [bb3,d4,f4]@4 ~@2, ~@9 f4@4 ~@8 f3@3]/2", // Bb F Bb
H: "[g3,bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4,g4]@3 ~ [g3,eb4,g4] ~ [g3,bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4,g4]@3 ~ eb4 ~", // Eb Cm Eb
I: "[g3,bb3,eb4,g4]@2 ~@4 [g3,bb3,eb4,g4]@3 ~ [g3,eb4,g4] ~ [g3,bb3,eb4,g4]@2 ~@4 [g3,bb3,eb4,g4]@5 ~", // Eb Cm Eb
J: "[f3,bb3,d4,f4]@2 ~@4 [f3,bb3,d4,f4]@3 ~@3 [f3,a3,c4,f4]@3 ~@3 [f3,a3,c4,f4]@5 ~", // Bb F
K: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4,f4]@3 ~ [f3,d4] ~ [f3,bb3,d4,f4]@5 ~ [f3,d4,f4]@4 ~@2, ~@9 bb3 ~@2", // Bb Dm Bb Dm
L: "[eb3,g3,c4,eb4]@4 ~@2 [g3,c4,eb4,g4]@5 ~ [g3,c4,eb4,g4]@3 ~@3 [g3,c4,eb4,g4]@4 ~@2", // Cm
M: "[[gb3,bb3,eb4,gb4]@4 ~@2 [gb3,bb3,eb4,gb4]@3 ~@3 [f3,a3,c4,eb4,f4]@4 ~@2 [a3,eb4,f4]@5 ~ [bb3,d4,f4]@2 ~@4 [f3,bb3,d4,f4]@3 ~ [f3,bb3,d4,f4] ~ [f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4,f4]@3 ~@3, ~@9 f3@4 ~@11, ~@6 c4 ~@9]/2", // Ebm F7 Bb
N: "[f3,bb3,d4,f4]@2 ~ [f3,bb3,d4,f4] ~@2 [f3,c4,f4]@4 ~@2, ~@2 a3 ~", // Bb F5
O: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4,f4]@3 ~ [f3,d4] ~ [f3,bb3,d4,f4]@4 ~@2 [f3,bb3,d4,f4]@3 ~@3", // Bb Dm Bb
P: "[g3,bb3,eb4,g4]@4 ~@2 [g3,bb3,eb4,g4]@3 ~ [g3,bb3,eb4,g4] ~ [g3,bb3,eb4,g4]@4 ~@2 [g3,bb3,eb4,g4]@5 ~", // Eb
Q: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4,f4]@2 ~@4 [f3,a3,c4,f4]@3 ~@3 [f3,a3,c4,f4]@5 ~", // Bb F
R: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4,f4]@3 ~ [f3,bb3,d4] ~ [f3,ab3,d4,f4]@3 ~ [f3,ab3,d4] ~ [ab3,d4,f4]@4 ~@2, ~@3 f3", // Bb Ddim
S: "[g3,bb3,eb4,g4]@4 ~@2 [g3,bb3,eb4,g4]@3 ~ [g3,bb3,eb4,g4] ~ [g3,bb3,eb4,g4]@4 ~@2 [g3,bb3,eb4,g4]@3 ~ [g3,eb4] ~", // Eb Cm
T: "[g3,bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4,g4]@3 ~ [g3,g4] ~ [g3,bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4,g4]@5 ~", // Eb G Eb
U: "[[f3,bb3,d4,f4]@2 ~@4 [f3,bb3,d4,f4]@4 ~@2 [f3,a3,c4,f4]@2 ~@4 [f3,a3,c4]@5 ~ [f3,bb3,d4]@3 ~@3 [f3,bb3,d4,f4]@3 ~ [f3,d4] ~ [f3,bb3,d4,f4]@3 ~ [f3,bb3,d4] ~ [f3,d4,f4]@5 ~, ~@6 f4@3 ~@5 bb3 ~]/2", // Bb F Bb Dm Bb Dm
V: "[g3,c4,eb4]@4 ~@2 [g3,c4,eb4,g4]@3 ~ [g3,c4,eb4,g4] ~ [g3,c4,eb4,g4]@4 ~@2 [g3,c4,eb4]@4 ~@2, ~@9 g4 ~@2", // Cm
W: "[gb3,bb3,c4,eb4,gb4]@4 ~@2 [gb3,bb3,c4,eb4,gb4]@4 ~@2 [f3,a3,c4,eb4,f4]@3 ~@3 [f3,a3,c4,eb4,f4]@5 ~", // Cm7b5 F7
X: "[f3,bb3,d4,f4]@2 ~@4 [f3,bb3,d4,f4]@3 ~ [f3,bb3,d4] ~ [f3,bb3]@4 ~@2 [f3,bb3,d4,f4]@3 ~ [f3,d4] ~, ~@6 [d4,f4] ~@5", // Bb Bb5 Bb Dm
Y: "[f3,ab3,bb3,d4,f4]@2 ~@4 [f3,ab3,bb3,d4]@3 ~ f3 ~ [f3,ab3,bb3,d4,f4]@4 ~@2 [f3,ab3,bb3,d4,f4]@2 ~@4, ~@3 f4@2 ~@7", // Bb7
Z: "[gb3,bb3,eb4,gb4]@3 ~@3 [gb3,bb3,eb4,gb4]@3 ~ [gb3,bb3,eb4,gb4] ~ [eb3,gb3,bb3,eb4,gb4]@3 ~@3 [eb3,gb3,bb3,eb4,gb4]@3 ~ [gb3,bb3,eb4] ~", // Ebm
AA: "[eb3,gb3,bb3,eb4,gb4]@3 ~@3 [bb3,eb4,gb4]@4 gb3 ~ [eb3,gb3,bb3,eb4,gb4]@2 ~@2 [gb3,eb4] ~ [eb3,gb3,bb3,eb4,gb4]@5 ~, ~@2 [eb3,gb3] ~@5", // Ebm
AB: "[f3,bb3,db4,f4]@3 ~@3 [f3,bb3,db4,f4]@3 ~ [f3,bb3,db4,f4] ~ [f3,bb3,db4,f4]@3 ~@3 [f3,bb3,db4,f4]@4 ~@2", // Bbm
AC: "[f3,bb3,db4,f4] ~@5 [f3,bb3,db4,f4]@3 ~ [f3,db4] ~ [f3,bb3,db4,f4] ~@3 [f3,db4,f4] ~ [f3,bb3,db4,f4]@4 ~@2", // Bbm Db Bbm Db Bbm
AD: "[gb3,bb3,eb4,gb4]@2 ~@4 [gb3,bb3,eb4,gb4]@3 ~ [gb3,eb4] ~ [gb3,bb3,eb4,gb4]@3 ~@3 [gb3,bb3,eb4,gb4]@5 ~", // Ebm
AE: "[gb3,bb3,eb4,gb4]@2 ~@4 [gb3,bb3,eb4,gb4]@5 ~ [gb3,bb3,eb4,gb4]@2 ~@2 [gb3,bb3,eb4,gb4] ~ [gb3,bb3,gb4]@5 ~, ~@6 eb4 ~", // Ebm Gb
AF: "~@6 [e3,g3,bb3,c4,e4]@5 ~@7 [e3,g3,bb3,c4,e4]@3 ~@3", // C7
AG: "[[f3,a3,c4,f4]@2 ~@2 [f3,a3,c4,f4] ~ [eb3,f3,a3,c4,f4]@2 ~@2 [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4]@5 ~ [f3,bb3,d4]@2 ~@4 [f3,bb3,d4,f4]@3 ~ f3 ~ [f3,d4]@2 ~@4 [f3,bb3]@6, ~@18 f4@8 ~@16 [d4,f4]@3 ~@3]/2", // F F7 F Bb Dm Bb5 Dm
AH: "[g3,bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4,g4]@3 ~ [g3,eb4,g4] ~ [g3,bb3,eb4,g4]@3 ~@3 [g3,eb4]@6, ~@9 [bb3,g4]@2 ~", // Eb Cm Eb Cm Eb
AI: "[f3,bb3,d4,f4]@2 ~@4 [f3,bb3,f4]@5 ~ [f3,a3,c4,eb4,f4]@3 ~@3 [f3,a3,eb4,f4]@5 ~, ~@6 d4@2 ~@10 c4@3 ~@3", // Bb Bb5 F7
AJ: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4]@3 ~ f3 ~ [f3,bb3,d4,f4]@2 ~@2 [f3,d4,f4] ~ [d4,f4]@4 bb3 ~, ~@3 f4@2 ~@4 f3@3, ~@9 bb3 ~@2", // Bb Dm
AK: "[g3,bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4,g4]@3 ~ [g3,bb3,eb4,g4] ~ [g3,bb3,eb4,g4]@2 ~@4 [g3,bb3,eb4,g4]@3 ~ [g3,bb3,eb4] ~", // Eb
AL: "[g3,bb3,eb4,g4]@2 ~@4 [g3,bb3,eb4,g4]@3 ~ [g3,eb4,g4] ~ [g3,bb3,eb4,g4]@2 ~@2 [g3,eb4] ~ [g3,eb4,g4]@6, ~@9 bb3@2 ~, ~@18 gb3 ~@5", // Eb Cm Eb Cm
AM: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,f4]@4 ~@6 [f3,bb3,d4,f4] ~ [f3,d4,f4]@6, ~@3 d4 ~@5 bb3@2 ~", // Bb Bb5 Bb Dm
AN: "[g3,c4,eb4]@3 ~@3 [g3,c4,eb4]@5 ~ [f3,a3,c4,eb4]@3 ~@3 [f3,a3,c4,eb4,f4]@5 ~, ~@12 f4 ~@11", // Cm F7
AO: "[f3,bb3,d4,f4]@2 ~@4 [f3,bb3,d4,f4]@2 ~@2 [f3,bb3,d4] ~ [f3,bb3,d4,f4]@2 ~@2 [f3,d4] ~ [f3,bb3,d4,f4]@3 ~ [f3,bb3,d4] ~", // Bb Dm Bb
AP: "[f3,bb3,d4,f4]@2 ~@4 [f3,bb3,d4,f4]@3 ~ [f3,bb3,d4] ~ [f3,bb3,d4,f4]@2 ~@2 [f3,d4] ~ [f3,bb3,d4,f4]@4 ~@2", // Bb Dm Bb
AQ: "[gb3,bb3,eb4,gb4]@3 ~@3 [eb3,gb3,bb3,eb4,gb4]@2 ~@2 [gb3,bb3,eb4,gb4] ~ [eb3,gb3,bb3,eb4,gb4]@2 ~@4 [eb3,gb3,bb3,eb4,gb4]@2 ~@2 [gb3,bb3,eb4,gb4] ~", // Ebm
AR: "[eb3,gb3,bb3,eb4,gb4]@2 ~@4 [eb3,gb3,bb3,eb4,gb4]@2 ~@2 [gb3,bb3,eb4,gb4] ~ [eb3,gb3,bb3,eb4,gb4]@3 ~@3 [gb3,bb3,eb4,gb4]@5 ~, ~@6 eb3 ~", // Ebm
AS: "[f3,bb3,db4,f4]@3 ~@3 [f3,bb3,db4,f4]@2 ~@2 [f3,bb3,db4,f4] ~ [f3,bb3,db4,f4]@3 ~@3 [f3,bb3,db4,f4]@3 ~ [f3,bb3,db4,f4] ~", // Bbm
AT: "[f3,bb3,db4,f4]@3 ~@3 [f3,bb3,db4,f4]@3 ~ [f3,bb3,db4,f4] ~ [f3,bb3,db4,f4]@2 ~@2 [f3,bb3,db4,f4] ~ [f3,bb3,db4,f4]@5 ~", // Bbm
AU: "[gb3,bb3,eb4,gb4]@2 ~@4 [gb3,bb3,eb4,gb4]@3 ~ [gb3,bb3,eb4,gb4] ~ [gb3,bb3,eb4,gb4]@2 ~@4 [gb3,bb3,gb4]@4 [gb3,eb4] ~, ~@6 eb4 ~", // Ebm Gb Ebm
AV: "[gb3,bb3,eb4,gb4]@4 ~@2 [gb3,bb3,eb4,gb4]@2 ~@2 [gb3,bb3,eb4,gb4] ~ [gb3,bb3,eb4,gb4]@4 ~@2 [gb3,bb3,eb4,gb4]@4 ~@2", // Ebm
AW: "~@6 [e3,g3,bb3,c4,e4]@6 ~@6 [e3,g3,c4,e4]@5 ~, ~@6 bb3 ~, ~@18 gb3 ~@5", // C7 C
AX: "[f3,a3,c4,f4]@2 ~@2 [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@2 ~@2 [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@2 ~@2 [f3,a3,c4,f4] ~ [f3,c4,f4]@5 ~, ~@6 a3 ~", // F F5
AY: "[f3,bb3,d4,f4]@2 ~@4 [f3,bb3,d4,f4]@3 ~ [f3,d4] ~ [f3,bb3,d4,f4]@3 ~@3 [bb3,d4,f4]@3 ~@3, ~@3 f3", // Bb Dm Bb
AZ: "[g3,bb3,g4]@3 ~@3 [g3,bb3,eb4,g4]@3 ~ [bb3,eb4,g4] ~ [g3,bb3,eb4,g4]@4 ~@2 [g3,eb4,g4]@6, eb4 ~@17 bb3@4 ~@2", // Gm Eb Cm
BA: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,f4]@4 ~@2 [f3,a3,c4,eb4,f4]@3 ~@3 [f3,a3,c4,eb4,f4]@4 ~@2, ~@3 d4 ~@8", // Bb Bb5 F7
BB: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4,f4]@2 ~@2 [f3,bb3,d4] ~ [f3,bb3,d4,f4]@3 ~ [f3,bb3,d4,f4] ~ [f3,d4,f4]@6, ~@9 bb3@2 ~", // Bb Dm
BC: "[g3,bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4,g4]@3 ~ [g3,eb4,g4] ~ [g3,bb3,eb4,g4]@3 ~@3 [bb3,g4]@4 [g3,eb4] ~, ~@6 [g3,eb4] ~", // Eb Cm Eb Cm
BD: "[g3,bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4,g4]@3 ~ [g3,bb3,eb4,g4] ~ [g3,bb3,eb4,g4]@3 ~@3 [g3,bb3,eb4,g4]@4 ~@2", // Eb
BE: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4,f4]@3 ~ [f3,d4,f4] ~ [g3,bb3,d4,g4]@4 ~@2 [g3,bb3,g4]@5 ~, ~@9 d4 ~@2", // Bb Dm Gm
BF: "[g3,bb3,c4,eb4,g4]@4 ~@2 [g3,bb3,c4,eb4,g4]@3 ~@3 [gb3,bb3,c4,eb4,gb4]@4 ~@2 [gb3,bb3,eb4,gb4]@4 ~@2, ~@9 c4 ~@2", // Cm7 Cm7b5 Ebm
BG: "[f3,bb3,d4,f4]@3 ~@3 [f3,bb3,d4,f4]@3 ~ [f3,bb3,d4,f4] ~ [f3,bb3,d4,f4]@2 ~@2 [f3,f4] ~ [f3,bb3,d4,f4]@3 ~ [f3,d4] ~", // Bb F Bb Dm
BH: "[[f3,bb3,d4,f4]@2 ~@4 [f3,bb3,d4,f4]@2 ~@4 [bb3,d4,f4]@23 ~@13, ~@12 f3@19 ~@17]/2", // Bb
})).s("gm_acoustic_guitar_steel").gain(0.35).pan(0.3)
// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
~@2 A ~ B C ~ D E F ~ G ~@4 G ~@2 H I J ~ K ~@2 L M N O ~ P Q ~@3 R A ~ S ~ P ~@2 T U V@2 ~@2 W ~@3 A X ~ Y A ~@3 Z
~@2
>`.pickRestart({
A: "~@10 bb3 ~@13", B: "~@10 [f3,f4] ~ bb3@4 ~@8", C: "~@10 [bb3,eb4,g4] ~@13", D: "~@10 [bb3,d4,f4] ~@13",
E: "~@10 bb3 ~@11 [g3,bb3,g4] ~", F: "~@10 bb3 ~@5 [g3,eb4,g4] ~@7", G: "~@10 [bb3,f4] ~@13", H: "~@10 f4 ~@5 f4 ~@7",
I: "~@22 [bb3,g4] ~", J: "~@10 [bb3,eb4] ~@13", K: "~@10 [bb3,f4] ~@5 f4 ~@7", L: "~@10 f4 ~@11 bb3 ~",
M: "~@10 [ab3,bb3,d4] ~@13", N: "~@10 eb3 ~@11 [eb3,gb4] ~", O: "~@16 [eb3,bb3,gb4] ~@7", P: "~@10 bb3 ~@5 bb3 ~@7",
Q: "~@10 [bb3,gb4] ~@13", R: "~@10 [bb3,d4] ~ [bb3,f4]@2 ~@10", S: "~@10 [bb3,d4] ~@5 bb3 ~@7",
T: "~@10 f4 ~@5 [bb3,f4] ~@5 f4 ~", U: "~@10 f4 ~@5 [bb3,f4] ~@7", V: "~@10 eb3 ~@13", W: "~@22 gb4 ~",
X: "~@10 g3 ~@13", Y: "~@10 f4 ~@13", Z: "~@16 [bb3,d4] ~@5 [bb3,f4] ~",
})).s("gm_acoustic_guitar_steel").gain(0.2).pan(0.3)
// drums · kick
const kick = s("bd").struct("<~@2 A@29 B A B C ~ A@16 C ~ A@10 ~>".pickRestart({
A: "x!2", B: "x ~@2 x!2 ~", C: "~ x ~ x",
})).gain(0.5)
// drums · snare
const snare = s("sd").struct(`<
~@2 A B A@11 C A@3 B A@3 B A@3 D A@6 ~ E A@3 F A@5 G A@3 D A@2 ~ E A@9 H ~
>`.pickRestart({
A: "~ x ~ x", B: "~@3 x ~@4 x!2 ~@2", C: "~@3 x ~@4 x!4", D: "~@3 x ~@5 x!3", E: "~@2 x ~@2 x ~@2 x!4",
F: "~@3 x ~@5 x!2 ~", G: "~@3 x ~@4 x!3 ~", H: "~@3 x!3 ~@6",
})).gain(0.5)
// drums · hihat
const hihat = s("hh").struct(`<
~@2 A B A@3 B A C A B A D A E A@3 F B A@2 F C B A G A B A B A B H I A B A J B A@2 B A K A B A L A B H I A B A B A B A
B@2 M ~
>`.pickRestart({
A: "x ~@2 x ~ x!2 ~@2 x ~ x", B: "x ~@2 x ~ x!2 ~ x!2 ~ x", C: "x ~ x!2 ~ x!2 ~@2 x ~ x",
D: "x ~@2 x ~ x!2 ~@2 x ~@2", E: "x ~@2 x ~ x!2 ~@5", F: "x ~@2 x ~ x!2 ~@4 x", G: "x ~ x!2 ~ x!2 ~ x ~@3",
H: "~ x ~ x", I: "~@2 x ~@2 x ~@2 x ~@3", J: "x ~@2 x ~ x!2 ~ x ~@2 x", K: "x ~ x!2 ~ x ~ x ~@3 x",
L: "x ~@2 x ~ x!2 ~ x ~@3", M: "x!2 ~ x ~@2",
})).gain(0.3)
// drums · ride
const ride = s("rd").struct("<[x ~@8 x!3] [x ~@7 x!4] ~@63>").gain(0.25)
// … 7 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.