0:00/0:00
// After The Ordeal — T.Banks P.Collins P. GabrielM.Rutherford S.Hackett
// 110 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 3, 4/4 at bar 3, 2/4 at bar 70, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5985318; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 132 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/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 · "Pianoforte"
const piano = note(`<
A B@2 C D E F G H I J K@2 L M N O P Q R S T U V@4 W@5 X Y Z AA AB AC I J AD@2 AE AF N O AG AH AI AJ T U V@4 W@5 X Y Z
AA AB AK AL AM@2 AN AO AP@2 AQ AR AS AT AU@2 AV@2 AW AX AY AZ BA BB@2 BC BD BE BF BG BH BI BJ BK@2 BL BM BN BO ~@25
BP@4
>`.pickRestart({
A: "[d3,d4] c3", B: "[[g2,f4]@8 [c3,e4]@15 ~@7 a4@2, ~@3 [a2,a3,c5], ~@13 c4@3, ~@7 e4]/2",
C: "~@3 g4 ~@3 f4, [g2,g3,b4] [d2,d3,a4], ~ b3@3 ~ a3@3, ~ d4 ~ c4", // G D5
D: "~@3 g4 ~@3 a4, [g2,g3] [a2,a3], g4@3 ~ a4@3 ~, ~ b3@3 ~ c4@3, ~ d4 ~ e4", // G A
E: "~@6 d4@2 ~@7 c4, [g2,g3,g4] [c2,c3], ~ c4@3 e4@2 e4@2, ~@4 b3@4 ~ c4@2 c4@2 c4@2 ~, ~@5 g3@2 g3", // G C
F: "~@7 b3 ~@6 f4@2, [b1,b2] [f2,f3], e4@2 e4@2 f4@3 ~, ~ b3@2 b3@2 b3@2 ~@3 a3@6, ~ g3@2 g3 ~@2 c4@2", // B F
G: "~@3 d4 e4 g3 c4 e4, [a#1,a#2] [c2,c3], d4@3 ~@5, ~ f3@3 ~@4, ~ a#3 ~@2", // A# C
H: "[a#2,a#3,f4]@2 ~@2 [f3,f4,a4]@2 ~@9 a4, ~ [a2,a3,c5], ~@9 a4@2 a4@2 a4@2 ~, ~@5 e4@2 e4, ~@3 b4", // A#5 F Am
I: "~@7 g4 ~@7 f4, [g2,g3,b4] [d2,d3,a4], ~ g4@2 g4@2 g4@2 ~@2 f4@2 f4@2 f4@2 ~, ~ d4@2 d4 ~ d4@2 d4, ~ a4 ~ c5", // G D5
J: "~@7 g4 ~@7 a4, [g2,g3,d5] [a2,a3,c5], ~ g4@2 g4@2 g4@2 ~@2 a4@2 a4@2 a4@2 ~, ~ d4@2 d4 ~ e4@2 e4, ~ b4 ~ b4", // G5 Am
K: "[~@7 g4 ~@7 g4 ~@7 b4 ~@7 f4, [g2,g3,b4] c3@2 [f2,g5], ~ g4@2 g4@2 g4@2 ~@2 g4@2 g4 e5@4 ~@2 g4@3 b4 g4@2 ~@2 a4@4 a4@2, ~@2 d4@4 d4@2 ~@2 e4@3 g4 e4@2 [g3,b3,f5]@8 ~@4 [f3,f5]@4, ~@4 d5@4 d5@8 ~ b4@2 b4 e5@4 ~ c5@2 c5@2 c5@3]/2", // G Fsus2 G7 F
L: "~@7 a4 ~@6 g4@2, [a#2,c5] [c3,c4,e5], ~ a4@2 a4@2 a4@2 ~ c5@4 ~@4, ~ f4@2 f4 ~ g4@2 ~, ~ [a#3,d5] ~ [e4,c5]", // A#sus2 C A# C
M: "~@3 g4 [f3,a#3,d4]@2 ~ g2, [c3,c4,g5] [c2,c3], e5 [c5,e5] ~@2, ~ g4@2 ~@3 [f3,a#3,d4]@2", // A# C5 C A#
N: "[g3,c4,e4]@2 ~ g2 [f3,a#3,d4]@2 ~ g2, [c2,c3]!2, ~ [g3,c4,e4] ~ [f3,a#3,d4]", // C A# C A#
O: "~@3 g2 [f3,a#3,d4]@2 ~ g2, [c2,c3,f3,a#3,d4] [c2,c3], ~ [g3,c4,e4] ~ [f3,a#3,d4]", // A# C A#
P: "[g3,c4,e4]@2 ~ g2 e4@2 ~ g2, [c2,c3] [c2,c3,g3,c4], ~ [g3,c4,e4] ~ [e4,g4,c5]", // C C5 C
Q: "[f4,a#4,e5]@2 ~ g2 [g3,c4,e4]@2 ~ g2, [c2,c3]!2, ~ [f4,a#4,e5] ~ [g3,c4,e4]", // A# C A# C
R: "[f3,a#3,d4]@2 ~ g2 ~@3 g2, [c2,c3] [c2,c3,f3,a#3,d4], ~ [f3,a#3,d4] ~ [g3,c4,e4]", // A# C A# C
S: "[f3,a#3,d4]@2 [f3,a#3,d4]@2 ~@3 c5, [c2,c3] [c2,c3,c4], ~@5 e4@3, ~@3 g4", // A# C
T: "~@3 c#5 ~@3 b4, [c#2,c#3,c#4] [d#2,d#3,b3], ~ e4@3 ~ d#4@3, ~ a4 ~ f#4", // C# G#m
U: "~@3 c5 ~@3 c#5, [f#2,f#3,c4] [e2,e3,c#4], ~ d#4@3 ~ e4@3, ~ g#4 ~ g#4", // F#dim C#m
V: "[~@3 d#5 ~@7 e3 ~@7 f#3 ~@7 e4 ~@3 [b4,f#5], [d#2,d#3,d#4] [e2,c#4]@2 e3 e3 e3@2 e3, ~ f#4@3 [e4,a4]@2 e4@6 ~ f#3@4 f#3@2 ~@3 c#4@6 ~@2 b3@2, ~@2 b4@2 ~ e3@2 e3 [c#5,e5] e3 [c#5,e5,a5]@2 ~@3 [b4,f#5]@5 ~@3 e4 [a4,e5,a5] e4 [a4,e5,a5]@2 ~@4, ~@6 [a4,c#5]@2 a4@4 ~@2 b3@4 [b3,b5]@2 ~ a3@7 ~ f#3@3]/4", // B5 D# C#m A5 C#m A B5 A5 …
W: "[~@3 f#3 ~@4 e5!2 [c#5,e5]@2 ~@3 f#5@2 f#5 [d#5,f#5]@2 ~@4 g#5!2 [e5,g#5]@2 ~@3 b5@2 b5 [f#5,b5]@2 ~@3 f4, e3 a2@2 a2@2 a2@2 a2@2 [c#2,c#3], ~ f#3@2 ~@2 e3@2 e3@5 ~ f#3@7 ~ e3@2 e3@5 ~ f#3@7 ~ g#3@3, ~ [b3,b5] ~ a3@3 ~ b3@3 ~ a3@3 ~ b3@3 ~ c#4, ~@8 c#5 g#5@3 ~@3 d#5@2 b5@3 ~@4 e5 c#6@3 ~@3 f#5@2 d#6@3 ~@4]/5", // C#m D#m E B5 C# B
X: "~@3 g4 ~@3 f#4, [g1,g2] [b1,b2], ~ g3@3 ~@2 d#4@2, ~@2 d4@2 ~ b3@3", // G B
Y: "~@6 g#4@2 [f3,a3,c4,f4,a4,c5,d5]@3 [f3,a3,c4,f4,a4,c5,d5]@2 [f3,a3,c4,f4,a4,c5,d5]@3, [e2,e3] ~, ~ b3@3 ~@4, ~ e4 ~@2", // Dm7 E
Z: "[e3,g#3,e4,g#4,b4]@3 [e3,g#3,e4,g#4,b4]!5", // E
AA: "[f3,a3,c4,f4,a4,c5,d5]@3 [f3,a3,c4,f4,a4,c5,d5]@2 [f3,a3,c4,f4,a4,c5,d5]@3 [e3,g#3,b3,e4,g#4,b4]@6 [e3,g#3,b3,e4,g#4,b4]@2", // Dm7 E
AB: "[e3,g#3,b3,e4,g#4,b4]@2 [e3,g#3,b3,e4,g#4,b4]@2 [e3,g#3,b3,e4,g#4,b4]@2 [e3,g#3,b3,e4,g#4,b4]@2 [d3,f3,a3,f4,a4,c5,d5]@3 [d3,f3,a3,f4,a4,c5,d5]@2 [d3,f3,a3,f4,a4,c5,d5]@3", // E Dm7
AC: "[e3,g#3,b3,e4,g#4,b4]@3 [e3,g#3,b3,e4,g#4,b4]@2 [e3,g#3,b3,e4,g#4,b4]@3 ~@7 a4, ~ [a2,a3,c5], ~@9 a4@2 a4@2 a4@2 ~, ~@5 e4@2 e4, ~@3 b4", // E Am
AD: "[~@7 g4 ~@7 g4 ~@7 b4 ~@7 c5, [g2,g3,b4] c3@2 [f2,g5], ~ g4@2 g4@2 g4@2 ~@2 g4@2 g4 e5@4 ~@2 g4@3 b4 g4@2 ~@2 a4@4 a4@2, ~@2 d4@4 d4@2 ~@2 e4@3 g4 e4@2 [g3,b3,f5]@8 ~@4 [f3,f5]@4, ~@4 d5@4 d5@8 ~ b4@2 b4 e5@4 ~ c5@2 c5@2 c5@2 ~]/2", // G Fsus2 G7 F
AE: "~@7 a#4 ~@6 g4@2, [a#2,a5] [c3,c4,a5], ~ d5@2 d5@5 [c5,e5]@4 [c5,e5,g5]@4, ~ a#4 [a#3,g5]@2 ~@4, ~@5 a#4 f5@2 ~@2 a4@6", // A#maj7 F C D#
AF: "~ g4 ~ c4 [f3,a#3,d4]@2 ~ g2, [c3,e5] [c2,c3], c4@3 ~@3 [f3,a#3,d4]@2, c5 [e4,g4,c5] ~@2", // A# C A# C
AG: "[c4,e4]@2 ~ g2 [e4,g4,c5]@2 ~ g2, [c2,c3,g3] [c2,c3], ~ [c4,e4,g4] ~ [e4,g4,c5]", // C C5 C
AH: "~@3 g2 ~@3 g2, [c2,c3,a#3,d4] [c2,c3,g3,c4,e4,g4], f4!2 ~ [e5,g5,c6,e6], ~ e4@3 ~@4", // Gm C
AI: "~@3 g2 ~@3 g2, [c2,c3,f3,a#3,d4,f4] [c2,c3,a#3,d4,f4], ~ [f5,a#5,d6] ~ [c4,e4,g4]", // A# C
AJ: "[a#3,d4,f4]@2 [f3,a#3,d4,f4]@2 ~@3 c5, [c2,c3] [c2,c3,c4], ~@5 e4@3, ~@3 g4", // A# C
AK: "[e3,g#3,b3,e4,g#4,b4]@3 [e3,g#3,b3,e4,g#4,b4]@2 [e3,g#3,b3,e4,g#4,b4]@3 [a2,a3,c4,e4,a4]@8", // E Am
AL: "[g2,g3,d4,g4] [d2,d3,a3,c4,f4,g4]", AM: "[[g2,g3,b3,d4,g4]@23 ~ [a3,c4,e4]@8]/2", AN: "[g3,b3]@4 g4 d4 b3 g3",
AO: "a3@2 ~@2 f#4 ~@3, f#3@15 ~, ~@4 a3@11 ~, ~@6 d4@9 ~", AP: "[e4@4 ~@8 g3 b3 e4 g4, e3@15 ~]/2", AQ: "c4 g4",
AR: "d5 ~", AS: "[e3,a3,c4]@4 e3@2 ~ e3, ~ [a3,c4]", AT: "c4@2 ~@2 e4 a4 c5 ~",
AU: "[g5@2 ~@2 a4@2 d5@2 f#5@4 ~@2 e5 [e5,f#5] d5@2 f#4@2 a4@2 ~@8 f#4@2, d3@23 ~@5 d3@4]/2", // Esus2
AV: "[f5 ~ g4 c5 e5@2 ~ d5 c5 e4 g4 c5 g4 e4 [c3,g4]@2, c3@23 ~@9]/2", AW: "[f3,c5]@4 d4@2 f4@2 a#4@4 ~@3 [d3,f3,a4]",
AX: "[d3,f3,a#4] ~ a#3 ~", AY: "[c3,e4] [c4,g4], a3 ~@3", AZ: "[d3,g3,b4]@2 ~@2 g4 b4 d4@2",
BA: "[f#3,a3,d5]@2 a4@2 d5@2 a4@2 f#4@4 a4!2 g4 f#4", // D
BB: "[a4@2 ~@2 b3 ~ f#4 ~ g4 e4 b4 g4 [e3,e5] ~ d3 ~, e2@23 ~@9]/2", BC: "g3@2 ~ g4 c5 ~@3",
BD: "g3@2 ~@2 b4 ~ g4 e4", BE: "[e3,a3,c4]@2 c4 e4 a4 e4 c4 e4", BF: "a4 ~@3 c5 a4 c5 ~",
BG: "[a2,g3,a4,d5]@2 a4 d5 f#5 ~@2 e5", BH: "d5@2 a4 d5 f#5 a5 f#5@2", BI: "[c3,e3,g4]@2 g4 c5 e5 ~@2 d5",
BJ: "c5@2 g4 c5 e5 c5 g4 e4", BK: "[a4@4 ~@8 a#3 ~ f3 ~, f3@7 ~]/2", BL: "~@3 e4 g4@4, ~@2 a3@13 ~, ~@4 c4@11 ~",
BM: "~@2 d#4 f#4 a4@4, f#3 ~, ~ b3@3 ~@4", BN: "~ b3 e4 g4 b4@4, [e3,g3] ~@3", BO: "a2 c3, c#4 ~@7",
BP: "[[d3,f3,a3,d4]@9 [c3,e3,g3,c4]@9 [d3,g3,a#3,f4]@8 [c3,g3,c4,e4]@9 ~@6 d4@12 ~@11, ~@40 [d2,d3,f3,a3]@13 ~@11]/4", // Dm C Gm7 C Dm
})).s("gm_piano").gain(0.48)
// chords · piano · "Pianoforte" · soft notes
const piano_soft = note(`<
A B@2 ~@66 C D E F@2 G H ~ I ~ J ~@9 K L ~@2 M ~ N ~ O@2 P Q R S T U V W T U V W T U V W T U V W T U V W T U V X@2 ~@4
>`.pickRestart({
A: "[d2,f3,a3] [c2,e3,g3,c4]", B: "[[g1,g3,a#3,d4]@8 [c2,g3,c4]@15 ~@9]/2", C: "~ a2", D: "[d4,g4,b4] ~",
E: "d4@3 ~@5", F: "[[b3,a4]@4 [e4,g4]@3 b3 g3 ~@7, e2@15 ~]/2", G: "[e3,g3] [c5,e5], [c2,c3]@15 ~",
H: "[g3,b3,d4,g4,b4]@4 b4 g4 d4@2", I: "a3@2 ~@2 c4 ~@3", J: "~@3 d5 a4 f#4 a4 ~", K: "[e3,c4] ~@3",
L: "[b3,d4]@2 ~ g4 ~@4", M: "d3 ~@3", N: "g2 ~@3", O: "[~@8 g4@6 f4@2 g4@15 ~, [b3,d4]@15 ~]/2",
P: "e3@15 ~, c4 ~@3, a3 ~@7", Q: "d4 ~, b3 ~@7", R: "b3 ~@7", S: "[a3,e4] c#4 a4 e4 [g3,c4,e4] c4 g4 f#4",
T: "~@7 a3, [d3,f#3]@5 d4@3, ~ a3@5 [d3,f#3]@2, ~ f#4 f#4@2, ~@3 a4@5", // D
U: "~@7 a3, [c3,f#3]@3 [c3,f#3], ~ a3@4 a3@2 ~, ~ d4 d4@2, ~@3 e4@5", V: "[b2,d3] g3 d4 g4@2 f#4 e4@2",
W: "[c#3,e3] g3 b3 e4@2 f#4 ~ c#3, ~@3 e4", // C#m
X: "[[c#3,e3]@2 g3@2 b3@2 e4@4 f#4@2 ~@2 c#3@2 c3@11 ~@5, ~@12 e4@15 ~@5]/2", // C#m
})).s("gm_piano").gain(0.32)
// other · flute · "Flauto 2"
const flute = note(`<
A@2 ~@5 B C ~@2 D@2 E F G H I J K L M N O P@2 Q@2 R@2 S@2 T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN P@2
Q@2 R@2 S@2 AO AP V W X AQ AR AS@2 AT@4 AU AV AW@2 AX AV AY AU AZ@2 BA AT@4 AU AV BB@2 AX AV AY AU AZ@2 BA BC BD BE BF
BG@2 BD BH BG@2 BI BJ@3 BK@2 BL@2 BM@2 BN@2 BM@2 BN@2 BO@2 BP@4
>`.pickRestart({
A: "f4 e4", B: "~@4 e5 g4 c5 e5", C: "a#4 ~ f5 ~@5", D: "[~@4 a4 b4 c5@4 ~@2 f5@3 e5]/2", E: "d5@2 c5 d5 e5@4",
F: "~@2 e5 ~ a#4 ~ a4 ~", G: "e5 ~ e4 ~ d4@4", H: "~@2 c5 ~ a#4 ~ g4 ~", I: "c5 ~", J: "a4 g4 a4 ~ c5@2 c5@2",
K: "a#4!3 c5", L: "a#4!2 c5@2", M: "c#5 d#5", N: "f#5 e5", O: "d#5@2 a4 c#5", P: "[e5@2 a5@2 ~@3 g#5@2 ~ b5@2 ~@4]/2",
Q: "[e5@2 a5@2 ~@3 f#5@2 ~ b5@2 ~@4]/2", R: "[e5 g#5 e5 ~@4 f#5@2 b5 f#5 ~@5]/2",
S: "[g#5 c#6 g#5 ~@4 b5@2 d#6 b5 ~@2 g#4 c#5 f5]/2", T: "~ g4 d5 g5 ~ b4 d#5 f#5",
U: "~@2 b4@2 e5@2 g#5@2 d5@3 d5@2 d5@3", V: "b4@3 b4!5", W: "d5@3 d5@2 d5@3 b4@6 b4@2",
X: "b4@2 b4@2 b4@2 b4@2 d5@3 d5@2 d5@3", Y: "b4@3 b4@2 b4@3 a4@4 a4@4", Z: "b4 a4 g4@2 a4 b4 c5@2",
AA: "d5 c5 b4@2 c5@2 c5@2", AB: "d5 c5 b4@2 c5 d5 e5@2", AC: "~@4 a4@3 g4", AD: "f4@2 e4 f4 e4@2 ~@2",
AE: "~@2 e4 ~ d4 ~ a4 ~", AF: "g4 ~ e4 ~ d4@4", AG: "~@2 e4 ~ d4 ~ g4 ~", AH: "e4@2 g4!2", AI: "d4@2 d4@2 e4@2 g4 ~",
AJ: "a#4@2 f4 ~ d4@2 e4@2", AK: "d4@2 d4@2 c5 e5 g5 c6", AL: "c#5 e5 a5 c#6 b4 d#5 f#5 b5",
AM: "c5 d#5 g#5 c6 c#5 e5 g#5 c#6", AN: "d#5 f#5 b5 d#6 a4@2 c#5@2", AO: "~@5 b4 d#5 f#5", AP: "~@8 d5@3 d5@2 d5@3",
AQ: "b4@3 b4@2 b4@3 c5@8", AR: "b4 a4", AS: "[b4@23 ~ c5@8]/2", AT: "[d5@15 ~]/2", AU: "c5@15 ~", AV: "d5@15 ~",
AW: "[c5@19 ~@5 e4@2 a4@2 c5@2 ~@2]/2", AX: "d5@13 ~ d5@2", AY: "c5@13 ~ c5@2", AZ: "[f5@15 ~]/2", BA: "c5!2",
BB: "[c5@15 ~]/2", BC: "d#5@15 ~", BD: "e5@15 ~", BE: "c#6 c6", BF: "d5@2 d5 e5",
BG: "[f#5@4 g5@4 a5@2 ~@2 g5@19 ~]/2", BH: "~@2 d5 e5", BI: "g5 a5 b5 g5",
BJ: "[a5 f#5 d5 a5@2 f#5 d5 c5@2 d5 f#5 a5@2 g5 f#5 g5@2 d5 g5 b5@2 g5@2 d5]/3",
BK: "[c#5 e5 g5 b5@2 a5 g5 a5@2 f#5 d5 a5@3 f#5 d5]/2", BL: "[g4 d4 f#4 a4@2 g4 f#4 g4@2 d4 g4 b4 b4@2 g4 d4]/2",
BM: "[c#4 e4 g4 b4@2 a4 g4 a4@2 f#4 d4 a4 a4@2 f#4 d4]/2", BN: "[c4 d4 f#4 a4@2 g4 f#4 g4@2 d4 g4 b4 b4@2 g4 d4]/2",
BO: "[c#4@2 e4@2 g4@2 b4@4 a4@2 g4@2 a4@13 ~@5]/2", BP: "[f4@9 c4@9 f4@8 e4@9 ~@5 f4@13 ~@11]/4",
})).s("gm_flute").gain(0.56).pan(0.2)
// other · clarinet · "Clarinetto in Si♭ 1"
const clarinet = note(`<
~@2 A B C D E F G B C H I J@2 K L M N O P Q R S T@2 U@2 V@2 W@2 X Y Z AA AB AC B C AD AE AF AG AH AI AJ AK AL AM AN R
S AO AP AQ AR V@2 AS@2 ~ AT Z AA AB AU AV AW@2 AX AY AZ BA BB BC BD BE BF BG BH BE BI BJ BK AX BL AZ BM BN BC BD BO BF
BP BQ BR BI BS BK BT@3 BU BV@2 BW BX BV@2 BW BY BV@2 BW BX BV@2 BW BX BV@2 BW BX BV@2 BZ@2 CA@4
>`.pickRestart({
A: "~ a4", B: "g4 d4", C: "g4 a4", D: "g4 c4", E: "b3 f4", F: "a#3 c4", G: "a#3 ~ f4 ~ a4@4", H: "g4@2 ~ e5",
I: "g5!2 f4 c5", J: "[a#4@2 a#4 c5 c5@6 e5 ~ d5 ~ a5 ~]/2", K: "g5 ~ e5 ~ d5@4", L: "~@2 e5 ~ d5 ~ g5 ~", M: "e5 ~",
N: "a4 g4 a4 ~ c5@2 g5@2", O: "f5!2 c5 g5", P: "c5 f5 c5@2", Q: "c#5 d#4", R: "f#4 e4", S: "d#4@2 c#5 ~",
T: "[c#5@4 ~@3 e4@2 ~ f#4@2 ~@4]/2", U: "[a3@2 e4@2 ~@3 b3@2 ~ f#4@2 ~@4]/2",
V: "[c#4 e4 c#4 ~@4 d#4@2 f#4 d#4 ~@5]/2", W: "[e4 g#4 e4 ~@4 f#4@2 b4 f#4 ~@5]/2", X: "~ g3 d4 g4 ~@4",
Y: "~@2 b3@2 e4@2 g#4@2 f4@3 f4@2 f4@3", Z: "e4@3 e4!5", AA: "f4@3 f4@2 f4@3 e4@6 e4@2",
AB: "e4@2 e4@2 e4@2 e4@2 f4@3 f4@2 f4@3", AC: "e4@3 e4@2 e4@3 a4@8", AD: "g4@2 c4 e4", AE: "b4@2 f5 c5",
AF: "a#4@2 a#4 c5 e5@2 c5@2", AG: "c5@2 g4@2 d5 ~ a4 ~", AH: "g4 ~ e4 ~ d5@4", AI: "~@2 e5 ~ d5 ~ g4 ~",
AJ: "e4@2 c4 c5", AK: "c4@2 f4@2 c4@2 g4 ~", AL: "f4@2 f4 ~ c4@2 g4@2", AM: "c4 f4 c4@2", AN: "c#4 d#4",
AO: "c#5@2 e4 b4", AP: "f#4@2 f#4 b4 e4@2 c#5@2", AQ: "c#5@2 e5 a4 e4@2 b4@2", AR: "f#4@2 f#4 b4 ~@4",
AS: "[e4 g#4 e4 ~@4 f#4@2 f#4 d#4 ~@5]/2", AT: "~@8 f4@3 f4@2 f4@3", AU: "e4@3 e4@2 e4@3 c5@8", AV: "d5 a4",
AW: "[b4@3 a4]/2", AX: "b4@7 b4", AY: "b4 a4@3", AZ: "a4@4 g4@3 f#4", BA: "g4@3 ~", BB: "d5@4 e5@3 e5", BC: "e5 d5@3",
BD: "d5@4 c5@3 b4", BE: "c5", BF: "g5@4 f#5@3 e5", BG: "d5", BH: "f5@4 e5@3 e5", BI: "c5@4 a#4@3 a4", BJ: "a#4",
BK: "a4 c5", BL: "b4 a4 a4@6", BM: "g4@4 g4 a4 b4 ~", BN: "e5@7 e5", BO: "c5@4 c5 d5 e5@2", BP: "d5@3 ~",
BQ: "f5@4 e5@3 d5", BR: "c5@3 ~", BS: "a#4@3 ~", BT: "[b4@4 g5@2 g5 g5@5 a4@2 a4 a4@5 e4@2 g4 f#4]/3",
BU: "d4@2 f#4 g4", BV: "[a4@2 b4@2 c5 ~ b4@10]/2", BW: "g4", BX: "~@2 f#4 g4", BY: "a4@2 f#4 g4", BZ: "[g4@7 ~]/2",
CA: "[a4@9 g4@9 d4@8 e4@9 ~@5 a4@13 ~@11]/4",
})).s("gm_clarinet").gain(0.32).pan(0.3)
// other · clarinet · "Clarinetto in Si♭ 2"
const clarinet_2 = note(`<
A B@2 ~@5 C D E F G H@2 I J K L M N O P Q R@2 S@2 T@2 U@2 V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM O AN AO AP
AQ AR AS T@2 AT@2 AU AV X AW AX AY A AZ@2 BA BB BC BD BE BF BG BH BI BJ BK BH BL BM BN BA BO BP BQ BR BF BG BS BT BU
BV BW BL BX BY BZ CA CB BJ BH BJ CC BJ BH BJ CA CD CE@2 CF CG CE@2 CH CG CE@2 CH CG CE@2 CH CI CJ@4
>`.pickRestart({
A: "d4 c4", B: "[f4 e4@2 ~]/2", C: "~@2 a4!2", D: "b4 a4 g4@2 a4 b4 c5@2", E: "d5 c5 b4@2 c5@2 c5@2",
F: "d5 c5 b4@2 ~@2 e4@2", G: "g4!2 f4 c5", H: "[a#3@2 a#3 c4 a4@6 e4 ~ d4 ~ a3 ~]/2", I: "g3 ~ e4 ~ d4@4",
J: "~@2 e4 ~ d4 ~ g3 ~", K: "c4 ~", L: "a4 g4 a4 ~ c4@2 g4@2", M: "f4!2 c4 g4", N: "c4@2 f4@2 c5@2 ~ g4",
O: "c#5 d#5", P: "f#5 e5", Q: "d#5@2 e4 ~", R: "[e4@4 ~@3 e5@2 ~ f#5@2 ~@4]/2",
S: "[a4@2 e5@2 ~@3 b4@2 ~ f#5@2 ~@4]/2", T: "[c#5 e5 c#5 ~@4 d#5@2 f#5 d#5 ~@5]/2",
U: "[e4 g#4 e4 ~@4 f#4@2 b4 f#4 ~@2 g#3 c#4 f4]/2", V: "~@5 b3 d#4 f#4", W: "~@8 a3@3 a3@2 a3@3", X: "e4@3 e4!5",
Y: "a3@3 a3@2 a3@3 e4@6 e4@2", Z: "e4@2 e4@2 e4@2 e4@2 a3@3 a3@2 a3@3", AA: "e4@3 e4@2 e4@3 a3@8", AB: "g3 d4",
AC: "g3 a3", AD: "g3@2 c4 e4", AE: "g4@2 a4 c5", AF: "f4@2 a#3 c4 a4@2 g4@2", AG: "e4@2 c4@2 d4 ~ a4 ~",
AH: "g4 ~ e4 ~ d4@4", AI: "~@2 e4 ~ d4 ~ g4 ~", AJ: "e4@2 c4!2", AK: "f4@2 f4@2 g3@2 c4 ~",
AL: "f4@2 a#3 ~ f4@2 g4@2", AM: "f4!2 c5@2", AN: "f#4 e5", AO: "d#5@2 e5 ~", AP: "e5@4 e4 f#4 b4 d#4",
AQ: "f#4 b4 f#4 b4 e4 a4 c#5 e5", AR: "c#5 a4 e4 a4 e4 f#4 b4 d#4", AS: "f#4 b4 f#4 b4 ~@4",
AT: "[e5 g#5 e5 ~@4 f#5@2 f#5 d#5 ~@5]/2", AU: "~ g4 d5 g5 ~@4", AV: "~@2 b4@2 e5@2 g#5@2 a4@3 a4@2 a4@3",
AW: "a4@3 a4@2 a4@3 e5@6 e5@2", AX: "e5@2 e5@2 e5@2 e5@2 a4@3 a4@2 a4@3", AY: "e5@3 e5@2 e5@3 c4@8",
AZ: "[b3@3 a3]/2", BA: "b3@7 b3", BB: "b3 a3@3", BC: "a3@4 g3@3 f#3", BD: "g3@3 ~", BE: "d4@4 e4@3 e4", BF: "e4 d4@3",
BG: "d4@4 c4@3 b3", BH: "c4", BI: "d4@7 d4", BJ: "d4", BK: "f4@4 e4@3 e4", BL: "c4@4 a#3@3 a3", BM: "a#3",
BN: "a3 c4", BO: "b3 a3 a3@6", BP: "a4@4 g4@3 f#4", BQ: "g3@4 g3 a3 b3 ~", BR: "e4@7 e4", BS: "c4@4 c4 d4 e4@2",
BT: "g4@4 f#4@3 e4", BU: "d4@3 ~", BV: "f4@4 e4@3 d4", BW: "c4@3 ~", BX: "a#3@3 ~", BY: "a3!4 c4!4", BZ: "b3!4 d#4!4",
CA: "e4", CB: "c#4 c4", CC: "c#4", CD: "f#4@2 d4 e4", CE: "[f#4@2 g4@2 a4 ~ g4@10]/2", CF: "e5", CG: "~@2 d4 e4",
CH: "g3", CI: "f#4@3 ~", CJ: "[d4@9 c4@9 g4@8 e4@9 ~@5 d4@13 ~@11]/4",
})).s("gm_clarinet").gain(0.33)
// other · violin · "Violino"
const violin = note(`<
A B@2 C D E F G H I J K@2 L M N O P Q R S T U V W X Y Z AA@2 AB@2 AC AD AE AF AG AH AI AJ AK AL AM AN AO O AP AQ AR AS
T U AT AU@2 AV@2 AW@2 AX@2 AC AD AE AF AG 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
BW BX BY BZ CA CB CC CD CE CF CG CH CI CH CJ CH CI CH CK CL@3 CM@2 CN@2 CO@2 CP@2 CO@2 CP@2 CQ@2 CR@4
>`.pickRestart({
A: "a5 g5", B: "[d5@4 c5@8 ~ c5 e5 a5]/2", C: "b5 b4 d5 g5 a5 a4 c5 f5", D: "g5 b4 d5 g5 a5 c5 e5 a5",
E: "g5@2 c5@2 b4@2 d5@2 ~ c5 g4 c5 c5@4", F: "b4 f5", G: "a#4 c5", H: "a#4 ~ f5 ~ a4@4", I: "g4 d4", J: "g4 a4",
K: "[g4@2 c5@4 a5 c6]/2", L: "f5@2 a#4 c5 e4@4", M: "~@2 e4 ~ d4 ~ a4 ~", N: "g4 ~ e4 ~ [d4,d5]@4",
O: "~@2 e4 ~ d4 ~ g4 ~", P: "[e4,c5] ~", Q: "a5 g5 a5 ~ g5@2 g5@2", R: "f5!3 g5", S: "f5@2 f5@2 c5 e5 g5 c6",
T: "c#5 e5 a5 c#6 b4 d#5 f#5 b5", U: "c5 d#5 g#5 c6 c#5 e5 g#5 c#6", V: "d#5 f#5 b5 d#6 a4@2 a4@2",
W: "c#5@2 e5@2 e4 f#4 b4 d#4", X: "f#4 b4 f#4 b4 e4 a4 c#5 e5", Y: "c#5 a4 e4 a4 e4 f#4 b4 d#4",
Z: "f#4 b4 f#4 b4 ~@4", AA: "[e4 g#4 e4 ~@4 f#4@2 b4 f#4 ~@5]/2",
AB: "[g#4 c#5 g#4 ~@4 b4@2 d#5 b4 ~@2 g#4 c#5 f5]/2", AC: "~ g4 d5 g5 ~ b4 d#5 f#5",
AD: "~@2 b4@2 e5@2 g#5@2 c5@3 c5@2 c5@3", AE: "g#4@3 g#4!5", AF: "c5@3 c5@2 c5@3 g#4@6 g#4@2",
AG: "g#4@2 g#4@2 g#4@2 g#4@2 c5@3 c5@2 c5@3", AH: "g#4@3 g#4@2 g#4@3 c5@2 e4@2 b4@2 e4@2",
AI: "b4 d4 a4 d4 a4 d4 c5 d4", AJ: "d5 d4 b4 d4 c5 e4 b4 ~", AK: "b4@2 d4@2 d5@2 d4@2 ~ g4 e4 g4 ~ g4 e4 g4",
AL: "~ c5 g4 c5 ~ b4 g4 b4 ~ c5 a4 c5 ~ c5 a4 c5", AM: "~ d5 a#4 d5 ~ a#4 f5 a#4 ~@8", AN: "~@2 e5 ~ d4 ~ a4 ~",
AO: "g4 ~ e4 ~ d4@4", AP: "e4@2 e5!2", AQ: "a#4@2 a#4@2 c5@2 e5 ~", AR: "a#4@2 d5 ~ a#4@2 c5@2",
AS: "a#4@2 a#4@2 c5 e5 g5 c6", AT: "d#5 f#5 b5 d#6 e4@2 a4@2", AU: "[c#5@2 e5@2 ~@3 e5@2 ~ f#5@2 ~@4]/2",
AV: "[a4@2 e5@2 ~@3 b4@2 ~ f#5@2 ~@4]/2", AW: "[c#5 e5 c#5 ~@4 f#4@2 b4 f#4 ~@5]/2",
AX: "[e5 g#5 e5 ~@4 f#5@2 b5 f#5 ~@2 g#4 c#5 f5]/2", AY: "g#4@3 g#4@2 g#4@3 a4@8", AZ: "g4 f4", BA: "[g4@3 c4]/2",
BB: "d5@2 ~@2 g5 d5 b4 g4", BC: "d5@2 a4 d5 f#5 ~@3", BD: "[e5@2 c5@2 g4@2 e4@4 ~@2 g4 b4 e5 g5]/2", BE: "c5@2 g5 ~",
BF: "d5 ~", BG: "c5!2", BH: "c5@2 ~@2 e5 a5 c6 ~", BI: "g5@2 ~@2 a4@2 d5@2 f#5@4 ~@2 e5 [e5,f#5]",
BJ: "d5 f#4 a4 d5 a4 f#4 a4 f#4", BK: "f5 ~ g4 c5 e5@2 ~ d5", BL: "c5 e4 g4 c5 g4 e4 g4@2",
BM: "c5@4 d4@2 f4@2 a#4@4 ~@3 a4", BN: "a#4 ~ a#4 ~", BO: "e5 g5", BP: "b4@2 ~@2 g4 b4 d5@2",
BQ: "d5@2 a4@2 d5@2 a4@2 f#5@4 a5!2 g5 f#5", BR: "a5@2 ~@2 b4 ~ f#5 ~", BS: "g5 e5 b5 g5 e5 ~@3",
BT: "c5@2 ~ g5 c6 ~@3", BU: "b4@2 ~ g5 b5 ~ g5 e5", BV: "c5@2 c5 e5 a5 e5 c5 e5", BW: "a5 ~@3 c6 a5 c6 ~",
BX: "d5@2 a4 d5 f#5 ~@2 e5", BY: "d5@2 a4 d5 f#5 a5 f#5@2", BZ: "g4@2 g4 c5 e5 ~@2 d5", CA: "c5@2 g4 c5 e5 c5 g4 e4",
CB: "c5@2 ~@5 c5", CC: "d5 ~@3", CD: "~ a4 c5 e5 g5@4", CE: "b4!2 d#5 f#5 a5@4", CF: "b4!2 e5 g5 b5@4", CG: "c#5 c5",
CH: "d5", CI: "c5", CJ: "c#5", CK: "g4",
CL: "[a5 f#5 d5 a5@2 f#5 d5 c5@2 d5 f#5 a5@2 g5 f#5 g5@2 d5 g5 b5@2 g5@2 d5]/3",
CM: "[c#5 e5 g5 b5@2 a5 g5 a5@2 f#5 d5 a5@3 f#5 d5]/2", CN: "[g4 d4 f#4 a4@2 g4 f#4 g4@2 d4 g4 b4 b4@2 g4 d4]/2",
CO: "[c#4 e4 g4 b4@2 a4 g4 a4@2 f#4 d4 a4 a4@2 f#4 d4]/2", CP: "[c4 d4 f#4 a4@2 g4 f#4 g4@2 d4 g4 b4 b4@2 g4 d4]/2",
CQ: "[c#4 e4 g4 b4@2 a4 g4 a4@7 ~@2]/2", CR: "[a5@9 g5@9 d5@8 c5@9 ~@5 a4@13 ~@11]/4",
})).s("gm_violin").gain(0.19).pan(0.7)
// … 54 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.