0:00/0:00
// Sensualite — Axelle Red
// 96 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 100 bars on a 16-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 · synth strings 1 · "Nappes"
const synth_strings_1 = note(`<
~@3 A@2 B C@2 D E C@2 D E F G@2 H@2 I@4 J K L M C@2 D E C@2 D E F N@2 H@2 I@4 J O@2 P@2 Q@2 R S T@2 U@2 V W U@2 V W X
Y@2 ~@8 Z@2 AA@4 AB R Z@2 AA@4 AB R Z@2 AA@4 AB R AC ~
>`.pickRestart({
A: "[e3,a3,c#4]/2", B: "[f#3,b3,d#4]@12 ~ [f#3,a#3,c#4]@2 ~", C: "[b3 a#3, [f#3,d#4]]/2", D: "[f#3,a3,c#4]",
E: "g#3 g3, [e3,b3]", F: "[f#3,a#3,d#4]@5 ~ [g#3,b3,d#4]@10", G: "[[g3,b3,d4]@5 ~ [a3,c#4,e4]@18 ~@8]/2",
H: "[[f#3,b3,d#4]@4 [f#3,a#3,d#4]@3 [g#3,b3,e4]@5 [a#3,c#4,f#4]@4]/2", // B D#m E F#
I: "[[f#3,b3,d#4]@4 [f#3,a#3,d#4]@3 [g#3,b3,e4]@5 [f#3,a#3,c#4]@4]/2", J: "[f#3,b3,d#4] [g#3,b3,d#4]",
K: "[g#3,b3,e4]", L: "[d#3,f#3,b3]!2", M: "[f#3,b3,c#4] [f#3,a3,c#4]", N: "[[g3,b3,d4]@5 ~ [a3,c#4,e4]@25 ~]/2",
O: "[[g#3,b3,e4]@7 [d#3,f#3,b3]@5 [d#3,f#3,b3]@4]/2", P: "[b3,d#4,g#4]/2",
Q: "[f#4@19 ~ f#4@3 ~ e4@3 ~ d#4@4, [a#3,c#4]]/2", R: "[a#3,c#4,f#4]", S: "[g#3,c#4,e4]",
T: "[[e3,g#3,c#4]@4 ~@2 [f#3,a#3,d#4]@6 ~@2 [a#3,c#4,f#4]@7 ~ [c4,d#4,g#4]@10]/2", U: "[c#4 c4, [g#3,f4]]/2",
V: "[g#3,b3,d#4]", W: "a#3 a3, [f#3,c#4]", X: "[g#3,c4,f4]@5 ~ [a#3,c#4,f4]@10",
Y: "[[a3,c#4,e4]@5 ~ [b3,d#4,f#4]@18 ~@8]/2", Z: "[[g#3,c#4,f4]@4 [g#3,c4,f4]@3 [a#3,c#4,f#4]@5 [c4,d#4,g#4]@4]/2",
AA: "[[g#3,c#4,f4]@4 [g#3,c4,f4]@3 [a#3,c#4,f#4]@5 [g#3,c4,d#4]@4]/2", AB: "[g#3,c#4,f4] [a#3,c#4,f4]",
AC: "[f3,g#3,c#4]", // C#
})).s("gm_synth_strings_1").gain(0.18).pan(0.4)
// chords · piano · "Ac.Piano"
const piano = note(`<
A B@2 C@2 D E F G H I J K L M N@2 O@6 P Q R S E F G H I J K L M T@2 O@6 P U V W X Y@2 Z AA AB@2 AC AD AE AF AG AH@2 AI
AJ AK@2 ~@4 AL@2 AM AN AO@6 AP AN AQ@6 AP AN AQ@6 AP AN AR ~
>`.pickRestart({
A: "~@14 d#4 e4", B: "[[a3,e4,a4,c#5]@29 ~@3]/2", C: "[[a2,a3]@15 ~ [a2,a3]@15 ~, [e4,a4,c#5]@31 ~]/2",
D: "[b2,b3,d#4,f#4,b4]", E: "[b3,d#4,f#4,b4]@15 ~", F: "a#3@3 d#3, [d#4,f#4,a#4]", G: "[f#3,f#4,a4,c#5]@15 ~",
H: "[e3,e4,g#4,b4]@7 ~ [g3,e4,g4,b4]@7 ~", I: "[b3,f#4,b4,d#5]@15 ~", J: "[f#3,a#3,d#4,f#4]@15 ~",
K: "c#5@12 d#5@3 ~, [f#3,f#4,a4]@15 ~", L: "[e3,e4,g#4,b4]@7 ~ [e3,e4,g4,b4]@8",
M: "d#4@2 f#4@2 d#4 ~ [b3,d#4,g#4]@9 ~, [f#3,a#3]@5 ~@11", // G#m F#
N: "[~@2 g4@3 ~ [c#4,e4,a4]@8 d#4 ~ c#5@8 ~@8, [g3,b3,d4]@5 ~ a3@18 ~@8, ~@15 e4@9 ~@8]/2", // A G
O: "[[d#4,f#4,b4]@7 ~ [d#4,f#4,a#4]@5 ~ [e4,g#4,b4]@9 ~ [f#4,a#4,c#5]@4 ~@2 [d#4,f#4,b4]@9 ~ [d#4,f#4,a#4]@5 ~ [e4,g#4,b4]@8 ~@2 [f#4,a#4,c#5]@4 ~@2 [b3,d#4,f#4]@9 ~ [d#4,f#4,a#4]@5 ~ [e4,g#4,b4]@8 ~@2 [f#4,a#4,c#5]@6 [a#3,c#4,f#4]@2]/6", // B D#m E F# B D#m E F# …
P: "[f#3,b3,d#4]@7 ~ [g#3,b3,d#4]@8", Q: "[g#3,b3,e4]",
R: "[d#3,f#3,b3]@6 [d#3,f#3,b3]@2 [f#3,b3,d#4]@2 [f#3,b3,e4]@2 [b3,d#4,f#4]@3 ~", // B Esus2 B
S: "[f#4,b4,c#5]@7 ~ [f#4,a4,c#5]@8", // F#sus4 F#m
T: "[~@2 g4@3 ~ [c#4,e4]@8 d#4 ~ c#5@15 ~, [g3,b3,d4]@5 ~ [a3,a4]@24 ~@2, ~@15 e4@16 ~]/2", // C#m G A
U: "[g#3,b3,e4]@14 [d#3,f#3,b3] ~", V: "f#3@3 b2 f#3 e3 d#3@2, b3@15 ~, d#3@9 ~@7", W: "[g#3,b3,d#4]",
X: "[b3,d#4,g#4]@11 ~ [b3,d#4,g#4]@3 ~", Y: "[f#4@19 ~ [f#4,f#5]@4 [e4,e5]@4 d#5@4, [a#3,c#4]@31 ~, ~@14 d#4 ~]/2",
Z: "[d#2,d#3,a#3,c#4,f#4]@15 ~", AA: "[e3,g#3,b3]",
AB: "[[e3,g#3,c#4]@5 ~ [f#3,a#3,d#4,d#5]@6 ~@2 [a#3,c#4,f#4,f#5]@6 ~@2 [c4,d#4,g#4,g#5]@4 [c4,c5] ~ [c#4,c#5] ~ [d#4,d#5]@2]/2", // C#m D#m F# G# C C# D#
AC: "[g#3,c#4,f4,g#4,c#5]@8 [g#3,c#4,g#4,c#5,f5]!2 ~ [g#3,c#4,g#4,c#5,d#5]@3 [g#3,c#4,f4,g#4,c#5] ~, c#3@15 ~", // C# G#sus4 C#
AD: "[g#3,c4,g#4,c5,d#5]@3 [g#4,c5,f5]@3 [f4,g#4,c5]@3 ~ [g#4,c5,d#5]@2 ~ [g#4,c5,f5]@3, f3@15 ~, ~@3 [g#3,c4]@3 [g#3,c4]@2", // G# Fm G# Fm G#
AE: "[g#3,b3,f4,g#4,b4]@8 [g#3,b3,g#4,b4,f5]!2 ~ [g#3,b3,g#4,b4,d#5]@3 [f4,g#4,c#5]@2, f3@14 [g#3,b3] ~", // Fdim G#m C# G#m
AF: "[f#3,a#3,c#4,f#4,a#4,c#5]@2 [f#4,a4,c#5] [c#4,a4,c#5,f#5], ~@8 [f#3,a3]@7 ~", // F# F#m
AG: "[g#3,c#4,f4,g#4,c#5]@7 ~ [g#3,c#4,g#4,c#5,f5]!2 ~ [g#3,c#4,g#4,c#5,d#5]@3 [g#4,c#5,f5]@2, c#3@14 [g#3,c#4] ~", // C# G#sus4 C# C#5
AH: "[[g#3,c4,f5,g#5]@4 [c5,f5]@2 [c5,f5,g#5]@4 [c5,f5,a#5]@2 ~@12 [f5,g#5,c#6]!2 ~ [f5,g#5,b5]@3 [f3,g#3,b3]@2, f3@16 [f3,g#3,b3]@13 ~@3, c5@3 ~ a#5 ~ [g#3,c4]@8 [f5,g#5,b5]@9 ~@7 [f5,g#5,b5] ~]/2", // Fm F5 Fm Fsus4 C# Fdim G# Fdim
AI: "[f#3,a#3,c#4]@6 [c#5,f#5,a#5] ~ [f#3,a3,c#4,c#5,f#5,a5]@8, [c#5,f#5,a#5]@5 ~@11", // F# F#m F#
AJ: "f4@2 g#4@2 f4 ~ [c#4,f4,a#4]@9 ~, [g#3,c4]@5 ~@11", // A#m G#
AK: "[~@2 a4@3 ~ [d#4,f#4,b4]@8 f4 ~ d#5@8 ~@8, [a3,c#4,e4]@5 ~ b3@18 ~@8, ~@15 f#4@9 ~@8]/2", // B A
AL: "[[c#4,f4,g#4]@8 [f4,g#4,c5]@5 ~ [f#4,a#4,c#5]@8 ~@2 [g#4,c5,d#5]@8]/2", AM: "[g#3,c#4,f4] [a#3,c#4,f4]",
AN: "[a#3,c#4,f#4]", // F#
AO: "[[f4,g#4,c#5]@7 ~ [f4,g#4,c5]@5 ~ [f#4,a#4,c#5]@9 ~ [g#4,c5,d#5]@4 ~@2 [f4,g#4,c#5]@9 ~ [f4,g#4,c5]@5 ~ [f#4,a#4,c#5]@8 ~@2 [g#4,c5,d#5]@4 ~@2 [c#4,f4,g#4]@9 ~ [f4,g#4,c5]@5 ~ [f#4,a#4,c#5]@8 ~@2 [g#4,c5,d#5]@6 [c4,d#4,g#4]@2]/6", // C# Fm F# G# C# Fm F# G# …
AP: "[g#3,c#4,f4]@7 ~ [a#3,c#4,f4]@8", // C# A#m
AQ: "[[f4,g#4,c#5]@7 ~ [f4,g#4,c5]@5 ~ [f#4,a#4,c#5]@9 ~ [g#4,c5,d#5]@4 ~@2 [f4,g#4,c#5]@9 ~ [f4,g#4,c5]@5 ~ [f#4,a#4,c#5]@8 ~@2 [g#4,c5,d#5]@4 ~@2 [c#4,f4,g#4]@9 ~ [f4,g#4,c5]@5 ~ [f#4,a#4,c#5]@8 ~@2 [g#4,c5,d#5]@8]/6", // C# Fm F# G# C# Fm F# G# …
AR: "[f3,g#3,c#4]", // C#
})).s("gm_piano").gain(0.44).pan(0.6)
// other · string ensemble 2 · "Viol M‚l"
const string_ensemble_2 = note(`<
~@17 A@4 B@2 C D E F G H I J K L M N O P@2 A@4 Q@2 R@2 S ~@3 T U V ~@2 W X Y Z AA AB AC AD AE AF@2 ~@4 AG@2 AH AI AJ@4
AK@2 AH AI AJ@4 AK@2 AH AI AJ@4 AL@2 AM@2 AN ~
>`.pickRestart({
A: "[b4@4 ~@4 a#4@4 ~@2 b4@6 ~@4 c#5@4 ~@2 b4@5 ~@5 a#4@4 ~@2 b4@6 ~@4 c#5@5 ~@3]/4",
B: "[b4@5 ~@3 a#4@4 ~@2 b4@6 ~@4 c#5@4 ~@4]/2", C: "b4@7 ~ g#4@8", D: "e4@7 ~", E: "b4@13 ~@3", F: "b4@4 b4@3 ~",
G: "b4", H: "a#4@10 f#4@3 g#4@3", I: "a4@12 ~@2 [f#4,g#4] a4", J: "b4@2 ~ c#5, ~ b4", K: "d#5@11 ~ f#5@4, b4",
L: "a#4@10 f#4@2 ~ g#4@3, f#5@3 g#5", M: "f#5 d#5, a4", N: "[g#4,b4] [g4,b4]", O: "d#4@3 g#4@5",
P: "[g4@6 a4@23 ~@3]/2", Q: "[b4@5 ~@3 a#4@4 ~@4 g#4@8 [a#4,c#5]@8, ~@7 b4@3 ~@6]/2",
R: "[b4 g#4 e5@2, d#5@8 e4@7 ~, ~ g#5@3]/2", S: "[d#5,f#5], b4@13 ~@3", T: "~ f#5 e5 d#5", U: "f#5", V: "e5@15 ~",
W: "c#5", X: "c5@10 g#4@3 a#4@3", Y: "b4@12 ~@2 [g#4,a#4] b4", Z: "c#5@2 ~ d#5, ~ c#5", AA: "f5@11 ~ g#5@4, c#5",
AB: "c5@10 g#4@2 ~ a#4@3, g#5@3 a#5", AC: "g#5 f5, b4", AD: "[a#4,c#5] [a4,c#5]", AE: "f5@3 a#5@5",
AF: "[a5@3 b5@9 ~@4]/2", AG: "[c#5@4 c5@3 c#5@5 d#5@4]/2", AH: "c#5@7 ~ a#4@8", AI: "f#4@7 ~",
AJ: "[c#5@4 ~@4 c5@4 ~@2 c#5@6 ~@4 d#5@4 ~@2 c#5@5 ~@5 c5@4 ~@2 c#5@6 ~@4 d#5@5 ~@3]/4",
AK: "[c#5@5 ~@3 c5@4 ~@2 c#5@6 ~@4 d#5@4 ~@4]/2", AL: "[c#5@5 ~@3 c5@4 ~@4 a#4@8 [c5,d#5]@8, ~@7 c#5@3 ~@6]/2",
AM: "[c#5 a#4 f#5@2, f5@8 f#4@7 ~, ~ a#5@3]/2", AN: "[c#5,f5]@7 ~, g#5",
})).s("gm_string_ensemble_2").gain(0.17).pan(0.1)
// bass · electric bass finger · "Basse"
const bass = note(`<
~@2 A B@2 C D E F G D H I J K L@2 M N O P M N Q R S T U E F G D H I J K V@2 M N O P M N Q W X Y Z AA AB AC AD AE@2 AF
AG AH AI AF AJ AK AL AM AN@2 ~@3 AO AP@3 AQ AR AS AT AU AR AS AV AW AR AS AT AU AR AS AV AX AR AS AT AU AR AS AV AY AZ
~
>`.pickRestart({
A: "~@8 a2 f#2 ~ e2 ~ c#2 b1 ~", B: "a1@14 ~ a1", C: "b1@15 ~", D: "b1@4 b1 ~@3 b1!2 ~ b1!2 ~ f#1 g#1",
E: "b1@4 b1 ~ b1!2 ~ b1 b1@2 b1 ~@3", F: "b1@4 ~@2 b1!2 ~ b1 b1@2 b1 ~ g#1 f#1", G: "e1@4 ~@2 e1!2 ~ e1!2 ~ f#1@4",
H: "b1@4 b1 ~ b1!2 ~ b1 b1@2 b1@2 ~@2", I: "b1@4 ~@2 b1!2 ~ b1 b1@2 b1@3 ~", J: "e1@4 ~@2 e1!2 ~ e1!2 ~ e1@4",
K: "d#2@4 d#2 ~ g#1@8 ~@2", L: "[g1@2 ~ a1@9 a1@2 ~@2]/2", M: "b1@2 b1 ~ b1@4 d#2 ~ d#2!2 ~ d#2 e2@2",
N: "~@2 e2 ~ e1@4 f#1!2 ~ f#1 ~ f#1 g#1 f#1", O: "b1@2 b1@2 b1@2 d#2 ~ d#2@2 ~ d#2 d#2@2 ~ d#2",
P: "e2@4 ~ e1 e2 e1 f#1@2 f#1!2 ~ g#1 b1 g#1", Q: "b1@2 b1 ~ b1@2 f#1@2 g#1@7 ~", R: "e1@7 ~", S: "b1@7 ~",
T: "f#1@12 f#1 g#1@3", U: "b1@4 b1 ~@2 b1 b1@2 b1@2 b1 ~ f#1 g#1", V: "[g1@2 ~ a1@12 ~]/2", W: "e1@12 ~@2 b1 ~",
X: "b1@13 ~ f#1 g1", Y: "g#1@4 ~@4 d#2 f#2 g#2 g#2@2 f#2 d#2 b1", Z: "g#1@4 ~@4 d#2 f#2 g#2 g#2@2 f#2 d#2 g#1",
AA: "f#1@4 ~@4 c#2 d#2 f#2 f#2@2 d#2 c#2 g#1", AB: "f#1@4 ~@4 c#2 d#2 f#2 f#2@2 e2 d#2 c#2",
AC: "d#2@4 ~@4 a#1 c#2 d#2 d#2@2 d#2 c#2 a#1", AD: "c#2@4 ~@2 g#1 a#1 c#2 ~ c#2@2 ~@2 c#2!2",
AE: "[c#2@5 ~ d#1 ~ d#1@4 ~@2 f#1@6 ~@2 g#1@9 ~]/2", AF: "c#2@4 c#2 ~@3 c#2!2 ~ c#2!2 ~ g#1 a#1",
AG: "c#2@4 c#2 ~ c#2!2 ~ c#2 c#2@2 c#2 ~@3", AH: "c#2@4 ~@2 c#2!2 ~ c#2 c#2@2 c#2 ~ a#1 g#1",
AI: "f#1@4 ~@2 f#1!2 ~ f#1!2 ~ g#1@4", AJ: "c#2@4 c#2 ~ c#2!2 ~ c#2 c#2@2 c#2@2 ~@2",
AK: "c#2@4 ~@2 c#2!2 ~ c#2 c#2@2 c#2@3 ~", AL: "f#1@4 ~@2 f#1!2 ~ f#1!2 ~ f#1@4", AM: "f2@4 f2 ~ a#1@8 ~@2",
AN: "[a1@2 ~ b1@7 ~@6]/2", AO: "~@9 c#2 g#2 c#2 g#2 a#2 g#2 a#1", AP: "[c#2@4 f2@2 ~ f#2@5 g#2@3 c#2@3 c#2 a#1@5]/3",
AQ: "f#1@8 ~@2 g#1 a#1 c#2 a#1 c#2 a#1", AR: "c#2@2 c#2 ~ c#2@4 f2 ~ f2!2 ~ f2 f#2@2",
AS: "~@2 f#2 ~ f#1@4 g#1!2 ~ g#1 ~ g#1 a#1 g#1", AT: "c#2@2 c#2@2 c#2@2 f2 ~ f2@2 ~ f2 f2@2 ~ f2",
AU: "f#2@4 ~ f#1 f#2 f#1 g#1@2 g#1!2 ~ a#1 c#2 a#1", AV: "c#2@2 c#2 ~ c#2@2 g#1@2 a#1@3 a#1 a#1@2 f#1@2",
AW: "f#1@4 ~ c#2 f#2 c#2 f#2@2 f#2@2 f#2@4", AX: "f#1@4 ~ c#2 f#2 c#2 f#2@2 f#2@2 f#2 f#1@2 f#2",
AY: "f#1@4 ~ c#2 f#2 c#2 f#2@2 f#2@2 f#2@2 f#2!2", AZ: "c#2",
})).s("gm_electric_bass_finger").gain(0.56)
// chords · acoustic guitar nylon · "Ac.Gtr"
const acoustic_guitar_nylon = note(`<
~@6 A B C D E F G H I@3 ~@5 J@5 A B C D E F G H I@3 ~@5 K@4 ~@8 L M N O P Q R S T@3 ~@5 U@3 V W X Y V Z@3 V W X Y V
Z@3 V W X Y V AA@4 ~
>`.pickRestart({
A: "[b3,d#4]@3 [b3,d#4]!2 ~ [b3,d#4]!2 ~ [b3,d#4]!2 ~@3 [b3,d#4]!2", // B
B: "[a#3,d#4]@3 [a#3,d#4]!2 ~@2 [a#3,d#4]@2 [a#3,d#4]!2 ~ [a#3,d#4]@3 ~", // D#5
C: "[a3,d#4]@3 [a3,d#4]!2 ~ [a3,d#4]!2 ~@2 [a3,d#4] ~ [a3,d#4]!2 [a3,d#4]@2", // Adim
D: "[b3,e4]@3 [b3,e4]!2 ~ [b3,e4]!2 ~ [g3,e4]!2 ~ [b3,e4]@2 [g3,e4]@2", // E5 C E5 C
E: "[b3,d#4]@3 ~ [b3,d#4] ~ [b3,d#4]!2 ~ [b3,d#4]!2 ~ [b3,d#4]@2 [b3,d#4]!2", // B
F: "[a#3,d#4]@3 [a#3,d#4]!2 ~ [a#3,d#4]!2 ~ [a#3,d#4]!2 ~ [a#3,d#4]!3 ~", // D#5
G: "[a3,d#4]@3 [a3,d#4]!2 ~ [a3,d#4]!2 ~ [a3,d#4]!2 ~ [a3,d#4]@2 [b3,d#4] [a3,d#4]", // Adim B Adim
H: "[b3,e4]@3 ~ [b3,e4] ~@2 [b3,e4]!2 ~ [b3,e4]@2 [b3,e4]@2 [b3,e4]!2", // E5
I: "[[d#3,f#3,a#3]@2 ~ [g#3,b3,d#4]@3 ~@2 [b3,d4]@2 ~ [a3,c#4,e4]@11 ~@2, ~@15 g3@5 ~@28]/3", // D#m G#m Bm A
J: "[~@16 [f#3,b3]@6 ~@2 [g#3,b3]@5 ~@3 [g#3,b3]@13 ~@3 b3@13 ~@3 b3@6 ~@2 [f#3,a3]@8, ~@15 d#3@6 ~@2 d#3@5 ~@3 e3@13 ~@3 [d#3,f#3]@14 ~@2 [c#3,f#3]@7 ~ c#3@7 ~@2]/5", // B5 G#m F#m D#m F#5
K: "[~@16 [f#3,b3]@6 ~@2 [g#3,b3]@5 ~@3 [g#3,b3]@13 ~ [f#3,b3]@18, ~@15 d#3@6 ~@2 d#3@5 ~@3 e3@13 ~@2 d#3@14 ~@4]/4", // B5 G#m B5
L: "[c#4,f4]@3 [c#4,f4]!2 ~ [c#4,f4]!2 ~ [c#4,f4]!2 ~@3 [c#4,f4]!2", // C#
M: "[c4,f4]@3 [c4,f4]!2 ~@2 [c4,f4]@2 [c4,f4]!2 ~ [c4,f4]@3 ~", // F5
N: "[b3,f4]@3 [b3,f4]!2 ~ [b3,f4]!2 ~@2 [b3,f4] ~ [b3,f4]!2 [b3,f4]@2", // Bdim
O: "[c#4,f#4]@3 [c#4,f#4]!2 ~ [c#4,f#4]!2 ~ [a3,f#4]!2 ~ [c#4,f#4]@2 [a3,f#4]@2", // F#5 D F#5 D
P: "[c#4,f4]@3 ~ [c#4,f4] ~ [c#4,f4]!2 ~ [c#4,f4]!2 ~ [c#4,f4]@2 [c#4,f4]!2", // C#
Q: "[c4,f4]@3 [c4,f4]!2 ~ [c4,f4]!2 ~ [c4,f4]!2 ~ [c4,f4]!3 ~", // F5
R: "[b3,f4]@3 [b3,f4]!2 ~ [b3,f4]!2 ~ [b3,f4]!2 ~ [b3,f4]@2 [c#4,f4] [b3,f4]", // Bdim C# Bdim
S: "[c#4,f#4]@3 ~ [c#4,f#4] ~@2 [c#4,f#4]!2 ~ [c#4,f#4]@2 [c#4,f#4]@2 [c#4,f#4]!2", // F#5
T: "[[f3,g#3,c4]@2 ~ [a#3,c#4,f4]@3 ~@2 [c#4,e4]@2 ~ [b3,d#4,f#4]@11 ~@2, ~@15 a3@5 ~@28]/3", // Fm A#m C#m B
U: "[~@16 [g#3,c#4]@6 ~@2 [a#3,c#4]@5 ~@3 [a#3,c#4]@13 ~@3, ~@15 f3@6 ~@2 f3@5 ~@3 f#3@13 ~@4]/3", // C#5 A#m
V: "[c#4,f4]@3 [c#4,f4]!2 ~ [c#4,f4]!2 ~ [c4,f4]!2 ~@3 [c4,f4]!2", // C# F5
W: "[c#4,f#4]@3 [c#4,f#4]!2 ~@2 [c4,d#4]@2 [c4,d#4]!2 ~ [c4,d#4]@3 ~", // F#5 Cm
X: "[c#4,f4]@3 [c#4,f4]!2 ~ [c#4,f4]!2 ~@2 [c#4,f4] ~ [c#4,f4]!2 [c#4,f4]@2", // C#
Y: "[c#4,f#4]@3 [c#4,f#4]!2 ~ [c#4,f#4]!2 ~ [d#4,g#4]!2 ~ [d#4,g#4]@2 [d#4,g#4]@2", // F#5 G#5
Z: "[[c#4,f#4]@3 [c#4,f#4]!2 ~@2 [c4,d#4]@2 [c4,d#4]!2 ~ [c4,f4]@3 ~ [g#3,c#4]@3 [c#4,f4]!2 ~ [c#4,f4] ~ [c#4,f4]@2 [c#4,f4] ~ [c#4,f4]!3 ~ [a#3,c#4]@3 [c#4,f#4]!2 ~ [c#4,f#4]!2 ~ [c#4,f#4]!2 ~ [c#4,f#4]@2 [c#4,f#4]@2, ~@15 f3@3 ~@5 g#3@2 ~@6 f#3@13 ~@4]/3", // F#5 Cm F5 C#5 C# A#m F#5
AA: "[[c#4,f#4]@3 [c#4,f#4]!2 ~@2 [c4,d#4]@2 [c4,d#4]!2 ~ [c4,f4]@3 ~ [g#3,c#4]@3 [c#4,f4]!2 ~ [c#4,f4] ~ [c#4,f4]@2 [c#4,f4] ~ [c#4,f4]!3 ~ [a#3,c#4]@3 [c#4,f#4]!2 ~ [c#4,f#4]!2 ~ [c#4,f#4]!2 ~ [c#4,f#4]@2 [c#4,f#4] ~ g#3@14 ~@2, ~@15 f3@3 ~@5 g#3@2 ~@6 f#3@13 ~@3 [c#3,f3]@17]/4", // F#5 Cm F5 C#5 C# A#m F#5 C#
})).s("gm_acoustic_guitar_nylon").gain(0.26).pan(0.4)
// chords · electric guitar clean · "GtrClean"
const electric_guitar_clean = note(`<
~@17 A B A B A C ~@15 A B A B A C ~@3 D@2 E@2 F G H@2 ~@11 I J I K I L ~@2 I J I K I L ~@2 I J I K I L ~@2 I J I K I L
~@4
>`.pickRestart({
A: "~@2 [f#3,b3]!2 ~ [f#3,b3]!2 ~ [f#3,a#3]!2 ~ [f#3,a#3]!2 ~ [g#3,b3]!2", // B5 F# G#m
B: "~@2 [g#3,b3]!2 ~ [g#3,b3]!2 ~ [a#3,c#4]!2 ~ [a#3,c#4]!2 ~ [f#3,b3]!2", // G#m A#m B5
C: "~@2 [g#3,b3]!2 ~ [g#3,b3]!2 ~ [a#3,c#4]!2 ~ [a#3,c#4]!2 ~ [f#3,b3] ~", // G#m A#m B5
D: "~@2 [d#4,g#4] ~@3 [d#4,g#4] ~@3 [d#4,g#4] ~@3 [d#4,g#4] ~", // G#5
E: "~@2 [c#4,f#4] ~@3 [c#4,f#4] ~@3 [c#4,f#4] ~@3 [c#4,f#4] ~", // F#5
F: "~@2 [d#4,f#4] ~@3 [d#4,f#4] ~@3 [d#4,f#4] ~@3 [d#4,f#4] ~", // D#m
G: "~@2 [e4,g#4] ~@3 [e4,g#4] ~@3 [e4,g#4]@4 [e4,g#4] ~", // E
H: "[[g#4,c#5]@4 ~@2 [a#4,d#5]@6 ~@2 [c#4,f#4]@7 ~ [d#4,g#4]@5 ~@5]/2", // C#5 D#5 F#5 G#5
I: "~@2 [g#3,c#4]!2 ~ [g#3,c#4]!2 ~ [g#3,c4]!2 ~ [g#3,c4]!2 ~ [a#3,c#4]!2", // C#5 G# A#m
J: "~@2 [a#3,c#4]!2 ~ [a#3,c#4]!2 ~ [c4,d#4]!2 ~ [c4,d#4]!2 ~ [g#3,c#4]!2", // A#m Cm C#5
K: "~@2 [a#3,c#4]!2 ~ [a#3,c#4]!2 ~ [c4,d#4] [c4,d#4]@2 [c4,d#4]!2 ~ [g#3,c#4]!2", // A#m Cm C#5
L: "~@2 [a#3,c#4]!2 ~ [a#3,c#4]!2 ~ [c4,d#4]!2 ~ [c4,d#4]!2 ~ [g#3,c#4] ~", // A#m Cm C#5
})).s("gm_electric_guitar_clean").gain(0.18).pan(0.6)
// other · electric guitar muted · "Gtr Mute"
const electric_guitar_muted = note("<~@3 A B ~@11 C ~@11 D ~@3 D ~@15 D ~@3 E ~@47>".pickRestart({
A: "~@2 e3 ~ a3!2 f#3 ~ a3 ~@2 a3 ~ a3 f#3 ~", B: "a3 ~@15", C: "~@2 c#4 b3 c#4 b3 g#3!2 b3 ~@2 b3 ~ g#3 b3 ~",
D: "~@4 b3!5 ~ b3!2 ~ b3!2 ~", E: "~@4 c#4!5 ~ c#4!2 ~ c#4!2 ~",
})).s("gm_electric_guitar_muted").gain(0.24).pan(0.2)
// other · harmonica · "Harmnica"
const harmonica = note("<~@81 A B@2 C D E F G H I@2 J@2 K L M H N ~>".pickRestart({
A: "~@14 f#5!2", B: "[g#5@13 ~ g#5@4 ~@12 f5 f#5, g5 ~@31]/2", C: "f#5 g#5@2 f#5 f5 d#5 c#5 c5 c#5@2 ~@6, ~ g5 ~@14",
D: "~@11 g#4 f#4@3 g#4, ~@12 g4 ~@3", E: "c#5 [c5,c#5] c#5 ~@13", F: "~@4 [g4,g#4] ~ [f4,f#4] g#4 c#5 c5 c#5@2 ~@4",
G: "f5@3 ~ f5@3 ~ g#5 g5 f#5 g#5 g5 f#5 g#5 g5, e5 ~@3 e5 ~@11",
H: "f#5 g#5 g5 f#5 f5@2 f5 f#5 f5 c#5 g#4 f#4 f4 g#4 c#5 c5", I: "[c#5@8 ~@6 g#5@4 ~@12 f5 f#5]/2",
J: "[f#5 g#5@2 f#5 f5 d#5 c#5 c5 c#5@19 g#4 f#4@3 g#4, ~ g5 ~@26 g4 ~@3]/2", K: "c#5 [c5,c#5] c#5@9 ~@5",
L: "~@4 [g4,g#4] ~ [f4,f#4] g#4 c#5 c5 c#5@5 ~", M: "f5@4 f5@4 g#5 g5 f#5 g#5 g5 f#5 g#5 g5, e5 ~@3 e5 ~@11",
N: "c#5@3 ~",
})).s("gm_harmonica").gain(0.29)
// drums · kick
const kick = s("bd").struct(`<
~ A@13 B@2 C A@7 D C A@9 B@2 E A@7 D A@4 D A@2 F G A@7 H B@2 ~ A@7 I A@7 J A@7 D A@7 K C ~
>`.pickRestart({
A: "x!2", B: "x ~@2 x ~@4", C: "x", D: "x ~@3 x ~@2 x", E: "~@4 x!2 ~@2", F: "x ~@2 x ~@3 x", G: "~@3 x ~@2 x ~",
H: "x ~@7 x ~@2 x!2 ~ x ~", I: "x!2 ~@2 x!2 ~ x", J: "x ~@7 x ~@6 x", K: "x ~ x ~ x ~ x!2",
})).gain(0.64)
// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
~@16 A@2 B A C D B ~@4 E C@3 E F G H ~@2 C ~ I E J K B C ~@10 E C@3 E F G C ~@4 D ~@7 I E J K B C L ~ I E J K B C ~@2
I E J K B C K ~@2
>`.pickRestart({
A: "~@11 x ~@4", B: "~@9 x ~ x ~@3 x", C: "~@7 x ~@8", D: "~@15 x", E: "~@7 x ~@6 x ~", F: "~@7 x ~@7 x",
G: "~@7 x ~ x ~@6", H: "~@7 x ~@2 x ~@5", I: "~@7 x ~@2 x ~@4 x", J: "~@7 x ~@6 x!2", K: "~@7 x ~@3 x ~@4",
L: "~@7 x",
})).gain(0.32)
// … 107 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.