0:00/0:00
// Sacramento — Middle of the Road
// 133 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 1 "E.Guitar" named as a guitar, played on electric guitar clean (its piano patch is not one); ch 12 "Bass" named as a bass, played on electric bass finger (its piano patch is not one)
// note: Full arrangement: all 107 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(133/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 clean · "E.Guitar"
const electric_guitar_clean = note(`<
A B C B D E F G@2 H G@3 I G@2 J@7 K@4 L@8 M@7 N@4 L O@6 P@8 Q R S T L@5 U@7 L V@3 L@2 W@3 X Y@3 Z AA@3 L AB@3 L AC@7 ~
>`.pickRestart({
A: "~@14 [g#4,b4,e5]!2", // E
B: "[g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [a4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2 [a4,d5,f#5]@2", // E Asus2 E D
C: "~@2 [a4,d5,f#5]@2 ~@2 [g#4,b4,e5] [g#4,b4] [g#4,b4,e5]@5 ~ [g#4,b4,e5]!2", // D E G#m E
D: "~@2 [a4,d5,f#5]@2 ~@2 [g#4,b4,e5]!2 [g#4,b4,e5]@3 ~ [g#4,b4,e5]@2 ~@2", // D E
E: "[g#4,b4,e5] ~ [g#4,b4,e5] ~ [e4,b4]!4", // E E5
F: "[e4,b4]@2 [e4,b4]@2 [e4,b4]@2 [e4,b4]@2 [a3,e4]@2 a3 ~ [a3,f#4] ~ [a3,e4]@2, ~@5 e4@2 ~", // E5 A5 D A5
G: "[a3,e4]@2 a3 ~ [a3,f#4] ~ [a3,e4]@2 [a3,e4]@2 a3 ~ [a3,f#4] ~ [a3,e4]@2, ~ e4@2 ~@2 e4@2 ~", // A5 D A5 D A5
H: "[a3,e4]@2 a3 ~ [a3,f#4]@2 [a3,e4]@2 [a3,e4]@2 a3 ~ [a3,f#4] ~ [a3,e4]@2, ~ e4@2 ~@2 e4@2 ~", // A5 D A5 D A5
I: "[a3,e4]@2 a3 ~ [a3,f#4] ~ [a3,e4]@2 [a3,e4]@2 a3 ~ [a3,f#4]@2 [a3,e4]@2, ~ e4@2 ~@2 e4@2 ~", // A5 D A5 D A5
J: "[[a3,e4]@2 a3 ~ [a3,f#4] ~ a3 ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [e3,b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~ [a3,e4]@2 a3 ~ [a3,f#4] ~ [a3,e4]@2, ~ e4@2 e4@49 ~ e4@2 ~]/7", // A5 D E5 C#m E5 C#m E5 C#m …
K: "[[a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2 [a3,e4]@2 [a3,e4]@2 [a3,e4]@2 ~@2 [d4,a4]@3 ~@5 [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2, ~ e4@2 ~@26 e4@2 ~, ~@2 g#3 ~@11 [a3,e4]@6 [a3,e4]@36 ~@8]/4", // A5 D A5 D5 B5 D5 A5 D …
L: "[a3,e4] a3 [a3,f#4] [a3,e4]!2 a3 [a3,f#4] [a3,e4], ~ e4@2 ~@2 e4@2 ~", // A5 D A5 D A5
M: "[[a3,e4]@2 a3@2 [a3,f#4]@2 ~@2 [e3,b3] ~ [e3,b3] ~ [e3,c#4]@2 [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4]@2 [e3,b3] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4]@2 [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~ [a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2, ~ e4@2 [a3,e4]@49 ~ e4@2 ~]/7", // A5 D E5 C#m E5 C#m E5 C#m …
N: "[[a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2 [a3,e4]@2 a3@2 [a3,f#4]@2 ~@2 [d4,a4]@3 ~@5 [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2, ~ e4@2 ~@2 e4@2 [a3,e4]@3 [a3,e4]@18 ~ e4@2 ~]/4", // A5 D A5 D D5 B5 D5 A5 …
O: "[[a3,e4]@2 a3@2 [a3,f#4]@2 ~@2 [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4]@4 [e3,b3]@3 ~ [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2, ~ e4@2 e4@45, ~@3 a3@41 ~@4]/6", // A5 D F#5 C#5 F#5 E5 D5
P: "[[d3,a3]@2 [d3,a3]@2 [d3,a3]@2 d3 ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [f#3,c#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4] ~ [c#4,g#4]@2 [d4,a4]@24 ~@6 [g#4,b4,e5]!3 ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [a4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@2 ~@2 [g#4,b4,e5] ~, ~@3 a3@61]/8", // D5 E5 C#5 F#5 C#5 D5 E Asus2 …
Q: "[g#4,b4,e5]@5 ~ [g#4,b4,e5]!3 ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [a4,b4,e5]@2", // E Asus2
R: "~@2 [g#4,b4,e5]@2 ~@2 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@2 ~@2 [g#4,b4,e5]!2", // E D E
S: "[g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~", T: "[e4,b4]!8",
U: "[[a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2 [a3,e4]@2 a3@2 [a3,f#4]@2 ~@2 [e3,b3] ~ [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4]@2 [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4]@2 [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4]@2 [e3,b3] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,c#4]@2 [e3,b3] ~, ~ e4@2 ~@2 e4@2 [a3,e4]@49]/7", // A5 D A5 D E5 C#m E5 C#m …
V: "[[a3,e4]@2 a3@2 [a3,f#4]@2 ~@2 [d4,a4]@3 ~@5 [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [b3,f#4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~, ~ e4@2 [a3,e4]@3 [a3,e4]@18]/3", // A5 D D5 B5 D5 A5
W: "[[a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2 [a3,e4]@2 a3@2 [a3,f#4]@2 ~@2 [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4]@2, ~ e4@2 ~@2 e4@2 [a3,e4]@17]/3", // A5 D A5 D G5 A5
X: "[a3,e4]!6 [a3,e4,f#4] [a3,e4]", // A5 F#m7 A5
Y: "[[a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2 [a3,e4]@2 a3@2 [a3,f#4]@2 ~@2 [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4]@2, ~ e4@2 ~@2 e4@2 a3@17, ~@7 e4@3 e4@8 e4@4 e4@2]/3", // A5 D A5 D G5
Z: "[a3,e4] a3 [a3,f#4] [a3,e4]!3 a3 [a3,f#4], ~ e4@2 ~@3 e4@2", // A5 D A5 D
AA: "[[a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2 [a3,e4]@2 a3@2 [a3,f#4]@2 ~@2 [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4] ~, ~ e4@2 ~@2 e4@2 a3@17, ~@7 e4@3 e4@4 e4@4 e4@4 e4@2]/3", // A5 D A5 D G5
AB: "[[a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2 [a3,e4]@2 a3@2 [a3,f#4]@2 ~@2 [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ g3 ~ [g3,d4]@2, ~ e4@2 ~@2 e4@2 a3@17, ~@7 e4@3 e4@4 e4@4 e4@4 e4@2]/3", // A5 D A5 D G5
AC: "[[a3,e4]@2 a3@2 [a3,f#4]@2 [a3,e4]@2 [a3,e4]@2 a3@2 [a3,f#4]@2 ~@2 [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [a4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@3 ~ [g#4,b4,e5]!2 [g#4,b4,e5]@5 ~ [g#4,b4,e5]!2 [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [a4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@2 ~@2 [g#4,b4,e5]!2 [g#4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2 [e4,b4]@2 [e4,b4]@2 [e4,b4]@2 [e4,b4]@2 [e4,b4]@2 [e4,b4]@2 [e4,b4]@2 [e4,b4]@2 [a3,e4]@7 ~, ~ e4@2 ~@2 e4@39 ~@12, ~@7 a3@45 ~@4]/7", // A5 D A5 D E Asus2 E D …
})).s("gm_electric_guitar_clean").gain(0.26)
// chords · piano · "Flaeche"
const piano = note(`<
~@6 A@8 ~@2 B@8 C D A@8 ~ E@8 F@2 G@7 H@8 ~@5 I@6 J@8 K L@4 M@2 N@2 O@2 P@2 Q@2 R@4 S@2 ~@7
>`.pickRestart({
A: "[~ [c#3,e3,a3]@15]/8", // A
B: "[~@8 [b2,g#3]@31 ~ [d3,f#3]@46 ~@2 [e3,g#3]@16 [c#3,a3]@23 ~, ~@40 b2@63 ~ e3@21 ~@3]/8", // E D E F#m
C: "[d3,f#3,a3]@3 ~ [c#3,e3,a3]@3 ~ [b2,d3,f#3]@8", D: "~ [a2,d3,f3]",
E: "[~@8 g#3@31 ~ [d3,f#3]@48 [b2,e3,g#3]@15 ~ [c#3,e3,a3]@22 ~@2, ~@4 b2@39 ~@21, ~@8 e3@29 ~@91]/8", // D E A
F: "[[d3,f#3,a3]@4 [c#3,e3,a3]@3 ~ [b2,f#3]@14 ~@2 [a2,f3]@8, ~ d3@3]/2", // D A B5 Dm
G: "[~@8 e3@30 ~ f#3@16 ~ [f3,g#3]@32 [c#3,f#3,a3]@24, ~@8 c#3@79 ~@25, ~ a3@6 ~@7]/7", // Fm F#m
H: "[~@4 [b2,e3,g#3]@2 ~@2 [d3,f#3]@16 [b2,e3]@14 ~@2 f3@14 ~@2 [f#3,a3]@16 [f3,g#3]@16 [d3,f#3,a3]@31 ~@9, ~@8 a2@14 ~@2 g#3@31 ~@73, ~@40 c#3@47 ~@41]/8", // E D E5 F#m Fm D
I: "[[c#3,e3,a3]@95 ~]/6", // A
J: "[g#3@32 [d3,f#3]@48 g#3@15 ~ c#3@22 ~@2 [d3,f#3]@4 [c#3,e3]@2 ~@2, b2@47 ~ a3@15 ~, e3@30 ~@50 e3@37 ~@11]/8", // D C#m
K: "[b2,d3,f#3]@15 ~, a2 ~@15", L: "[f3@15 [c#3,e3]@47 ~@2, a2@31 ~, d3@7 ~@25]/4", M: "[b2,d3,g3]/2",
N: "[[c#3,e3,a3]@31 ~]/2", O: "[[b2,g3]@31 ~, d3@29 ~@3]/2", P: "[[c#3,e3,a3]@15 ~]/2", Q: "[[b2,d3,g3]@31 ~]/2",
R: "[[e3,a3]@29 ~@2 [b2,d3,g3]@31 ~@2, c#3@13 ~@19]/4", S: "[[c#3,e3,a3]@29 ~@3]/2",
})).s("gm_piano").gain(0.26)
// chords · piano · "SoloGita"
const piano_2 = note(`<
A B C D E F@2 ~ G@3 ~@2 H@3 I@2 J@2 ~@3 K L@5 M@2 ~ N O@2 P@4 ~@3 Q@3 R@4 ~@6 S@4 T U V W X Y ~ Z@2 AA@3 AB AC AD ~@3
AE@2 AF@2 AG AH AI AJ@2 AK AL AM@2 AN@2 AO@2 AP@2 AQ@2 AR@2 AS AT D AU AV AW@2
>`.pickRestart({
A: "~@14 [g#4,b4,e5]!2", // E
B: "[g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [a4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2 [d5,f#5] ~, ~@7 a4", // E Asus2 E D
C: "~@2 [a4,d5,f#5] ~@3 [g#4,b4,e5] ~ [g#4,b4,e5]@5 ~ [g#4,b4,e5]!2", // D E
D: "[g#4,b4,e5]@2 [g#4,b4,e5] ~ [g#4,b4,e5] ~ [a4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2 [a4,d5,f#5]@2", // E Asus2 E D
E: "~@2 [a4,f#5]@2 ~@2 [g#4,b4,e5] ~ [g#4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2, ~@2 d5 ~@13", // D E
F: "[[g#4,b4,e5] ~ [g#4,b4,e5] ~ [e3,b3]@8 ~@4]/2", // E E5
G: "[~@6 c#5@4 ~@2 c#5@2 b4@4 a4@2 f#4@2 a4@15 ~@11, ~@10 e5@9 ~@29]/3",
H: "[~@11 c#5@8 ~@5, ~@14 a4@23 ~@11, ~@18 e5@19 ~@11]/3",
I: "[~@14 g#5@4 g#5 ~ g#5 ~ g#5 ~ g#5@2 f#5@2 e5@2 d5@2]/2", J: "[e5@3 [d5,f#5]@8 ~@5]/2",
K: "~@5 e5@2 ~, ~@3 a4@4 ~",
L: "[[d5,f#5]@4 [c#5,e5]@3 ~ d5@26 ~@6 [a4,e5]@13 ~@5 c#5@4 ~@2 c#5@2 b4@2 a4@2 f#4@2 a4@8, ~@4 b4@7 ~@20 e5@2 ~@7]/5", // D C#m A5
M: "[f#4@2 e4@2 c#4@4 [a3,e4]@21 ~@3]/2", N: "~@10 c#5@4 c#5 ~",
O: "[c#5 b4 ~@2 c#5@7 ~@5, ~@2 a4@9 ~@5, ~@3 e5@8 ~@5]/2",
P: "[~@14 g#5@6 g#5 ~ g#5 ~ g#5@3 f#5 e5@12 [d5,f#5]@14 ~@10]/4", // D
Q: "[~@10 c#5@5 ~ [d5,f#5]@4 [c#5,e5]@3 ~ d5@17 ~@7, ~@2 a4@4 ~@2 b4@5 ~@3, ~@3 e5@4 ~@17]/3", // D C#m
R: "[~@10 c#5@13 ~@5 c#6@2 ~@2 c#6@2 b5@2 a5@2 f#5@2 ~@4 f#5@9 ~@3 c#5@5 ~@3, ~@8 [a4,e5]@15 ~@7 e6@4 ~@6 a5@14 ~@10, ~@21 c#5@6 ~@5]/4", // A5
S: "[~@8 [f#4,c#5]@14 ~@2 [c#4,g#4]@14 ~@2 [d4,a4]@17 ~@7]/4", // F#5 C#5 D5
T: "~@6 [g#4,b4,e5] [b4,e5] [b4,e5]@2 [g#4,b4,e5] ~ [g#4,b4,e5] ~ [a4,b4,e5]@2, ~@7 g#4@2 ~@7", // E E5 E Asus2
U: "~@2 [g#4,b4]@2 ~@2 [a4,d5,f#5]@2 ~@2 [a4,f#5]@2 ~@2 [g#4,b4,e5]!2, ~@2 e5 ~@7 d5 ~@5", // G#m D E
V: "[g#4,b4,e5]@5 ~ [g#4,b4,e5]!3 ~ [b4,e5]@2 [g#4,b4,e5] ~ [a4,b4,e5]@2, ~@10 g#4 ~@5", // E E5 E Asus2
W: "~@2 [g#4,b4,e5]@2 ~@2 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@2 ~@2 [g#4,b4,e5] ~", // E D E
X: "[g#4,b4,e5]@2 ~@2 [g#4,b4,e5]@3 ~ [g#4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2", Y: "[e4,b4]@15 ~",
Z: "[~@7 c#5@3 ~@2 a4@2 c#5@13 ~@5, ~@5 e5@8 ~@3]/2",
AA: "[~@8 c#5@2 ~@2 c#5 b4 ~@2 c#5@19 ~@13, ~@10 e5@25 ~@13, ~@14 a4@21 ~@13]/3",
AB: "~@2 g#5@3 ~ g#5 ~ g#5 ~ g#5 ~ g#5 ~ g#5 ~", AC: "g#5@2 f#5 ~@3 b4 ~, ~@6 e5@9 ~", AD: "[f#4,d5]@7 ~",
AE: "[~@18 c#5@4 ~@2 [d5,f#5]@4 [c#5,e5]@3 ~, ~@5 a4@7 ~@4, ~@7 e5@4 ~@5]/2", AF: "[b4@15 ~ a4@13 ~@3, d5@29 ~@3]/2",
AG: "[a4,e5]@13 ~@3", AH: "~@2 c#6@4 e6@2 c#6@2 b5@2 a5 f#5 e5@2", AI: "[e5,a5]@13 ~@3",
AJ: "[~@2 [g4,d5]@2 ~@4 g4@17 ~ g4@4 g4 ~, ~@4 d5@11 ~]/2", AK: "[e4,a4]@15 ~",
AL: "~@6 a4@2 ~@2 c#5@2 b4@2 a4 ~, ~ e5", AM: "[[g4,d5]@19 ~@7 [g3,d4,g4]@3 ~ [d4,g4] ~, ~@15 g3]/2",
AN: "[[a3,e4,a4]@19 ~@5 c#5@2 e5@2 c#5 b4 a4 ~]/2", AO: "[[g4,b4]@26 g4@4 g4 ~]/2",
AP: "[[a4,e5]@21 ~@3 a4@2 c#5@2 b4 a4@2 ~, ~@24 e5@5 ~@3]/2", // A5
AQ: "[~@3 d4 ~@8 g3@13 ~ [g3,d4,g4]@3 ~ [g3,g4]@2, g4@3 ~, ~@4 d4@20 ~@6 d4 ~]/2", AR: "[[a3,e4,a4]@3 ~]/2",
AS: "[g#4,b4,e5]@5 ~ [a4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2 [a4,d5,f#5]@2", // E Asus2 E D
AT: "~@2 [a4,d5,f#5]@2 ~@2 [g#4,b4,e5]!2 [g#4,b4,e5]@5 ~ [g#4,b4,e5]!2", // D E
AU: "~@2 [a4,f#5]@2 ~@2 [g#4,b4,e5]!2 [g#4,b4,e5]@2 ~@2 [g#4,b4,e5]@2 ~@2, ~@2 d5 ~@13", // D E
AV: "[g#4,b4,e5]@2 ~@2 [b4,e5] ~@3 e4 ~ e4 ~ [e3,e4] ~ [e3,e4] ~, ~@2 g#4 ~@5", // E E5 E
AW: "[[e3,b3,e4] ~ [e3,b3,e4] ~ [e3,b3,e4] ~ [e3,b3,e4] ~ [a3,e4]@13 ~@11]/2", // E5 A5
})).s("gm_piano").gain(0.2)
// bass · electric bass finger · "Bass"
const bass = note(`<
~@2 A B@2 C D E F E G E H E G E I J K L M N O P@4 Q@2 R Q@3 R Q S@7 T@4 Q U@8 V W X@3 ~ Y@3 Z Q@3 AA Q AB@7 Q AC@3 Q
AA AD@3 Q AE@3 Q AF@3 Q AG@3 Q AH@7 ~
>`.pickRestart({
A: "~@3 b3", B: "[e4@29 ~@3]/2", C: "~@8 e3 ~ e3 ~ e3 ~ e3 ~", D: "e3 ~ e3 ~ e3 ~ e3 ~ a2 ~ a2@3 ~ a2 ~",
E: "a2 ~ a2@2 ~@2 a2 ~ a2 ~ a2@2 ~@2 a2 ~", F: "a2 ~ a2@3 ~ a2 ~ a2 ~ a2@2 ~@2 a2 ~",
G: "a2 ~ a2@2 f#2@2 e2@2 a2 ~ a2@2 ~@2 a2 ~", H: "a2 ~ a2@2 ~@2 a2 ~ a2 ~ a2@3 ~ a2 ~",
I: "a2 ~ a2@2 ~@2 a2 ~ e2 ~ e2@3 ~ e2 ~", J: "e2 ~ e2@3 ~ e2 ~ e2 ~ e2@2 ~@2 e2 ~",
K: "e2 ~ e2@2 f#2@2 a2@2 b2 ~ b2@3 ~ b2 ~", L: "b2 ~ b2@3 ~ b2 ~ b2 ~ b2@2 ~@2 b2 ~",
M: "b2 ~ b2@2 f#2@2 a2@2 b2 ~ b2@3 ~ b2 ~", N: "b2 ~ b2@3 ~ b2@2 e2 ~ e2@3 ~ e2 ~",
O: "e2 ~ e2@3 ~ e2@2 a2 ~ a2@3 ~ a2 ~",
P: "[a2 ~ a2@3 ~ a2 ~ a2@2 a2@4 ~@2 d3@3 ~@5 b2 ~ b2@2 ~@2 b2 ~ b2 ~ b2@3 ~ b2 ~ d3 ~ d3@2 ~@2 d3 ~ d3 ~ d3@3 ~ d3 ~ a2@2 a2@4 a2@2, ~@7 a2@3 a2@18 ~@4]/4",
Q: "a2 a2@2 a2!2 a2@2 a2", R: "a2 ~ f#2 e2 a2 a2@2 a2, ~ a2@3 ~@4",
S: "[a2@2 ~@2 f#2@2 ~@2 e2 ~ e2@2 ~@2 e2 ~ e2 ~ e2@3 ~ e2 ~ e2 ~ e2@2 ~@2 e2 ~ e2 ~ e2@2 f#2@2 ~@2 b2 ~ b2@2 ~@2 b2 ~ b2 ~ b2@3 ~ b2 ~ b2 ~ b2@3 ~ b2 ~ b2 ~ b2@2 f#2@2 ~@2 b2 ~ b2@2 ~@2 b2 ~ b2 ~ b2@3 ~ b2 ~ e2 ~ e2@2 ~@2 e2 ~ e2 ~ e2@3 ~ f#2@2 a2@2 a2@4 a2@2, ~ a2@2 a2@16 a2@16 a2@17 ~@4]/7",
T: "[a2@2 a2@4 a2@2 a2@2 a2@4 ~@2 d3@4 ~@4 b2 ~ b2@2 ~@2 b2 ~ b2 ~ b2@2 ~@2 b2@2 d3 ~ d3@2 ~@2 d3 ~ d3 ~ d3@3 ~ d3 ~ a2@2 a2@4 a2@2, ~@7 a2@3 a2@18 ~@4]/4",
U: "[a2@2 a2@4 ~@2 f#2 ~ f#2@2 ~@2 f#2@2 ~@2 f#2@2 ~@2 f#2@2 c#3 ~ c#3@3 ~ c#3@3 ~ c#3@3 ~ c#3 ~ c#3 ~ c#3@3 ~ c#3@3 ~ c#3@3 ~ c#3@2 f#2 ~ f#2@3 ~ f#2@3 ~ f#2@3 ~ f#2 ~ f#2 ~ f#2@3 ~ f#2 ~ f#2@4 e2@4 d2 ~ d2@3 ~ d2@3 ~ d2@3 ~ d2 ~ e2 ~ e2@3 ~ e2@3 ~ e2@3 ~ e2@2 c#3 ~ c#3@3 ~ c#3@2, ~@3 a2@61]/8",
V: "~@2 c#3@3 ~ c#3@2 f#2 ~ f#2@3 ~ f#2@2", W: "~@2 f#2@3 ~ f#2@2 c#3 ~ c#3@3 ~ c#3@2",
X: "[~@2 c#3@2 ~@2 c#3 ~ d3@32 ~@8, ~@8 c3 ~@39]/3", Y: "[~@2 b3@2 e4@15 ~@5]/3",
Z: "e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~", AA: "a2 a2@2 a2!2 ~ f#2 e2, ~@5 a2@3",
AB: "[a2@2 a2@4 a2@2 a2@2 ~@2 f#2@2 ~@2 e2 ~ e2@3 ~ e2 ~ e2 ~ e2@3 ~ e2 ~ e2 ~ e2@3 ~ e2 ~ e2 ~ e2@2 f#2@2 ~@2 b2 ~ b2@3 ~ b2 ~ b2 ~ b2@3 ~ b2 ~ b2 ~ b2@2 ~@2 b2 ~ b2 ~ b2@2 ~@2 f#2@2 b2 ~ b2@3 ~ b2 ~ b2 ~ b2@2 ~@2 f#2@2 e2 ~ e2@2 ~@2 e2 ~ e2 ~ e2@3 ~ f#2@2, ~@5 a2@2 a2@16 a2@15 a2@8 a2@10]/7",
AC: "[a2@2 a2@4 ~@2 d3@4 ~@4 b2 ~ b2@3 ~ b2 ~ b2 ~ b2@3 ~ b2@2 d3 ~ d3@3 ~ d3 ~ d3 ~ d3@3 ~ d3@2, ~ a2 a2@6]/3",
AD: "[a2@2 a2@4 a2@2 a2@2 ~@2 f#2@2 e2@2 g2 ~ g2@3 ~ g2 ~ g2 ~ g2@3 ~ g2 ~ g2 ~ g2@3 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2@2, ~@5 a2@19]/3",
AE: "[a2@2 a2@4 a2@4 ~@2 f#2@2 e2@2 g2 ~ g2@3 ~ g2 ~ g2 ~ g2@3 ~ g2 ~ g2 ~ g2@3 ~ g2@3 ~ g2@2 ~@2 g2@2, ~@5 a2@19]/3",
AF: "[a2@2 a2@4 a2@4 ~@2 f#2@2 e2@2 g2 ~ g2@3 ~ g2 ~ g2 ~ g2@3 ~ g2 ~ g2 ~ g2@2 ~@2 g2 ~ g2 ~ g2@3 ~ g2@2, ~@5 a2@19]/3",
AG: "[a2@2 a2@4 a2@2 a2@2 ~@2 f#2@2 e2@2 g2 ~ g2@2 ~@2 g2 ~ g2 ~ g2@3 ~ g2 ~ g2 ~ g2@3 ~ g2 ~ g2 ~ g2@2 e2@2 d2@2, ~@5 a2@19]/3",
AH: "[a2@2 a2@4 a2@2 a2@2 a2@4 ~@30 b3@4 e4@29 ~@11 e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ a2@7 ~, ~@7 a2@45 ~@4]/7",
})).s("gm_electric_bass_finger").gain(0.31)
// drums · kick
const kick = s("bd").struct("<~@6 A B@40 C D@4 C D@4 E ~@6 F B@35 ~@5 G ~>".pickRestart({
A: "~ x!3", B: "x!4", C: "x ~ x ~ x!2 ~ x", D: "~ x ~ x!3 ~ x", E: "~ x ~ x!2 ~@3", F: "~@3 x", G: "~ x!2 ~",
})).gain(0.31)
// drums · hihat
const hihat = s("hh").struct("<~@4 A B C@46 B C@4 D ~@5 E C@36 F ~@2 A B D ~>".pickRestart({
A: "~@2 x!2", B: "x ~ x ~ x!4", C: "x!8", D: "x!5 ~@3", E: "x!4", F: "x",
})).gain(0.15)
// drums · mid tom
const mid_tom = s("mt").struct("<~@6 A B@25 C B@7 D B@6 E ~@17 F@2 G F@21 H F@5 H F@4 ~@7>".pickRestart({
A: "~@8 x ~ x!3 ~ x!2", B: "x ~ x!3 ~ x ~ x ~ x!3 ~ x!2", C: "x ~ x!3 ~ x ~ x ~ x!2 ~@2 x!2",
D: "x ~ x ~ x ~ x ~ x ~ x!3 ~ x!2", E: "x ~ x!3 ~ x ~@9", F: "x ~ x!3 ~ x!3 ~ x!3 ~ x ~",
G: "x ~ x!2 ~@2 x!3 ~ x!3 ~ x ~", H: "x ~ x!3 ~ x!7 ~ x ~",
})).gain(0.1)
// drums · crash
const crash = s("cr").struct("<~@6 A ~@3 A ~@18 A ~@22 B ~@4 A ~@7 C ~@39 A ~>".pickRestart({
A: "~ x", B: "x!3 ~", C: "x",
})).gain(0.2)
// drums · lt
const lt = s("lt").struct("<~@6 A@51 B ~@6 C A@35 ~@5 B ~>".pickRestart({
A: "~ x ~ x", B: "~ x ~@2", C: "~@3 x",
})).gain(0.26)
stack(electric_guitar_clean, piano, piano_2, bass, kick, hihat, mid_tom, crash, lt)
More by Middle of the Road
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.