0:00/0:00
// Ce Matin — Axelle Red
// 123 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 77 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(123/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 · epiano1 · "Piano 1"
const epiano1 = note(`<
~ A B C D E F G H I J K L M N O@2 P Q K R S G T U V W X@2 Y@2 Z AA AB AC AD AE I J K L M AF AG@2 P Q K AH S AI T U
AJ@7 AK@7 AL@5 AM@4 ~
>`.pickRestart({
A: "[a1,a2,e3,a3,c#4]", B: "[a1,a2,e3,g#3,c#4]", C: "[a1,a2,e3,g3,b3]", D: "[f#1,f#2,c#3,f#3,a#3]",
E: "[d3,f#3,c#4]@8 ~ f#3@12 f#3@3, [b1,b2], ~@3 [d3,b3]@5", F: "[d3,f#3,a3,c#4]@9 [d3,f#3,b3]@13 ~@2, [b1,b2]@11 ~",
G: "[e3,g#3,c#4]@3 ~@3 a3@2, e2, ~@3 [e3,g#3,b3]@5", // C#m E
H: "[e3,g#3,c#4]@3 ~@4 b3, e2, ~@3 [e3,g#3]@5, ~@3 b3@4 ~, ~@3 a3", I: "[a2,e3,a3,c#4]", J: "[a2,e3,g#3,c#4]",
K: "[g2,g3,b3,c#4,e4]", L: "[f#2,e3,f#3,a#3,c#4]@11 ~", M: "c#4@3 ~@3 a3@2, b2, ~@3 [d3,f#3,b3]@5",
N: "[e2,c#4]@9 b3@9 a3@5 ~, ~@9 [f2,f3]@14 ~", // C#m F
O: "[[d3,b3,d4,f#4,a4]@7 ~@2 [c#3,e3,g#3,b3,g#4]@10 ~@2 f#4@12 f#4@2 ~ [e3,b3,e4]@11 ~, ~@21 [b2,f#3,b3,d4]@14 ~ a4@9 ~@3]/2", // Bm7 C#m7 E5 Bm
P: "[f#2,c#3,a3,c#4,f#4]", Q: "[f#2,c#3,a3,c#4,f4]", R: "c#4@5 ~ d4@2, [f#2,f#3,a#3,e4], ~@5 c#4@3",
S: "[d3,c#4]@9 ~@9 a3@5 ~, b2@23 ~, ~@9 [d3,f#3,b3]@14 ~", T: "a3@3 ~@2 c4@3, [e4,a4], c4@5 ~@3, ~@3 a3@5",
U: "g#3@9 ~@6 c4@8 ~, [e4,g#4]@23 ~, c4@5 ~@3, ~@9 g#3@14 ~", V: "~@15 a#3@8 ~, [c3,c4,e4,g4]@23 ~, ~@9 g3@14 ~",
W: "~@9 g4@13 ~@2, [g3,a#3,d4,f4]@11 ~", X: "[[f3,a3,c4,e4]@2 ~ [e3,g3,b3,d4]@3 ~ [d3,f3,a3,c4]@8 ~]/2",
Y: "[[f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,d4]@9 ~@3 a3@12 ~@9 a3@5 ~, ~@21 [d3,f3]@26 ~, ~@21 c4@15 c4@11 ~, ~@11 a3@3 ~@2]/2", // Fmaj7 Em7 Dm
Z: "[c3,e3,g3,c4]@23 ~", AA: "~@3 f4, [c3,f3,a3,c4]", AB: "[c3,e3,g3,c4]", AC: "~@18 f4@5 ~, [c3,f3,a3,c4]@23 ~",
AD: "[c3,g3,a3,c4,e4]@23 ~", AE: "[g2,d3,f3,a3,c4] ~@5 [g2,d3,f3,a3,c4]@18",
AF: "[e2,c#4]@9 b3@9 a3@5 ~, ~@9 [e2,e3]@14 ~", // C#m E
AG: "[[d3,b3,d4,f#4,a4]@7 ~@2 [c#3,e3,g#3,b3,g#4]@10 ~@2 [b2,f#3,b3,d4,f#4]@15 [e2,e4,f#4,a4,d5]@12]/2", // Bm7 C#m7 Bm D
AH: "c#4@5 ~ d4@2, [f#2,e3,a#3,e4], ~@5 c#4@3", AI: "[e2,e3,g#3,c#4]@9 f2@9 a3@5 ~, ~@3 [f3,g#3,b3]@5",
AJ: "[~@15 a#3@8 ~@9 g4@13 ~@2 [f3,a3,c4,e4]@6 ~@3 [e3,g3,b3,d4]@9 ~@3 [d3,f3,a3,c4]@24 ~@3 [f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,d4]@9 ~@3 a3@12 ~@9 a3@5 ~@2 [f3,a3,c4]@9 ~@3 [e3,g3,b3,d4,e4,g4]@9 ~@3, [c3,c4,e4,g4]@23 ~ g3@22 ~@70 [d3,f3]@26 ~ [c3,e4,a4]@9 ~@16, ~@9 g3@14 [a#3,d4,f4]@22 ~@71 c4@15 c4@11 ~@26, ~@128 a3@9 ~@31]/7", // Fmaj7 Em7 Dm7 Fmaj7 Em7 F Em7 C …
AK: "[[d3,a3,d4,f4]@27 ~ [c3,e3,g3,c4]@24 c4@12 ~@6 f4@6 ~ [c3,e3,g3,c4,e4]@23 [c3,f3,a3,c4]@23 ~@2 [e3,g3,c4,e4]@24 [c3,f3,a3,c4,e4]@19, ~@13 [c3,f3,a3]@6 ~@12 c3@6 ~@5, ~@16 c4@3 ~@23]/7", // Dm C F C Fmaj7 F
AL: "[~@5 [g2,g3,b3,e4]@23 [g2,a3,c4,d4,f4]@22 ~@2 [g2,g3,b3,d4,e4]@22 ~@2 [g2,a3,c4,d4,f4]@22 ~@2 [g2,g3,b3,d4,e4]@20]/5", // Em Dm7 Em7 Dm7 Em7
AM: "[~@4 [g2,a3,c4,d4,f4]@24 ~@3 [c3,e3,g3,b3,c4,e4]@48 ~@17]/4", // Dm7 Cmaj7
})).s("gm_epiano1").gain(0.28)
// bass · electric bass finger · "Basse 2"
const bass = note(`<
~ A B A C D E F G H I J K L M N@2 O P Q R S T U V W X Y@2 Z@2 AA AB AC AD AE AF AG AH AI AJ AK AL AM@2 AN AO@2 AP AQ
AR AS AH AT@6 AU AV@2 AW AX AY AZ BA BB BC BD BE BC BF@5
>`.pickRestart({
A: "a1@23 ~", B: "a1@11 ~", C: "f#1@7 ~", D: "b1@23 ~", E: "b1@17 ~ b1@6", F: "e2", G: "e1@11 ~ e2@6 e1@6",
H: "a1@2 ~ a1@4 e2", I: "a2@6 ~@3 a2@9 e2@3 a2@2 ~", J: "g2@2 ~ g2@4 g2", K: "f#2@2 ~ f#2@3 c#2 f#1",
L: "b1@2 ~ b1@3 ~ d#2", M: "e1@7 ~@2 e1@2 ~ a#2@5 ~ f1@5 ~", N: "[d2@7 ~@2 c#2@10 ~@2 b1@12 b1 ~@2 e2@5 ~ e1@6]/2",
O: "f#1@2 ~ f#1@4 c#2", P: "f#2@6 ~@3 f#2@11 ~ c#2@3", Q: "g1@6 ~@3 g1@9 ~@3 g1@2 ~",
R: "f#1@6 ~@3 f#1@7 ~@2 c#2@3 f#1@3", S: "b1@6 ~@3 b1@10 ~@2 d2@3", T: "e1@5 ~@4 e1@3 a#2@5 ~ e1@5 ~",
U: "a1@7 ~@2 a1@11 ~ e2@3", V: "a2@19 ~@2 a1 ~@2", W: "g1@18 ~@3 g1 ~@2", X: "c2@6 ~@3 c2 ~@2 d2@5 ~ e2@4 ~@2",
Y: "[f2@8 ~ e2@10 ~@2 d2@17 ~ a1 ~@2 d2@3 e2@2 ~]/2", Z: "[f2@7 ~@2 e2@9 ~@3 d2@10 ~@2 d2 ~@2 g1@11 ~]/2",
AA: "c2@7 ~@2 c2@10 ~@2 g1@2 ~", AB: "c2@6 ~@3 c2@11 ~ g1 ~@2", AC: "c2@6 ~@3 c2@8 ~@4 g1 ~@2",
AD: "c2@6 ~@3 c2@9 ~@3 g1 ~@2", AE: "c2@7 ~@2 c2@2 ~ e1@2 ~ e1@2 ~ f1@2 ~ f#1@3", AF: "g1@2 ~@4 g1@17 ~",
AG: "a1@7 ~@2 a1@9 ~@3 d2@3", AH: "a2@6 ~@3 a2@5 ~ a2 ~@2 e2@3 a2@2 ~", AI: "g2@7 ~@2 g2 ~@2 g2@2 ~ g2@2 ~ d2@3 g2@3",
AJ: "f#2@6 ~@3 f#2@6 c#2@3 f#1@5 ~", AK: "b1@8 ~ b2@5 ~ b1@3 d2@2 ~ d#2@2 ~", AL: "e2@7 ~@2 e1@9 b1@3 e2@3",
AM: "[d2@7 ~@2 c#2@9 ~@3 b1@10 ~@2 b1@3 e2@6 e1@6]/2", AN: "f#1@6 ~@3 f#1@10 ~@2 b1@3",
AO: "[f#2@6 ~@3 f#2@10 ~@2 f#2 ~ f#2@8 ~@2 g2@10 ~@2 g2@3]/2", AP: "f#2@6 ~@3 c2@2 ~ f#1@8 ~@4",
AQ: "b1@7 ~@2 b1@4 ~@2 b1 ~@2 d2@3 d#2@2 ~", AR: "e2@6 ~@3 e1@3 a#2@5 ~ f2@5 ~", AS: "a1@7 ~@2 a1@9 ~@3 e2@3",
AT: "[g2@7 ~@2 g2@8 g2@3 d2@3 c2@7 ~@2 c2@3 d2@6 e2@4 ~@2 f2@7 ~@2 e2@9 ~@3 d2@19 ~@2 d2@3 e2@2 ~ f2@9 e2@9 ~@3 d2@24 ~@4]/6",
AU: "f2@11 ~ e2@10 ~@2", AV: "[d2@27 c2@7 ~@3 c2@10 ~]/2", AW: "~ g1 ~@2 c2@6 ~@3 c2@8 ~ a1@2",
AX: "~ g1@3 c2@6 ~@3 c2@3 c2@3 c2@3 ~@2", AY: "~ g1@2 ~ c2@6 ~@3 c2@7 ~@2 a1@2", AZ: "~ g1@3 c2@6 ~@3 c2@10 ~",
BA: "~ g1@2 ~ c2@6 ~@3 c2@8 ~ f2@2", BB: "~ b1@3 g2@8 ~ g1@9 ~@2", BC: "~ g1@3 g2@7 ~@2 g1@9 ~@2",
BD: "~ g1@2 ~ g2@8 ~ g1@9 ~@2", BE: "~ g1@2 ~ g2@7 ~@2 g1@9 ~@2", BF: "[~ g1@2 ~ g2@8 ~@2 g1@14 ~@3 c2@68 ~@21]/5",
})).s("gm_electric_bass_finger").gain(0.25)
// chords · acoustic guitar nylon · "Guitare 3"
const acoustic_guitar_nylon = note(`<
~ A B@2 C D@3 ~ E F G H I J K@2 L M N O P Q R S T U V@2 W@2 X Y X Y Z AA AB F G AC I AD K@2 L M N AE P AF R AG AH AI@5
AJ AK@2 AL@4 AM@5 AN@6
>`.pickRestart({
A: "[e3,a3,c#4]@4 ~@2 c#4@5 ~ [a3,c#4]@5 ~ [e3,a3,c#4]@4 ~@2", // A
B: "[[e3,g#3,c#4]@7 ~@2 [e3,g#3,c#4]@7 ~@2 e3@3 ~@3 [e3,g3]@7 ~@2 [e3,g3,c#4]@7 ~@2 [e3,c#4]@2 ~@4, ~@17 c#4@3 ~@3 c#4@7 ~@18]/2", // C#m Em C#dim C#m
C: "[e3,a#3,c#4]@6 ~@3 [e3,a#3,c#4]@7 ~@2 [e3,a#3,c#4]@3 ~@3", // A#dim
D: "[~@42 d3@2 f#3@3 ~ [b3,e4]@24, c#4@6 d3@11 d3@12 ~ d3@10 ~@7 d3@2 ~@23, ~@3 f#3@10 ~ f#3@5 ~@20 f#3@5 ~@3 g#3@25, ~@9 b3@14 c#4@9 ~ b3@14 ~@25]/3", // E5
E: "~@9 e3@3 ~@6 e4 ~ e3@3 ~, ~ a2@8 ~@3 a2@11 ~, ~@3 e3@5 ~@16, ~@6 c#4@9 ~@3 c#4@5 ~",
F: "[e3,c#4]@2 ~ [e3,g#3,c#4]@3 ~@3 [e3,g#3]@8 ~ [e3,g#3,c#4]@4 ~@2", // C#m E C#m
G: "~@7 e3, e3@19 ~@5, ~@3 g3@10 ~@2 g3@9, ~@6 e4@17 ~, ~@3 b3@5", H: "~@9 d4@5 ~ c#4@7 ~@2, e3@11 ~, ~@3 e4@8 ~",
I: "~@15 a3@5 ~@4, b2@23 ~, ~@3 d3@17 ~@4, ~@3 a3@4 ~@5, ~@3 b3@5", J: "[b2,e3,g#3,c#4]@2 ~ [b2,f3,g#3,b3]@3 ~@2",
K: "[[f#3,b3,d4,a4]@6 ~@3 [g#3,c#4]@5 ~@4 g#3@2 ~ [f#3,b3,d4,f#4]@14 ~ [e3,b3,e4,a4]@10 ~@2, ~@9 [e4,g#4]@11 ~@28, ~@5 c#4@2 ~@9]/2", // Bm7 C#5 Bm Esus4 E
L: "~@6 a3@6 ~@3 [a3,c#4,f#4]@4 ~@2 [a3,c#4]@3, f#3@5 ~ f#3@6, ~@3 c#4@4 ~@5", // F#m A
M: "~@9 a3@5 ~@4 f#3@3 c#3@3, c#3@19 ~@5, ~@3 f#3@14 ~@7, ~@3 c#4@5, ~@15 a3@8 ~",
N: "~@6 g3 ~, b3@7 ~, ~@6 g3@11 ~@7, ~@9 e3@5 ~ e3@6 ~@3, ~@4 b2@3 ~",
O: "~@7 f#3, f#3@5 ~, ~@3 a#3@14 ~ a#3@6, ~@6 c#4@7 ~@2 c#4@9, ~@3 f#4@5",
P: "~@15 a3@5 ~@4, b2@11 ~, ~@3 d3@17 ~@4, ~@3 a3@4 ~@5, ~@9 b3@14 ~", Q: "[e3,b3]@5 ~@4 [e3,g#3,b3,e4]@9 ~@6",
R: "~@7 e3, a2@11 ~ a2@12, ~@6 [a3,c4,e4]@11 ~ [a3,c4,e4]@6, ~@9 e3@5 ~ e3@5 ~@4", // Am
S: "~@7 e3, e3@19 ~@5, ~@6 e4@17 ~, ~@9 c4@14 ~, ~@5 g#3@3",
T: "~@6 [e3,a#3,c4,e4]@5 ~@4 [e3,a#3,c4,e4]@3 ~@3 [e3,a#3,e4]@3, c3", // C7 Edim
U: "~@3 a#3@4 ~@2 e3@3 ~@3 [e3,a#3,c4,e4]@3 ~@3 [e3,a#3,c4,e4]@3, c3!2, ~@9 [a#3,c4,e4]@5 ~@10", // C7
V: "[[f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,e4]@10 ~@2 [d3,a3,d4,f4]@25 ~@2]/2", // Fmaj7 Em Dm
W: "[[f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,e4]@10 ~@2 [d3,a3,d4,f4]@15 [d3,g3,c4,f4]@11 ~]/2", // Fmaj7 Em Dm Dm7
X: "~@15 [c4,e4]@4 ~@2 [g3,c4,e4]@3, c3@5 ~ c3@6, ~@3 [g3,c4,e4]@4 ~@5", // C
Y: "~@3 [c4,e4]@3 ~@12 [a3,c4,e4]@5 ~, c3@11 ~ c3@11 ~, ~@3 [a3,c4,e4]@2 ~@3", // C Am
Z: "~@15 [c4,e4]@4 ~@2 [g3,c4,e4]@3, c3@5 ~ c3@5 ~, ~@3 [g3,c4,e4]@4 ~@5", // C
AA: "[d3,g3,c4,f4]@3 ~@3 [d3,g3,c4,f4]@17 ~", // Dm7
AB: "~@9 e3@3 ~@6 e4 ~@2 e3@3, ~ a2@8 ~@4 a2@11, ~@4 e3@5 ~@15, ~@6 c#4@9 ~@3 c#4@5 ~",
AC: "~@10 d4@5 c#4@7 ~@2, e3@11 ~, ~@3 e4@8 ~", AD: "[b2,e3,g#3,c#4]@2 ~ [b2,e3,g#3,b3]@2 ~@3",
AE: "~@7 f#3, f#3@5 ~, ~@3 a#3@14 ~ a#3@6, ~@6 c#4@7 ~@2 c#4@8 ~, ~@3 f#4@5",
AF: "[e3,b3]@5 ~@4 [f3,g#3,b3,f4]@9 ~@6", AG: "~@20 e3@3 ~, e3@19 ~@5, ~@6 e4@17 ~, ~@9 c4@14 ~, ~@14 g#3@9 ~",
AH: "~@5 [e3,a#3,c4,e4]@5 ~@5 a#3@3 ~@3 a#3@3, c3@23 ~, ~@14 [e3,c4,e4]@3 ~@3 [e3,e4]@3 ~", // C7 C E
AI: "[~@3 a#3@4 ~@7 [e3,a#3,c4,e4]@3 ~@3 [e3,a#3,c4,e4]@3 [f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,e4]@10 ~@2 [d3,a3,d4,f4]@25 ~@2 [f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,e4]@10 ~@2 [d3,a3,d4,f4]@26 ~@2, c3@12 c3@11 ~@97, ~@8 [c4,e4]@5 ~@107, ~@8 e3@3 ~@109, ~@9 a#3@5 ~@106]/5", // C7 Fmaj7 Em Dm Fmaj7 Em Dm C
AJ: "[f3,a3,c4,e4] [e3,g3,b3,e4]", // Fmaj7 Em
AK: "[[d3,a3,d4,f4]@27 ~@16 c4@5, ~@27 c3@12 ~ c3@8, ~@33 [c4,e4]@8 ~@7, ~@17 g3@4 ~@3]/2", // Dm C
AL: "[~ [c4,e4]@2 ~@4 c4@4 ~@2 [a3,c4]@2 ~@5 c4@3 ~@3 a3@2 ~@6 [g3,c4,e4]@7 ~@3 c4@5 ~ c4@2 ~@3 c4@4 ~@3 f4@3 ~@3 [a3,c4]@3 ~@3 a3@2 ~@6 [g3,c4,e4]@7 ~@3 c4@4, ~@4 c3@8 ~ f4@5 ~ a3@4 ~@2 [c4,f4]@3 ~@21 e4@2 ~@10 c4@2 ~@10 [c4,f4]@3 ~@20, ~@16 c3@12 c3@12 ~ c3@9 ~@3 c3@8 ~ a3@2 ~ c3@11 c3@12 ~ c3@7]/4", // C Am C Am C F5
AM: "[~@2 c4@2 ~@3 c4@4 ~@3 f4@3 ~@3 [a3,c4]@3 ~@3 a3@2 ~@6 g3@6 ~@3 [b3,e4]@5 ~ [b3,e4]@3 ~@3 [c4,e4]@3 ~@3 e4@3 ~@3 [a3,c4,e4]@4 ~@2 [a3,c4,e4]@3 ~@6 g3@6 ~@3 [g3,b3,e4]@5 ~ [g3,b3,e4]@3 ~@3 [a3,c4,e4]@4 ~@8 [c4,e4]@5, ~ e4@2 ~@2 c3@8 c4@2 ~@10 [c4,f4]@3 b2@24 c3@11 ~ c3@12 b2@24 ~@20, ~@14 a3@2 ~ c3@12 ~@5 [b3,e4]@8 ~@19 [a3,c4]@5 ~@16 [b3,e4]@8 ~@19 [a3,c4,e4]@5 ~@6, ~@40 e3@13 ~@35 e3@12 d3@12 d3@6 ~@2]/5", // Am E5 C Am Em Am C F5 …
AN: "[~ [a3,c4,e4]@3 ~@6 g3@6 ~@3 [g3,b3,e4]@5 ~ [g3,b3,e4]@3 ~ c4@22 ~@4 [e3,g3]@63 ~@26, ~@2 b2@12 ~@13 g2@35 ~@10, ~@10 [b3,e4]@8 ~@11 g4@14 ~@12 b3@66 ~@23, ~@16 e3@11 ~ [d3,g3,f4]@24 ~@3 c3@69 ~@20]/6", // Am Em E5 G7
})).s("gm_acoustic_guitar_nylon").gain(0.13).pan(0.8)
// chords · acoustic guitar nylon · "Guitare 3" · soft notes
const acoustic_guitar_nylon_2 = note(`<
~ A B C ~ D@2 ~@2 E F ~ G ~@4 H ~@3 I J K L M N ~@4 O P O P O ~ E F ~ G I ~@3 H ~@3 I J K L Q R ~@6 S T U V U V W X ~
Y ~@6
>`.pickRestart({
A: "~@6 e3@5 ~ e3@5 ~@7", B: "~@6 g#3 ~", C: "~@9 g3 ~@2", D: "[~@20 f#3@6 ~ f#3@3 ~@18]/2",
E: "~@2 a3@3 ~@3, ~@6 e4 ~@17", F: "g#3 ~@11", G: "~ g#3 ~@6", H: "~@2 f#4 ~@4 f#4", I: "~@7 d3", J: "e4@5 ~@19",
K: "~@3 e3@5 ~@16", L: "~@3 g#3@11 ~@10", M: "~@7 c4", N: "~@3 [e3,c4]@4 ~@17", O: "~@15 g3@4 ~@5", P: "~ a3 ~@6",
Q: "~@20 c4@3 ~", R: "~@3 e3@4 ~@17, ~ c4@2 ~@9", S: "~@19 [g3,e4]@5", T: "~ g3@2 ~@4 [a3,f4]@4 ~@8 f4@4 ~",
U: "~@5 [g3,e4]", V: "~@2 g3@2 ~@3 [a3,f4]@4 ~@9 f4@3 ~", W: "~@19 g3@5", X: "~ g3@3 ~@3 a3@4 ~@13", Y: "~@19 a3@5",
})).s("gm_acoustic_guitar_nylon").gain(0.07).pan(0.8)
// chords · string ensemble 2 · "Cordes 6"
const string_ensemble_2 = note("<~@17 A B C D@3 E@4 F@4 G@5 H I@4 J K L@2 M@4 N@8 O@3 P Q@8 R@8>".pickRestart({
A: "[f#3,f#4]", B: "[f3,f4]", C: "[e3,e4]",
D: "[[f#3,f#4]@11 ~@13 e3@10 ~@2, ~@23 c#4@9 ~ b3@35 ~@4, ~@8 f#3@15 ~, ~@24 d3@23 ~@25]/3", // F#
E: "[a3@23 g#3@23 ~@26 d4@12 e4@10 ~@2, e4@3 ~, c4@47 g3@46 ~@3, ~@24 a#3@23 ~]/4",
F: "[[f4,a4]@8 ~ [e4,g4,b4]@10 ~@2 [d4,f4,a4]@21 ~@6 [f4,a4]@7 ~@2 [e4,g4,b4]@9 ~@3 [d4,f4,a4]@22 ~@5, c5@6 ~@41 c5@7 ~@42]/4", // F Em Dm F Em Dm
G: "[[g3,e4]@23 ~ a3@23 ~ e4@24 [a3,f4]@24 [g3,e4]@22 ~@2, c4@39 ~, ~@23 f4@24 ~ g3@21 ~@51]/5", // C Dm C
H: "[f3,g3,c4] ~@5 c4@12 b3@6, ~ [f3,g3]@3", I: "[a3@24 g#3@23 g3@24 [f#3,a#3]@23 ~@2, [e3,c#4]@47 ~]/4",
J: "[d3,f#3,a3]@11 ~", K: "[b2,e3,g#3]@8 ~ [d3,e3]@12 ~@3, ~@8 b2@13 ~@3",
L: "[[d4,f#4,a4]@8 ~ [c#4,e4,g#4]@10 ~@2 [b3,d4,f#4]@13 ~@2 [f#3,a3,d4]@11 ~]/2", // D C#m Bm D
M: "[f#3@24 f3@22 ~ e3@24 [f#3,a#3]@22 ~ [d3,f#3,a3]@2, c#4@31 ~, a3@47 g3@22 ~@27]/4", // F# D
N: "[~@8 b2@9 a3@4 ~@2 [e3,g#3,c#4]@9 [c#3,b3]@12 ~@3 a3@24 g#3@23 ~@25 d4@12 e4@10 ~@2 [f4,a4]@8 ~ [e4,g4,b4]@10 ~@2 [d4,f4,a4]@21 ~@6 [f4,a4,c5], ~@8 [d3,f#3]@13 ~@11 f3@14 ~ e4@72 ~@24 c5@6 ~@43, ~@47 c4@47 ~ [g3,a#3]@46 ~@51]/8", // C#m C#7 F Em Dm F D Gm
O: "[~@8 [e4,g4,b4]@9 ~@3 [d4,f4,a4]@22 ~@5 [c4,e4,a4]@11 ~@2 [b3,d4,g4]@10 ~@2]/3", P: "~ a3@23, [c4,f4]",
Q: "[~@3 [e3,g3]@24 ~ [f3,a3]@24 [e3,g3]@23 ~@26 g3@23 [f3,a3]@23 ~@2 [g3,b3]@23 ~ [f3,a3]@19, ~@3 c4@143 ~@2 e4@25 ~@19, ~@75 f3@25 e3@24 ~@68, ~@38 a3@13 ~@35 d4@10]/8", // Em F Em F G F
R: "[~@4 [g3,e4]@23 ~ a3@21 ~@3 [g3,b3]@21 ~@2 [f3,a3,d4]@25 ~@3 [e3,g3,b3,c4]@67 ~@22, ~@4 b3@22 ~ d4@24 e4@25 ~@116, ~@28 f3@19 ~@145]/8", // C G Dm Cmaj7
})).s("gm_string_ensemble_2").gain(0.18).pan(0.2)
// chords · string ensemble 1 · "Cordes 7"
const string_ensemble_1 = note("<~@23 A B C@2 D@2 E@4 F G H I J K L M N ~ O@2 P Q@5 R S@8 T U@6 V@4 W@6>".pickRestart({
A: "a5", B: "g#5", C: "[g5@23 ~]/2", D: "[[a4,c5,e5]@7 ~@2 [g4,b4,d5]@9 ~@2 [f4,a4,c5]@24 ~@4]/2",
E: "[[a4,c5,e5]@8 ~ [g4,b4,d5]@10 ~@2 [f4,a4,c5]@21 a4@5 g4@26 a4@23]/4", F: "g4@11 c5@13", G: "d5@5 g4 c5 d5",
H: "g5@20 ~@3 [c5,d5], ~@11 g4", I: "g5 ~@5 g4@15 ~@3", J: "~@2 c#4@21 ~, ~ e4@22 ~",
K: "~ e4@13 ~ [e3,e4]@3 [a3,a4]@3 [b3,b4]@3, c#4@5 ~@3", L: "[c#4,c#5]", M: "[d4,d5] [e4,e5]", N: "[f#4,f#5]@23 ~",
O: "[[f#4,a4]@9 [e4,g#4]@10 ~ [d4,f#4]@25 ~@3]/2", P: "~ [f#4,f#5]",
Q: "[[g#4,g#5]@17 [f#4,f#5]@3 [g#4,g#5]@3 [a4,a5]@18 [b4,b5]@6 [c#5,c#6]@22 ~@2 [f#3,a3,c#4]@8 ~ b3@8 ~ a3@4 ~@2 [e3,g#3,c#4]@8 ~ f3@9 a3@5 ~@2, ~@80 [d3,f#3]@13 ~@11 b3@8 ~@8]/5", // G# F# G# A B C# F#m C#m …
R: "~@5 a5 g5 a5 ~@3 g5@2 e5 ~@3 e5 d5 e5 ~@3 d5",
S: "[~ c5 ~@3 c5 b4@2 c5 ~@3 b4 ~ b4 ~@2 a4@4 ~@2 c5@23 ~ [d5,f5]@11 [e5,g5]@11 ~@2 [c5,e5,a5]@6 ~@3 [b4,d5,g5]@9 ~@4 c5@21 ~@5 [c5,e5,a5]@6 ~@3 [b4,d5,g5]@9 ~@3 [a4,c5,f5]@24 ~@3 [c4,e4,a4]@13 ~ [d4,g4]@11, ~@13 a4@2 ~@6 b4@4 ~@67 [a4,f5]@21 ~@67 b3@12]/8", // Dm Em Am G Am G F Am …
T: "~ [c4,f4]@23, a3", // F5
U: "[~@3 g3@24 ~ a3@23 ~ [g3,e4]@24 f4@24 e4@24 [a3,f4]@20, ~ c4@71, ~@2 e4@25 f4@25 ~@24 a3@22 ~@2 g3@23 ~@21]/6", // C Dm
V: "[~@4 [g5,g6]@91 ~, ~ [g5,c6] ~@46, ~@3 d6@2 ~@91]/4", // G C5
W: "[~@4 [g5,g6]@49 ~@3 [g5,g6]@75 ~@13, ~ g5@2 d6@2 ~@139, ~ c6 ~@70]/6", // G
})).s("gm_string_ensemble_1").gain(0.1).pan(0.8)
// other · trombone · "Trombone 8"
const trombone = note("<~ A B C D E@2 F@2 ~@18 G@4 H I H J K L ~@17 M@6 N ~@2 O P O Q R S T U V W@4 ~>".pickRestart({
A: "~@12 c#4@4 b3@3 ~ a3@4", B: "c#4@23 ~", C: "~@12 c#4@4 e4@3 ~ f#4@3 ~", D: "g4@5 ~ f#4@6 e4@5 d4@5 ~@2",
E: "[c#4@8 ~ b3@5 f#3 ~@3 a3@17 ~@7 f#3@3 a3@2 ~]/2", F: "[c#4@7 ~@2 e4@3 c#4 ~@2 f#3 ~@2 a3@22 ~@8]/2",
G: "[f3@6 ~@2 e3@10 ~@3 d3@23 ~@4]/2", H: "~@18 g3@3 a3 ~@2", I: "c4 ~@2 e4@3 ~@3 c4@7 b3 a#3 a3@2 ~@4",
J: "c4 ~@2 g4@3 ~@3 e4@9 d4@2 ~@4", K: "~@15 a3 ~@2 g3@3 a3 ~@2", L: "c4 ~@5 g2@16 ~@2",
M: "[~@23 f3@6 ~@3 e3@10 ~@2 d3@23 ~@4 f3@6 ~@3 e3@10 ~@2 d3@23 ~@4 a3@5 c4@4 d4@4 e4@4 d4@4 ~ c4@3]/6", N: "~ a3@23",
O: "~@11 g3", P: "~ a3 ~@2 c4 ~@2 e4@3 ~@3 c4@7 b3 a#3 a3@2", Q: "~ a3 ~@2 c4 ~@2 g4@3 ~@3 e4@9 d4@2",
R: "~@16 b4@3 g4@2 ~@3", S: "~ e4@9 ~ d4@2 ~@11", T: "~@8 b4@2 g4 ~", U: "~ d4@9 e4@3 ~@11", V: "~@19 g3@3 a3@2",
W: "[f4 f#4 g4@28 ~ e4@65]/4",
})).s("gm_trombone").gain(0.52)
// other · trombone · "Trombone 9"
const trombone_2 = note("<~@27 A@4 B C B D E F ~@17 G@6 H ~@16>".pickRestart({
A: "[c4@6 ~@3 b3@10 ~@2 a3@23 ~@4]/2", B: "~@18 g3@3 a3 ~@2", C: "c4 ~@2 e4@3 ~@3 c4@7 b3 a#3 a3@2 ~@4",
D: "c4 ~@2 g4@3 ~@3 e4@9 d4@2 ~@4", E: "~@15 a3 ~@2 g3@3 a3 ~@2", F: "~ c4 ~@5 g2@15 ~@2",
G: "[~@23 c4@6 ~@3 b3@10 ~@2 a3@23 ~@4 c4@6 ~@3 b3@10 ~@2 a3@23 ~@4 a3@5 ~ c4@4 d4@4 e4@4 d4@3 ~ c4@3]/6",
H: "~ a3@21 ~@2",
})).s("gm_trombone").gain(0.29).pan(0.3)
// other · trumpet · "Trompette"
const trumpet = note("<~@27 A@4 B C B D E F ~@17 G@6 H ~@16>".pickRestart({
A: "[e5@6 ~@3 d5@10 ~@2 c5@23 ~@4]/2", B: "~@18 g3@3 a3 ~@2", C: "c4 ~@2 e4@3 ~@3 c4@7 b3 a#3 a3@2 ~@4",
D: "c4 ~@2 g4@3 ~@3 e4@9 d4@2 ~@4", E: "~@15 a3 ~@2 g3@3 a3 ~@2", F: "~ c4 ~@5 g3@17",
G: "[~@23 e5@6 ~@3 d5@10 ~@2 c5@23 ~@4 e5@6 ~@3 d5@10 ~@2 c5@23 ~@4 a3@5 c4@4 d4@4 ~ e4@4 d4@4 c4@3]/6",
H: "~ a3@22 ~",
})).s("gm_trumpet").gain(0.29).pan(0.8)
// bass · acoustic guitar nylon · "Bruitage"
const bass_2 = note("<~ A B C D E F G H ~@22 I@2 J@2 K L ~@24 M N O@3 P ~@10>".pickRestart({
A: "a1@23 ~", B: "a2@7 ~@2 a2@13 ~@2, a1@7 ~", C: "a2@7 ~@2 a2@14 ~, a1@11 ~", D: "a#2@7 ~@2 a#2@14 ~, f#1",
E: "b1@11 ~", F: "b1", G: "e1@11 ~", H: "e1@23 ~", I: "c2@7 ~@2 c2@9 ~@6", J: "c2@2 ~ c2@3 ~@2",
K: "c2@7 ~@2 c2@10 ~@5", L: "g2 ~@5 g2@16 ~@2", M: "~@3 c2@6 ~@4 c2@9 ~@2", N: "~@4 c2@7 ~@2 c2@9 ~@2",
O: "~@4 c2@6 ~@3 c2@9 ~@2", P: "~@4 c2@7 ~@3 c2@9 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.18).pan(0.6)
// other · piano · "mmp1429u; Ce Matin"
const piano = note(`<
~@8 A@3 B@2 C D@5 B@2 E F G@2 H@2 I@2 J@2 K L@2 M@2 N@3 O@2 C D@5 B@2 E P G@2 H@2 Q@4 R S@2 T U V U W@2 X Y Z AA AB@3
~@2
>`.pickRestart({
A: "[~@4 a4 b4 a4 c#5@3 ~@3 a4 b4 c#5@3 ~@4 a4 b4]/3", B: "[c#5@3 d5 c#5 b4 a4 c#5@3 ~@2 c#5 d5 c#5 d5]/2",
C: "c#5@2 a4 a4@2 f#4 a4 b4",
D: "[c#5 ~ c#5 b4 ~@2 a4 c#5@3 c#5 b4@3 c#5 a4@3 ~@3 a4 b4 c#5@5 ~ a4 b4 c#5@3 ~@4 a4 b4]/5",
E: "c#5@2 c#5 a4@2 f#4 a4 b4", F: "c#5@2 c#5 b4@2 ~ a4@2", G: "[e5@2 ~@3 c5 d5 e5@3 ~@4 c5 d5]/2",
H: "[e5@3 f5 e5 d5 c5 e5@3 ~@2 f5 g5 f5 g5]/2", I: "[e5 ~ e5 d5@2 ~ d5 c5@3 ~@3 a4 c5 d5]/2",
J: "[e5@2 e5 d5@2 ~ d5 c5@2 ~@3 a4 b4@3]/2", K: "c5 ~", L: "[~@4 a4 b4@2 c5@3 ~@6]/2", M: "[~@4 e5 f5@2 c5@3 ~@6]/2",
// … 99 more lines
More by Axelle Red
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.