0:00/0:00
// Garden Party — Marillion
// 94 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 150 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(94/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 · church organ · "CHURCH ORG"
const church_organ = note(`<
A B C D E F G H I@3 J@3 K@3 L@8 ~@17 M@8 N@8 O@5 ~@17 P Q R Q P Q R Q P Q R Q P Q R Q P Q R Q P Q R Q P Q R Q S T@2 U
S V W U P Q R Q P Q R Q X Y Z Y X Y Z Y X Y Z Y X Y Z Y P Q R Q P Q R Q AA@2
>`.pickRestart({
A: "[a4,d5,f#5]", B: "[a4,c#5,e5]", C: "[a4,c5,e5]", D: "~ [g4,b4,d5]@31", E: "~ [a4,d5,f#5]@31",
F: "~ [a4,c#5,e5]@31", G: "~ [a4,c5,e5]@15", H: "~ [g4,b4,d5]@15",
I: "[~@3 [a4,d5,f#5]@32 [a4,c#5,e5]@32 [a4,c5,e5]@29]/3", J: "[~ [g4,b4,d5]@8 [a4,d5,f#5]@8 [a4,c#5,e5]@7]/3",
K: "[~@5 [a4,c5,e5]@32 [g4,b4,d5]@32 [a4,d5,f#5]@27]/3", // Am G D
L: "[~@6 [a4,c#5,e5]@32 [a4,c5,e5]@32 [g4,b4,d5]@32 ~ [a4,d5,f#5]@32 [a4,c#5,e5]@32 [a4,c5,e5]@32 ~ [g4,b4,d5]@32 ~@24]/8", // A Am G D A Am G
M: "[~@14 [a4,d5,f#5]@31 [a4,c#5,e5]@32 [a4,c5,e5]@32 [g4,b4,d5]@31 [a4,d5,f#5]@32 [a4,c#5,e5]@32 [a4,c5,e5]@31 [g4,b4,d5]@21]/8", // D A Am G D A Am G
N: "[~@11 [a4,d5,f#5]@32 [a4,c#5,e5]@31 [a4,c5,e5]@32 [g4,b4,d5]@32 [a4,d5,f#5]@31 [a4,c#5,e5]@32 [a4,c5,e5]@32 [g4,b4,d5]@23]/8", // D A Am G D A Am G
O: "[~@8 [a4,d5,f#5]@32 [a4,c#5,e5]@32 [a4,c5,e5]@31 [g4,b4,d5]@31 ~@26]/5", P: "[d5,f#5,a5]", Q: "[c5,e5,g5]",
R: "[d5,g5,b5]", S: "[d6,f#6,a6]", T: "[[c6,e6] [b5,d6], g6]/2", U: "[c6,e6,a6]", V: "[c6,e6,g6]", W: "[b5,d6,g6]",
X: "[d7,f#7,a7]", Y: "[c7,e7,g7]", Z: "[g6,b6,d7]", AA: "[~ [d7,f#7,a7]@61 ~@2]/2",
})).s("gm_church_organ").gain(0.36)
// chords · church organ · "CHURCH ORG" · soft notes
const church_organ_soft = note("<~@24 A@7 B@7 C@4 D ~@19 E@8 F G@5 H@3 I ~@70>".pickRestart({
A: "[~@8 a4@36 g4@37 f#4@27 ~ f#3@9 g3@36 a4@27 ~ e4@9 g4@33]/7",
B: "[~@4 f#4@27 d4@9 g3@32 ~@5 a4@37 g4@27 d4@9 f#4@37 g4@37]/7",
C: "[e6@7 d6@7 c#6@6 b5@7 a5@9 ~ e5@36 f#5@7 e5@7 d5@23 e5@6 f#5@6 g5@6]/4", D: "a5@3 b5@2 c#6@2 ~@9",
E: "[~@7 a4@36 g4@35 f#4@27 f#3@9 g3@36 a4@27 e4@9 g4@36 f#4@26 d4@8]/8", F: "~ g3@31",
G: "[~@5 a4@36 g4@27 d4@9 f#4@36 g4@35 e6@6 ~ d6@5]/5", H: "[~@2 c#6@7 b5@6 a5@9 e5@36 f#5@7 e5@6 d5@22 ~]/3",
I: "e5@3 f#5@3 g5@3 a5@3 b5@2 c#6@2",
})).s("gm_church_organ").gain(0.2)
// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
~@4 A B C@2 D@3 E@2 F@4 G@2 H@4 I J@2 K@3 L@2 M@3 N O@2 P Q R S@2 T U V@2 W X@2 Y@4 Z@2 AA@3 I@2 AB@3 AC@3 AD@2 AE@2
AF AG AH@2 AI@2 AJ@3 AK AL@4 ~@8 AM AN AO AP AQ AR AS AT AU AO AV AW AX AY AZ BA BB BC@3 BD BC@2 BE BF BG BH BG BI@2
BJ@2 ~@16 BK BL BM BN BO BP BQ BR BS@2
>`.pickRestart({
A: "~ [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~", // D
B: "~ [f#3,a3,d4]@2 ~@5 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2", // D
C: "~ [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@3 [f#3,a3,d4] ~ [f#3,a3,d4]!3", // D
D: "[~@3 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~]/3", // D
E: "[f#3,a3,d4] ~ [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@3 [f#3,a3,d4] ~ [f#3,a3,d4]!2", // D
F: "[[f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@3 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@3 [f#3,a3,d4]@2]/4", // D
G: "[f#3,a3,d4]!2 ~ [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@3 [f#3,a3,d4] ~ [f#3,a3,d4]", // D
H: "[[f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@7 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@7 [f#3,a3,d4]@2 ~@2]/4", // D
I: "[f#3,a3,d4]!3 ~ [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@3 [f#3,a3,d4] ~", // D
J: "[[f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 e5@7 c#5@6 a4@7 e5@7 c#5@7 ~@2 d5@7 b4@7 g4@6]/2", // D
K: "[~ d5@7 b4@6 ~@3 a4@7 f#4@7 d4@7 a4@7 f#4@5 ~@4 d5@6 ~ b4@6 g4@7 d5@6 ~ b4@4 ~@5 e5@6]/3",
L: "[~ c#5@7 a4@7 e5@7 c#5@7 ~@2 d5@7 b4@7 g4@7 d5@7 b4@5]/2",
M: "[~@4 a4@7 f#4@7 d4@6 a4@7 f#4@5 ~@4 d5@6 ~ b4@7 g4@7 d5@6 ~ b4@4 ~@5 e5@7 c#5@7 a4@5]/3",
N: "~@2 e5@7 c#5@7 ~@2 d5@7 b4@7", O: "[g4@6 d5@7 b4@6 ~@3 a4@7 f#4@7 d4@7 a4@7 f#4@5 ~@4 d5@5]/2",
P: "~@2 b4@7 g4@7 d5@6 ~ b4@4 ~@5", Q: "e5@7 c#5@7 a4@6 e5@7 c#5@5", R: "~@5 d5@6 b4@7 g4@7 d5@7",
S: "[b4@6 ~@3 a4@7 f#4@7 d4@7 a4@7 f#4@5 ~@4 d5@6 b4@6 g4@6]/2",
T: "d5@5 ~ b4@3 ~@5 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4", // D
U: "~@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4] [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@5", // D
V: "~ [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@5", // D
W: "~ [f#3,a3,d4]@2 ~@2 [f#3,a3,d4] [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6", // D
X: "[f#3,a3,d4] ~ [f#3,a3,d4]!3 ~ [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@3", // D
Y: "[[f#3,a3,d4]@2 ~ [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~ [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2]/4", // D
Z: "~ [f#3,a3,d4]!3 ~ [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@3 [f#3,a3,d4]", // D
AA: "~ [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~", // D
AB: "[[f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@5 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@2 ~@6 [f#3,a3,d4]@2 ~@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 ~@2 e5@6 c#5@7 a4@7 e5@5]/3", // D
AC: "[~@2 c#5@7 ~@2 d5@6 b4@6 ~ g4@7 d5@6 b4@6 ~@3 a4@7 f#4@7 d4@6 a4@7 f#4@5 ~@4 d5@6 ~ b4@6 ~]/3",
AD: "[g4@6 d5@6 ~ b4@4 ~@5 e5@7 c#5@6 a4@7 e5@7 c#5@7 ~@2 d5@6]/2",
AE: "[b4@6 ~ g4@7 d5@7 b4@6 ~@3 a4@6 f#4@7 d4@7 a4@6 f#4@5 ~@3]/2", AF: "~ d5@6 ~ b4@6 ~ g4@6 ~ d5@6 b4@4",
AG: "~@5 e5@7 c#5@7 a4@6 e5@7", AH: "[c#5@7 ~@2 d5@6 ~ b4@6 g4@7 d5@7 b4@6 ~@3 a4@7 f#4@6 d4@6]/2",
AI: "[~ a4@7 f#4@5 ~@4 d5@6 b4@6 ~ g4@6 ~ d5@6 b4@4 ~@5 e5@7 c#5@5]/2",
AJ: "[~@2 a4@7 e5@6 c#5@7 ~@2 d5@6 ~ b4@6 ~ g4@6 d5@7 b4@6 ~@3 a4@7 f#4@6 d4@7 a4@7 f#4@5 ~@4]/3",
AK: "d5@6 b4@6 g4@6 d5@5 ~ b4@3 ~@5",
AL: "[f#3,a3,d4] ~@2 [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@3 [f#3,a3,d4] ~ [f#3,a3,d4]!3 ~", // D
AM: "a5@6 g5@5 ~ f#5@6 d5@6 e5@4 f#5@4", AN: "a5@5 ~ g5@6 f#5@6 d5@6 e5@4 f#5@4",
AO: "a5@3 g5@3 f#5@3 d5@3 e5@2 f#5@2", AP: "a5@6 g5@6 f#5@6 d5@4 ~@3 e5@2 f#5@4 ~, ~@12 d5 ~@3",
AQ: "d5@23 ~@2 f#5@2 a5@5, ~@24 d5@3 ~@5", AR: "d5@22 ~@2 d5@2 ~ a5@5, ~@13 f#5 ~@2",
AS: "d5@21 ~@4 f#5@2 a5@4 ~, ~@12 d5 ~@3", AT: "d5@27 ~ d5@4", AU: "a5@6 g5@5 f#5@6 d5@7 e5@4 f#5@4",
AV: "a5@6 g5@6 f#5@7 d5@5 e5@3 f#5@4 ~", AW: "a5@3 g5@3 f#5@3 d5@2 ~ d5 e5 f#5@2",
AX: "d5@22 ~@2 d5@2 ~ a5@4 ~, ~@13 f#5 ~@2", AY: "d5@22 ~@2 d5@3 ~ a5@4, ~@27 f#5@2 ~@3",
AZ: "d5@22 ~@2 d5@2 a5 f#5@3 a5@2", BA: "~ d5@28 ~@3", BB: "f#5@2 d5@2 a5@2 f#5@3 ~ a5@2 f#5@4 ~@16, ~@9 d5@2 ~@21",
BC: "f#5@2 d5@2 a5@2 f#5@2 d5@2 a5@3 f#5@3 ~@16", BD: "f#5 d5 a5 f#5 d5 a5 f#5@2 ~@8",
BE: "f#5@2 d5@2 a5@2 f#5@2 d5@2 a5@3 f#5@19", BF: "a5 f#5 d5 a5 f#5 d5 a5 f#5 d5 a5 f#5 d5 a5 f#5 d5@2",
BG: "g5 e5 c5 g5 e5 c5 g5 e5 c5 g5 e5 c5 g5 e5 c5@2",
BH: "d5@2 b4@2 g4@2 d5@2 b4@2 g4@2 d5@2 b4@2 g4@2 d5@2 b4@2 g4@2 d5@2 b4@2 g4@3 ~",
BI: "[a5@2 f#5@2 d5@2 a5@2 f#5@2 d5@2 a5@2 f#5@2 d5@2 a5@2 f#5@2 d5@2 a5@2 f#5@2 d5@3 g5@3 e5@2 c5@2 g5@2 e5@2 c5@2 g5@2 e5@2 c5@2 g5@2 e5@2 c5@2 g5@2 e5@2 c5@4]/2",
BJ: "[d5@2 b4@2 g4@2 d5@2 b4@2 g4@2 d5@2 b4@2 g4@2 d5@2 b4@2 g4@2 d5@2 b4@2 g4@3 g5@3 ~ c5@3 g5@2 e5@2 c5@2 g5@2 e5@2 c5@2 g5@2 e5@2 c5@2 g5@2 e5@2 c5@4, ~@17 e5 ~@14]/2",
BK: "~ a5@4 f#5@6 d5@7 a5@6 f#5@4 d5@4", BL: "g5@3 e5@3 c5@3 g5@3 e5@2 c5@2", BM: "d5@5 ~ b4@5 g4@7 d5@6 b4@4 g4@4",
BN: "g5@5 ~ e5@6 c5@6 g5@6 e5@3 c5@5", BO: "a5@3 f#5@3 d5@3 a5@3 f#5@2 d5@2", BP: "g5@6 e5@6 c5@7 g5@5 e5@4 c5@4",
BQ: "d5@6 b4@5 ~ g4@6 d5@6 b4@3 ~ g4@4", BR: "g5@6 e5@5 ~ c5@7 g5@5 e5@4 c5 ~@3",
BS: "[[f#4,a4,d5]@29 ~@3, c#5 ~@63]/2", // D
})).s("gm_overdriven_guitar").gain(0.41)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
~@4 A B C D E@3 F G H@4 I J K@3 L M N@7 O@7 P@4 Q R S T U V W X@4 Y Z AA AB AC AD AE AF@2 AG@8 AH@6 AI@3 AJ AK AL@2 AM
AN AO AP AO AN AO AP AO AN AO AP AO AN AO AP AO AN AO AP AO AN AO AP AO AQ AR@2 AS AQ AT@2 AU AN AO AP AO AN AO AP AO
AV AW AX AU AV AW AX AU AV AW AX AU AV AW AX AU AN AO AP AO AN AO AP AO AY@2
>`.pickRestart({
A: "~ d1@2 ~@4 a1@2 ~@4 d2@2 ~@6 d1@2 ~@2 a1@2 d1@2 d2@2 ~",
B: "~ d1@2 ~@5 a1@2 ~@2 a0@2 d1@2 ~@6 d1@2 ~@2 a1 ~ a0@2 d1@2",
C: "~@2 d1@2 ~@4 a1@2 ~ g1@2 ~ d2@2 ~@6 d1@2 ~@2 a1@2 g1@2 d2@2", D: "~ d1 ~@2 a1 ~ g1 d2 ~@3 d1 ~ d2 a1 d1",
E: "[~@3 d1@2 ~@4 a1@2 ~@4 d2@2 ~@6 d1@2 ~@2 a1@2 d1@2 d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 a0@2 d1@2 ~@6 d1@2 ~@2 a1 ~ a0@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~@2 g1@2 d2@2 ~@6 d1@2 ~@2 a1@2 g1@2 ~]/3",
F: "d2 ~ d1 ~@2 a1 ~ g1 d2 ~@3 d1 ~ d2 a1", G: "d1 ~ d1 ~@2 a1 ~@2 d2 ~@3 d1 ~ a1 d1",
H: "[d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 a0@2 d1@2 ~@6 d1@2 ~@3 a1 ~ a0@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~ g1@2 ~ d2@2 ~@6 d1@2 ~@2 a1@2 g1@2 d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 g1@2 d2@2 ~@6 d1@2 ~@2 d2@2 a1@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~@4 d2@2 ~@6 d1@2 ~@3 a1@2]/4",
I: "d1@2 d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 a0@2 d1@2 ~@6 d1@2 ~@2 a1 ~", J: "a0 d1 ~ d1 ~@2 a1 ~ g1 d2 ~@3 d1 ~ a1",
K: "[g1@2 d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 g1@2 d2@2 ~@7 d1@2 ~@2 d2@2 a1@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~@4 d2@2 ~@6 d1@2 ~@2 a1@2 d1@2 d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 a0@2 d1@2 ~@6 d1@2 ~@2 a1]/3",
L: "~ a0@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~@2 g1@2 d2@2 ~@7 d1@2 ~@2", M: "a1 g1 d2 ~ d1 ~@2 a1 ~ g1 d2 ~@3 d1 ~",
N: "[d2@2 a1@2 d1@2 ~@2 a2@36 g2@37 f#2@27 ~ f#1@9 g1@36 a2@27 ~ e2@9 g2@33]/7",
O: "[~@4 f#2@27 d2@9 g1@32 ~@5 a2@37 g2@27 d2@9 f#2@37 g2@37]/7",
P: "[e4@7 d4@7 c#4@6 b3@7 a3@9 ~ e3@36 f#3@7 e3@7 d3@23 e3@6 f#3@6 g3@6]/4",
Q: "a3@3 b3@2 c#4@2 d1 ~@2 a1 ~@2 d2 ~@2",
R: "~@2 d1@2 ~@3 d1@2 d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 a0@2 d1@2 ~@5, ~@3 a1 ~@12",
S: "~ d1@2 ~@2 a1 ~ a0@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~ g1@2 ~ d2@2 ~@5",
T: "~ d1@2 ~@2 a1@2 g1@2 d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 g1@2 d2@2 ~@5",
U: "~ d1@2 ~@3 a1@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~@4 d2@2 ~@6, ~@5 d2@2 ~@25", V: "d1 ~ a1 d1 d2 ~ d1 ~@2 a1 ~ a0 d1 ~@3",
W: "d1@2 ~@2 a1 ~ a0@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~ g1@2 d2@2 ~@7",
X: "[d1@2 ~ a1@2 g1@2 ~ d2@2 ~ d1@2 ~@4 a1@2 ~@2 g1@2 d2@2 ~@6 d1@2 ~@2 d2@2 a1@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~@4 d2@2 ~@6 d1@2 ~@2 a1@2 d1@2 d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 a0@2 d1@2 ~@6 d1@2 ~ a1 ~ a0@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~@2 g1@2 d2@2 ~@6 d1@2]/4",
Y: "~ a1 g1 d2 ~ d1 ~@2 a1 ~ g1 d2 ~@3 d1", Z: "~ d2 a1 d1 ~ d1 ~@2 a1 ~@2 d2 ~@3 d1",
AA: "~ a1@2 d1@2 d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 a0@2 d1@2 ~@6 d1@2 ~",
AB: "~ a1 ~ a0@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~ g1@2 ~ d2@2 ~@6 d1@2 ~",
AC: "~ a1@2 g1@2 d2@2 ~@2 d1@2 ~@4 a1@2 ~@2 g1@2 d2@2 ~@6 d1@2 ~", AD: "d2 a1 d1 ~ d1 ~@2 a1 ~@2 d2 ~@3 d1 ~",
AE: "a1 d1 d2 ~ d1 ~@2 a1 ~ a0 d1 ~@3 d1 ~",
AF: "[a1 ~ a0@2 d1@2 ~@2 d1@2 ~@4 a1@2 ~ g1@2 d2@2 ~@6 d1@2 ~@2 a1@2 g1@2 ~ d2@2 ~ d1@2 ~@4 a1@2 ~@2 g1@2 d2@2 ~@6 d1@2 ~@2 d2]/2",
AG: "[~ a1@2 d1@2 ~@2 a2@35 ~ g2@35 d2@27 f#2@9 g2@35 ~ a2@36 g2@35 ~ d2@26 f#2@8]/8",
AH: "[~ g2@36 a2@36 g2@27 d2@9 f#2@36 g2@35 e4@6 ~ d4@5]/6", AI: "[~@2 c#4@7 b3@6 a3@9 e3@36 f#3@7 e3@6 d3@22 ~]/3",
AJ: "e3@3 f#3@3 g3@3 a3@3 b3@2 c#4@2", AK: "d1 ~@2 a1 ~@2 d2 ~@3 d1 ~ a1 g1 d2 ~",
AL: "d1 ~@2 a1 ~ g1 d2 ~@3 d1 ~ a1 g1 d2 ~", AM: "d1 ~@2 a1 ~ g1 d2 ~@3 b1@2 a1@2 g1@2",
AN: "d1@4 ~@2 d1@4 ~@2 d1@8 d2@4 g1@2 a1@2 d1@3 ~", AO: "c2@4 ~@2 c2@4 ~@2 c2@8 c3@4 f2@2 g2 ~ c2@3 ~",
AP: "g1@2 ~ g1@2 ~ g1@4 g2@2 c2 d2 g1 ~", AQ: "d2@3 ~@3 a2@3 ~ a1@3 d2@3 ~@16",
AR: "[d2@3 ~@3 a2@2 ~@2 g2@2 ~ d3@3 ~@15 d2@4 ~@3 a2@2 ~@3 g2@2 d3@3 ~@16]/2", AS: "d3@3 ~@3 g2@3 ~ a2@2 ~ d2@3 ~@16",
AT: "[d2@3 ~@3 a2@2 ~@2 g2@2 ~ d3@3 ~@15 d2@4 ~@3 g2@3 ~ a2@2 ~ d2@3 ~@16]/2",
AU: "d2@3 ~@3 a2@3 ~ a1@3 ~@7 b1@5 a1@3 g1@3 ~, ~@13 d2@15 ~@4", AV: "d1 ~@2 a1 ~@2 d2 ~@3 d1 ~ a1 d1 d2 ~",
AW: "d1@2 ~@4 a1@2 ~@2 a0@2 d1@2 ~@6 d1@2 ~@2 a1 ~ a0@2 d1@2 ~@2",
AX: "d1@2 ~@4 a1@2 ~ g1@2 ~ d2@2 ~@6 d1@2 ~@2 a1@2 g1@2 d2@2 ~@2", AY: "[d1@61 ~@3]/2",
})).s("gm_electric_bass_finger").gain(0.41)
// other · flute
const flute = note(`<
~@8 A@3 B C D E ~ F@5 G H I J K L@2 M@2 N@3 O P Q@3 R S@2 T@2 ~@3 U@3 V W@2 X ~ Y Z AA@2 AB@2 ~@2 AC AD AE@2 AF AG
AH@4 AI AJ@3 AK@2 ~ AL AM ~@27 AN AO AP AQ AR AS AT AU AV AW AX ~@5 AY AZ BA BB BC BD BE ~ BF BG BH BI BJ BK BL BM BN
BO BP BQ BR BS BT BU BV@2
>`.pickRestart({
A: "[~@3 d6@3 b5@2 ~ d6@4 e6@2 f#6@4 ~ d6@15 g6@4 f#6@2 d6@4 b5@2 a5@4 b5@2 a5@14 ~ d6@3 b5@2 d6@3 b5@3 d6@4 b5@2 d6@3 ~ d6@7, ~@19 e6@2 ~@75]/3",
B: "~@4 d6@3 b5@2 d6@4 b5@2 d6@4 ~ d6@12", C: "~@4 [d6,f#6]@6 [d6,a6]@21 ~", D: "a5 ~ a5@8 d6@3 ~@4 d6@3 ~@12",
E: "a5 ~@2 a5@8 d6@2 ~@4 d6@3 ~@12",
F: "[~@6 d6@3 b5@2 ~ d6@3 e6@2 ~ g6@3 f#6@3 d6@4 b5@9 ~ g6@3 f#6@3 d6@3 b5@3 a5@3 ~ a5@2 b5@3 ~ a5@9 ~ d6@3 ~ b5@2 d6@4 b5@2 d6@3 ~ b5@2 d6@3 ~@2 d6@7 ~@2 d6@3 b5@3 d6@4 b5@2 d6@4 ~ d6@6 ~@2 d6@2 ~ d6@4 ~ [d6,f#6]@5 ~ [d6,a6]@19, ~@56 a5 ~@103]/5", // D D5
G: "~@3 a5 ~ a5@8 d6@3 ~@3 d6@3 ~@10", H: "~@3 a5@2 ~ a5@8 d6@2 ~@3 d6@3 ~@10",
I: "~@3 a5 ~@2 a5@8 d6@2 ~@3 d6@5 ~@8", J: "~@8 e6@5 d6@2 c#6@5 b5@2 a5@4 ~@2 a5@4",
K: "~@4 c#6@3 e6@5 ~@20, ~ a5@2 ~@13", L: "[~@12 f#6@5 b6@6 a6@30 ~@11, ~@17 d6@36 ~@11, ~@17 a6 ~@46]/2",
M: "[~@27 c#6@4 b5@2 c#6@5 b5@2 d6@5 b5@2 e6@10 ~ f#6@2 ~@4]/2", N: "[~@36 e6@7 f#6@29 ~@24, ~@31 b5@41 ~@24]/3",
O: "~@14 c#6@4 ~@3 e6@5 ~@2 f#6@4", P: "~@13 d6@5 g6@7 f#6@7",
Q: "[e6@7 d6@15 ~ f#6@20 ~@2 f#6@4 ~ a6@5 ~@4 [g5,d6]@28 ~@9, ~@23 d6@32 ~@41]/3", R: "~@27 b5@5",
S: "[f#5@3 ~ f#5@5 ~ a5@5 ~@3 a5@24 ~@22]/2", T: "[~@26 g5@3 ~@2 g5@6 ~ g5 ~ g5@4 ~@3 f#5 ~@16]/2",
U: "[~@10 d6 ~ d6@4 b5@2 d6@4 e6@2 g6@4 f#6@2 d6@9 ~ d6@4 g6@4 f#6@2 d6@4 b5@2 a5@3 b5@3 a5@9 a5@4 d6@4 b5@2 d6@4 b5@2 d6@4 b5@2 d6@3]/3",
V: "~@2 d6@6 b5@4 d6@3 b5@2 d6@4 b5@2 d6@3 ~ d6@5",
W: "[~@4 d6@2 ~ d6@3 ~ [d6,f#6]@5 ~ [d6,a6]@19 ~@2 a5 ~@2 a5@8 d6@3 ~@2 d6@3 ~@7]/2", // D D5
X: "~@6 a5 ~ a5@9 d6@2 ~@3 d6@2 ~@8", Y: "~@11 d6@3 b5@2 d6@3 b5@2 d6@4 ~ d6@2 e6@4",
Z: "~ d6@8 f#6@3 ~ g6@2 f#6@3 g6@3 f#6@3 g6@3 f#6@5",
AA: "[~ d6@8 d6@3 ~ d6 ~ d6@4 e6@2 f#6@4 e6@2 d6@9 ~@2 d6 ~ d6 d6@4 ~ d6@3 ~@2 d6@13, ~@45 b5@2 ~@17]/2",
AB: "[~ d6 ~@2 d6@5 ~@5 d6@25 ~@25, ~@9 a5@30 ~@25]/2", AC: "~@7 f#6@4 e6@3 c#6@4 b5 ~ b5@8 ~ b5@3",
AD: "~@2 b5@2 d6@2 f#6@3 ~@23", AE: "[~@10 f#6@4 ~ b6@6 a6@28 ~@15, ~@15 d6@35 ~@14]/2", AF: "~@22 c#6@4 b5@2 ~ d6@3",
AG: "~ b5@2 d6@9 b5@4 d6@2 e6@2 ~ f#6@3 ~@8",
AH: "[~@25 b5@2 ~@3 e6@6 ~@22 e6@3 d6@4 ~ g5@33 ~@2 d6@4 b5@2 d6@5 e6@2 f#6@3 ~@9 d6!2, ~@30 a5@35 ~@63, ~@36 f#6@25 ~@4 d6@33 ~@30]/4",
AI: "~ d6 e6@2 f#6@4", AJ: "[~@3 g6@7 ~ e6 d6@23 ~ e6@2 d6@2 e6@2 d6@2 e6@9 d6@22 ~@10 b5@6 d6@5, ~@5 f#6 ~@42]/3",
AK: "[~@2 e6@6 ~ f#6@7 g6@4 f#6@5 a6@35 ~@4]/2", AL: "~@16 g6@4 ~@3 g6@3 ~@3 g6@2 ~", AM: "d6@7 ~@9",
AN: "~@20 g6@4 ~ f#6@4 d6@3", AO: "~@21 f#6@4 g6@4 f#6@3", AP: "~@21 d6@3 ~ d6@4 a5@3", AQ: "~@20 a5@3 b5@6 d6@3",
AR: "~@15 g6@7 f#6@4 d6@4 ~@2", AS: "~@8 f#6@3 g6@2 f#6@2 ~", AT: "~@19 d6@3 ~@2 d6@4 ~ a5@3",
AU: "~@25 d6@2 ~@2 d6@3", AV: "~ a6@31", AW: "b6@3 a6@9 g6@2 f#6@2", AX: "g6 f#6 d6@13 ~",
AY: "~ d6@2 b5@2 d6@5 e6@2 f#6@2 e6@2 d6@3 ~@13", AZ: "g6@2 f#6@3 d6@4 ~ b5@2 a5@2 b5@3 a5@7 ~@8",
BA: "d6@3 b5@2 d6@4 b5@2 d6@4 b5@2 d6@2 ~@2 d6@5 ~@6", BB: "d6 ~@3 d6 ~ d6@16 ~@2 d6@2 ~@2 d6@2 ~@2",
BC: "[d6,f#6]@4 ~@2 [d6,f#6]@3 ~@3 [d6,f#6]@3 ~@17", BD: "[d6,g6]@4 ~@2 [d6,g6]@3 ~@3 [d6,g6]@4 ~@16",
BE: "[d6,a6]@2 ~ [d6,a6]@2 ~ d6@2 ~@8, ~@11 a6@4 ~@17", BF: "d6@2 b5 d6@2 e6 g6@2 f#6 d6@4 ~@3",
BG: "g6@4 f#6@2 d6@4 b5@2 a5@3 b5@3 a5@5 ~@4 a5@3 ~@2",
BH: "d6@4 b5@2 d6@4 ~ d6@4 ~ e6@2 d6@7 ~@3 d6@3 ~, ~@5 b5 ~@10",
BI: "~ d6@3 b5@2 d6@3 ~@2 d6@12 ~ d6@4 e6@3 ~, ~@5 b5 ~@10", BJ: "~@7 a6@20 ~ d6@2 ~@2, ~ d6@26 ~@5",
BK: "[d6,g6] ~@19 [d6,g6]@2 ~@2 [d6,g6] ~@2 [d6,g6]@2 ~@3", BL: "b6@3 a6@12 ~, f#6@15 ~", BM: "[c6,g6]@31 ~",
BN: "~ a6@2 ~ a6 ~ a6@2 ~ a6 ~ a6@7 ~ d6@2 ~@3 d6@4 e6@2 ~@2", BO: "e6@3 g6@2 ~ g6@8 ~@2",
BP: "~ g6@3 f#6@3 g6@3 f#6@2 g6@7 ~ g6@2 ~@2 g6@3 ~ g6@3 ~, ~ d6@30 ~", BQ: "b6@6 a6@4 ~@2 a6@17 ~@3, e6@15 ~",
BR: "g6@6 f#6@6 g6@6 f#6@5 ~ d6@3 ~ d6 ~@3, d6@23 ~@9", BS: "d6@6 e6@6 d6@15 ~ g6@4, g5@31 ~, c6 ~@15",
BT: "g6@4 f#6@3 d6@4 ~ d6@16 g6@2 ~@2, b5@29 ~@3", BU: "g6@4 ~ f#6@2 d6@5 ~ d6@15 c6@3 ~, c6@27 ~@5",
BV: "[~ [a5,d6]@50 ~@13]/2", // D5
})).s("gm_flute").gain(0.51)
// bass · harpsichord · "HARPSICHRD"
const bass_2 = note("<~@124 A B C D A B C D A B C D A B C D ~@10>".pickRestart({
A: "a2@2 f#2@2 d2@2 a2@2 f#2@2 d2@2 a2@3 ~@17", B: "g2@2 e2@2 c2@2 g2@2 e2@2 c2@2 g2@3 ~@17",
C: "d2@2 b1@2 g1@2 d2@2 b1 ~ g1@2 d2@3 ~@17", D: "g2@2 ~ c2@2 ~ g2@2 e2@2 c2@2 g2@3 ~@17, ~ e2 ~@14",
})).s("gm_harpsichord").gain(0.51)
// drums · kick
const kick = s("bd").struct(`<
~@4 A B C@2 D@2 E F@3 G@3 H@3 I@3 J K ~@17 L M@3 N@3 O@3 P@3 Q@3 J@3 I R ~@17 S@3 T U@24 V T@2 V T@3 V U@8 S@16 U@8
~@2
>`.pickRestart({
A: "~ x ~@11 x ~@15 x ~@2", B: "~ x ~@12 x ~@15 x ~", C: "~ x ~@5 x ~@7 x", D: "~@3 x ~@11 x ~@15 x",
E: "~@3 x ~@11 x ~@16", F: "x!2 ~@2 x ~@3", G: "~ x ~@3 x ~@11 x ~@14", H: "~ x ~ x ~@5 x ~@6",
// … 43 more lines
More by Marillion
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.