0:00/0:00
// Piazza grande — Dalla
// 65 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 52 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(65/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 · "BASE 1"
const piano = note(`<
~ A B A B A B A B C D E F A B A B A B A G H I J K ~@4 L M N O P Q R S T S U V W V X Y Z Y Z Y Z Y AA
>`.pickRestart({
A: "~@6 [a4,d5,f#5] ~@11 [a4,d5,f#5] ~@11 [a4,d5,f#5] ~@11 [a4,d5,f#5] ~@5", // D
B: "~@6 [b4,d5,g5] ~@11 [b4,d5,g5] ~@11 [b4,d5,g5] ~@11 [b4,d5,g5] ~@5", // G
C: "~@6 [d5,f#5,a5,c6] ~@11 [d5,f#5,a5,c6] ~@11 [d5,f#5,a5,c6] ~@11 [d5,f#5,a5,c6] ~@5", // D7
D: "~@6 [d5,g5,b5] ~@11 [d5,g5,b5] ~@11 [e5,g#5,b5,d6] ~@11 [e5,g#5,b5,d6] ~@5", // G E7
E: "~@6 [e5,a5,c6] ~@11 [e5,a5,c6] ~@11 [d5,f#5,a5,c6] ~@11 [d5,f#5,a5,c6] ~@5", // Am D7
F: "~@6 [d5,g5,b5] ~@11 [d5,g5,b5] ~@11 [d5,g5,b5] ~@11 [d5,g5,b5] ~@5", // G
G: "~@6 [b4,d5,g5] ~@11 [b4,d5,g5] ~@11 [c5,d#5,g#5] ~@11 [c5,d#5,g#5] ~@5", // G G#
H: "~@6 [d#5,g5,a#5,c#6] ~@11 [d#5,g5,a#5,c#6] ~@11 [d#5,g5,a#5,c#6] ~@11 [d#5,g5,a#5,c#6] ~@5", // D#7
I: "~@6 [d#5,g#5,c6] ~@11 [d#5,g#5,c6] ~@11 [f5,a5,c6,d#6] ~@11 [f5,a5,c6,d#6] ~@5", // G# F7
J: "~@6 [f5,a#5,c#6] ~@11 [f5,a#5,c#6] ~@11 [d#5,g5,a#5,c#6] ~@11 [d#5,g5,a#5,c#6] ~@5", // A#m D#7
K: "~@6 [d#5,g#5,c6] ~@11 [d#5,g#5,c6] ~@11 [a#5,d6,f6,g#6] ~@11 [a#5,d6,f6,g#6] ~@5", // G# A#7
L: "~@6 [g5,a#5,c#6,d#6] ~@11 [g5,a#5,c#6,d#6] ~@11 [g5,a#5,c#6,d#6] ~@11 [g5,a#5,c#6,d#6] ~@5", // D#7
M: "~@6 [d#5,g#5,c6,d#6] ~@11 [d#5,g#5,c6,d#6] ~@11 [c5,a#5,d#6,f#6] ~@11 [f5,a5,d#6,f6] ~@5", // G# Cm7b5 F7
N: "~@6 [a#4,g#5,c#6,f6] ~@11 [a#4,g#5,c#6,f6] ~@11 [d#5,g#5,c#6,e6] ~@11 [d#5,g5,c#6,d#6] ~@5", // A#m7 C#m D#7
O: "~@6 [g#4,g#5,c6,d#6] ~@11 [f#4,f#5,a#5,c#6] ~@11 [f4,d#5,a5,c6] ~@11 [f4,d#5,a5,c6] ~@5", // G# F# F7
P: "~@30 [g5,a#5,c#6,d#6] ~@11 [g5,a#5,c#6,d#6] ~@5", // D#7
Q: "~@6 [g5,a#5,c#6,d#6] ~@11 [g5,a#5,c#6,d#6] ~@11 [g#5,c6,d#6,g#6] ~@11 [g#5,c6,d#6,g#6] ~@5", // D#7 G#
R: "~@30 [a#4,d#5,g5] ~@11 [a#4,d#5,g5] ~@5", // D#
S: "~@6 [a#4,d#5,g5] ~@11 [a#4,d#5,g5] ~@11 [c5,d#5,g#5] ~@11 [c5,d#5,g#5] ~@5", // D# G#
T: "~@6 [c5,d#5,g#5] ~@11 [c5,d#5,g#5] ~@11 [a#4,d#5,g5] ~@11 [a#4,d#5,g5] ~@5", // G# D#
U: "~@6 [c#5,e5,a5] ~@11 [c#5,e5,a5] ~@11 [e5,g#5,b5,d6] ~@11 [e5,g#5,b5,d6] ~@5", // A E7
V: "~@6 [e5,g#5,b5,d6] ~@11 [e5,g#5,b5,d6] ~@11 [e5,a5,c#6] ~@11 [e5,a5,c#6] ~@5", // E7 A
W: "~@6 [f#5,a#5,c#6,e6] ~@11 [f#5,a#5,c#6,e6] ~@11 [f#5,b5,d6] ~@11 [f#5,b5,d6] ~@5", // F#7 Bm
X: "~@6 [e5,a5,c#6] ~@11 [e5,a5,c#6] ~@11 [b4,e5,g#5] ~@11 [b4,e5,g#5] ~@5", // A E
Y: "~@6 [b4,e5,g#5] ~@11 [b4,e5,g#5] ~@11 [c#5,e5,a5] ~@11 [c#5,e5,a5] ~@5", // E A
Z: "~@6 [c#5,e5,a5] ~@11 [c#5,e5,a5] ~@11 [b4,e5,g#5] ~@11 [b4,e5,g#5] ~@5", AA: "[a3,c#4,e4,a4] ~@47",
})).s("gm_piano").gain(0.31)
// chords · piano · "SOLO 1"
const piano_2 = note(`<
A B@2 C@2 ~@4 D E F G H I J K ~@4 L M N O P Q R Q S T U V W X ~@4 Y Z AA AB AC AD AE AF AG AD AH AI AJ
>`.pickRestart({
A: "~@33 [b4,d5] ~@5 b4 ~@2 g4@2 ~@4, ~@42 d4 ~@5", // Bm
B: "[a4@2 ~ a4 f#4 ~ f#4@2 a4 ~ a4 ~ a4 f#4@2 f#4@2 [f#4,a4] a4@2 ~ g4@2 ~ [a4,c5] ~@2 [a4,c5] ~@2 [a4,c5] ~@2 [a4,c5] ~@2 [g4,b4] ~@5 [f#4,a4] ~@3 g4 ~ g4@2 b4@2 g4 b4 g4 b4 g4 b4 ~ [g4,b4] ~ g4 b4 b4@2 g4 ~ g4 b4 g4 b4@2 ~@9 [b4,d5] ~@5 [g4,b4] ~@2 g4@2 ~@4, f#4 ~ f#4@2 ~@2 a4 ~@2 f#4@2 f#4@2 ~@2 a4 ~@2 f#4 ~@2 b4 ~@25 b4@2 ~@14 g4 ~@2 b4@2 ~@2 g4 ~@19 d4 ~@5]/2", // F#m Am G F#m G Bm G
C: "[a4 ~ a4 f#4@2 a4 f#4 ~ a4 f#4 a4 f#4@2 a4 f#4@2 a4@2 [f#4,a4] ~@2 [g4,b4] ~@2 [a4,c5] ~@2 [a4,c5] ~@2 [a4,c5] ~@2 [a4,c5] ~@2 [g4,b4] ~@5 a4@2 ~ d4 ~ d4@4 g4 ~ g4 d4 g4 ~ g4 ~ [d4,g4] ~ [d4,g4] ~ d4@2 d4 g4 ~ g4 d4 g4 ~@25, ~ f#4@2 ~@13 f#4 ~@25 f#4 ~@3 g4@4 ~@2 d4@2 ~@2 d4@2 ~@5 g4 ~@3 d4@2 ~@27]/2", // F#m G Am G G5
D: "~ f#4 d4!2 f#4 d4 f#4 d4 ~ d4 ~@5 [e4,g4]!2 ~@3 [f4,g#4] ~@4 [f#4,a4] ~ a4 f#4 ~ a4 f#4 a4 [f#4,a4] a4 ~ f#4 a4 [f#4,a4]!3 f#4 ~@2 a4 ~@2 g4, d4 ~@3 f#4 ~@19", // Em Fm F#m
E: "g4@2 g4!2 b4 g4 b4 [g4,b4]!3 b4 [g4,b4] ~@3 [a4,c5]!2 ~@3 [a#4,c#5] ~@3 b4@2 d5!2 ~ d5 b4 d5 ~ d5 ~ d5 ~@2 d5 ~ d5 [b4,d5] ~ b4 d5 ~@2 c5, ~ b4 ~@12 b4 ~@9", // G Am A#m Bm
F: "~@2 c5 ~ c5 e5 [c5,e5] e5 c5 e5 ~@2 e5 c5@2 c5 [c5,e5] ~@3 d5 f5@2 ~@2 d5 f#5 d5!2 [d5,f#5] d5 f#5 d5 f#5 d5 d5@2 [d5,f#5] ~ [d5,f#5] ~ d5 ~@6, c5@2 ~@9 c5@2 ~@8 d5 ~@26, ~ e5@2 ~@32 f#5 ~@12", // C D
G: "d5 [d5,g5] ~ g5 d5 [d5,g5] ~ g5 ~ g5 ~ g5 ~ d5 g5 ~ g5 ~ g5 ~ g5 ~ g5 d5 ~@9 [b4,d5] ~@5 [g4,b4] ~@2 g4@2 ~@4, ~@8 d5@2 d5@2 ~@3 d5@2 d5@2 d5@2 d5@2 ~@19 d4 ~@5", // G5 Bm G
H: "[d3,f#4,a4] a4 f#4 ~ [f#4,a4] ~ [f#4,a4] ~ a4 [f#3,f#4,a4] f#4@2 ~@5 [f#4,a4] [a4,d5]@2 ~ [g4,b4] ~@2 [a4,d5]@2 ~ [a4,c5] ~@2 [a4,c5] ~@2 [a4,d5]@2 ~ [a3,g4,b4] a3 ~ a3 ~ f#4 [a4,d5]@2 g4 [d3,b4] ~ g4, d5@2 ~@7 d5@2 ~@13 c5 ~@8 c5 ~@14, ~@10 a4 ~@7 a3 ~@23 f#3 ~@5", // D F#m D5 G D5 Am D5 Em …
I: "g3 g4 b4 ~ b4 ~ b4 ~ b4 [b3,b4] b4 ~@2 b4 ~ b4 ~ b4 [d4,g4,b4] b4 ~@4 [b4,d5]@2 ~@4 [b4,d5] ~@2 [b4,d5]@2 ~ [d4,g4,b4] d4 ~ d4 ~@2 [b3,d4,g4] ~@2 g3 a4@2, [b4,d5]@2 ~ g4@13 g4@2 ~@28 f#4 ~, ~@9 d5@2 ~@7 d5@2 ~@22 [b4,d5]@2 ~@4", // B G Bm G Bm
J: "[d3,a4] a4 f#4 ~ a4 f#4 a4 ~ f#4 f#3 f#4 ~@7 [a4,d5]@2 ~ [g4,b4] ~@2 [a4,d5]@2 ~ [a4,c5] ~@2 [a4,c5] ~@2 [a4,d5]@2 ~ d3 [d3,g4,b4] ~ d3 ~@2 [f#3,f#4,a4,d5] ~@2 d4@2 g4, [f#4,d5]@2 ~@7 [a4,d5]@2 ~@7 [a3,f#4] ~@5 c5 ~@8 c5 ~@11 a3 ~@2", // D5 G D5 Am D5 G D D5 …
K: "[g3,g4] g4 ~ g4 d4 g4 d4 g4 d4 [g4,d5]@2 [d4,g4] d4 g4 ~ d4 g4 d4!2 ~ g4 d4 g4 ~ [g4,d5]@2 ~@7 d4!2 ~ d4 ~@3 b3 ~ [g4,d5]@2 ~ g3 ~@2, [d4,d5]@3 ~@6 b3 ~@8 [g4,d5]@2 ~@13 [g4,d5]@2 ~@13, ~@19 d4@2 ~@27", // G G5 D G5
L: "~ g4 d#4!2 g4 d#4 g4 d#4 ~ d#4 ~@5 [f4,g#4]!2 ~@3 [f#4,a4] ~@4 [g4,a#4] ~ a#4 g4 ~ a#4 g4 a#4 [g4,a#4] a#4 ~ g4 a#4 [g4,a#4]!3 g4 ~@2 a#4 ~@2 g#4, d#4 ~@3 g4 ~@19", // Fm F#m Gm
M: "g#4@2 g#4!2 c5 g#4 c5 [g#4,c5]!3 c5 [g#4,c5] ~@3 [a#4,c#5]!2 ~@3 [b4,d5] ~@3 c5@2 d#5!2 ~ d#5 c5 d#5 ~ d#5 ~ d#5 ~@2 d#5 ~ d#5 [c5,d#5] ~ c5 d#5 ~@2 c#5, ~ c5 ~@12 c5 ~@9", // G# A#m Bm Cm
N: "~@2 c#5 ~ c#5 f5!3 c#5 f5 ~@2 f5 c#5@2 c#5 [c#5,f5] ~@3 d#5 [d#5,f#5] ~@3 d#5 g5 d#5!2 [d#5,g5] ~ g5 d#5 g5 d#5 d#5@2 [d#5,g5] ~ [d#5,g5] ~ d#5 ~@6, c#5@2 ~@4 c#5@2 ~@3 c#5@2 ~@17 d#5@2 ~@16, ~ f5@2 ~@32 g5 ~@12", // C# D#m D#
O: "d#5 [d#5,g#5] ~ g#5 d#5 [d#5,g#5] ~ g#5 ~ g#5 ~ g#5 ~ d#5 g#5 ~ g#5 ~ g#5 ~ g#5 ~ g#5 d#5 g#5@2 g#5@2 d5 g#5 d5 g#5@2 g#5@2 d5 ~ d5 g#5 ~ [d5,g#5] ~@3 d5 ~@3, ~@8 d#5@2 d#5@2 ~@3 d#5@2 d#5@2 d#5@2 d#5@2 ~@3 d5 ~@6 d5 ~@2 g#5@2 ~@4 d5@2 ~@4, ~@43 g#5@4 ~", // G#5 Ddim
P: "d#3 ~@8 g3 ~@8 a#3 ~@14 d#3 ~@2 d#4!2 ~ d#4 ~@2 c#4 ~@2 a#3 ~@2", Q: "d#3 ~@8 g3 ~@5 d#3 ~@2 a#3 ~@29",
R: "d#3 ~@8 g3 ~@5 d#3 ~@2 a#3 ~@14 d#3 ~@2 d#4!2 ~ d#4 ~@2 c#4 ~@2 a#3 ~@2",
S: "d#3 ~@8 d#4 ~@2 a#3 ~@5 d#4 ~@14 d#4 ~@2 d#3 ~@5 d#4 ~@2 d#3 ~@2",
T: "g#3 ~@8 g#3 ~@2 d#3 ~@5 g#3 ~@5 c3 ~@8 c3 ~@2 f3 ~@8 f3 ~@2",
U: "a#3 ~@8 c#4 ~@5 c#4 ~@2 a#3 ~@2 f3 ~@2 d#3 ~@8 d#3 ~@2 g3 ~@8 g3 ~@2",
V: "[g#3,g#4,c5] g#4 d#5 c5 [g#4,d#5] [c5,d#5,g#5] c#4 [c5,d#5] g#4 [g#3,c5,d#5] ~@2 [f#3,f#4,a#4] [c#5,f#5] [f#4,a#4] [c#5,f#5] [f#4,a#4] f#5 [a#4,c#5] [c#5,f#5] [f#4,a#4] [f#3,c#5] ~ a4 [f3,f4] [c5,d#5,f5] a4 [c5,d#5,f5] a4 [c5,d#5,f5] [f4,a4] [c5,d#5,f5] a4 [f4,c5,d#5,f5] a4 c5 [a3,d#5] [f4,a4,c5] [a4,d#5,f5] [a3,f4,c5] d#5 c5 [f3,a4,d#5] ~@2 a3 ~@2, ~ g#5@3 ~@2 g#4@2 ~@10 f#4@2 ~@6 f4@2 f4@2 ~@5 [f4,f5]@2 ~@3 [a4,f5]@2 f5@2 ~@4, ~@7 g#5@3 ~@31 f4@3 ~@4", // G# G#5 G# Cm G# F# F#5 F# …
W: "~@24 d#3 ~@8 d#4 ~@2 a#3 ~@5 d#4 ~@5", X: "~@9 d#4 ~@2 d#3 ~@5 d#4 ~@2 d#3 ~@26",
Y: "~@25 g#4 e4!2 g#4 e4 g#4 e4 ~ e4 ~@5 [f#4,a4]!2 ~@3 [g4,a#4] ~@3, ~@12 e4 ~@3 g#4 ~@7", // F#m Gm
Z: "~ [g#4,b4] ~ b4 g#4 ~ b4 g#4 b4 [g#4,b4] b4 ~ g#4 b4 [g#4,b4]!3 g#4 ~@2 b4 ~@2 a4 a4@2 a4!2 c#5 a4 c#5 [a4,c#5]!3 c#5 [a4,c#5] ~@3 [b4,d5]!2 ~@3 [c5,d#5] ~@3, ~@13 c#5 ~@10", // G#m A Bm Cm
AA: "c#5@2 e5!2 ~ e5 c#5 e5 ~ e5 ~ e5 ~@2 e5 ~ e5 [c#5,e5] ~ c#5 e5 ~@2 d5 ~@2 d5 ~ d5 f#5 [d5,f#5] f#5 d5 f#5 ~@2 f#5 d5@2 d5 [d5,f#5] ~@3 e5 g5@2 ~, ~@4 c#5@2 ~@18 d5@2 ~@9 d5@2 ~@8 e5 ~@2, ~@25 f#5@2 ~@21", // C#m D
AB: "~ e5 g#5 e5!2 [e5,g#5] e5 g#5 e5 g#5 e5 e5@2 [e5,g#5] ~ [e5,g#5] ~ e5 ~@6 e5 [e5,a5] ~ a5 e5 [e5,a5] ~ a5 ~ a5 ~ a5 ~ e5 a5 ~ a5 ~ a5 ~ a5 ~ a5 e5, ~@11 g#5 ~@20 e5@2 e5@2 ~@3 e5@2 e5@2 e5@2 e5@2 ~", // E A5
AC: "~@24 [e3,g#4,b4] b4 g#4 ~ [g#4,b4] ~ [g#4,b4] ~ b4 [g#3,g#4,b4] g#4@2 ~@5 [g#4,b4] [b3,b4,e5] ~@2 [a4,c#5] ~@2, ~@24 e5@2 ~@7 e5@2 ~@13, ~@34 b4 ~@13", // E G#m E5 A
AD: "[b4,e5]@2 ~ [b4,d5] ~@2 [b4,d5] ~@2 [b4,e5]@2 ~ [b3,a4,c#5] b3 ~ b3 ~ g#4 [b4,e5]@2 a4 [e3,c#5] ~ a4 a3 a4 c#5 ~ c#5 ~ c#5 ~ c#5 [c#4,c#5] c#5 ~@2 c#5 ~ c#5 ~ c#5 [e4,a4,c#5,e5] c#5 ~@4, d5 ~@8 d5 ~@8 g#3 ~@5 [c#5,e5]@2 ~ a4@13 a4@2 ~@6, ~@33 e5@2 ~@13", // E5 Bm E5 F#m E5 C#m C# A …
AE: "[c#5,e5]@2 ~@4 [c#5,e5] ~@2 [c#5,e5]@2 ~ [e4,a4,c#5] e4 ~ e4 ~@2 [c#4,e4,a4] ~@2 a3 b4@2 [e3,b4] b4 g#4 ~ b4 g#4 b4 ~ g#4 g#3 g#4 ~@7 [b4,e5]@2 ~ [a4,c#5] ~@2, ~@18 [c#5,e5]@2 ~@2 g#4 ~ [g#4,e5]@2 ~@7 [b4,e5]@2 ~@7 [b3,g#4] ~@5", // C#m A E5 A C#m E5 E
AF: "[b4,e5]@2 ~ [b4,d5] ~@2 [b4,d5] ~@2 [b4,e5]@2 ~ e3 [e3,a4,c#5] ~ e3 ~@2 [g#3,g#4,b4,e5] ~@2 e4@2 a4 [a3,a4] a4 ~ a4 e4 a4 e4 a4 e4 [a4,e5]@2 [e4,a4] e4 a4 ~ e4 a4 e4 [e4,a4,e5] ~ a4 e4 a4 ~, d5 ~@8 d5 ~@11 b3 ~@2 [e4,e5]@3 ~@6 c#4 ~@9 e4@2 ~@3", // E5 Bm E5 A E A A5 E
AG: "[a4,e5]@2 ~@4 [c#5,e5] ~@2 e4!2 ~ [a4,c#5]@2 ~ [e4,a4] c#4 ~ [a4,e5] ~@2 a3 ~@2 [e3,g#4,b4] b4 g#4 ~ [g#4,b4] ~ [g#4,b4] ~ b4 [g#3,g#4,b4] g#4@2 ~@5 [g#4,b4] [b3,b4,e5] ~@2 [a4,c#5] ~@2, ~@9 [a4,e5]@2 ~ e4 ~@11 e5@2 ~@7 e5@2 ~@13, ~@34 b4 ~@13", // A5 C#m A A5 E G#m E5 A …
AH: "[c#5,e5]@2 ~@4 [c#5,e5] ~@2 [c#5,e5]@2 ~ [e4,a4,c#5] e4 ~ e4 ~@2 [c#4,e4,a4,c#5,e5] ~@2 a3 b4@2 [e3,b4] b4 g#4 ~ b4 g#4 b4 ~ g#4 g#3 g#4 ~@7 [b4,e5]@2 ~ [a4,c#5] ~@2, ~@22 g#4 ~ [g#4,e5]@2 ~@7 [b4,e5]@2 ~@7 [b3,g#4] ~@5", // C#m A E5 A C#m E5 E
AI: "[b4,e5]@2 ~ [b4,d5] ~@2 [b4,d5] ~@2 [b4,e5]@2 ~ e3 [e3,a4,c#5] ~ e3 ~@2 [g#3,g#4,b4,e5] ~@2 e4@2 a4 [a3,a4] a4 ~ a4 e4 a4 e4 a4 e4 [a4,e5]@2 [e4,a4] e4 a4 ~ e4 a4 e4!2 ~ a4 e4 a4 ~, d5 ~@8 d5 ~@11 b3 ~@2 [e4,e5]@3 ~@6 c#4 ~@8 [a4,e5]@2 ~@4, ~@43 e4@2 ~@3", // E5 Bm E5 A E A A5 E …
AJ: "[a3,a4] ~@47", // A
})).s("gm_piano").gain(0.15)
// chords · piano · "SOLO 1" · soft notes
const piano_soft = note("<A ~@8 B C D E ~@8 F G H I ~@14 J K L M ~@9>".pickRestart({
A: "~@39 g4 ~@8",
B: "~@10 f#4 ~ f#4 ~@2 f#4 d4@2 ~ f#4 ~ f#4 ~@2 f#4 ~ [f#4,a4] ~ a4 f#4 ~@2 f#4 ~ f#4 a4 ~@6 a4 f#4 ~@4, ~@11 d4@2 ~ d4@2 f#4 ~ d4@3 ~@27", // F#m
C: "~ b4 ~@2 g4 b4 g4 ~@3 g4 ~ g4 b4 ~@13 b4 d5 ~ d5 b4 d5 b4 d5 b4 d5 b4 ~ b4 ~@2 d5@2 ~@4",
D: "~@3 c5 e5 c5 ~@2 e5 ~ e5 ~@3 e5 ~@2 e5 ~@9 f#5 ~@4 f#5 d5 ~@4 f#5 ~ f#5@2 d5 ~@5, ~@9 c5@2 ~@37",
E: "~@2 d5 ~@3 d5@2 ~@4 d5 ~@35",
F: "~@10 g4 ~ g4 ~@2 g4 d#4@2 ~ g4 ~ g4 ~@2 g4 ~ [g4,a#4] ~ a#4 g4 ~@2 g4 ~ g4 a#4 ~@6 a#4 g4 ~@4, ~@11 d#4@2 ~ d#4@2 g4 ~ d#4@3 ~@27", // Gm
G: "~ c5 ~@2 g#4 c5 g#4 ~@3 g#4 ~ g#4 c5 ~@13 c5 d#5 ~ d#5 ~ d#5 c5 d#5 c5 d#5 c5 ~ c5 ~@2 d#5@2 ~@4, ~@31 c5@2 ~@15",
H: "~@3 c#5 f5 c#5 ~@2 f5 ~ f5 ~@3 f5 ~@2 f5 ~@9 g5 ~@4 g5 d#5 ~@4 g5 ~ g5@2 d#5 ~@5, ~@9 c#5@2 ~@37",
I: "~@2 d#5 ~@3 d#5@2 ~@4 d#5 ~@11 a#4 a#5 a#4 a#5 a#4 a#5 a#4 ~ a#4 ~ a#5 [a#4,a#5] ~ a#4 a#5 a#4 a#5 ~@4 a#4 ~ a#4, ~@41 a#4@2 a#4@2 ~@3, ~@21 a#5!3", // A#
J: "~@34 g#4 ~ g#4 ~@2 g#4 e4@2 ~ g#4 ~ g#4 ~@2, ~@35 e4@2 ~ e4@2 g#4 ~ e4@3 ~@3",
K: "g#4 ~ [g#4,b4] ~ b4 g#4 ~@2 g#4 ~ g#4 b4 ~@6 b4 g#4 ~@5 c#5 ~@2 a4 c#5 a4 ~@3 a4 ~ a4 c#5 ~@10", // G#m
L: "~@3 c#5 e5 ~ e5 c#5 e5 c#5 e5 c#5 e5 c#5 ~ c#5 ~@2 e5@2 ~@7 d5 f#5 d5 ~@2 f#5 ~ f#5 ~@3 f#5 ~@2 f#5 ~@6, ~@33 d5@2 ~@13",
M: "~@3 g#5 ~@4 g#5 e5 ~@4 g#5 ~ g#5@2 e5 ~@7 e5 ~@3 e5@2 ~@4 e5 ~@11",
})).s("gm_piano").gain(0.1)
// chords · piano · "BASE 2"
const piano_3 = note(`<
~ A B A B A B A B C D E B A B A B A B A F G H I J ~@4 K L M N O P Q R S R T U V U W X W X W X W X Y
>`.pickRestart({
A: "~ d4 [f#4,a4] d4 ~ d4 [f#4,a4] d4 ~ d4 [f#4,a4] d4 ~ d4 [f#4,a4] d4", // F#m
B: "~ d4 [g4,b4] d4 ~ d4 [g4,b4] d4 ~ d4 [g4,b4] d4 ~ d4 [g4,b4] d4", // G
C: "~ d4 [f#4,a4,c5] d4 ~ d4 [f#4,a4,c5] d4 ~ d4 [f#4,a4,c5] d4 ~ d4 [f#4,a4,c5] d4", // F#dim
D: "~ d4 [g4,b4] d4 ~ d4 [g4,b4] d4 ~ e4 [g#4,d5] e4 ~ e4 [g#4,b4,d5] e4", // G G#dim
E: "~ e4 [a4,c5] e4 ~ e4 [a4,c5] e4 ~ d4 [f#4,a4,c5] d4 ~ d4 [f#4,a4,c5] d4", // Am F#dim
F: "~ d4 [g4,b4] d4 ~ d4 [g4,b4] d4 ~ d#4 [g#4,c5] d#4 ~ d#4 [g#4,c5] ~", // G G#
G: "~ d#4 [g4,a#4,c#5] d#4 ~ d#4 [g4,a#4,c#5] d#4 ~ d#4 [g4,a#4,c#5] d#4 ~ d#4 [g4,a#4,c#5] d#4", // Gdim
H: "~ d#4 [g#4,c5] d#4 ~ d#4 [g#4,c5] d#4 ~ f4 [a4,d#5] f4 ~ f4 [a4,c5,d#5] f4", // G# Adim
I: "~ f4 [a#4,c#5] f4 ~ f4 [a#4,c#5] f4 ~ d#4 [g4,a#4,c#5] d#4 ~ d#4 [g4,a#4,c#5] d#4", // A#m Gdim
J: "~ d#4 [g#4,c5] d#4 ~ d#4 [g#4,c5] d#4 ~ a#4 [d5,f5,g#5] a#4 ~ a#4 [d5,f5,g#5] a#4", // G# Ddim
K: "~ d#4 [g4,c#5,d#5] d#4 ~ d#4 [g4,c#5,d#5] d#4 ~ d#4 [g4,c#5,d#5] d#4 ~ d#4 [g4,c#5,d#5] d#4", // D#7
L: "~ g#4 [c5,d#5,g#5] g#4 ~ g#4 [c5,d#5,g#5] g#4 ~ c4 [a#4,d#5,f#5] c4 ~ f4 [a4,d#5,f5] f4", // G# D#m F7
M: "~ a#3 [g#4,c#5,f5] a#3 ~ a#3 [g#4,c#5,f5] a#3 ~ d#4 [g#4,c#5,e5] d#4 ~ d#4 [g4,c#5,d#5] d#4", // C# C#m D#7
N: "~ g#4 [c5,d#5,g#5] g#4 ~ f#4 [a#4,c#5,f#5] f#4 ~ f4 [d#4,a4,c5] f4 ~ f4 [d#4,a4,c5] f4", // G# F# Adim
O: "~@9 d#4 [g4,c#5,d#5] d#4 ~ d#4 [g4,c#5,d#5] d#4", // D#7
P: "~ d#4 [g4,c#5,d#5] d#4 ~ d#4 [g4,c#5,d#5] d#4 ~ g#4 [c5,d#5,g#5] g#4 ~ g#4 [c5,d#5,g#5] g#4", // D#7 G#
Q: "~@9 d#4 [g4,a#4] d#4 ~ d#4 [g4,a#4] d#4", // Gm
R: "~ d#4 [g4,a#4] d#4 ~ d#4 [g4,a#4] d#4 ~ d#4 [g#4,c5] d#4 ~ d#4 [g#4,c5] d#4", // Gm G#
S: "~ d#4 [g#4,c5] d#4 ~ d#4 [g#4,c5] d#4 ~ d#4 [g4,a#4] d#4 ~ d#4 [g4,a#4] d#4", // G# Gm
T: "~ e4 [a4,c#5] e4 ~ e4 [a4,c#5] ~@2 e4 [g#4,b4,d5] e4 ~ e4 [g#4,b4,d5] e4", // A G#dim
U: "~ e4 [g#4,b4,d5] e4 ~ e4 [g#4,b4,d5] e4 ~ e4 [a4,c#5] e4 ~ e4 [a4,c#5] e4", // G#dim A
V: "~ f#4 [a#4,e5] f#4 ~ f#4 [a#4,c#5,e5] f#4 ~ f#4 [b4,d5] f#4 ~ f#4 [b4,d5] f#4", // A#dim Bm
W: "~ e4 [a4,c#5] e4 ~ e4 [a4,c#5] e4 ~ e4 [g#4,b4] e4 ~ e4 [g#4,b4] e4", // A G#m
X: "~ e4 [g#4,b4] e4 ~ e4 [g#4,b4] e4 ~ e4 [a4,c#5] e4 ~ e4 [a4,c#5] e4", Y: "[a3,c#4,e4,a4] ~@15",
})).s("gm_piano").gain(0.26)
// bass · piano · "BASE 4"
const bass = note(`<
~ A B C D A E C D F G H I A E C D A E C J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AH AI AJ AL
>`.pickRestart({
A: "d1@9 f#1@9 a1@2 ~@13 d1 ~@2 f#1@6 ~@6", B: "g1@8 ~@10 d2 ~@14 g1 ~@2 b1@6 ~@6", C: "d1@3 ~@9 f#1@2 ~@2",
D: "~@18 d2@2 ~@13 d2 ~@2 b1@6 g1@6", E: "g1@8 ~@10 d2@2 ~@13 g1 ~@2 b1@6 ~@6",
F: "d1@9 f#1@9 a1@3 ~@12 d1@2 ~@4 d1@3 f#1@3 a1@3", G: "g1@9 b1@9 d2@2 ~@13 e1@2 ~@4 e1@3 g#1@3 b1@3",
H: "a1@9 c2@9 e2@2 ~@13 d1@2 ~@4 d1@3 f#1@3 a1@3", I: "g1@3 b1@3 d2@2 g1 ~@7", J: "~@18 d2@2 ~@13 d#2 ~@2 c2@6 g#1@6",
K: "d#1@9 g1@9 a#1@3 ~@12 d#1@2 ~@4 d#1@3 g1@3 a#1@3", L: "g#1@9 c2@9 d#2@2 ~@13 f1@2 ~@4 f1@3 a1@3 c2@3",
M: "a#1@9 c#2@9 f2@2 ~@13 d#1@2 ~@4 d#1@3 g1@3 a#1@3", N: "g#1@9 c2@9 d#2@6 a#1@7 ~@2 a#1 ~@2 g1@6 f1@6",
O: "d#1@9 g1@9 a#1@3 ~@12 d#1@2 ~ d#2 ~@2 d#2@2 ~ c#2@3 a#1@3", P: "d#1@9 g1@6 d#1 ~@2 a#1@2 ~@28",
Q: "d#1@9 g1@6 d#1 ~@2 a#1@3 ~@12 d#1@2 ~ d#2 ~@2 d#2@2 ~ c#2@3 a#1@3", R: "d#1@9 g1@6 d#1 ~@2 a#1@3 ~@27",
S: "d#1@7 ~@2 d#2 ~@2 a#1@6 d#2@2 ~@13 d#2@2 ~ d#1@5 ~ d#2@3 d#1@3",
T: "g#1@7 ~@2 g#1 ~@2 d#1@6 g#1@6 c1@7 ~@2 c1 ~@2 f1@6 ~@3 f1@2 ~",
U: "a#1@9 c#2 ~@5 c#2@3 a#1@3 f1@3 d#1@7 ~@2 d#1 ~@2 g1@7 ~@2 g1@2 ~",
V: "g#1@6 c#2@3 g#1@3 f#1@7 ~@2 f#1 ~@2 f1@12 a1 ~@2 a1@3 f1@3 a1@2 ~", W: "~@24 d#1@7 ~@2 d#2 ~@2 a#1@6 d#2@2 ~@4",
X: "~@9 d#2@2 ~ d#1@5 ~ d#2@3 d#1@3 g#1@5 ~@4 g#1@3 c2@6 d#2@6", Y: "[g#1,g#2]@3 ~@21 d#1@9 g1@9 a#1@2 ~@4",
Z: "~@9 d#1 ~@2 g1@6 a#1@6 g#1@8 ~ c2@9 d#2 ~@5", AA: "~@9 g#1 ~@2 c2@6 d#2@6 d#1@9 g1@8 ~ a#1@2 ~@4",
AB: "~@9 d#1 ~@2 g1@6 a#1@6 g#1@9 c2@9 d#2@2 ~@4", AC: "~@9 e2 ~@2 c#2@6 a1@6 e1@9 g#1@9 b1@3 ~@3",
AD: "~@9 e1@2 ~@4 e1@3 g#1@3 b1@3 a1@9 c#2@9 e2@2 ~@4", AE: "~@9 f#1@2 ~@4 f#1@3 a#1@3 c#2@3 b1@9 d2@9 f#2@2 ~@4",
AF: "~@9 e1@2 ~@4 e1@3 g#1@3 b1@3 a1@9 c#2@9 e2@6", AG: "a1@3 ~@21 e1@9 g#1@9 b1@2 ~@4",
AH: "~@9 e1 ~@2 g#1@6 b1@6 a1@8 ~ c#2@9 e2 ~@5", AI: "~@9 a1 ~@2 c#2@6 e2@6 e1@9 g#1@8 ~ b1@2 ~@4",
AJ: "~@9 e1 ~@2 g#1@6 b1@6 a1@9 c#2@9 e2@2 ~@4", AK: "~@9 e2 ~@2 c#2@6 a1@6 e1@9 g#1@9 b1@2 ~@4", AL: "[a1,a2] ~@11",
})).s("gm_piano").gain(0.31)
// bass · piano · "BASE 4" · soft notes
const bass_soft = note("<~ A B C D A B C D ~@4 A B C D A B C D ~@31>".pickRestart({
A: "~@7 a1", B: "~@3 b1@3 ~@8 d2@2", C: "~@9 f#1@8 ~ a1@2 ~@13 d1 ~@8 a1@6", D: "g1@3 b1@3 ~@10",
})).s("gm_piano").gain(0.2)
// drums · kick
const kick = s("bd").struct("<~ [~ x ~ x]!32 [~@3 x] [~ x ~ x] [x ~@2 x] [~ x ~ x]!15 x>").gain(0.41)
// drums · rim
const rim = s("rim").struct("<~ A@24 B C D E F@2 G H I F J I@15 K>".pickRestart({
A: "~ x ~@2", B: "~@3 x ~@2 x ~@4 x ~@2 x ~", C: "~ x ~@2 x ~@6 x ~@2 x ~", D: "~@3 x ~@2 x ~ x ~@2 x ~@3 x",
E: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~", F: "~ x ~ x", G: "~ x ~@2 x ~@7 x ~@3", H: "~@4 x ~@8 x ~@2", I: "~@3 x",
J: "x ~@2 x", K: "x",
})).gain(0.26)
// drums · hihat
const hihat = s("hh").struct(`<
~ A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 A B C@2 D C D C E A F C E A F C E A F C E A ~
>`.pickRestart({
A: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x!3 ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2",
B: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x!2 ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2",
C: "x ~ x!3 ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2", D: "~@8 x!8",
E: "x ~@2 x!2 ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x!3 ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2", F: "x!16",
})).gain(0.15)
// drums · open hat
const open_hat = s("oh").struct(`<
~ A ~ B A@2 ~ B A@2 ~ B A@2 ~ B A@2 ~ B A@2 ~ B A@2 ~ B A@2 ~ B A ~ B C B A ~ B@2 A ~ B@2 A ~ B@2 A ~@2
>`.pickRestart({
A: "~@15 x", B: "~@7 x ~@8", C: "x",
})).gain(0.15)
// drums · crash
const crash = s("cr").struct(`<
~ A ~ B C ~@4 B ~ D ~ A ~@6 E ~@4 A ~ F ~ A ~@3 G ~ G ~@3 H ~@2 I E ~@3 E ~@3 A
>`.pickRestart({
A: "x", B: "x!2 ~@6", C: "~@6 x!2", D: "~@3 x", E: "~ x", F: "x ~@2 x ~@12", G: "x!2", H: "x ~@3 x!2 ~@2",
I: "~ x ~@2",
})).gain(0.36)
// drums · tambourine
const tambourine = s("tb").struct(`<
~ A B@3 A B@3 A B@3 A B C B A B@3 A B@3 A B@3 A B@3 D E F B@3 E B@3 E B@2 G E B@2 G H
>`.pickRestart({
A: "x ~ x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2", B: "~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2", C: "~@2 x!2 ~@2 x!2 ~ x!4 ~ x!2",
D: "~@8 x ~ x!2 ~@2 x!2", E: "~@2 x!2 ~@2 x!3 ~ x!2 ~@2 x!2", F: "x ~@7 x ~ x!2 ~@2 x!2",
G: "~ x!4 ~ x!2 ~@2 x!2 ~@2 x!2", H: "x",
// … 64 more lines
More by Dalla
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.