0:00/0:00
// Old Town — The Corrs
// 130 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: duplicate parts dropped: ch 5 brass section (copy of ch 4 trumpet); ch 9 clarinet (copy of ch 6 clarinet)
// note: Full arrangement: all 94 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/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 · piano
const piano = note(`<
A B C D E F G H I J K L M N O P Q R S T U V@2 W X Y Z AA AB AC L M AD AE AF AG AH AI AJ AK AL@2 AM AN AO H AP AQ AR AS
AT AD AU AV AW AX AY AV AK AZ@2 BA@6 BB@7 BC BD BE BF@4 BG@4 BH@4 BG@4 ~
>`.pickRestart({
A: "[g2,b3,d4,g4]@5 ~ [d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3, ~@6 g3@5 ~ g3@5 ~ g3@5 ~", // G G5
B: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@3, g3@5 ~ g3@5 ~ g3@5 ~ g3@5 ~", // G5
C: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@3, g2@5 ~ [g2,g3]@5 ~ [g2,g3]@5 ~ [g2,g3]@5 ~", // G5 G
D: "[g2,g3,d4,g4]@2 ~ [g2,g3,b3]@2 ~ [g2,g3]@2 ~ [g2,g3]@2 ~ [g2,g3,d4,g4]@2 ~ [g2,g3,b3]@2 ~ [g2,g3]@2 ~ [g2,g3]@2 ~, ~@6 [d4,g4]@5 ~@7 [d4,g4]@5 ~", // G5 G G5 G G5
E: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@2 ~, [g2,g3]@8 ~ [e2,e3]@13 ~@2", // G5 G E
F: "[d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~, [d2,d3]@8 ~ [c2,c3]@13 ~@2", // G5 Em D C
G: "[e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@2 ~ [e4,g4]@2 ~ c4@3, [a2,a3]@8 ~ [d2,d3]@13 ~@2", // Em A D
H: "[f#4,b4]@2 ~ d4@3 [f#4,b4]@2 ~ d4@3 [f#4,b4]@2 ~ d4@2 ~ [f#4,b4]@2 ~ [d3,d4]@3, [g2,g3]@5 ~", // B5 D G
I: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2 ~, [g2,g3]@8 ~ [e2,e3]@13 ~@2", // G5 G E
J: "[d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@2 ~, [d2,d3]@8 ~ [c2,c3]@13 ~@2", // G5 Em D C
K: "[e4,g4]@2 ~ c4@2 ~ [e4,g4]@2 ~ c4@2 ~ [e4,g4]@2 ~ c4@2 ~ [e4,g4]@2 ~ c4@3, [a2,a3]@8 ~ [d2,d3]@13 ~@2", // Em A D
L: "[f#4,b4]@2 ~ d4@3 f#4@2 ~ b4@3 [g4,b4]@2 ~ e4@3 c5@2 ~ b4@3, [g2,g3]@5 ~ c3@5 ~", // B5 G
M: "[f#4,a4]@2 ~ e4@3 f#4@2 ~ a4@3 a4@2 ~ d#4@3 b4@2 ~ a4@3, f#3@5 ~ b2@5 ~", // F#m
N: "[e4,g4]@2 ~ b3@2 ~ [e4,a4]@2 ~ b3@3 [e4,b4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3, e2@5 ~ f#2@5 ~ g2@5 ~ e2@5 ~", // Em A5 E5 Em
O: "[e4,g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@3, a2@8 ~ d3@13 ~@2", // C C5
P: "[f#4,b4]@2 ~ d4@3 [f#4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@3 c5@2 ~ [e2,b4]@2 ~, g2@8 ~ c3@11 ~@4", // B5 G E5
Q: "[f#4,a4]@2 ~ e4@3 [f#4,a4]@2 ~ d#4@5 ~ f#4@2 ~ b4@2 ~ [b2,a4]@3, f#2@8 ~ b2@11 ~@4", // F#m B7
R: "[e4,g4]@2 ~ b3@3 [e4,a4]@2 ~ b3@3 [e4,b4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@2 ~, e2@5 ~ f#2@5 ~ g2@5 ~ e2@5 ~", // Em A5 E5 Em
S: "[e4,g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@3, a2@8 ~ d3@13 ~@2", // C C5
T: "[f#4,b4]@2 ~ d4@2 ~ [f#4,b4]@2 ~ d4@3 [g4,b4]@2 ~ e4@3 c5@2 ~ [e2,b4]@3, g2@8 ~ c3@11 ~@4", // B5 G E5
U: "[f#4,a4]@2 ~ e4@3 [f#4,a4]@2 ~ d#4@5 ~ f#4@2 ~ b4@2 ~ a4@3, f#2@8 ~ b2@8 ~ b2@5 ~", // F#m
V: "[[e3,b3,e4,g4]@4 ~@2 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@3, ~@3 e2@19 ~@2]/2", // Em
W: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2 ~, [g2,g3]@8 ~ [e2,e3]@13 ~@2", // G5 G E
X: "[d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@3, [d2,d3]@8 ~ [c2,c3]@13 ~@2", // G5 Em D C
Y: "[e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@3, [a2,a3]@8 ~ [d2,d3]@13 ~@2", // Em A D
Z: "[f#4,b4]@2 ~ d4@2 ~ [f#4,b4]@2 ~ d4@3 [f#4,b4]@2 ~ d4@2 ~ [f#4,b4]@2 ~ [d3,d4]@3, [g2,g3]@5 ~", // B5 D G
AA: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3, [g2,g3]@8 ~ [e2,e3]@13 ~@2", // G5 G E
AB: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~, [d2,d3]@8 ~ [c2,c3]@13 ~@2", // G5 Em D C
AC: "[e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@2 ~ [e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@3, [a2,a3]@8 ~ [d2,d3]@13 ~@2", // Em A D
AD: "[e4,g4]@2 ~ b3@3 [e4,a4]@2 ~ b3@3 [e4,b4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3, e2@5 ~ f#2@5 ~ g2@5 ~ e2@5 ~", // Em A5 E5 Em
AE: "[e4,g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@3, a2@8 ~ d3@13 ~@2", // C C5
AF: "[f#4,b4]@2 ~ d4@2 ~ [f#4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@3 c5@2 ~ [e2,b4]@3, g2@8 ~ c3@11 ~@4", // B5 G E5
AG: "[f#4,a4]@2 ~ e4@2 ~ [f#4,a4]@2 ~ d#4@5 ~ f#4@3 b4@2 ~ [b2,a4]@2 ~, f#2@8 ~ b2@11 ~@4", // F#m B7
AH: "[e4,g4]@2 ~ b3@2 ~ [e4,a4]@2 ~ b3@3 [e4,b4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~, e2@5 ~ f#2@5 ~ g2@5 ~ e2@5 ~", // Em A5 E5 Em
AI: "[e4,g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@2 ~, a2@8 ~ d3@13 ~@2", // C C5
AJ: "[f#4,b4]@2 ~ d4@3 [f#4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ e4@2 ~ c5@2 ~ [e2,b4]@2 ~, g2@8 ~ c3@11 ~@4", // B5 G E5
AK: "[f#4,a4]@2 ~ e4@3 [f#4,a4]@2 ~ d#4@5 ~ f#4@3 b4@2 ~ a4@3, f#2@8 ~ b2@8 ~ b2@5 ~", // F#m
AL: "[[e3,b3,e4,g4]@4 ~@2 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@2 ~, ~@3 e2@19 ~@2]/2", // Em
AM: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@3, [g2,g3]@8 ~ [e2,e3]@13 ~@2", // G5 G E
AN: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@2 ~, [d2,d3]@8 ~ [c2,c3]@13 ~@2", // G5 Em D C
AO: "[e4,g4]@2 ~ c4@2 ~ [e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@2 ~ [e4,g4]@2 ~ c4@2 ~, [a2,a3]@8 ~ [d2,d3]@13 ~@2", // Em A D
AP: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@2 ~, [g2,g3]@8 ~ [e2,e3]@13 ~@2", // G5 G E
AQ: "[d4,g4]@2 ~ b3@3 [d4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~, [d2,d3]@8 ~ [c2,c3]@13 ~@2", // G5 Em D C
AR: "[e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@2 ~, [a2,a3]@8 ~ [d2,d3]@13 ~@2", // Em A D
AS: "[f#4,b4]@2 ~ d4@3 f#4@2 ~ b4@2 ~ [g4,b4]@2 ~ e4@2 ~ c5@2 ~ b4@3, [g2,g3]@8 ~ c3@13 ~@2", // B5 G
AT: "[f#4,a4]@2 ~ e4@3 f#4@2 ~ a4@2 ~ a4@2 ~ d#4@3 b4@2 ~ [b2,a4]@3, f#2@8 ~ b2@11 ~@4", // F#m B7
AU: "[e4,g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@3, a2@8 ~ d3@13 ~@2", // C C5
AV: "[f#4,b4]@2 ~ d4@3 [f#4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@2 ~ c5@2 ~ [e2,b4]@3, g2@8 ~ c3@11 ~@4", // B5 G E5
AW: "[f#4,a4]@2 ~ e4@3 [f#4,a4]@2 ~ d#4@5 ~ f#4@3 b4@2 ~ [b2,a4]@3, f#2@8 ~ b2@11 ~@4", // F#m B7
AX: "[e4,g4]@2 ~ b3@2 ~ [e4,a4]@2 ~ b3@3 [e4,b4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@3, e2@5 ~ f#2@5 ~ g2@5 ~ e2@5 ~", // Em A5 E5 Em
AY: "[e4,g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@3, a2@8 ~ d3@13 ~@2", // C C5
AZ: "[[e3,b3,e4,g4]@2 ~ [e2,b3,e4,g4]@19 ~@2]/2", // Em
BA: "[[g3,b4,d5,g5]@9 ~@2 [e3,g4,b4,d5,g5]@17 [d3,g4,b4,d5]@9 ~@2 [c3,g4,b4,e5]@18 [a2,g4,c5,e5]@9 ~ [d3,g4,a4,c5,e5]@18 [g2,b4,d5,f#5,b5]@28 [g2,g3,b4,d5,g5]@10 ~@2 [e3,g4,b4,d5,g5]@19]/6", // G Em7 G Cmaj7 Am7 Gmaj7 G Em7
BB: "[~ [d3,g4,b4,d5]@10 ~ [c3,g4,b4,e5]@20 [a2,g4,c5,e5]@10 ~@2 [d3,g4,a4,c5,e5]@19 [d4,f#4,b4]@3 ~ d4@3 ~ f#4@3 ~ b4@3 ~ [e4,g4,b4]@3 ~ e4@3 c5@3 ~ b4@3 ~ [e4,f#4,b4]@3 ~ e4@3 ~ a4@3 ~ e4@3 ~ [b2,d#4,f#4,a4]@13 ~@2 [e2,b3,e4]@26 ~@6 [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2, ~@63 g2@13 ~@3 c3@13 ~@2 f#3@13 ~@50 g2@5 ~ g3@5]/7", // G Cmaj7 Am7 Bm Em Esus2 B7 E5 …
BC: "~ [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2, ~ g3@5 ~ g3@5 ~ g3@5 ~ g3@5", // G5
BD: "~ [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2, ~ g3@5 ~ g3@5 ~ g2@5 ~ g3@5", // G5
BE: "~ [d4,g4]@2 ~ b3@2 ~ [d4,g4]@2 ~ b3@2 ~ [g2,g3,d4,g4]@2 ~ [g2,g3,b3]@2 ~ [g2,g3,d4,g4]@2 ~ [g2,g3,b3]@2, ~ g3@5 ~ g3@5 ~@12", // G5 G G5 G
BF: "[~ [g2,g3,d4,g4]@2 ~ [g2,g3,b3]@2 ~ [g2,g3,d4,g4]@2 ~ [g2,g3,b3]@2 ~ [e4,g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [f#4,b4]@2 ~ d4@2 ~ [f#4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ e4@2 ~ c5@2 ~ [e2,b4]@2 ~ [f#4,a4]@2 ~ e4@2 ~ [f#4,a4]@2 ~ d#4@5 ~ f#4@2 ~ b4@2 ~ [b2,a4]@2 ~ [e4,g4]@2 ~ b3@2 ~ [e4,a4]@2 ~ b3@2, ~@13 a2@8 ~ d3@13 ~@2 g2@8 ~ c3@11 ~@4 f#2@8 ~ b2@11 ~@4 e2@5 ~ f#2@5]/4", // G5 G G5 G C C5 B5 G …
BG: "[~ [e4,b4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@2 ~ [e4,g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [f#4,b4]@2 ~ d4@2 ~ [f#4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ e4@2 ~ c5@2 ~ [e2,b4]@2 ~ [f#4,a4]@2 ~ e4@2 ~ [f#4,a4]@2 ~ d#4@5 ~ f#4@2 ~ b4@2 ~ a4@2 ~ [e4,g4]@2 ~ b3@2 ~ [e4,a4]@2 ~ b3@2, ~ g2@5 ~ e2@5 ~ a2@8 ~ d3@13 ~@2 g2@8 ~ c3@11 ~@4 f#2@8 ~ b2@8 ~ b2@5 ~ e3@5 ~ d3@5]/4", // E5 Em C C5 B5 G E5 F#m …
BH: "[~ [e4,b4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@2 ~ [e4,g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~ [f#4,b4]@2 ~ d4@2 ~ [f#4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ e4@2 ~ c5@2 ~ [e2,b4]@2 ~ [f#4,a4]@2 ~ e4@2 ~ [f#4,a4]@2 ~ d#4@5 ~ f#4@2 ~ b4@2 ~ [b2,a4]@2 ~ [e4,g4]@2 ~ b3@2 ~ [e4,a4]@2 ~ b3@2, ~ c3@5 ~ b2@5 ~ a2@8 ~ d3@13 ~@2 g2@8 ~ c3@11 ~@4 f#2@8 ~ b2@11 ~@4 e2@5 ~ f#2@5]/4", // E5 Em C C5 B5 G E5 F#m …
})).s("gm_piano").gain(0.31).pan(0.4)
// bass · acoustic bass
const bass = note(`<
~@13 A B C D A B E F G@2 H I J K H I J L M A B E N A B C F G@2 H I J K H I J O D A B E D A B E F G@2 ~@8 P@2 Q@3 ~ R S
T U@3 V W@3 X U@3 V W@3 ~
>`.pickRestart({
A: "e2@5 ~ f#2@5 ~ g2@5 ~ e2@5 ~", B: "a2 ~@2", C: "g2@8 ~ c3@11 ~ e2@2 ~", D: "f#2@8 ~ b2@11 ~ b2@3",
E: "g2@8 ~ c3@11 ~ e2@3", F: "f#2@8 ~ b2@8 ~ b2@5 ~", G: "[~@3 e2@19 ~@2]/2", H: "g2@8 ~ e2@13 ~@2",
I: "d2@8 ~ [c2,c3]@13 ~@2", J: "a2@8 ~ d2@13 ~@2", K: "g2@5 ~", L: "g2@5 ~ c3@5 ~", M: "~@6 b2@5 ~",
N: "f#2@8 ~ b2@11 ~ b2@2 ~", O: "g2@8 ~ c3@13 ~@2", P: "[~@15 g2@13 ~@3 c3@13 ~@4]/2",
Q: "[~@14 b2@13 ~@2 e2@26 ~@6 g2@5 ~@6]/3", R: "~@13 g2@5 ~@6", S: "~@13 g2@2 ~ g2@2 ~ g2@2 ~ g2@2",
T: "~ g2@2 ~ g2@2 ~ g2@2 ~ g2@2 ~ a2@8 ~@3", U: "[~@13 g2@8 ~ c3@11 ~ e2@2 ~ f#2@8 ~ b2@11 ~ b2@2 ~ e2@5 ~ f#2@5]/3",
V: "~ g2@5 ~ e2@5 ~ a2@8 ~@3", W: "[~@13 g2@8 ~ c3@11 ~ e2@2 ~ f#2@8 ~ b2@8 ~ b2@5 ~@12]/3",
X: "~ c3@5 ~ b2@5 ~ a2@8 ~@3",
})).s("gm_acoustic_bass").gain(0.48).pan(0.4)
// other · clarinet
const clarinet = note(`<
~@14 A B C B A D E F ~@11 A D G D H B E F ~@11 A B C D A B E F ~@17 I@2 J@2 I@2 K@4 J@2 I@2 L@3
>`.pickRestart({
A: "~@6 d5@2 ~ c5@8 ~ c5@2 ~ c5@3", B: "b4@2 ~ b4@3 ~@18", C: "~@6 a4@2 ~ a4@8 ~ a4@2 ~ a4@3", D: "b4@2 ~ b4@2 ~@19",
E: "~@6 a4@2 ~ a4@8 ~ b4@5 ~", F: "a4@5 ~ g4@10 ~@8", G: "~@6 a4@2 ~ a4@8 ~ a4@2 ~ a4@2 ~",
H: "~@6 d5@2 ~ c5@8 ~ c5@2 ~ c5@2 ~", I: "[~@19 d5@2 ~ c5@8 ~ c5@2 ~ c5@2 ~ b4@2 ~ b4@2 ~@6]/2",
J: "[~@19 a4@2 ~ a4@8 ~ a4@2 ~ a4@2 ~ b4@2 ~ b4@2 ~@6]/2",
K: "[~@19 a4@2 ~ a4@8 ~ b4@5 ~ a4@5 ~ g4@10 ~@14 d5@2 ~ c5@8 ~ c5@2 ~ c5@2 ~ b4@2 ~ b4@2 ~@6]/4",
L: "[~@19 a4@2 ~ a4@8 ~ b4@5 ~ a4@5 ~ g4@10 ~@19]/3",
})).s("gm_clarinet").gain(0.31).pan(0.2)
// chords · piano
const piano_2 = note(`<
A B C D E F G B H I J K L M N O P Q R S P T U V W N X Y Z AA K L AB AC S AD T AE AF AG AH AI AJ AK AL B AM AN AO AP AG
AQ AR AS L AT AU AS AV AW@2 ~@33
>`.pickRestart({
A: "[g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3", // G
B: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@3", // G
C: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@3", // G
D: "[g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@2 ~", // G
E: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@2 ~", // G
F: "[g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@3 [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@2 ~", // G C5
G: "[a4,c5]@2 ~ e4@3 [a4,c5]@2 ~ e4@3 [f#4,a4,c5]@2 ~ d4@2 ~ [f#4,a4,c5]@2 ~ d4@3", // Am F#dim
H: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ e4@2 ~ [g4,b4]@2 ~ e4@2 ~", // G
I: "[g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@2 ~ [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~", // G C5
J: "[a4,c5]@2 ~ e4@2 ~ [a4,c5]@2 ~ e4@2 ~ [f#4,a4,c5]@2 ~ d4@2 ~ [f#4,a4,c5]@2 ~ d4@3", // Am F#dim
K: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@3", // G C5
L: "[f#4,a4]@2 ~ c#4@3 [f#4,a4]@2 ~ c#4@3 [f#4,b4]@2 ~ d#4@3 [f#4,b4]@2 ~ d#4@3", // F#m B5
M: "[g4,b4]@2 ~ e4@2 ~ [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@3", // G
N: "[a4,c5]@2 ~ e4@3 [a4,c5]@2 ~ e4@3 [f#4,a4]@2 ~ d4@3 [f#4,a4]@2 ~ d4@3", // Am F#m
O: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@2 ~", // G Em
P: "[f#4,a4]@2 ~ c#4@3 [f#4,a4]@2 ~ c#4@3 [f#4,b4]@2 ~ d#4@2 ~ [f#4,b4]@2 ~ d#4@3", // F#m B5
Q: "[g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@2 ~ [g4,b4]@2 ~ e4@2 ~", // G
R: "[a4,c5]@2 ~ e4@2 ~ [a4,c5]@2 ~ e4@3 [f#4,a4]@2 ~ d4@3 [f#4,a4]@2 ~ d4@3", // Am F#m
S: "[g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@3 [e4,g4]@2 ~ c4@3 [e4,g4]@2 ~ c4@3", // G Em
T: "[g4,b4]@2 ~ e4@2 ~ [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@2 ~", // G
U: "[g4,b4]@2 ~ e4@2 ~ [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@2 ~ [g4,b4]@2 ~ e4@3", // G
V: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ e4@2 ~ [g4,b4]@2 ~ e4@2 ~", // G
W: "[g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@3 [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@3", // G C5
X: "[g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ d4@3", // G
Y: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@3", // G
Z: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@2 ~", // G C5
AA: "[a4,c5]@2 ~ e4@3 [a4,c5]@2 ~ e4@2 ~ [f#4,a4]@2 ~ d4@3 [f#4,a4]@2 ~ d4@3", // Am F#m
AB: "[g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@3", // G
AC: "[a4,c5]@2 ~ e4@2 ~ [a4,c5]@2 ~ e4@2 ~ [f#4,a4]@2 ~ d4@2 ~ [f#4,a4]@2 ~ d4@3", // Am F#m
AD: "[f#4,a4]@2 ~ c#4@2 ~ [f#4,a4]@2 ~ c#4@2 ~ [f#4,b4]@2 ~ d#4@3 [f#4,b4]@2 ~ d#4@2 ~", // F#m B5
AE: "[a4,c5]@2 ~ e4@2 ~ [a4,c5]@2 ~ e4@3 [f#4,a4]@2 ~ d4@3 [f#4,a4]@2 ~ d4@2 ~", // Am F#m
AF: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@2 ~ [e4,g4]@2 ~ c4@2 ~ [e4,g4]@2 ~ c4@2 ~", // G Em
AG: "[f#4,a4]@2 ~ c#4@3 [f#4,a4]@2 ~ c#4@2 ~ [f#4,b4]@2 ~ d#4@3 [f#4,b4]@2 ~ d#4@3", // F#m B5
AH: "[e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~", // Em
AI: "[e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@2 ~", // Em
AJ: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ e4@2 ~ [g4,b4]@2 ~ e4@3", // G
AK: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@2 ~", // G C5
AL: "[a4,c5]@2 ~ e4@2 ~ [a4,c5]@2 ~ e4@3 [f#4,a4,c5]@2 ~ d4@2 ~ [f#4,a4,c5]@2 ~ d4@2 ~", // Am F#dim
AM: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@2 ~ [g4,b4]@2 ~ e4@3 [g4,b4]@2 ~ e4@2 ~", // G
AN: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@2 ~ [g4,c5]@2 ~ e4@3 [g4,c5]@2 ~ e4@2 ~", // G C5
AO: "[a4,c5]@2 ~ e4@3 [a4,c5]@2 ~ e4@3 [f#4,a4,c5]@2 ~ d4@3 [f#4,a4,c5]@2 ~ d4@2 ~", // Am F#dim
AP: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@2 ~ [g4,c5]@2 ~ e4@2 ~ [g4,c5]@2 ~ e4@3", // G C5
AQ: "[e4,g4,b4]@2 ~ b3@3 [e4,g4,b4]@2 ~ b3@3 [e4,g4,b4]@2 ~ b3@3 [e4,g4,b4]@2 ~ b3@3", // Em
AR: "[a4,c5]@2 ~ e4@2 ~ [a4,c5]@2 ~ e4@3 [f#4,a4]@2 ~ d4@2 ~ [f#4,a4]@2 ~ d4@3", // Am F#m
AS: "[g4,b4]@2 ~ d4@3 [g4,b4]@2 ~ d4@3 [e4,g4]@2 ~ c4@2 ~ [e4,g4]@2 ~ c4@3", // G Em
AT: "[e4,g4]@2 ~ b3@2 ~ [e4,g4]@2 ~ b3@3 [e4,g4,b4]@2 ~ b3@2 ~ [e4,g4,b4]@2 ~ b3@3", // Em
AU: "[a4,c5]@2 ~ e4@3 [a4,c5]@2 ~ e4@3 [f#4,a4]@2 ~ d4@2 ~ [f#4,a4]@2 ~ d4@3", // Am F#m
AV: "[f#4,a4]@2 ~ c#4@3 [f#4,a4]@2 ~ c#4@2 ~ [d#4,f#4,a4]@2 ~ b3@3 [d#4,f#4,a4]@2 ~ b3@3", // F#m D#dim
AW: "[e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3 [e4,g4]@2 ~ b3@3", // Em
})).s("gm_piano").gain(0.41)
// chords · orchestral harp
const orchestral_harp = note("<~@13 A ~@12 B C ~@2 D E F ~@27 G@2 H I@3 J@2 K@2 ~@24>".pickRestart({
A: "e3 g3 ~ b3 e4 ~ g3 b3 ~ e4 g4 ~ b3 e4 ~ g4 b4 ~ e4 g4 ~ b4 e5 ~", B: "~@12 g5 f#5 ~ d5 a4 ~ g4 f#4 ~ d4 a3 ~",
C: "b3@5 ~@19", D: "~@12 g3 a3 ~ b3 d4 ~ g4 a4 ~ b4 d5 ~", E: "e5@2 ~ f#5@3 a4@2 ~ c#5@3 e5@2 ~ f#5@3 b4@2 ~ d#5@3",
F: "e5@2 ~ b4@3 g4@2 ~ e4@3 e4 g4 ~ b4 e5 ~ e5 g5 ~ b5 e6 ~",
G: "[~@24 g5@5 ~@7 g5@8 ~@4, ~@23 [b4,d5]@6 ~@6 [g4,b4,d5]@9 ~@4]/2", // Bm G
H: "~@5 d5@6 ~@5 e5@8, ~@4 [g4,b4]@7 ~@4 [g4,b4]@9", // G
I: "[~@9 e5@6 ~@5 [c5,e5]@9 ~@9 b5@21 ~@8 [d5,g5]@5, ~@7 g4@7 ~@5 [g4,a4]@10 ~@43, ~@8 c5@7 ~@22 [b4,d5,f#5]@22 ~@7 b4@6]/3", // C G5 Gsus2 Bm
J: "[~@6 g5@10 ~@9 d5@6 ~@6 e5@11, ~@4 g4@12 ~@7 g4@8 ~@4 g4@12 ~, ~@5 [b4,d5]@11 ~@8 b4@7 ~@5 b4@11 ~]/2", // Bm
K: "[~@8 e5@9 ~@5 e5@12 ~@14, ~@6 g4@10 ~@4 [g4,a4]@13 ~@15, ~@7 c5@10 ~@4 c5@12 ~@15]/2", // Gsus2
})).s("gm_orchestral_harp").gain(0.31)
// other · trumpet
const trumpet = note("<~@42 A B C D A E F G H I ~@24 J K@2 ~@6 L@2 ~@7>".pickRestart({
A: "g3@2 ~ g3 a3 ~ b3 c4 ~ d4@10 ~@2 b3 a3 ~", B: "b3@2 ~ b3 c4 ~ d4@2 ~ g4@8 ~@4 a3 g3 ~",
C: "a3@2 ~ a3 b3 ~ c4@2 ~ d4@2 ~ e4@2 ~ f#4@2 ~ g4@2 ~ a4@2 ~", D: "g4@2 ~ g4!2 ~ g4@10 ~@8",
E: "b3@2 ~ b3 c4 ~ d4@2 ~ g4@8 ~@7", F: "~@3 e4 f#4 ~ g4@2 ~ a4@8 ~ g4@2 ~ a4@2 ~", G: "b4@10 ~@8 a4@2 ~ g4@2 ~",
H: "f#4@10 ~@8 g4@2 ~ f#4@2 ~", I: "e4@19 ~@5", J: "~@13 g3@2 ~ g3 a3 ~ b3@2 ~ c4@2",
K: "[~ d4@2 ~ e4@2 ~ f#4@2 ~ g4@2 ~ a4@20 ~@15]/2", L: "[~@13 a4@20 ~@15]/2",
})).s("gm_trumpet").gain(0.48).pan(0.2)
// other · string ensemble 2
const string_ensemble_2 = note(`<
~@15 A@3 B@3 C ~@8 D E F G ~ H I J K@2 L@2 ~@2 M N O P Q R@3 ~ S@3 T K@2 U@2 ~@15 V W X@6 Y@5 Z@4 ~
>`.pickRestart({
A: "[~@6 g5@6 a5@43 e5@4 ~ f#5@4 g5@7 ~]/3", B: "[a5@22 g5@49 ~]/3", C: "f#5 ~@2 e5 ~@8", D: "~@3 e5 ~@8",
E: "~@9 g5@2 ~ a5@10 ~@2", F: "b5", G: "~@3 f#5 ~@2 g5@2 ~ a5 ~@2 b5@9 ~@3", H: "~@3 b5@3 ~@6 a5@9 g5 ~@2",
I: "a5@5 ~ b5@6", J: "~@3 e5@3 ~@3 g5@2 ~ a5@7 ~@2 f#5 ~@2", K: "[a5@3 b5@13]/2", L: "[f#5 ~@2 e5@20 ~]/2",
M: "~@3 d5@3 ~@6 g5@4 ~@2 a5@3 ~@3", N: "b5@3 a5", O: "g5@10 ~@11 f#5@3", P: "g5 a5 ~@2",
Q: "~@3 e5@3 f#5@4 ~@2 g5@6 a5@4 ~@2", R: "b5/3", S: "[~@9 g5@3 a5@49 f#5@4 ~ e5@3 f#5@3]/3", T: "g5",
U: "[f#5@3 ~@3 e5@40 ~@2]/2", V: "~@16 e5@3 f#5@3 g5@2", W: "~ a5@6 f#5 ~@2 f#5@2 ~ g5@6 a5@5",
X: "[~ b5@9 g5@3 a5@9 ~@52 f#5@3 ~@2 g5@4 ~@2 a5@59, ~@11 b5@27 ~@34]/6",
Y: "[~@4 e5@3 f#5@6 g5@10 a5@7 ~ b5@4 ~@2 b5@24 a5@58 ~]/5", Z: "[~ f#5@4 g5@6 a5@72 ~@2 f#5 ~@5 e5@5]/4",
})).s("gm_string_ensemble_2").gain(0.24).pan(0.4)
// other · string ensemble 2 · soft notes
const string_ensemble_2_soft = note("<~@26 A ~@3 B ~@2 C D E ~ F ~@6 G ~@49>".pickRestart({
A: "f#5 ~@2 e5 ~@8", B: "f#5 ~@11", C: "~@21 [g5,a5]@2 ~", D: "a5@5 ~@7", E: "~@2 a5 g5 ~@4", F: "~@2 f#5 ~@5",
G: "~@6 e5@2 ~ f#5@2 ~@13",
// … 36 more lines
More by The Corrs
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.