0:00/0:00
// Die Laaielichter — Gerard Cox
// 100 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(100/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 · electric guitar jazz · "Jazzguitar"
const electric_guitar_jazz = note(`<
A B C@3 D@3 E F G H@3 I@4 J K L M@2 N@3 E A B O@3 P@3 Q R S T@6 U V W X@5 Y Z R S AA@3 P@3 Q AB AC AD@3 AE@4 AF AG AH
AI@2 AJ@3 AK AB AC AD@3 AJ@3 AK AB AC AL@4 AK AM@3
>`.pickRestart({
A: "e4 ~ [a3,c#4,e4]@3 ~ c#4 e4 c#3@2 c#4@3 ~@2 e4, a2@4 ~ a3@3 ~@5 g#3@2 ~, ~@7 c#4", // A
B: "b2@2 [b3,d4,f#4]@3 ~ f#3 ~ f#3 ~@2 d4@2 b3 f#3 b3, ~@5 b3@2 [f#4,b4]@2 b3@2 f#4@4 ~, ~@5 b2@2 ~", // Bm B5
C: "[e3@2 [b3,e4,g#4]@2 ~@2 e4 ~ e4@2 ~@3 d4@2 [e4,g#4]@2 d4 ~ g#3@2 ~@2 g#3 ~@2 [a3,c#4,e4]@2 e3@2 [b3,d4] ~@2 a3@2 ~ [a3,c#4,f#4]@2 [e3,a3] ~ e4 ~ [a3,c#4,e4]@3 ~ c#4 e4, ~@5 b3@2 g#4@4 b4@2 ~@35, ~@8 e3@4 e3@4 ~@2 e3@3 ~ e3@2 a2@4 ~@4 e3@5 ~@3 a2@4 ~@4, ~@8 d4 ~ d4@2 ~@9 [b3,e4]@2 ~@8 [c#4,e4]@2 ~@12 a3@3]/3", // E A Bm F#m A5 A E5 C#m
D: "[c#3@2 c#4@3 ~@2 e4 b2@2 [b3,d4,f#4]@3 ~ f#3 ~ f#3 ~@2 d4@2 b3 f#3 b3 e3@2 [b3,e4,g#4]@2 ~@2 e4 ~ e4@2 ~@3 d4@2 [e4,g#4]@2 d4 ~ g#3@2 ~@2 g#3, ~@5 g#3@2 ~@8 [f#4,b4]@2 ~ b2@4 ~@10 e3@4 e3@4 ~@2 e3@3 ~ e3@2, ~@6 c#4@2 ~@5 b3@3 ~ b3@2 f#4@4 ~@6 b3@2 g#4@3 ~ b4@2 ~@11, ~@32 d4 ~ d4@2 ~@9 [b3,e4]@2 ~]/3", // Bm E B5 E5
E: "~@2 [a3,c#4,e4]@2 e3@2 [b3,d4] ~@2 a3@2 ~ [a3,c#4,f#4]@2 [e3,a3] ~, a2@4 ~@3 [c#4,e4]@2 ~@7, ~@8 e3@5 ~@3", // A Bm F#m A5 C#m
F: "~@2 [c#4,e4]@3 ~@5 [g#3,c#4,e4]@3 g#3@2 e4, ~@2 a3@2 ~ a3@2 e4@2 ~@7, ~@3 c#4 c#3@4", // C#m
G: "~@2 [b3,d4,f#4]@2 ~@2 d4 ~@3 b3@2 ~ b3 f#4 b3, b2@15 ~, ~@4 f#3@3 b4@7 ~@2, ~@5 b3@4 ~@3 f#3@3 ~", // Bm
H: "[~@2 [e4,g#4]@3 ~@4 d4@2 b4@2 ~@6 e4 ~@2 d4 ~@3 [a3,c#4,e4]@2 ~@2 [c#4,f#4]@2 [a3,e4] ~ [a3,c#4]@2 [e3,b3,d4]@2 [a3,c#4,e4] ~@6 a3 ~@2, e3@6 e4@2 e3@6 g#4@4 ~@2 g#4@2 ~@7 a3@3 ~@9 a3@3 e3@2 ~@2, ~@2 b3 ~@2 b3@2 g#4@2 ~@4 d4@2 e4@3 d4@3 e4@2 ~@5 e3@3 ~@11 c#4@2 ~@4, ~@16 e3@8 a2@15 ~@4 e4@5]/3", // E A F#5 A5 A E7 A
I: "[~@5 g#3 c#3 g#3 ~ b3 d4 b3 f#3 ~@4 b3 ~ d4@2 b3 f#3 b3 ~@2 e4 ~ b4 d4 e4 ~@3 e4 b4@2 d4 e4 ~@2 d4 e4 ~@2 e4 d4 ~@3 e4 c#4 ~ [a3,c#4] [b3,d4] ~ e3 ~ e3 [c#4,f#4]@2 ~ [c#4,e4] a3, c#3@5 ~@3 b2@6 f#3@2 b2@6 ~@42, ~ g#3@2 e4@5 ~@5 b3@3 ~@2 f#3@3 ~@3 e3@14 ~@2 e3@8 ~@4 e3@3 ~@9, ~@2 c#4@2 ~@7 [d4,f#4]@3 ~ [d4,g#4]@2 ~@2 f#4@4 ~@8 g#4@2 d4@2 ~@4 g#4@2 ~@2 g#4@4 ~@2 a4@2 ~@13, ~@19 b3 ~@5 d4@4 ~@3 g#3@6 ~@6 g#3@2 ~ [a3,c#4]@4 ~@4 [c#4,e4]@2 a3@3 ~ a3@2 ~]/4", // A Bm F#5 C#m D Ddim A C#m
J: "[c#4,e4] ~ [a3,c#4,e4]@3 ~@5 [g#3,c#4,e4]@3 ~ c#4 e4, a2@7 e4@2 ~@7, ~@5 a3@3 c#3@8, ~@6 c#4@2 ~@5 g#3@2 ~", // C#m A C#m
K: "~@2 [d4,f#4]@3 ~ d4 f#4 g#4 ~ d4 ~ g#4 ~ d4 b3, b2, ~@2 b3 ~@2 b3@4 f#4@2 b3@2 f#4@2 ~", // D
L: "~@2 [e4,g#4]@3 ~ e4 g#4 b4@2 ~@3 d4 e4 d4, e3@4 ~@4 e3@3 g#4@3 ~@2, ~@2 b3 ~@2 b3@2 ~@3 d4@2 e3@3 ~", // E
M: "[~@2 e4@2 b4 d4 g#4 d4 ~@6 e4 a4 ~@2 c#4@2 [a3,b3,d4]@2 [a3,c#4,e4] ~ e4 ~ [a3,c#4,e4]@3 ~ c#4 e4, e3@8 a2@15 ~ a2@4 ~@4, ~ d4@2 ~@7 e4@2 a3@3 ~ e3@7 ~@9, ~@11 a4@2 c#4@2 ~@2 a3@3 ~@9 a3@3]/2", // Bm7 A
N: "[c#3@2 c#4@3 ~@2 e4 b2@2 [b3,d4,f#4]@3 ~ f#3 ~ f#3 ~@2 d4@2 b3 f#3 b3 e3@2 [b3,e4,g#4]@2 ~@2 e4 ~ e4@2 ~@3 d4@2 [e4,g#4]@2 d4 ~ g#3@2 ~@2 g#3, ~@5 g#3@2 ~@8 [f#4,b4]@2 ~ b2@4 ~@10 e3@4 e3@4 ~@2 e3@3 ~ e3@2, ~@6 c#4@2 ~@5 b3@3 ~ b3@2 f#4@4 ~@6 b3@2 g#4@4 b4@2 ~@11, ~@32 d4 ~ d4@2 ~@9 [b3,e4]@2 ~]/3", // Bm E B5 E5
O: "[e3@2 [b3,e4,g#4]@2 ~@2 e4 ~ e4@2 ~@3 d4@2 [e4,g#4]@2 d4 ~ g#3@2 ~@2 g#3 ~@2 [a3,c#4,e4]@2 e3@2 [b3,d4] ~@2 a3@2 ~ [a3,c#4,f#4]@2 [e3,a3] ~ f4 ~ [a#3,d4,f4]@3 ~ d4 f4, ~@5 b3@2 g#4@4 b4@2 ~@35, ~@8 e3@4 e3@4 ~@2 e3@3 ~ e3@2 a2@4 ~@4 e3@5 ~@3 a#2@4 ~@4, ~@8 d4 ~ d4@2 ~@9 [b3,e4]@2 ~@8 [c#4,e4]@2 ~@12 a#3@3]/3", // E A Bm F#m A5 A# E5 C#m
P: "[d3@2 d4@3 ~@2 f4 c3@2 [c4,d#4,g4]@3 ~ g3 ~ g3 ~@2 d#4@2 c4 g3 c4 f3@2 [c4,f4,a4]@2 ~@2 f4 ~ f4@2 ~@3 d#4@2 [f4,a4]@2 d#4 ~ a3@2 ~@2 a3, ~@5 a3@2 ~@8 [g4,c5]@2 ~ c3@4 ~@10 f3@4 f3@4 ~@2 f3@3 ~ f3@2, ~@6 d4@2 ~@5 c4@3 ~ c4@2 g4@4 ~@6 c4@2 a4@4 c5@2 ~@11, ~@32 d#4 ~ d#4@2 ~@9 [c4,f4]@2 ~]/3", // Cm F C5 F5
Q: "~@2 [a#3,d4,f4]@2 f3@2 [c4,d#4] ~@2 a#3@2 ~ [a#3,d4,g4]@2 [f3,a#3] ~, a#2@4 ~@3 [d4,f4]@2 ~@7, ~@8 f3@5 ~@3", // A# Cm Gm A#5 Dm
R: "f4 ~ [a#3,d4,f4]@3 ~ d4 f4 d3@2 d4@3 ~@2 f4, a#2@4 ~ a#3@3 ~@5 a3@2 ~, ~@7 d4", // A#
S: "c3@2 [c4,d#4,g4]@3 ~ g3 ~ g3 ~@2 d#4@2 c4 g3 c4, ~@5 c4@2 [g4,c5]@2 c4@2 g4@4 ~, ~@5 c3@2 ~", // Cm C5
T: "[f3@2 [c4,f4,a4]@2 ~@2 f4 ~ f4@2 ~@3 d#4@2 [f4,a4]@2 d#4 ~ a3@2 ~@2 a3 ~@2 [a#3,d4,f4]@2 f3@2 [c4,d#4] ~@2 a#3@2 ~ [a#3,d4,g4]@2 [f3,a#3] ~@3 [d4,f4]@3 ~@5 [a3,d4,f4]@3 a3@2 f4 ~@2 [c4,d#4,g4]@2 ~@2 d#4 ~@3 c4@2 ~ c4 g4 c4 ~@2 [f4,a4]@3 ~@4 d#4@2 c5@2 ~@6 f4 ~@2 d#4 ~, ~@5 c4@2 a4@3 ~ c5@2 ~@34 f4@2 ~@12 c4@4 ~@3 g3@3 ~ f3@7 ~ f3@7 ~ f3@8, ~@8 f3@4 f3@4 ~@2 f3@3 ~ f3@2 a#2@4 ~@4 f3@5 ~@9 d4@3 ~@11 g3@3 c5@7 ~@4 c4 ~@2 c4@2 a4@2 ~@5 a4@4 ~@2 a4@2 ~@2, ~@8 d#4 ~ d#4@2 ~@9 [c4,f4]@2 ~@8 [d4,f4]@2 ~@9 a#3@2 ~ a#3@3 d3@8 c3@15 ~@7 f4@3 ~@4 d#4@2 f4@3 d#4@3 f4@2 ~]/6", // F A# Cm Gm A#5 Dm Cm F …
U: "~@2 [a#3,d4,f4]@2 ~@2 [d4,g4]@2 [a#3,f4] ~ [a#3,d4]@2 [f3,c4,d#4]@2 [a#3,d4,f4] ~, a#2@15 ~, ~@4 f3@3 ~@9, ~@5 a#3@3 ~@8", // A# G5 A#5 A# F7 A#
V: "~@5 a#3 ~@7 a3 d3 a3, ~ a#3@2 f4@5 ~ a3@2 f4@5, ~@2 d4@2 f3@2 ~@2 d3@5 ~@3, ~@5 d4 ~@2",
W: "~ c4 d#4 c4 g3 ~@4 c4 ~ d#4@2 c4 g3 c4, c3@5 c4@2 [d#4,a4]@3 g3@3 ~@3, ~@3 [d#4,g4]@3 g3@2 c3@6 ~@2, ~@11 g4@4 ~, ~@11 c4 ~@4", // D#dim D#
X: "[~@2 f4 ~ c5 d#4 f4 ~@3 f4 c5@2 d#4 f4 ~@2 d#4 f4 ~@2 f4 d#4 ~@3 f4 d4 ~ [a#3,d4] [c4,d#4] ~ f3 ~ f3 [d4,g4]@2 ~ [d4,f4] a#3 [d4,f4] ~ [a#3,d4,f4]@3 ~@5 [a3,d4,f4]@3 ~ d4 f4 ~@2 [d#4,g4]@3 ~ d#4 g4 a4 ~ d#4 ~ a4 ~ d#4 c4 ~@2 [f4,a4]@3 ~ f4 a4, f3@14 ~@2 f3@8 ~@4 f3@3 ~@9 a#2@7 f4@2 ~@16 g4@2 ~@2 g4@2 ~@9, ~ d#4@4 ~@2 a4@2 d#4@2 ~@4 a4@2 ~@2 a4@4 ~@2 a#4@2 ~@19 d4@2 ~@5 a3@2 ~@3 c4 ~@2 c4@4 ~@2 c4@2 ~@5 c4 ~@2 c4@2 ~, ~@8 a3@6 ~@6 a3@2 ~ [a#3,d4]@4 ~@4 [d4,f4]@2 a#3@3 ~ a#3@2 ~@6 a#3@3 d3@8 c3@16 f3@4 ~@4]/5", // A# Cm G5 Dm A# Dm D# F …
Y: "c5@2 ~@3 d#4 f4 d#4 ~@2 f4@2 c5 d#4 a4 d#4, f3@3 a4@3 ~@3 d#4@2 ~@5, ~@2 d#4@2 f3@3 ~ f3@8",
Z: "~@6 f4 a#4 ~@2 d4@2 [a#3,c4,d#4]@2 [a#3,d4,f4] ~, a#2@15 ~, ~@2 f4@2 a#3@3 ~ f3@7 ~, ~@3 a#4@2 d4@2 ~@2 a#3@3 ~@4", // Cm7 A#
AA: "[f3@2 [c4,f4,a4]@2 ~@2 f4 ~ f4@2 ~@3 d#4@2 [f4,a4]@2 d#4 ~ a3@2 ~@2 a3 ~@2 [a#3,d4,f4]@2 f3@2 [c4,d#4] ~@2 a#3@2 ~ [a#3,d4,g4]@2 [f3,a#3] ~ f4 ~ [a#3,d4,f4]@3 ~ d4 f4, ~@5 c4@2 a4@4 c5@2 ~@35, ~@8 f3@4 f3@4 ~@2 f3@3 ~ f3@2 a#2@4 ~@4 f3@5 ~@3 a#2@4 ~@4, ~@8 d#4 ~ d#4@2 ~@9 [c4,f4]@2 ~@8 [d4,f4]@2 ~@12 a#3@3]/3", // F A# Cm Gm A#5 A# F5 Dm
AB: "f#4 ~ [b3,d#4,f#4]@3 ~ d#4 f#4 d#3@2 d#4@3 ~@2 f#4, b2@4 ~ b3@3 ~@5 a#3@2 ~, ~@7 d#4", // B
AC: "c#3@2 [c#4,e4,g#4]@3 ~ g#3 ~ g#3 ~@2 e4@2 c#4 g#3 c#4, ~@5 c#4@2 [g#4,c#5]@2 c#4@2 g#4@4 ~, ~@5 c#3@2 ~", // C#m C#5
AD: "[f#3@2 [c#4,f#4,a#4]@2 ~@2 f#4 ~ f#4@2 ~@3 e4@2 [f#4,a#4]@2 e4 ~ a#3@2 ~@2 a#3 ~@2 [b3,d#4,f#4]@2 f#3@2 [c#4,e4] ~@2 b3@2 ~ [b3,d#4,g#4]@2 [f#3,b3] ~ f#4 ~ [b3,d#4,f#4]@3 ~ d#4 f#4, ~@5 c#4@2 a#4@4 c#5@2 ~@35, ~@8 f#3@4 f#3@4 ~@2 f#3@3 ~ f#3@2 b2@4 ~@4 f#3@5 ~@3 b2@4 ~@4, ~@8 e4 ~ e4@2 ~@9 [c#4,f#4]@2 ~@8 [d#4,f#4]@2 ~@12 b3@3]/3", // F# B C#m G#m B5 B F#5 D#m
AE: "[~@5 a#3 d#3 a#3 ~ c#4 e4 c#4 g#3 ~@4 c#4 ~ e4@2 c#4 g#3 c#4 ~@2 f#4 ~ c#5 e4 f#4 ~@3 f#4 c#5@2 e4 f#4 ~@2 e4 f#4 ~@2 f#4 e4 ~@3 f#4 d#4 ~ [b3,d#4] [c#4,e4] ~ f#3 ~ f#3 [d#4,g#4]@2 ~ [d#4,f#4] b3, d#3@5 ~@3 c#3@6 g#3@2 c#3@6 ~@42, ~ a#3@2 f#4@5 ~@5 c#4@3 ~@2 g#3@3 ~@3 f#3@14 ~@2 f#3@8 ~@4 f#3@3 ~@9, ~@2 d#4@2 ~@7 [e4,g#4]@3 ~ [e4,a#4]@3 ~ g#4@4 ~@8 a#4@2 e4@2 ~@4 a#4@2 ~@2 a#4@4 ~@2 b4@2 ~@13, ~@19 c#4 ~@5 e4@4 ~@3 a#3@6 ~@6 a#3@2 ~ [b3,d#4]@4 ~@4 [d#4,f#4]@2 b3@3 ~ b3@2 ~]/4", // B C#m G#5 D#m E Edim B D#m
AF: "[d#4,f#4] ~ [b3,d#4,f#4]@3 ~@5 [a#3,d#4,f#4]@3 ~ d#4 f#4, b2@7 f#4@2 ~@7, ~@5 b3@3 d#3@8, ~@6 d#4@2 ~@5 a#3@2 ~", // D#m B D#m
AG: "~@2 [e4,g#4]@3 ~ e4 g#4 a#4 ~ e4 ~ a#4 ~ e4 c#4, c#3, ~@2 c#4 ~@2 c#4@4 g#4@2 c#4@2 g#4@2 ~", // E
AH: "~@2 [f#4,a#4]@3 ~ f#4 a#4 c#5@2 ~@3 e4 f#4 e4, f#3@4 ~@4 f#3@3 a#4@3 ~@2, ~@2 c#4 ~@2 c#4@2 ~@3 e4@2 f#3@3 ~", // F#
AI: "[~@2 f#4@2 c#5 e4 a#4 e4 ~@6 f#4 b4 ~@2 d#4@2 [b3,c#4,e4]@2 [b3,d#4,f#4] ~ f#4 ~ [b3,d#4,f#4]@3 ~ d#4 f#4, f#3@8 b2@15 ~ b2@4 ~@4, ~ e4@2 ~@7 f#4@2 b3@3 ~ f#3@7 ~@9, ~@11 b4@2 d#4@2 ~@2 b3@3 ~@9 b3@3]/2", // C#m7 B
AJ: "[d#3@2 d#4@3 ~@2 f#4 c#3@2 [c#4,e4,g#4]@3 ~ g#3 ~ g#3 ~@2 e4@2 c#4 g#3 c#4 f#3@2 [c#4,f#4,a#4]@2 ~@2 f#4 ~ f#4@2 ~@3 e4@2 [f#4,a#4]@2 e4 ~ a#3@2 ~@2 a#3, ~@5 a#3@2 ~@8 [g#4,c#5]@2 ~ c#3@4 ~@10 f#3@4 f#3@4 ~@2 f#3@3 ~ f#3@2, ~@6 d#4@2 ~@5 c#4@3 ~ c#4@2 g#4@4 ~@6 c#4@2 a#4@4 c#5@2 ~@11, ~@32 e4 ~ e4@2 ~@9 [c#4,f#4]@2 ~]/3", // C#m F# C#5 F#5
AK: "~@2 [b3,d#4,f#4]@2 f#3@2 [c#4,e4] ~@2 b3@2 ~ [b3,d#4,g#4]@2 [f#3,b3] ~, b2@4 ~@3 [d#4,f#4]@2 ~@7, ~@8 f#3@5 ~@3", // B C#m G#m B5 D#m
AL: "[f#3@2 [c#4,f#4,a#4]@2 ~@2 f#4 ~ f#4@2 ~@3 e4@2 [f#4,a#4]@2 e4 ~ a#3@2 ~@2 a#3 ~@2 [b3,d#4,f#4]@2 f#3@2 [c#4,e4] ~@2 b3@2 ~ [b3,d#4,g#4]@2 [f#3,b3] ~ f#3@2 [c#4,f#4,a#4]@2 ~@2 f#4 ~ f#4@2 ~@3 e4@2 [f#4,a#4]@2 e4 ~ a#3@2 ~@2 a#3, ~@5 c#4@2 a#4@4 c#5@2 ~@34 a#4@4 c#5@2 ~@11, ~@8 f#3@4 f#3@4 ~@2 f#3@3 ~ f#3@2 b2@4 ~@4 f#3@5 ~@11 f#3@4 f#3@4 ~@2 f#3@3 ~ f#3@2, ~@8 e4 ~ e4@2 ~@9 [c#4,f#4]@2 ~@8 [d#4,f#4]@2 ~@12 c#4@2 ~ e4 ~ e4@2 ~@9 [c#4,f#4]@2 ~]/4", // F# B C#m G#m B5 F# F#5 D#m …
AM: "[f#3@2 [c#4,f#4,a#4]@2 ~@2 f#4 ~ f#4@2 ~@3 e4@2 [f#4,a#4]@2 e4 ~ a#3@2 ~@2 a#3 ~@2 [b3,d#4,f#4]@2 f#3@2 [c#4,e4] ~@2 b3@2 ~ [b3,d#4,g#4]@2 [f#3,b3] ~ [b2,f#4] ~@7, ~@5 c#4@2 a#4@4 c#5@2 ~@35, ~@8 f#3@4 f#3@4 ~@2 f#3@3 ~ f#3@2 b2@4 ~@4 f#3@5 ~@11, ~@8 e4 ~ e4@2 ~@9 [c#4,f#4]@2 ~@8 [d#4,f#4]@2 ~@15]/3", // F# B C#m G#m B5 F#5 D#m
})).s("gm_electric_guitar_jazz").gain(0.32)
// chords · electric guitar jazz · "Jazzguitar" · soft notes
const electric_guitar_jazz_2 = note(`<
A ~ B C D E F G H I J ~@2 K ~ L ~@5 M N E F G H A ~ B C D O P Q R S ~ T U V W ~@3 X ~ Y ~@5 Z S ~ T U V O P Q R AA ~
AB AC AD ~ AE ~@5 AF AG AH AI AJ AK AA ~ AB AC AD AH AI AJ AK AA ~ AB AC AL AJ AK AB AC AD
>`.pickRestart({
A: "~@5 [g#3,e4] c#3@2", B: "~@5 e3@2 ~@4 a4@2 ~@3", C: "~@7 a3 ~@5 a3@3, ~@13 c#4 ~@2", D: "~@6 e4 ~@9",
E: "~ [g#3,e4] c#3@2 ~@4", F: "~@13 e3@2 ~", G: "~@3 a4@2 ~@10 a3", H: "~@5 a3@3 ~@6 e4 ~, ~@5 c#4 ~@10",
I: "~@7 c#4", J: "~@7 f#4 ~@8", K: "~@15 c#4", L: "~@11 g#4 ~@4", M: "~@9 c#4@3 ~@4", N: "~ c#4 ~@14",
O: "~ [a3,f4] d3@2 ~@4", P: "~@13 f3@2 ~", Q: "~@3 a#4@2 ~@10 a#3", R: "~@5 a#3@3 ~@6 f4 ~, ~@5 d4 ~@10",
S: "~@5 [a3,f4] d3@2", T: "~@5 f3@2 ~@4 a#4@2 ~@3", U: "~@7 a#3 ~@5 a#3@3, ~@13 d4 ~@2", V: "~@6 f4 ~@9",
W: "~@6 d4@2 ~@7 g4", X: "~@7 d4 ~@8", Y: "~@3 a4 ~@12", Z: "~ d4@3 ~@5 d4 ~@6", AA: "~@5 [a#3,f#4] d#3@2",
AB: "~@5 f#3@2 ~@4 b4@2 ~@3", AC: "~@7 b3 ~@5 b3@3, ~@13 d#4 ~@2", AD: "~@6 f#4 ~@9", AE: "~@11 a#4 ~@4",
AF: "~@9 d#4@3 ~@4", AG: "~ d#4 ~@14", AH: "~ [a#3,f#4] d#3@2 ~@4", AI: "~@13 f#3@2 ~", AJ: "~@3 b4@2 ~@10 b3",
AK: "~@5 b3@3 ~@6 f#4 ~, ~@5 d#4 ~@10", AL: "~@6 f#4 ~@6 f#3@2 ~",
})).s("gm_electric_guitar_jazz").gain(0.16)
// chords · acoustic guitar steel · "Acoustic Guitar"
const acoustic_guitar_steel = note(`<
A B C D E F G H I A B C D E F G H I A B C D E F G H I A B C D J K L M N O P Q R S K L M N O P Q R S K L M N O P Q R S
K L M N T U V W X Y Z AA AB T U V W X Y Z AA AB T U V W X Y Z AA AB T U V W AC AA AB V W AD
>`.pickRestart({
A: "~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,g#4] ~ [c#4,e4,g#4]", // A C#m
B: "~@2 [b3,d4,f#4]@2 ~@2 [b3,d4,f#4]@2 ~@2 [b3,d4,f#4]@2 ~ [b3,d4,f#4] [b3,d4,f#4]@2", // Bm
C: "~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [d4,e4,g#4] ~ [d4,e4,g#4]", // E E7
D: "~@2 [d4,e4,g#4]@2 ~ [d4,e4,g#4] [d4,e4,g#4]@2 ~@2 [c#4,e4,a4]@2 ~@2 [c#4,e4,a4]@2", // E7 A
E: "~@2 [c#4,e4,a4]@2 ~ [c#4,e4,a4]!2 ~@3 [c#4,e4,a4]@2 ~@2 [c#4,e4,a4]@2", // A
F: "~ [c#4,e4,g#4] ~ [c#4,e4,g#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4]", // C#m Bm
G: "~@2 [b3,d4,f#4]@2 ~ [b3,d4,f#4] [b3,d4,f#4]@2 ~@2 [b3,e4,g#4]@2 ~@2 [b3,e4,g#4]@2", // Bm E
H: "~@2 [d4,e4,g#4]@2 ~@2 [d4,e4,g#4]@2 ~@2 [d4,e4,g#4]@2 ~ [d4,e4,g#4] [d4,e4,g#4]@2", // E7
I: "~@2 [c#4,e4,a4]@2 ~@2 [c#4,e4,a4]@2 ~@2 [c#4,e4,a4]@2 ~ [c#4,e4,a4]!2 ~", // A
J: "~@2 [c#4,e4,a4]@2 ~ [c#4,e4,a4]!2 ~@3 [d4,f4,a#4]@2 ~@2 [d4,f4,a#4]@2", // A A#
K: "~ [d4,f4,a4] ~ [d4,f4,a4] ~ [c4,d#4,g4] ~ [c4,d#4,g4]", // Dm Cm
L: "~@2 [c4,d#4,g4]@2 ~ [c4,d#4,g4] [c4,d#4,g4]@2 ~@2 [c4,f4,a4]@2 ~@2 [c4,f4,a4]@2", // Cm F
M: "~@2 [d#4,f4,a4]@2 ~@2 [d#4,f4,a4]@2 ~@2 [d#4,f4,a4]@2 ~ [d#4,f4,a4] [d#4,f4,a4]@2", // F7
N: "~@2 [d4,f4,a#4]@2 ~@2 [d4,f4,a#4]@2 ~@2 [d4,f4,a#4]@2 ~ [d4,f4,a#4]!2 ~", // A#
O: "~ [d4,f4,a#4] ~ [d4,f4,a#4] ~ [d4,f4,a4] ~ [d4,f4,a4]", // A# Dm
P: "~@2 [c4,d#4,g4]@2 ~@2 [c4,d#4,g4]@2 ~@2 [c4,d#4,g4]@2 ~ [c4,d#4,g4] [c4,d#4,g4]@2", // Cm
Q: "~ [c4,f4,a4] ~ [c4,f4,a4] ~ [d#4,f4,a4] ~ [d#4,f4,a4]", // F F7
R: "~@2 [d#4,f4,a4]@2 ~ [d#4,f4,a4] [d#4,f4,a4]@2 ~@2 [d4,f4,a#4]@2 ~@2 [d4,f4,a#4]@2", // F7 A#
S: "~@2 [d4,f4,a#4]@2 ~ [d4,f4,a#4]!2 ~@3 [d4,f4,a#4]@2 ~@2 [d4,f4,a#4]@2", // A#
T: "~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,a#4] ~ [d#4,f#4,a#4]", // B D#m
U: "~@2 [c#4,e4,g#4]@2 ~@2 [c#4,e4,g#4]@2 ~@2 [c#4,e4,g#4]@2 ~ [c#4,e4,g#4] [c#4,e4,g#4]@2", // C#m
V: "~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [e4,f#4,a#4] ~ [e4,f#4,a#4]", // F# F#7
W: "~@2 [e4,f#4,a#4]@2 ~ [e4,f#4,a#4] [e4,f#4,a#4]@2 ~@2 [d#4,f#4,b4]@2 ~@2 [d#4,f#4,b4]@2", // F#7 B
X: "~@2 [d#4,f#4,b4]@2 ~ [d#4,f#4,b4]!2 ~@3 [d#4,f#4,b4]@2 ~@2 [d#4,f#4,b4]@2", // B
Y: "~ [d#4,f#4,a#4] ~ [d#4,f#4,a#4] ~ [c#4,e4,g#4] ~ [c#4,e4,g#4]", // D#m C#m
Z: "~@2 [c#4,e4,g#4]@2 ~ [c#4,e4,g#4] [c#4,e4,g#4]@2 ~@2 [c#4,f#4,a#4]@2 ~@2 [c#4,f#4,a#4]@2", // C#m F#
AA: "~@2 [e4,f#4,a#4]@2 ~@2 [e4,f#4,a#4]@2 ~@2 [e4,f#4,a#4]@2 ~ [e4,f#4,a#4] [e4,f#4,a#4]@2", // F#7
AB: "~@2 [d#4,f#4,b4]@2 ~@2 [d#4,f#4,b4]@2 ~@2 [d#4,f#4,b4]@2 ~ [d#4,f#4,b4]!2 ~", // B
AC: "~@2 [d#4,f#4,b4]@2 ~ [d#4,f#4,b4]!2 ~@3 [c#4,f#4,a#4]@2 ~@2 [c#4,f#4,a#4]@2", // B F#
AD: "~@2 [d#4,f#4,b4]@2 ~ [d#4,f#4,b4]!2 ~@9", // B
})).s("gm_acoustic_guitar_steel").gain(0.4)
// bass · fretless bass
const bass = note(`<
A B C D E F G H I A B C D E F G H I A B C D E F G H I A B H D J K L M N O P Q R S K L M N O P Q R S K L M N O P Q R S
K L Q N T U V W X Y Z AA AB T U V W X Y Z AA AB T U AA W X Y Z AA AB T U AA W AC AA AB AA W AD
>`.pickRestart({
A: "a1@3 ~ a1@3 ~ c#2@3 ~ c#2@3 ~", B: "b1@3 ~ f#1@4 b1@4 f#1@3 ~, ~@8 a#1 ~@7", C: "e2@3 ~ b1@3 ~ e2@3 ~ b1@4",
D: "e2@3 ~ b1@3 ~ a1@4 e1@4", E: "a1@2 e1@2 f#1@2 g#1@2 a1@3 ~ a1@3 ~", F: "c#2@3 ~ c#2@3 ~ b1@3 ~ f#1@4",
G: "b1@4 f#1@3 ~ e2@3 ~ b1@3 ~, a#1 ~@15", H: "e2@3 ~ b1@3 ~ e2@3 ~ b1@3 ~", I: "a1@2 e1@2 a1 e1 f#1 g#1",
J: "a1@2 e1@2 f#1@2 g#1@2 a#1@3 ~ a#1@3 ~", K: "d2@3 ~ d2@3 ~ c2@3 ~ g1@4", L: "c2@4 g1@3 ~ f2@3 ~ c2@3 ~, b1 ~@15",
M: "f2@3 ~ c2@4 f2@3 ~ c2@3 ~", N: "a#1@2 f1@2 a#1 f1 g1 a1", O: "a#1@3 ~ a#1@3 ~ d2@3 ~ d2@3 ~",
P: "c2@3 ~ g1@4 c2@4 g1@3 ~, ~@8 b1 ~@7", Q: "f2@3 ~ c2@3 ~ f2@3 ~ c2@3 ~", R: "f2@3 ~ c2@3 ~ a#1@4 f1@4",
S: "a#1@2 f1@2 g1@2 a1@2 a#1@3 ~ a#1@3 ~", T: "b1@3 ~ b1@3 ~ d#2@3 ~ d#2@3 ~",
U: "c#2@3 ~ g#1@4 c#2@4 g#1@3 ~, ~@8 c2 ~@7", V: "f#2@3 ~ c#2@3 ~ f#2@3 ~ c#2@4", W: "f#2@3 ~ c#2@3 ~ b1@4 f#1@4",
X: "b1@2 f#1@2 g#1@2 a#1@2 b1@3 ~ b1@3 ~", Y: "d#2@3 ~ d#2@3 ~ c#2@3 ~ g#1@4",
Z: "c#2@4 g#1@3 ~ f#2@3 ~ c#2@3 ~, c2 ~@15", AA: "f#2@3 ~ c#2@3 ~ f#2@3 ~ c#2@3 ~", AB: "b1@2 f#1@2 b1 f#1 g#1 a#1",
AC: "b1@2 f#1@2 g#1@2 a#1@2 f#2@3 ~ c#2@3 ~", AD: "b1@2 f#1@2 g#1@2 a#1@2 b1 ~@7",
})).s("gm_fretless_bass").gain(0.48)
// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
A B C@3 ~@8 D E@3 F G H I@4 J@2 K L@2 M@2 N@4 O ~@9 P Q R@3 S T@2 U V@2 W@2 X@2 Y@2 ~ Z AA AB@3 AC@3 AD AE AF AG@4
AH@2 AI AJ@2 AK@2 AL@2 AH@2 AI AJ@2 AM@2 AN@2 ~ AM@2 AO
>`.pickRestart({
A: "[e3,a3] e4, c#4@15 ~", B: "[f#3,b3,d4]", C: "[[b3,e4]@12 [a3,c#4]@5 ~@7]/3", D: "~ c#4",
E: "[e4@8 d4@6 [a4,c#5]@2 g#4@4 [f#4,a4]@4 ~@16 d4@7 ~, ~@14 d5@10 [e4,g#4]@23 ~]/3", // A F#m E
F: "~ a4@2 b4 a4@2 f#4 e4, ~ c#4@7", G: "[a3,e4]@7 ~ [g#3,e4]@7 ~", H: "~ [b3,d4]@2 [c#4,e4] ~ c#5@2 b4, ~ [d4,f#4]",
I: "[[b3,d4,e4,a4]@4 [b3,d4,g#4]@20 ~@8 e5 [f5,f#5] g5 [g#5,a5] a#5 [b5,c6] c#6 [d6,d#6] e6@18 d6@3 c#6@3, ~@3 [a3,e4]@2 ~@3]/4", // Bm7 G#dim F#maj7 Amaj7 Cmaj7 D#maj7 A5
J: "[d6@3 c#6@3 a5@2 e5@24]/2",
K: "e4 [f4,f#4] g4 [g#4,a4] a#4 [b4,c5] c#5 [d5,d#5] e5 [f5,f#5] g5 [g#5,a5] a#5 [b5,c6] c#6 [d6,d#6]", // F#maj7 Amaj7 Cmaj7 D#maj7 F#maj7 Amaj7 Cmaj7 D#maj7
L: "[e6@18 d6@3 c#6@3 d6@3 c#6@3 a5@2]/2", M: "[e5@3 ~]/2",
N: "[~ [f3,a#3] f4 [g3,c4,d#4]@2 [c4,f4]@3, ~@8 d4@15 ~@41]/4", O: "[a#3,d4]@5 ~@3", P: "d4 f4",
Q: "d#4@3 [a#4,d5] a4@2 [g4,a#4]@2, ~@3 d#5@5", // A# Gm
R: "[~@16 d#4@7 ~@3 a#4@4 c5@2 a#4@4 g4@2 f4@2 [a#3,f4]@7 ~, [f4,a4]@23 ~@3 d4@14 ~@8]/3", // A#5 F
S: "[a3,f4]@7 ~@3 [c4,d#4]@4 [d4,f4]@2", T: "[~ d5@2 c5 [c4,d#4,f4,a#4]@2 [c4,d#4,a4]@10, [d#4,g4] ~@3]/2",
U: "~@8 f5 [f#5,g5] g#5 [a5,a#5] b5 [c6,c#6] d6 [d#6,e6], [a#3,f4]", V: "[f6@18 d#6@3 d6@3 d#6@3 d6@3 a#5@2]/2",
W: "[f5@24 f4 [f#4,g4] g#4 [a4,a#4] b4 [c5,c#5] d5 [d#5,e5]]/2", // Gmaj7 A#maj7 C#maj7 Emaj7
X: "[f5 [f#5,g5] g#5 [a5,a#5] b5 [c6,c#6] d6 [d#6,e6] f6@18 d#6@3 d6@3]/2", Y: "[d#6@3 d6@3 a#5@2 f5@24]/2",
Z: "[f#3,b3] f#4, d#4@15 ~", AA: "[g#3,c#4,e4]", AB: "[[c#4,f#4]@12 [b3,d#4]@5 ~@7]/3",
AC: "[f#4@8 e4@6 [b4,d#5]@2 a#4@4 [g#4,b4]@4 ~@16 e4@7 ~, ~@14 e5@10 [f#4,a#4]@23 ~]/3", // B G#m F#
AD: "~ b4@2 c#5 b4@2 g#4 f#4, ~ d#4@7", AE: "[b3,f#4]@7 ~ [a#3,f#4]@7 ~",
AF: "~ [c#4,e4]@2 [d#4,f#4] ~ d#5@2 c#5, ~ [e4,g#4]", // C#m D#m E
AG: "[[c#4,e4,f#4,b4]@4 [c#4,e4,a#4]@20 ~@8 f#5 [g5,g#5] a5 [a#5,b5] c6 [c#6,d6] d#6 [e6,f6] f#6@18 e6@3 d#6@3, ~@3 [b3,f#4]@2 ~@3]/4", // C#m7 A#dim G#maj7 Bmaj7 Dmaj7 Fmaj7 B5
AH: "[e6@3 d#6@3 b5@2 f#5@24]/2",
AI: "f#4 [g4,g#4] a4 [a#4,b4] c5 [c#5,d5] d#5 [e5,f5] f#5 [g5,g#5] a5 [a#5,b5] c6 [c#6,d6] d#6 [e6,f6]", // G#maj7 Bmaj7 Dmaj7 Fmaj7 G#maj7 Bmaj7 Dmaj7 Fmaj7
AJ: "[f#6@18 e6@3 d#6@3 e6@3 d#6@3 b5@2]/2", AK: "[f#5@24 f#4 [g4,g#4] a4 [a#4,b4] c5 [c#5,d5] d#5 [e5,f5]]/2",
AL: "[f#5 [g5,g#5] a5 [a#5,b5] c6 [c#6,d6] d#6 [e6,f6] f#6@18 e6@3 d#6@3]/2", AM: "[f#5@3 ~]/2", AN: "[~ f#5@3]/2",
AO: "~@8 f#6 ~@7",
})).s("gm_string_ensemble_1").gain(0.4)
// chords · string ensemble 1 · "Strings" · soft notes
const string_ensemble_1_soft = note(`<
A ~ B@3 ~@10 C@2 D E ~ F@3 ~@9 G H@2 I ~@10 J K@3 L M@2 N ~@9 O ~ P@3 ~ Q@2 R S ~ T@3 ~@23
>`.pickRestart({
A: "~@8 g#3@7 ~, ~@8 d#4 ~@7", B: "[g#3@12 e4@5 ~@7]/3", C: "[b4@4 ~@4 b3@23 ~]/2", D: "~@2 e4@11 ~@3",
E: "c#4@8 c#4@7 ~", F: "[~ e4@5 c#4@4 ~@2]/3", G: "a3@7 ~@9, e4 ~@15", H: "[~ a3@3]/2", I: "f4@5 ~@3", J: "~@2 c5 ~",
K: "[c4@23 ~@3 f4@11 ~@3 d4@8]/3", L: "d4@7 ~@9", M: "[~@3 f4@5]/2", N: "d4", O: "~@8 a#3@7 ~, ~@8 f4 ~@7",
P: "[a#3@12 f#4@5 ~@7]/3", Q: "[c#5@4 ~@4 c#4@23 ~]/2", R: "~@2 f#4@11 ~@3", S: "d#4@8 d#4@7 ~",
T: "[~ f#4@5 d#4@4 ~@2]/3",
})).s("gm_string_ensemble_1").gain(0.24)
// chords · sitar
const sitar = note("<A B C D@2 E@3 F ~ G ~ H@2 ~@17 I J K L M ~ N O P@2 Q@2 ~ R ~@18 S T U V@2 ~@32>".pickRestart({
A: "[a4,c#5]@2 [b4,d5]@2 [c#5,e5]@3 ~ [g#4,b4]@2 [a4,c#5]@2 [b4,d5]@3 ~", // A Bm C#m G#m A Bm
B: "a4@2 [g#4,b4] ~ [a4,c#5]@3 ~ [b4,d5]@2 c#5@2 [d5,f#5]@4, f#4 ~@9 e5 ~@5", // G#m A Bm D
C: "g#5@3 ~ g#5 g5 f#5@2 e5@3 ~ e5 d#5 d5@2", D: "[c#5 ~ c#5@4 b4@2 a4@12 ~@12]/2",
E: "[~@15 f#5 ~@4 d5@4 [e3,g#4,e5]@17 ~@7, ~@12 b3@11 ~@25, ~@13 f#4@10 ~@25, ~@7 b4 e5@2 ~@14, ~@17 b4@7 ~@24]/3", // E
F: "~@7 c#5 d5 ~@2 e4@4 ~, ~@5 e4@5 a4@5 ~, ~@6 a4@2 ~ c#5@6 ~", G: "b4@2 c#5 d5 c#5@2 [f#4,b4]@2, f#4@11 ~@5",
H: "[~@15 c#5 d5 ~@2 e4@3 ~@10, ~@13 e4@5 a4@4 ~@10, ~@14 a4@2 ~ c#5@5 ~@10]/2",
I: "~@8 [a#4,d5]@2 [c5,d#5]@2 [d5,f5]@3 ~", // A# Cm Dm
J: "[a4,c5]@2 [a#4,d5]@2 [c5,d#5]@3 ~ a#4@2 [a4,c5] ~ [a#4,d5]@3 ~, ~@8 g4 ~@7", // Am A# Cm Am A#
K: "[c5,d#5]@2 d5@2 [d#5,g5]@4 a5@3 ~ a5 g#5 g5@2, ~@2 f5 ~@13", L: "f5@3 ~ f5 e5 d#5@2 d5 ~ d5@4 c5@2", M: "a#4@3 ~",
N: "~@7 g5 ~@4 d#5@4, ~@4 c4@11 ~, ~@5 g4@10 ~, ~@3 c5 f5@2 ~@2, ~@9 c5@7", O: "[f3,a4,f5]",
P: "[~@15 d5 d#5 ~@2 f4@4 ~@9, ~@13 f4@5 a#4@5 ~@9, ~@14 a#4@2 ~ d5@6 ~@9]/2",
Q: "[~@4 c5@2 d5 d#5 d5@2 [g4,c5]@2 ~@4, ~@8 g4@11 ~@13]/2", // C5
R: "~@7 d5 d#5 ~@2 f4@3 ~@2, ~@5 f4@5 a#4@4 ~@2, ~@6 a#4@2 ~ d5@5 ~@2",
S: "[b4,d#5]@2 [c#5,e5]@2 [d#5,f#5]@3 ~ [a#4,c#5]@2 [b4,d#5]@2 [c#5,e5]@3 ~", // B C#m D#m A#m B C#m
T: "b4@2 [a#4,c#5] ~ [b4,d#5]@3 ~ [c#5,e5]@2 d#5@2 [e5,g#5]@4, g#4 ~@9 f#5 ~@5", // A#m B C#m E
U: "a#5@3 ~ a#5 a5 g#5@2 f#5@3 ~ f#5 f5 e5@2", V: "[d#5 ~ d#5@4 c#5@2 b4@12 ~@12]/2",
})).s("gm_sitar").gain(0.4)
// drums · kick
const kick = s("bd").struct("<[x!4]!99 [x!3 ~]>").gain(0.48)
// drums · snare
const snare = s("sd").struct("<[~ x ~ x ~ x ~ x]!99 [~ x ~ x ~@4]>").gain(0.48)
// drums · low tom
const low_tom = s("lt").struct(`<
~@4 A ~@8 A ~@12 B ~@4 A ~@3 B ~@8 B ~@13 A ~@3 B ~@4 A ~@12 B ~@4 A ~@3 B ~@4 A ~ B ~@2 A
>`.pickRestart({
A: "~@3 x ~@4", B: "~@7 x",
// … 46 more lines
More by Gerard Cox
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.