0:00/0:00
// Se Bastasse Una Canzone — Eros Ramazzotti
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 158 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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
const piano = note(`<
A@5 B@3 C D@2 E@2 F@7 G@6 H@2 I@7 J K L@3 M N@2 O@7 P@2 Q@4 R@4 S@5 T@5 U V W X@2 Y@7 Z@8 AA@7 AB@8 AC@6 AD AE@2 AF
AG@5 AH@6 AI@7 AJ@6 AK@5 AL AM@8 AN@5
>`.pickRestart({
A: "[~@41 b3@5 a3@6 ~@23 a3@5 ~@6 d4@6 ~@17 b3@6 ~@28 a3@6 b3@6 d4@5, ~@24 g2@28 ~@6 g2@30 ~@4 g2@29 ~@5 g2@29 ~@5, ~@29 d3@23 ~@12 d3@24 ~@10 d3@29 ~@5 d3@24 ~@4, ~@35 g3@11 ~@6 g3@15 ~@2 g3@18 ~@16 g3@12 a3@11 ~@34, ~@80 b3@12 ~@29 g3@12 ~@5 g3@10 ~@12]/5",
B: "[~@23 a3@6 ~@23 a3@6 ~@5 d4@6 ~@17 b3@6 a3@4, ~ g2@30 ~@4 g2@31 ~@3 g2@27, ~@6 d3@29 ~@6 d3@24 ~@10 d3@21, ~@12 g3@12 ~@5 g3@14 ~@3 g3@23 ~@11 g3@12 ~@4, ~@18 b3@8 ~@32 b3@13 ~@25]/3",
C: "~@12 a3@3 b3, ~@2 g3@11 d3@19, ~@7 g2@25, ~@19 g3@13",
D: "[~@4 d4@5 ~@52 [b3,d4]@3, ~@10 g2@29 ~@5 g2@20, ~@15 d3@30 ~@10 d3@9, ~@21 g3@35 ~@8, ~@27 a3@29 ~@8]/2", // Bm
E: "[~@9 g4@5 ~@12 a3@22 ~@6 a3@10, ~@3 e4@10 ~ a4@50, ~@14 a2@31 ~@3 d3@16, ~@14 e4@18 ~@16 d4@9 ~@7, ~@20 e3@29 ~@15]/2",
F: "[~@41 b3@24 ~@11 e4@6 g4@5 ~@12 g3@9 ~@2 e4@11 ~ d4@34 ~@34 [a3,d4]@34, ~@19 g2@66 ~@2 a2@34 ~ d3@28 ~@6 c2@32 ~@2 d2@31 ~@3, ~@24 d3@62 ~ a4@64 ~@10 c3@29 ~@34, ~@30 g3@62 ~ e3@30 ~@33 g3@11 g3@6 g4@50 ~, ~@36 a3@25 ~@9 d4@17 e4@19 ~@50 [c4,e4]@35 ~@33]/7", // D5 C
G: "[~@23 g4@12 [b2,a3,d4]@34 e4@17 ~@17 d2@32 ~@2 [g2,b3]@51 ~@4, e2@17 ~@79, g4@21 ~@2 d4@8 ~@55 g4@45 ~@61, d4@12 a3@20 ~@37 g3@22 ~@12 g3@86 ~@3, ~@6 e3@28 ~@35 [c3,c4]@34 e4@29 ~@5 a3@2 ~@53]/6", // Bm7 G C
H: "[~@7 [a2,a3,c#4,e4]@25]/2", // A
I: "[~@13 [a2,a3,c#4,e4]@5 ~ d5@33 e4 [g#3,b3]@33 ~ a2@34 ~@23 a3@4 ~@2 [a2,a3,c#4,e4]@5 ~ [b2,a3]@34 [g#3,b3]@30 ~@4, ~@18 [b2,a3]@34 ~ e2@29 ~@4 b5@2 ~@33 a2@26 ~@43 e2@34, ~@18 [d4,f#4]@30 ~@5 e4 ~@32 a4@66 ~@3 b4@63 ~@6, ~@87 [c#4,e4]@62 ~@6 d6@29 ~@40, ~@87 a3@52 e3@12 ~@5 [d4,f#4]@30 ~@4 e4 ~@33]/7", // A G#m A B7 G#m B7 D C#m …
J: "d4 ~@16 [d4,a4] ~@11 d3@3, [d3,a3,f#4]@15 ~", K: "~@2 [e3,e4]!2 ~@28, ~ [b3,g#4]@15, ~@3 b4@29",
L: "[~@5 a4@5 f#3@6 e5 ~@10 a4!2 ~@4 f#2@6 [c#3,b3,c#4,e4]@34 d4!2 ~@21, ~@4 f#3@6 ~@6 a3@6 f#4@5 a5@12 ~@57, ~@5 f#2@23 [c#4,e4]@10 ~ g#4@30 ~@27, ~@5 [c#4,e4]@21 ~ e5@42 ~@27, ~@22 f#3@16 ~@35 [d3,a3,f#4]@23]/3", // C#m7 C#m D
M: "~@9 d4 ~ [e3,a3,e4,f#4]@18 [b3,e4,g#4]@3, ~@11 [d4,b4]@21, ~@29 f#4 ~@2", // F#m7 E G
N: "[~@2 b5@5 e4@6 a3 [a3,e4] ~@16 [a2,e4]@6 g#2@5 [g2,g3,g4]@5 ~@12 c4@5, ~ e5@7 ~@5 e5@34 ~@17, ~@14 [c#4,a5]@28 ~@5 f3@17, ~@7 a2@8 ~@9 [f2,a3,d#4,f4]@8]/2", // A5 G F#m F7
O: "[~@4 a4@2 ~ f4@4 ~ f2@5 ~ a#2@29 ~@5 f3@20 ~@3 f3@5 ~ [a#3,f4]@6 [a#3,d#4]@17 ~@11 g3@4 ~@25 a3@5 ~ c4@5 [a#2,d4]@32 d4@2 a#3 ~@28 d4 ~@2 a#2@3, ~ f3@18 ~@31 a#2@31 ~@6 c3@33 ~ f4@29 f4@28 ~@40 [a#3,d5]@6, ~ f4@5 c5@9 ~@3 a#3@34 a#3@29 ~@6 c4@17 a#3@51 [a#3,c4] ~@51 f3@16 ~, ~@6 f5@5 d#5@4 ~@32 c5@6 ~@34 d#5@69 ~@34 d5@27 ~@7, ~@7 c4@10 ~ [d4,f5]@59 ~@4 d4@4 ~@2 g4@17 d#4@17 [f2,a3]@17 f3@16 ~@35 [a#2,d4]@30 ~@5]/7", // A#5 D#5 A# A#sus2 Dm F A#
P: "[a#3@17 a#3@11 ~@6 f2@17 ~@6 a3@6 f4, d#5, c3@34 f4@29 ~, [g3,c4,d#4]@7 [a#3,d#4]@9, ~@34 a3@17 f3@11 ~@2]/2", // Cm D#5
Q: "[~@5 [a#3,d#4,g4]@17 [a#4,d#5]@17 ~@28 f3@5 ~ [g2,d4]@11 ~@6 g4@6 ~@5 [g2,g4]@3 [a2,g3]@3 d4@14 d2@3 d3@3 c4, ~@4 d#3@33 ~@2 [f2,f4]@17 f3@5 a3@10 ~@2 g3@17 [d4,a#4,g5,a#5]@17 [c4,f4,g4,a4,c5,f5,a5]@21, ~@5 a#4@11 ~@6 d#4@106, ~@22 a#3@51 a#3@55, ~@22 [g4,g5]@12 ~@5 [c4,c5,f5]@35 ~@10 g2@6 [g3,d5]@14 d5 ~@2 d2@12 ~@9]/4", // D# D#5 G5 G A7 F Gm F …
R: "[~@8 f4@3 a#2@2 ~ [d#2,a#3,d#4]@17 ~@5 g3@6 ~@3 c3@3 [f3,a4]@17 f3@14 f3@3 [a#2,a#4]@28 f3!2 ~ [g2,g4]@3 [a#2,a#3,a#4]@12, ~@2 c5@23 ~@6 d#4@97, ~@14 g5@28 a#3@6 f4@14 ~@3 c5@17 f4@22 ~@7 f4@5 ~@12, ~@14 [g4,a#4]@22 g4@12 a3@34 c#4 ~@27 f2@3 g3@15, ~@14 d#5@14 ~@3 [d#3,a#3]@11 a#4@6 f2@17 f4@9 ~@8 [a#3,d5]@34 ~@12]/4", // D#5 F A# G A# Gm D#5 A#
S: "[[f2,f4]@3 [g2,g4]@2 [a#2,a#4]@3 [c3,c5]@3 a#2@3 [f2,f4]@2 ~ [d3,d5]@3 [c3,c5]@3 [a#3,d4,a#4]@28 [f4,a#4,d5]@6 [a2,a3,c4,f4]@29 [a2,f4]@5 g3 g3@16 ~@12 a#4@5 ~ d#3@16 ~@9 g4 ~@2 [a#3,d#4,a#4,d#5,g5]@6, f3@14 f3@111 [d#2,g3,a#3,d#4] [g4,d#5]@16 d#3@6 g3@12, ~@3 g3@54 c5@29 a3@5 [g2,a#3,f4] a#4@16 [g3,a#3]@6 f4@46, ~@5 a#3@6 [a#3,a#4]@6 [a#3,d4]@6 [a#2,f4]@28 d4@109, ~@8 c4@11 ~ c4@31 a#3@35 c4@74]/5", // F G A# C F D C A# …
T: "[[a#2,f3,d4,d5]@28 [a#2,d5]@6 [a2,c5]@34 [g3,a#3,d#4]@35 a#3@16 d4 [d5,f5,a#5]@11 d5@4 ~@19 c3@6, f5@34 c4@85 [d2,a3,a#3] d4@40, a#3@17 ~@11 f3@132, ~@28 d4@6 a3@29 ~@5 [d#2,g4,a#4,d#5]@35 [g3,d#4]@34 [c2,g3,a#3,c4,d#4,a#4,d#5,g5]@23, ~@28 a#3@6 f4@85 f4@41]/5", // A# Am D# A# A#maj7 D# Cm Cm7
U: "~@5 g4@4 ~@2 f3@17 f3@4, ~@5 a#3@27, ~@11 [f2,a3,d#4,f4,a4]@21", // F7
V: "~@8 g2@2 g4@3 ~@12 e5 ~@4 f3@2, ~@4 f3@11 ~, ~@8 [f2,f4]@5 [a#2,a#3,d4,f4,a#4,d5]@19, ~@5 g3@11", // F A#
W: "~@7 f4@3 [f4,a#4,d5]@6 [a2,a3,c4,f4,c5]@16, ~@5 [a#3,d4]@11", // A# F A#
X: "[~@6 f4@3 ~@17 [d#2,d#3,g3,a#3,d#4,g4,d#5]@6, ~ a3@17 [f4,a#4]@46, ~@3 c4@13, ~@9 [g2,g3,a#3]@17 ~@6, ~@23 d4@9]/2", // D# A#5 Gm
Y: "[~@11 g3@6 [a#3,g4,a#4,d#5]@5 ~@29 a#2@4 ~@2 [a2,c5]@30 ~@4 [d#2,a#3,d#4]@34 [d#2,g4]@14 ~@3 d4 [g5,a#5]@13 d5@3 ~ [a#4,g5]@31 ~@3 f3@17 f3@13, ~@5 d#3@17 a#4@29 d4@6 a3@34 g3@51 f4@18 d#5@34 [f2,a3,d#4,c5,f5]@30, ~@17 [g3,d#4]@40 c4@86 d5@12 ~@4 [g3,a#3]@65, ~@22 [a#2,f3,a#3,d4]@29 f3@108 [c2,d#4] c4@64, ~@23 [f4,d5]@28 a#3@6 f4@34 [a#4,d#5,g5]@34 [a#3,d#4]@17 [d2,a3] d4@81]/7", // D# Am D#5 D# Gm D# F7 Cm …
Z: "[~@4 a#3@23 a#3@11 a#3@27 ~@7 c4 ~@34 g3@23 ~@5 [c4,e4,g4]@6 [c4,f4]@17 ~@12 a3@4 ~ [g2,b3]@18 ~@5 b3@5 ~ d4@6 e4@31 e4@3 [c3,c4,e4,e5]@12, ~@4 a#2@34 d4@103 f5@17 c4@17 g4@18 g3@11 g4@6 [c3,c4,d4]@46, ~@2 [f3,d4,f4]@17 f3@109, ~@4 a#4@18 ~@5 d#4@229, ~@27 g3@45 [c3,e4] [c4,g5]@28 d5@3 c3@3 c4@23 g3@11 [d3,d4,a4]@17 f4@98]/8", // C F5 G C Csus2 Dm C C5 …
AA: "[~@16 e4 ~@2 c3@2 ~ c4@17 c4@12 ~@5 b3@18 ~@17 [c4,f4,a4]@17 [c5,f5]@17 ~@34 [a2,e4]@11 ~@6 e5@12 [a2,a4]@3 [b2,a3]@2 ~ e4@14 e2@3 ~@5 d5@6 g4@2, ~@5 g3@51 [g2,g4]@18 g3@34 [a4,a5]@13 ~@4 d4@34 [a3,c4]@12 a2@5 [a3,e4,a4,c5,a5,c6]@15 e5 ~ [e2,d4,g4,a4,b4] [d5,g5,b5]@17 e3@2 d4@11, ~@16 [c4,e5]@6 d4@86 c4@17 [g2,g4,d5,g5]@17 g3@6 b3@5 g3@71, ~@22 f5@69 f3@133, ~@22 [d3,a3,f4]@29 [c4,f4]@28 b3@6 g4@6 c5@11 ~@6 f4@116]/7", // F F5 A5 A B7 G A Am …
AB: "[~ c3@2 ~ [f2,c4,f4]@17 ~@14 d3@3 [g3,b4]@17 g3@14 ~@3 [c3,c5]@29 ~@3 [a2,a4]@2 c4 c5@11 [g2,g4]@3 [a2,a4]@3 [c3,c5]@3 [d3,d5]@2 c3@3 [g2,g4]@2 ~ [e3,e5]@3 [d3,d5]@3 [c4,e4,c5]@28 [e4,g4,c5,e5]@6 [b2,b3,d4,g4]@29 g4@5 a3 a3@16 ~@12 c5@5 ~ [f2,f3,a3,f4,a4,f5]@12, ~@4 a5@28 c4@6 g4@13 ~@4 d5@17 [c4,e5]@32 a3@17 a3@54 d5@29 [b2,b3]@5 [a2,c4] [g4,c5]@16 [a3,c4]@6 g4@24, ~@4 [a4,c5]@23 a4@11 b3@34 [d#4,g4]@22 ~@7 [g2,g4]@5 c3 c4@17 c4@3 d4@8 [c4,e4]@3 d4@3 [c3,g4]@28 c4@35 d4@52, ~@4 f5@14 ~@3 [f3,f4]@222 c4@13, ~@21 c4@6 a3@5 c5@6 g2@17 g4@9 ~@5 g3@31 ~ g3@17 g3@11 [c4,c5]@3 g3@124]/8", // F5 G C A G A C D …
AC: "[~@13 a4 ~@2 [c4,f5,a5]@6 [c3,g3,e4,e5]@28 ~ e5@5 [b2,d5]@34 ~ [a3,c4,f4]@34 c4@17 [e2,e5,g5,c6]@11 e5@4 ~@30 [c4,a4]@5, ~@5 f3@45 [c3,c4,e4]@6 d4@86 [b3,c4,e4]@17 [d4,f4,c5,f5]@33, ~@5 a3@23 g4@43 g4@25, ~@16 f4@40 b3@29 ~@6 [f2,a4,c5,f5]@34 [a3,f4]@34 [d2,a3,c4] a5@16 d3@16, ~@8 c5@3 [c4,g5]@14 g3@71]/6", // F C Bm F C F C Cmaj7 …
AD: "~ g3@17 g3@12 [g2,a2,g3,g4]@2, ~ [b3,f4,g4,b4]@31, ~ g2@26 ~@5", // Gsus2 G7
AE: "[~ a4@3 ~@11 f#5 ~@13 g4@3 [e4,g4,c5,e5]@6 b3@17 b3@9, ~ a3@63, ~@4 c3@33 ~ [b2,d4,g4,d5]@26, ~@4 [e4,g4,c5,e5]@27 ~ c4@32, ~@4 c4@17 g3@43]/2", // C G C
AF: "~@3 g4@5 [a2,a3,c4,g4,c5]@24, ~@3 d4@29", // Am7
AG: "[~@4 e4@6 ~ f3@16 ~@6 a3@6 [c4,a4,c5,f5]@6 [c3,g3,c4,e4]@28 [c3,e4]@4 ~@2 [b2,d5]@30 ~@4 [c4,f4]@35 [f2,c4,f4,a4]@12, ~@10 f2@35 c5@28 g3@40 f2@32 ~@15, ~@10 [c4,f4]@29 [a3,f4]@40 [d4,g4]@81, ~@10 a3 f5@16 f3@133, ~@11 a4@26 ~@8 [g4,e5]@28 c4@6 b3@33 ~ [a3,c5,f5,a5]@47]/5", // F C Bm F5 F F5 Dm G5 …
AH: "[~@4 e4 [a5,c6]@14 e5@3 [f4,f5]@34 g3@17 ~@40 c4@5 [g4,c5]@5 d4 ~@28 g4@5 ~ [c4,e4]@28 ~@3 [a4,b4] c5 [d5,e5], ~@4 g4@18 [d2,c5,a5]@31 ~@3 f4@102 a3@29 [d4,e4] [f4,g4]@4, ~@4 b3@16 ~@2 a3@101 [b2,b3,g4,b4] d4@33 g4 [a4,c5]@23 ~@5 c4@6, ~@4 e2 e4 ~@16 d4@69 [c4,e4,g4]@15 g3@86, ~@5 e5@12 ~@5 c4@34 [g2,b3,d5,g5]@17 g3@18 c3@27 [c4,e4]@39 a2@35]/6", // Am F C5 C Asus2 Dsus2 D7 Dsus2 …
AI: "[~ [c4,f4,a5]@5 f4 c4@27 ~ [c4,e4]@17 ~@12 g3@5 g3 g3@16 [d3,b3]@16 ~@2 [c4,e4,g4]@17 ~@11 [g4,g5]@6 [d4,g4]@17 ~@35 g3@5 ~@6 c4@6 a3@5 ~@6 c4@6, [c5,f5]@5 ~ [c5,f5,a5]@4 ~@24 g5 [g3,c5]@17 [c4,e4]@6 g4@5 [c5,e5] [c4,e4]@5 [g2,d4,d5,g5]@17 d4@35 [c4,g4]@6 g3@5 c4@6 [b2,g3,d5,g5]@17 [d4,g4]@6 g3@6 d4@40 [f2,c3,c4,f4,c5,f5]@5 a3@12, ~ a3@171 [a2,g3,c4,g4] a4@17 c4@5 g3@29, ~ f2@2 ~@4 f4@166 c5@17 g4@34, ~@7 f2@3 ~@25 c3@34 g4@17 [g3,b4,g5]@18 [c3,c5,e5,g5]@17 e4@103]/7", // F C G C G G5 F5 F …
AJ: "[~@3 a4@2 ~ [c5,f5]@5 [c4,c5,e5]@6 g3@6 ~@5 c4@6 ~@12 [c5,e5]@5 g3@6 ~@5 d4@6 ~@12 g4@5 ~@29 [g4,g5]@6 [d4,g4]@17 ~@17 g4@17 g3@6 ~@6 c4@5 [f2,c3,a3,c4,f4,c5,f5]@4, f3@154 [a2,g3,c4,c5]@17 [c4,g4]@6 g3@15, f4@103 [c4,g4]@5 g3@6 c4@6 [b2,g3,d5,g5]@17 [d4,g4]@6 g3@5 d4@44, c4@11 ~@6 [c3,c4,e4,g4,c5]@6 g3@11 [c4,e4,g4]@6 g3@6 c4@5 [b2,d4,g4,d5,g5]@6 g3@11 [d4,g4,b4,g5]@6 g3@6 d4@5 [c3,c4,e4,g4] [c5,e5,g5]@17 e4@89, ~@3 a3@74 a4@19]/6", // F5 C G G5 F Am7 C5 G …
AK: "[~@8 c4@6 ~@2 a4@2 ~ [c5,f5]@6 [c4,c5,e5]@6 g3@5 ~@6 c4@6 ~@11 [c5,e5]@6 g3@5 ~@6 d4@6 ~@11 g4@6 [c4,e4,g4]@17 ~@12 [g4,g5]@5 ~@23 g3@4, ~@2 a3@17 a3@114 [b2,g3,d4,g4] [d5,g5]@17 [d4,g4]@9, ~@7 [f3,f4]@73, ~@14 c4@11 ~@6 c3@17 [c4,g4]@5 g3@6 c4@6 [b2,d4,g4,d5,g5]@5 g3@12 [d4,g4,b4,g5]@6 g3@11 [c3,c5,e5,g5]@17 e4@44, ~@31 [c4,e4,g4,c5]@5 g3@12 e4@45 d4@23 [c4,g4]@6 g3@6 c4@32]/5", // F5 C G G5 F C5 G C …
AL: "~@8 g4@17 [g3,c4,g4]@6 g3, ~ d4@15, ~ [a2,a4,c5]@3, ~@8 c4@11 ~@13, ~@4 g3@3 ~@9", // C5 Am
AM: "[~@4 c4@6 a3@5 ~@7 c4@5 ~@3 a4@3 [c5,f5]@5 [c4,c5,e5]@6 g3@6 ~@6 c4@5 ~@12 [c5,e5]@5 ~@12 d4@6 ~@11 g4@6 [c4,e4,g4]@17 ~@11 [g4,g5]@6 [d4,g4]@17 ~@17 g4@17 g3@6 ~@6 c4@5 ~@12 c4@6 ~@2 a4@3 [c5,f5]@6 [c4,c5,e5]@6 [c3,g3,c4,e4,g4,c5]@6, ~@10 f2@34 [c3,c4,e4,g4,c5]@6 g3@11 [c4,e4,g4]@6 g3@6 c4@5 [b2,g3,d4,g4] [d5,g5]@5 g3@12 [d4,g4,b4,g5]@5 g3@6 d4@6 [c3,c5,e5,g5]@17 e4@85 [f2,c3,a3,c4,f4] [c5,f5]@5 a3@12 [f3,f4]@19 ~@4, ~@10 c3@17 c4@6 a3@97 [c4,g4]@6 g3@5 c4@6 [b2,g3,d5,g5]@17 [d4,g4]@6 g3@5 d4@81, ~@10 [c5,f5]@17 f3@171 c4@6 g3@29 c4@5 a3@18, ~@10 [c4,f4]@5 a3@12 f4@154 [a2,g3,c4,a4,c5]@17 g4@52 ~@6]/8", // F5 C G G5 F5 C G G5 …
AN: "[~@5 c4@6 ~@11 [c5,e5]@6 g3@6 ~@6 d4@5 ~@12 [d4,g4]@5 g4 [b3,d5] ~@4 c3@38 c3@3 c4@47 ~@4, g3@17 g3@11 b2@17 [d4,g4]@6 g3@11 d4@47 c2@5 ~@46, ~@11 e4@52 e4@51 ~@46, ~@11 g4@17 [d4,g4,d5,g5]@6 g3@11 [b4,g5]@16 ~ [c3,g3] g4@5 g3@41 c3@35 ~@16, ~@11 c4@11 c4@41 [c4,e5]@46 g3@20 ~@31]/5", // C G5 Bm G5 Em C5 C
})).s("gm_piano").gain(0.44)
// chords · piano · soft notes
const piano_soft = note(`<
~@10 A B@3 ~@2 C@2 ~ D E F G@4 H@4 I@5 J@2 K L@4 M N@3 O@4 P Q@2 ~ R ~@2 S T ~@5 U V ~ W ~@2 X@2 Y ~@6 Z AA AB AC@5
AD@6 ~@2 AE ~@2 AF@3 ~@4 AG AH AI@8 ~@5 AJ AK AL ~@6 AM AN AO ~@4 AP ~ AQ ~@3 AR AS AT ~@3 AU@2 AV@2 ~@6
>`.pickRestart({
A: "b3@13 ~@3", B: "[~@31 c4@18 ~@11 d4@21 ~@15]/3", C: "[~@4 c4@6 ~@3 f#4@14 ~@5]/2", D: "~@21 d3@5 ~@6",
E: "g#2 ~@15", F: "~@3 f#4@29", G: "[~@28 g3@10 ~ c4@30 ~@4 d3@51 ~@4]/4",
H: "[~@76 [a4,c#5]@5 ~@2 a4@33 b4@12, ~@14 a5@69 ~@45]/4", // A
I: "[~@23 c#6@55 ~ e5@3 ~@4 e5@6 a5@18 ~@16 e5@27 ~@7, ~@22 e5@53 ~@10 c#6@7 ~@68, ~@85 a5@4 ~@71]/5",
J: "[~ d5@35 ~@28, a4@7 ~@25]/2", K: "~@10 a4@5 ~@17",
L: "[~@7 b4@31 ~@4 a4@27 ~@3 a4 d5@2 e5@17 ~@11 b4@6 ~@19, ~@6 g#5@32 ~@3 d5@30 ~@21 e3@17 ~@19]/4",
M: "~@5 a4@3 ~@24", N: "[~@12 a4@2 ~@4 a#4@29 ~@5 a#4@22 ~@7 [c5,f5]@6 ~@9]/3",
O: "[~@14 g3@3 ~@2 a#4@5 ~ a4@33 ~@2 a#4@28 f3@3 ~@3 a#3@22 a#3@6 a#4@4 ~@2, ~@60 [a#3,f5]@31 a#4@28 ~@9]/4", // A#5
P: "a#4@15 ~", Q: "[~@2 a4@27 ~@2 a#4@3 ~@30]/2", R: "~@10 g4@3 ~@3", S: "~@13 c4@2 ~@15 a#2 ~, ~@13 a#2 ~@18",
T: "~@15 f2@2 ~@15, ~@6 a#3@3 ~@7", U: "~@10 a#4 ~@5", V: "~@17 a#3@11 a#4@4", W: "~ d#3@2 ~@29", X: "[g3@21 ~@11]/2",
Y: "~@2 a#3@3 ~@11", Z: "~@31 g2", AA: "~@14 c3 ~", AB: "~@25 a3@4 ~ a3@2",
AC: "[~@27 [g4,d#5]@11 d5@26 ~@9 c5@29 ~@5 c5@22 ~@6 [d5,g5]@6 ~@19, ~@27 a#4@37 ~@96, ~@38 f4@103 ~@19]/5", // Cm G5
AD: "[~@4 a3@3 ~@3 c5@5 b4@34 ~ c5@28 ~@3 c5@26 c4@5 c5@4 ~@2 c5@29 ~@5 b4@27 ~@2 c5@3 ~@8, ~@50 g5@33 ~@109, ~@78 g3@23 ~@91]/6",
AE: "~@11 a4@5 ~@16", AF: "[~@3 c3 ~@16 c3 ~@16 g2@2 ~@57, ~@3 d4@92 ~, ~@17 c4@3 ~@28]/3", AG: "~@5 c5 ~@10",
AH: "~@7 c4@11 ~ c5@5 ~@8", AI: "[~@118 a3@43 ~@25 c4@6 ~@64, ~@3 f3@29]/8", AJ: "~@22 a2 ~@9", AK: "~@9 d3 ~@6",
AL: "~@15 b3@4 ~@2 b3@3 ~@8", AM: "~@19 g3@12 ~", AN: "~@4 e5@3 ~@25", AO: "~@12 c4@3 ~, ~@9 g3@6 ~",
AP: "~ g3@11 ~@6 e5@3 ~@11", AQ: "~@5 c4@6 ~@21, g3@11 ~@21", AR: "~@7 g3@6 ~@3", AS: "e5@3 ~@29",
AT: "~@19 c4@6 ~@7, ~@14 g3@11 ~@7", AU: "[~@28 g3@12 ~@5 e5@3 ~@16]/2", AV: "[~@33 c4@5 ~@26, ~@27 g3@11 ~@26]/2",
})).s("gm_piano").gain(0.25)
// bass · acoustic bass · "BASSO"
const bass = note(`<
~@26 A@2 B@7 C D@7 E@8 F@2 G H@4 I@2 J@5 K L@2 M@2 N O P@5 Q@4 R@4 S T@6 U@4 V@2 W@3 X@4 Y@6 Z AA AB@5 AC@8 AD AE AF@2
AG AH@2 AI@8 AJ AK AL AM AN AO AP@8 AQ@2 ~
>`.pickRestart({
A: "[~@7 a2@25]/2", B: "[~@13 a2@5 b2@35 e2@33 ~ a2@57 ~@6 a2@6 b2@34 e2@34]/7", C: "d3",
D: "[~@2 e3@34 ~ f#3@28 f#2@6 c#3@31 ~@3 d3@32 ~@2 e3@35 a2@28 g2@5 ~ f2@16]/7",
E: "[~ f3@11 f2@5 ~ a#2@27 ~@2 a#2@2 ~@3 a#2@26 ~@3 a#2@6 c3@34 f2@17 f3@14 ~@4 a#2@26 ~@2 a#2@3 ~@3 a#2@28 ~@6 c3@32, ~@109 a#2@14 ~@5]/8",
F: "[~@2 f2@17 ~@12 f2@5 ~ d#2@17 d#3@10, ~@19 f3@17 ~@28]/2", G: "~ d#2@6 f2@25",
H: "[~@3 f2@6 g2@26 ~@2 g2@5 ~ d3@27 ~@2 d3@6 d#3@27 ~ d#3@5 ~ f3@16]/4", I: "[~ f2@17 a#2@28 ~ f2@5 a#2@11 ~]/2",
J: "[f2@3 g2@2 a#2@3 c3@3 a#2@3 f2@3 d3@3 c3@3 a#2@31 ~@3 a2@27 ~@2 a2@5 g2@26 ~@3 g2@5 d#3@18 ~@5 f3@12]/5",
K: "a#2@13 ~ a#2@2", L: "[~ f2@17 d#2@14]/2", M: "[~ d#2@5 ~ d#3@16 ~ d3@17 c3@23]/2", N: "~@5 c3@6 f2@21",
O: "~@8 f2@3 ~@2 a#2@19, ~@13 g2@2 ~@17",
P: "[~@10 a#2@5 ~ a2@34 g2@27 ~ g2@6 d#2@28 ~ f2@5 a#2@27 ~@2 a#2@6 f2@7]/5",
Q: "[~@10 f3@17 d#3@27 ~@2 d#3 ~@4 d#3@17 d3@17 c3@27 ~@2 c3@4]/4",
R: "[~@2 f2@34 a#2@19 ~@4 f2@11 a#2@31 ~@4 c3@23]/4", S: "~@5 g2@5 ~ c3@21",
T: "[~@7 c3@6 d3@33 ~ g2@29 g3@6 c3@24 ~@4 g2@6 c3@28 a2@6 d3@26 ~@3 d3@5 g3@8]/6",
U: "[~@10 g2@17 f2@17 f3@11 f2@5 ~ g2@26 ~@2 g2@5 ~ a2@17 a3@12 a2@4]/4", V: "[~@2 e3@17 e2@16 ~ f2@17 f3@11]/2",
W: "[f2@5 ~ g2@16 ~ g2@16 ~ c3@27 ~@2 g2@3 a2@2 c3@12 g2@3 a2@3 c3@3 d3]/3",
X: "[~ c3@3 g2@3 e3@3 d3@3 c3@31 ~@3 b2@26 ~@3 b2@5 ~ a2@26 ~@2 a2@6 f3@12]/4",
Y: "[~@10 g3@12 c3@26 ~@2 c3@6 g2@34 ~ f2@28 f2@6 f3@16 ~ e3@17 d3@26 ~@2 d3@5]/6", Z: "~ g2@27 ~@2 g2@2",
AA: "~@2 c3@13 ~, ~@2 a2 ~@13", AB: "[c3@5 ~ b2@34 a2@27 ~@2 a2@5 f2@28 ~ g2@5 ~ c3@26 ~@2 c3@6 g2@17]/5",
AC: "[g3@17 f3@27 ~@2 f3 ~@5 f3@16 e3@18 d3@27 ~ d3@6 g2@34 c3@24 ~@5 c3@5 ~ b2@34 a2@33]/8",
AD: "~ f2@3 ~@3 f2@5 ~@20", AE: "~@3 c3@25 ~@4", AF: "[c3@5 ~ g2@13 ~ g2@2 ~ g3@15 ~@2 c3@24]/2",
AG: "~@4 c3@5 ~ b2@22", AH: "[~@7 b2@5 a2@26 ~@3 a2@5 ~ f3@17]/2",
AI: "[~@6 f2@5 g2@6 c3@26 ~@3 c3@5 b2@27 ~@2 b2@4 ~@2 c3@26 ~@2 c3@5 ~ b2@26 ~@2 b2@5 ~ a2@26 ~@3 a2@5 f3@23 f2@6 g2@6 c3@26 ~@2 c3@5]/8",
AJ: "~ b2@28 b2@3", AK: "~@3 c3@26 ~@3", AL: "c3@5 ~ b2@25 ~", AM: "~@2 b2@5 ~ a2@24", AN: "~@4 a2@5 ~ f3@22",
AO: "~ f2@5 g2@6 c3@20",
AP: "[~@9 c3@5 ~ b2@27 ~ b2@4 ~@2 c3@26 ~@2 c3@5 ~ b2@26 ~@2 b2@5 ~ a2@27 ~@2 a2@5 ~ f3@22 f2@6 g2@6 c3@26 ~@2 c3@5 ~ b2@27 ~@2 b2@4 ~@2 c3]/8",
AQ: "[~@5 c3@40 ~ c3@4 ~@14]/2",
})).s("gm_acoustic_bass").gain(0.45)
// chords · string ensemble 2 · "SLOW STR."
const string_ensemble_2 = note(`<
A@2 B@8 ~@7 C ~ D@4 ~@5 E@2 ~@2 F@2 ~ G H I@2 ~@6 J@2 ~@2 K L ~ M@2 N@3 ~@3 O@5 P Q R@4 S@8 T U@4 ~ V W@2 ~@2 X@2 ~
Y@2 Z AA ~@4 AB@2 AC@8 AD@4 AE@5 AF@7 AG AH AI@2 AJ@5 AK@6 AL@2 AM@5 AN@8 ~
>`.pickRestart({
A: "[~@3 g2@5]/2",
B: "[~@28 g2@65 ~@21 b4@5 a4@5 ~@24 a4@6 b4@6 d5@5 ~@6 [d3,g3]@5 [g3,a3]@6 b4@6 a4@6 ~@11 g3@4 ~@2 g3 ~@4 a4@6 b4@5 ~ d5 ~@27, ~@14 d4@103 ~@11, ~@97 d3@62 ~@35 g4@11 ~@51, ~@97 g2@28 g4@12 g3@28 ~@17 b3@51 ~@23, ~@108 g3@23 g2@30 ~@4 g2@29 ~@5 g2@29 ~@28]/8", // G5 Gsus2
C: "~@11 d4@5 e4@5 g4@5 ~ g4 ~@4",
D: "[~@15 d4@6 e4@5 ~@29 b4@12 ~@23 e4@5 g4@6 ~@27, ~@26 g4@23 g4@23 ~@12 d4@18 ~@26, ~@38 e3@25 ~@65, ~@44 d4@21 ~@2 a4@31 ~@30]/4",
E: "[[c#4,e4]@6 [d4,f#4]@5 [e4,a4]@7 [b3,d4,f#4]@28 ~@18]/2", // C#m D A5 Bm
F: "[~@10 [c#4,e4]@5 [d4,f#4]@6 [e4,a4]@6 ~ [b3,b4]@28 ~@8, ~@27 [d4,f#4]@29 ~@8]/2", G: "~@17 [a3,d4,f#4]@15",
H: "~ [g#3,e4]@29 ~@2, ~ b3@26 ~@5", I: "[~@11 [b3,e4,a4]@8 [b3,e4,g#4]@13]/2",
J: "[~@5 [d4,f4]@5 [d#4,g4]@6 [f4,a#4]@6 [c4,d#4,g4]@28 ~@14]/2", K: "~@14 [d4,f4]@5 [d#4,g4]@6 [f4,a#4]@6 ~",
L: "[c4,d#4,g4,c5]@29 ~@3", M: "[~@21 [d#4,g4]@16 [a3,c4,f4]@27, ~@21 a#3@14 ~@29]/2",
N: "[~@26 [c4,f4,a#4]@16 [c4,f4,a4]@29 ~@25]/3", // Fsus4 F
O: "[~@23 [d4,f4]@34 [a3,c5]@34 ~ g3@33 [d#3,g4]@29 ~@6, ~@23 [a#3,a#4]@32 ~@36 a#4@63 ~@6, ~@91 d4@28 ~@6 d#4@20 ~@15]/5", // Dm Am D# A#
P: "[a#3,f4,a#4,d5]", Q: "~ [f4,c5]@15, ~@2 a3@17 ~@13",
R: "[~@4 [d#3,g4,a#4,d#5]@50 ~@2 [f4,a#4,d5]@17 [g4,d#5]@34 [f3,f4,a4]@21, ~@73 c4@55, ~@73 a#4@29 ~@26]/4", // D# A# Cm F
S: "[~@10 g4@3 ~@17 d5@18 [a3,c5]@34 [g3,a#4]@34 [d#4,g4]@29 ~@5 [a#3,f4,d5]@35 [a3,f4]@32 ~@2 [d#4,g4,a#4,d#5]@37, ~@8 f4@39 ~ f4@31 ~@3 f4@27 ~@41 a#4@31 ~@4 c5@34 ~@37, ~@8 f3@5 [a#3,a#4]@35 ~@68 d#3@34 ~@106]/8", // Am Gm D# A# Dm D# A#
T: "~@7 [d4,f4,a#4,d5]@9", // A#
U: "[d#5@32 ~@2 f4@34 d4@19 ~@4 [g3,d#4]@10 ~@27, c4@7 ~@9, a#4@29 ~@5 f3@26 ~@8 a#2@52 ~@8]/4", V: "~@27 [e4,g4]@5",
W: "[~ f4@5 [g4,c5]@6 ~ [d4,f4]@28 ~@23, a4@6 ~@6 a4@29 ~@23]/2", // C5 Dm
X: "[~@4 [e4,g4]@5 ~ f4@6 [g4,c5]@6 [d4,f4,a4,d5]@29 ~@13, ~@9 a4@7 ~@48]/2", // Em C5 Dm
Y: "[~@12 c4@14 ~@2 g4@29 ~@7, ~@11 [f4,a4]@16 b3@29 ~@8, ~@14 d4@13 ~@5]/2", Z: "~ [d4,g4,c5]",
AA: "~ [d4,g4,b4]@28 ~@3", AB: "[~@13 [c4,e4,c5]@32 ~@2 [b3,d5]@17, ~@13 g4@34 ~@17]/2",
AC: "[~@18 a3@34 [f3,a4]@29 ~@5 [c4,e5]@34 d5@35 [f3,a4,c5,f5]@50 ~ [c5,e5]@17 [d4,a4,f5]@33, ~@18 c5@63 ~@39 b3@16 ~@120, ~@18 e4@28 ~@6 f4@20 ~@14 [g4,c5]@32 ~@2 g4@32 ~@54 g4@14 ~@3 c5@29 ~@4]/8", // F C F C Dm C5
AD: "[~ [g3,g4]@27 ~@5 a4@3 ~@17 e5@17 [b3,d5]@34 [a3,g4,c5]@24, ~ b4@23 ~@6 g4@39 ~ g4@31 ~@27, ~@30 g3@5 ~ [c4,c5]@35 ~@57]/4", // G Bm Am7 C
AE: "[~@10 [f4,a4]@29 ~@6 [c4,g4,e5]@34 [b3,g4]@32 ~@2 [f4,a4,c5,f5]@47, ~@10 f3@35 c5@30 ~@4 d5@34 ~@47]/5", // F C Em F
AF: "[~@5 [g4,c5]@17 f5@32 ~@2 g4@34 [c4,e4]@33 ~@2 [d4,g4]@34 e4@34 f4@8 ~@23, ~@4 [e4,e5]@18 d4@57 ~@80 [a4,c5]@43 ~@22, ~@22 c5@29 ~@5 g3@26 ~@142]/7", // C5 C G5 E Am
AG: "~@3 [c4,e4,g4]@29", AH: "~@3 [b3,d4,g4]@13", AI: "[~@8 c4@15 ~@19 b4@22, ~@8 e4@33 ~@23, ~@25 g4@39]/2",
AJ: "[~@30 a4@50 ~@35 d5@33 ~@2 [c4,e4]@10, ~@13 c5@103 ~@44, ~@81 g4@67 ~@12]/5", // C
AK: "[~@24 b4@34 ~@17 a4@50 ~@36 d5@31, ~@7 g4@51 c5@103 ~@31, ~@127 g4@65]/6",
AL: "[~@3 c4@16 ~@19 b4@26, ~@3 e4@33 ~@28, ~@5 g4@11]/2",
AM: "[~@25 a4@50 ~@36 d5@33 ~ [c4,e4]@15, ~ c5@13 ~@6, ~@76 g4@67 ~@17]/5", // C
AN: "[~@19 b4@34 ~@17 a4@50 ~@36 d5@33 ~@2 [c3,c4,e4]@46 ~@19, ~@2 g4@51 c5@103 ~@100, ~@122 g4@67 ~@67]/8", // C
})).s("gm_string_ensemble_2").gain(0.27)
// chords · string ensemble 2 · "SLOW STR." · soft notes
const string_ensemble_2_soft = note("<A@8 ~@9 B@3 ~ C D E@3 ~@56 F@2 ~@74>".pickRestart({
A: "[~@12 b3@105 ~@11, ~@24 g3@131 ~@101]/8", B: "[~@28 g4 ~@33 a4@30 ~@4, ~@14 g5@33 ~]/3",
C: "~@3 f#4@25 ~@4, ~@3 d4@17 ~@12, ~@3 b2@9 ~@20", D: "~@5 [c3,e4]@27, ~@5 g4@6 ~@21",
E: "[~@7 [d3,e4]@34 [g2,d4]@51 ~@4, ~@7 c4@29 ~@5 a3@32 ~@23]/3", F: "[~@4 a#3@17 ~@17 d4@19 ~@7, ~@27 a#3@30 ~@7]/2",
})).s("gm_string_ensemble_2").gain(0.13)
// other · tenor sax · "SAX"
const tenor_sax = note("<~@123 A@3 ~@32>".pickRestart({
A: "[~@5 [g3,g4]@4 [a3,a4]@2 [c4,c5]@3 ~ [a3,a4]@2 [c4,c5]@3 [a3,a4]@2 [c4,c5]@3 [a3,a4]@2 ~ [d4,d5]@15 ~ [e4,e5]@2 ~ [c4,c5]@3 [d4,d5]@2 [e4,e5]@3 [g4,g5]@3 [g#4,g#5]@2 ~ [a4,a5]@13 [a4,a5] ~@21, ~@23 [d4,d5] ~@24]/3", // G A C A C A C A …
})).s("gm_tenor_sax").gain(0.38)
// other · tenor sax · "SAX" · soft notes
const tenor_sax_soft = note("<~@5 A@5 ~@112 B ~ C ~@33>".pickRestart({
A: "[~ [g1,g2]@136 ~@23]/5", B: "~@27 [e4,e5] ~@4", C: "~@29 [g#4,g#5] ~@2",
})).s("gm_tenor_sax").gain(0.22)
// drums · kick
const kick = s("bd").struct(`<
~@9 A ~@3 B ~@3 C ~@8 D ~ E ~ F ~ G ~ H I J K L M N D O P Q R S T U ~ V J K W M X D O B Y F Z T AA H I J AB L M N AC
AD B AE F Z C AF AG V J AH AI M AJ AC AK B AL AM Z AN AO AP T AQ AB AR AS AT AU AG B AE AM AV C AO ~ I AW AB AI AX N
AY AG AZ AL BA BB H BC BD ~ W BE AI BF BG AC BH AZ BI BJ BB H BC AP C BK BE BL AX BG BM BH BN BO BP BB BQ BR BD K BS ~
>`.pickRestart({
A: "~@5 x ~@10", B: "~@9 x ~@6", C: "~@27 x ~@4", D: "~@7 x ~@8", E: "~@13 x ~@4 x ~@13", F: "~@17 x ~@5 x ~@8",
G: "~@11 x ~@2 x ~", H: "~@13 x ~@2", I: "x", J: "~ x ~@14", K: "~@5 x ~@26", L: "~@7 x ~@24", M: "~@9 x ~@22",
N: "~@11 x ~@20", O: "~@5 x ~@2 x ~@7", P: "~@7 x ~@4 x ~@5 x ~@13", Q: "~@15 x ~@5 x ~@10", R: "~@23 x ~@8",
S: "~@20 x ~@4 x ~@6", T: "~@7 x", U: "~@12 x ~@2 x", V: "x ~@6 x", W: "~ x ~@5 x ~@24", X: "~@6 x ~@4 x ~@20",
Y: "~@15 x ~@4 x ~@11", Z: "~@25 x ~@6", AA: "~@15 x", AB: "~ x ~@6", AC: "~@13 x ~@18", AD: "~ x", AE: "~@5 x ~@2",
AF: "~@24 x ~@4 x ~@2", AG: "~@15 x ~@16", AH: "~@4 x ~@22 x ~@4", AI: "~@3 x ~@12", AJ: "~@5 x ~@5 x ~@20",
AK: "~@10 x ~@4 x ~@16", AL: "~@7 x ~@2 x ~@5", AM: "~@8 x ~@2 x ~@4", AN: "~@21 x ~@5 x ~@4", AO: "~@29 x ~@2",
AP: "~@31 x", AQ: "~ x ~@13 x", AR: "x ~@2 x ~@6 x ~@5", AS: "~@2 x ~@5 x ~@8 x ~@4 x ~@9",
AT: "~@5 x ~@5 x ~ x ~@11 x ~@2 x ~@2 x", AU: "~@2 x ~@10 x ~@18", AV: "~@3 x", AW: "~ x ~@30", AX: "~ x ~@2",
AY: "~@7 x ~@5 x ~@18", AZ: "~@17 x ~@14", BA: "~@5 x ~@16 x ~@9", BB: "~@9 x ~@2 x ~@3", BC: "~@23 x ~@5 x ~@2",
BD: "~@25 x ~@5 x", BE: "~@3 x ~@28", BF: "~ x ~@2 x ~@11", BG: "~@2 x ~@2 x ~@10", BH: "~@9 x ~@5 x ~@16",
BI: "~@14 x ~@4 x ~@12", BJ: "~@2 x ~@5 x ~@2 x ~@4", BK: "~ x ~@27 x ~@2", BL: "x ~@2 x ~@12", BM: "~@3 x ~@4",
BN: "~@2 x ~@8 x ~@5 x ~@14", BO: "~@13 x ~@5 x ~@12", BP: "~@21 x ~@10", BQ: "~@6 x ~@6 x ~@2",
BR: "~@22 x ~@5 x ~@2 x", BS: "~@10 x ~@2 x ~@18",
})).gain(0.62)
// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
~@38 A ~@23 B ~@5 A ~ C D ~ E ~@2 F ~@16 G ~@9 E ~@4 G ~ H I ~@2 J ~@2 K ~@23 L ~@5 M ~@10
>`.pickRestart({
A: "~ x ~@30", B: "~@11 x ~@4", C: "~@5 x ~@26", D: "~ x ~@2", E: "~@3 x ~@4", F: "~@19 x ~@12", G: "~@23 x ~@8",
H: "~@7 x", I: "~@15 x", J: "~@3 x ~@28", K: "~@9 x ~@22", L: "~@9 x ~@6", M: "~@5 x ~@2",
})).gain(0.37)
// drums · rim
const rim = s("rim").struct("<~@26 A ~@2 B ~ C ~ D ~ E ~ F ~ G ~ A ~@116>".pickRestart({
A: "~@31 x", B: "~ x ~@6", C: "~ x ~@2", D: "~@13 x ~@18", E: "~@17 x ~@14", F: "~@11 x ~@4", G: "~@13 x ~@2",
// … 119 more lines
More by Eros Ramazzotti
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.