0:00/0:00
// Medley — Eamon Condon
// 100 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 6/8 at bar 100, 4/4 at bar 114, 6/8 at bar 118) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/186301; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 129 bars on a 32-step grid, each part at one level. 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 · piano
const piano = note(`<
A B A B A B A B ~@4 C D E F G H I J E@2 D@2 E@2 D@2 K@4 L@4 F@4 M N O P@2 Q R S T U@2 V W X@2 Y Z AA@2 AB AC@3 AD AE@4
AF AG@4 AH AI@4 AJ AK@4 AL AM@4 AN AO AP@3 AQ AR@5 AS@4 AT@5 AU@6 AV@6 AW AX@8
>`.pickRestart({
A: "b3 d4 f#4 d4 a3 d4 f#4 d4, b2 a2", B: "g3 d4 e4 d4 g3 d4 e4 d4, g2!2", C: "d3!8", D: "a2!8", E: "b2!8", F: "g2!8",
G: "[d3,b3] [d3,d4] [d3,f#4] [d3,d4] [d3,a3] [d3,d4] [d3,f#4] [d3,d4]", // G D D5 D
H: "[a2,g3] [a2,d4] [a2,e4] [a2,d4] [a2,g3] [a2,d4] [a2,e4] [a2,d4]", // A7 D5 A5 D5 A7 D5 A5 D5
I: "[b2,b3] [b2,d4] [b2,f#4] [b2,d4] [b2,a3] [b2,d4] [b2,f#4] [b2,d4]", // B Bm B5 Bm B7 Bm B5 Bm
J: "[g2,g3] [g2,d4] [g2,e4] [g2,d4] [g2,g3] [g2,d4] [g2,e4] [g2,d4]", // G G5 C G5 G G5 C G5
K: "[b2!8 b2!8 a2!2 [a2,b5]!2 [a2,a5] a2!3 a2!8, b5@4 ~ f#5@2 g#5@2 ~@4 b5@2 b5@2 ~@4 g#5@2 f#5@8 ~]/4", // Asus2 A
L: "[b2!8 b2 [b2,f#5] b2!6 a2!2 [a2,b5]!2 [a2,a5] a2!3 a2!8, b5@4 ~ f#5@2 g#5@2 ~ e5@2 ~ b5@2 b5@2 ~@4 g#5@2 f#5@8 ~]/4", // B5 Asus2 A
M: "g2@2 g2@2 g2@2 g2@2 g2@2 [g2,d5]@2 d5 e5 g2@2, g5@2 ~ f#5@2 ~ g2 ~", N: "g2!8, e5",
O: "g2@2 g2@2 g2@2 g2@2 g2@2 [g2,c#5]@2 c#5 d5 g2@2, g5@2 ~ f#5@2 ~ g2 ~", // Gdim
P: "[g2@4 g2@3 g2@4 g2@4 f#2@3 f#2@3 f#2@3 f#2@3 ~ g#2@3 g#2@2 b2@3 g#2@6 [g#2,g#4]@3 [g#2,c#5]@3 g#2@3 b1@3 b1@3 d#2@2 b1@5, b4@7 ~@5 d#5@3 ~]/2", // G# C#5
Q: "~ [b1,b4]@3 [b1,c#5]@3 b1@3 d#2@3 d#2@3 f#2@3 d#2@5 d#2@3 d#2@3 d#2@2, ~@7 a#4@23 ~@2", // B Bsus2
R: "~ d#2@3 d#2@3 f#2@3 d#2@6 d#2@3 d#2@2 d#2@3 g#2@3 g#2@3 b2@2",
S: "~ g#2@6 [g#2,g#4]@3 [g#2,c#5]@3 g#2@3 b1@2 b1@3 d#2@3 b1@6 [b1,b4]@2, ~@13 d#5@12 ~@7", // G# C#5 B
T: "~ [b1,c#5]@3 b1@3 d#2@3 d#2@3 f#2@2 d#2@6 d#2@3 d#2@3 d#2@3 d#2@2, ~@4 a#4@23 ~@5", // Bsus2
U: "[~ d#2@3 f#2@3 d#2@5 d#2@3 d#2@3 d#2@3 g#2@3 g#2@3 b2@3 g#2@6 [g#2,g#4]@3 [g#2,c#5]@2 g#2@3 b1@3 b1@3 d#2@3 b1@6 [b1,b4]@3 [b1,c#5]@2, ~@41 d#5@12 ~@11]/2", // G# C#5 B Bsus2
V: "~ b1@2 d#2@3 d#2@3 f#2@3 d#2@6 d#2@3 d#2@3 d#2@3 d#2@3 d#2@2, ~ a#4@23 ~@8",
W: "f#2@3 d#2@6 d#2@3 d#2@3 d#2@3 g#2@3 g#2@3 b2@3 g#2@5",
X: "[[g#2,g#4]@3 [g#2,c#5]@3 g#2@3 b1@3 b1@3 d#2@3 b1@6 [b1,b4]@2 [b1,c#5]@3 b1@3 d#2@3 d#2@3 f#2@3 d#2@6 d#2@3 d#2@3 d#2@2 d#2@3 d#2@3 f#2@3, ~@6 d#5@12 ~@11 a#4@23 ~@12]/2", // G# C#5 B Bsus2
Y: "d#2@6 d#2@3 d#2@3 d#2@3 [g#2,g#4]@3 [g#2,a#4]@2 b2@3 c#5@3 d#5@3 g#2@3, ~@23 g#2@6 ~@3", // G# G#sus2
Z: "[g#2,g#4]@3 [g#2,a#4]@3 b1@3 [b1,c#5]@3 [d#2,d#5]@3 ~@2 c#5@3 [b1,d#5]@3 [b1,c#5]@3 b1@3 [d#2,f5]@3, ~@15 b1@5 ~@12", // G# G#sus2 Bsus2 D# B Bsus2 D#sus2
AA: "[[d#2,f#5]@3 [f#2,f5]@3 d#2@5 [d#2,c#5]@3 d#2@3 [d#2,c5]@3 d#2@3 [d#2,c#5]@3 f#2@3 d#2@6 [d#2,g#4]@3 [d#2,g#4]@2 [d#2,g#4]@3 [d#3,g#4]@3 [d#3,a#4]@3 c#3@3 [c#3,c#5]@3 [d#3,d#5]@3 d#3@3 [c#3,g#4]@3, ~@6 d#5@3 ~@20 d#5@3 ~@32]/2", // D#m F#maj7 D#7 Cm D#7 G#5 D#5 C# …
AB: "[c#3,a#4]@3 d#3@2 [c#3,c#5]@3 [d#3,d#5]@3 ~@3 c#5@3 d#5@3 c#5@3 ~@3 [d#3,f5]@3 [d#3,f#5]@3, ~@11 d#3@12 ~@9", // F# C# D# D#sus2 D#m
AC: "[[c#3,f5]@2 [c#3,d#5]@3 d#3@3 [d#3,c#5]@3 c#3@3 [c#3,c5]@3 d#3@3 [c#3,c#5]@3 ~ d#3@3 d#5@4 ~@3 g#4@4 g#4@3 g#4@4 [d#3,g#4]@4 [d#3,g#4]@3 [g#2,d#3,g#4]@4 [d#3,g#4,d#5]@4 [d#3,g#4]@3 [d#3,g#4]@4 [g#2,d#3,g#4]@4 [d#3,g#4,d#5]@3 [d#3,g#4]@4 [d#3,g#4]@3 [g#2,d#3,g#4]@4 [d#3,g#4,d#5]@4 [d#3,g#4]@3 [d#3,g#4]@4, ~@9 d#3@5 ~@18]/3", // C# C#sus2 D#7 C#maj7 C# G#5
AD: "[g#2,d#3,g#4]@4 [d#3,g#4,d#5]@3 [c#3,g#4]@4 [c#3,g#4]@4 [g#2,c#3,g#4]@3 [c#3,g#4,d#5]@4 [c#3,g#4]@3 [c#3,g#4]@4 [g#2,c#3,g#4]@3", // G#5 C#5 C#sus2 C#5
AE: "[~ [c#3,g#4,c#5]@3 [c#3,g#4]@4 [c#3,g#4]@4 [g#2,c#3,g#4]@3 [c#3,g#4,d#5]@4 [c#3,g#4]@4 [c#3,g#4]@3 [g#2,c#3,g#4]@4 [c#3,g#4,c#5]@3 [d#3,g#4]@4 [d#3,g#4]@4 [g#2,d#3,g#4]@3 [d#3,g#4,d#5]@4 [d#3,g#4]@4 [d#3,g#4]@3 [g#2,d#3,g#4]@4 [d#3,g#4,d#5]@4 [d#3,g#4]@3 [d#3,g#4]@4 [g#2,d#3,g#4]@3 [d#3,g#4,d#5]@4 [d#3,g#4]@4 [d#3,g#4]@3 [g#2,d#3,g#4]@4 [d#3,g#4,d#5]@4 [c#3,g#4]@3 [c#3,g#4]@4 [g#2,c#3,g#4]@4 [c#3,g#4,d#5]@3 [c#3,g#4]@4 [c#3,g#4]@3 [g#2,c#3,g#4]@4 [c#3,g#4,c#5]@4 [c#3,g#4]@3 [c#3,g#4]@4]/4", // C#5 C#sus2 C#5 G#5 C#5 C#sus2 C#5
AF: "[g#2,c#3,g#4]@4 [c#3,g#4,d#5]@3 [c#3,g#4]@4 [c#3,g#4]@4 [g#2,c#3,g#4]@3 [c#3,g#4,c#5]@4 [d#3,g#4]@3 [d#3,g#4]@4 [g#2,d#3,g#4]@3", // C#5 C#sus2 C#5 G#5
AG: "[~ [d#3,g#4,d#5]@3 [d#3,g#4]@4 [d#3,g#4]@4 [g#2,d#3,g#4]@3 [d#3,g#4,d#5]@4 [d#3,g#4]@4 [d#3,g#4]@3 [g#2,d#3,g#4]@4 [d#3,g#4,d#5]@3 [d#3,g#4]@4 [d#3,g#4]@4 [g#2,d#3,g#4]@3 [d#3,g#4,d#5]@4 [c#3,g#4]@4 [c#3,g#4]@3 [g#2,c#3,g#4]@4 [c#3,g#4,d#5]@4 [c#3,g#4]@3 [c#3,g#4]@4 [g#2,c#3,g#4]@3 [c#3,g#4,c#5]@4 [c#3,g#4]@4 [c#3,g#4]@3 [g#2,c#3,g#4]@4 [c#3,g#4,d#5]@4 [c#3,g#4]@3 [c#3,g#4]@4 [g#2,c#3,g#4]@4 [c#3,g#4,c#5]@3 [d#3,g#4]@4 [d#3,g#4]@3 [g#2,d#3,g#4]@4 [d#3,g#4,d#5]@4 [d#3,g#4]@3 [d#3,g#4]@4]/4", // G#5 C#5 C#sus2 C#5 C#sus2 C#5 G#5
AH: "[g#2,d#3,g#4]@4 [d#3,g#4,d#5]@3 [d#3,g#4]@4 [d#3,g#4]@4 [g#2,d#3,g#4]@3 [d#3,g#4,d#5]@4 [d#3,g#4]@3 [d#3,g#4]@4 [g#2,d#3,g#4]@3", // G#5
AI: "[~ [d#3,g#4,d#5]@3 [c#3,g#4]@4 [c#3,g#4]@4 [g#2,c#3,g#4]@3 [c#3,g#4,d#5]@4 [c#3,g#4]@4 [c#3,g#4]@3 [g#2,c#3,g#4]@4 [c#3,g#4,c#5]@3 [c#3,g#4]@4 [c#3,g#4]@4 [g#2,c#3,g#4]@3 [c#3,g#4,d#5]@4 [c#3,g#4]@4 [c#3,g#4]@3 [g#2,c#3,g#4]@4 [c#3,g#4,c#5]@4 [d#3,g#3,g#4]@3 [d#3,g#3,g#4]@4 [g#2,d#3,g#3,g#4]@3 [d#3,g#3,g#4,d#5]@4 [d#3,g#3,g#4,g#5]@4 [d#3,g#3,g#4]@3 [g#2,d#3,g#3,g#4]@4 [d#3,g#3,g#4,d#5]@4 [d#3,g#3,g#4]@3 [d#3,g#3,g#4]@4 [g#2,d#3,g#3,g#4,g#5]@4 [d#3,g#3,g#4,d#5]@3 [d#3,g#3,g#4,g#5]@4 [d#3,g#3,g#4]@3 [g#2,d#3,g#3,g#4,d#5]@4 [d#3,g#3,g#4,d#5]@4 [c#3,g#3,g#4]@3 [c#3,g#3,g#4]@4]/4", // G#5 C#5 C#sus2 C#5 C#sus2 C#5 G#5 C#5
AJ: "[g#2,c#3,g#3,g#4]@4 [c#3,g#3,g#4,d#5]@3 [c#3,g#3,g#4,g#5]@4 [c#3,g#3,g#4]@4 [g#2,c#3,g#3,g#4]@3 [c#3,g#3,g#4,c#5]@4 [c#3,g#3,g#4]@3 [c#3,g#3,g#4]@4 [g#2,c#3,g#3,g#4,g#5]@3", // C#5 C#sus2 C#5
AK: "[~ [c#3,g#3,g#4,d#5]@3 [c#3,g#3,g#4,g#5]@4 [c#3,g#3,g#4]@4 [g#2,c#3,g#3,g#4,d#5]@3 [c#3,g#3,g#4,c#5]@4 [d#3,g#3,g#4]@4 [d#3,g#3,g#4]@3 [g#2,d#3,g#3,g#4]@4 [d#3,g#3,g#4,d#5]@3 [d#3,g#3,g#4,g#5]@4 [d#3,g#3,g#4]@4 [g#2,d#3,g#3,g#4]@3 [d#3,g#3,g#4,d#5]@4 [d#3,g#3,g#4]@4 [d#3,g#3,g#4]@3 [g#2,d#3,g#3,g#4,g#5]@4 [d#3,g#3,g#4,d#5]@4 [d#3,g#3,g#4,g#5]@3 [d#3,g#3,g#4]@4 [g#2,d#3,g#3,g#4,d#5]@3 [d#3,g#3,g#4,d#5]@4 [c#3,g#3,g#4]@4 [c#3,g#3,g#4]@3 [g#2,c#3,g#3,g#4]@4 [c#3,g#3,g#4,d#5]@4 [c#3,g#3,g#4,g#5]@3 [c#3,g#3,g#4]@4 [g#2,c#3,g#3,g#4]@4 [c#3,g#3,g#4,c#5]@3 [c#3,g#3,g#4]@4 [c#3,g#3,g#4]@3 [g#2,c#3,g#3,g#4,g#5]@4 [c#3,g#3,g#4,d#5]@4 [c#3,g#3,g#4,g#5]@3 [c#3,g#3,g#4]@4]/4", // C#sus2 C#5 G#sus4 C#5 G#5 C#5 C#sus2 C#5 …
AL: "[g#2,c#3,g#3,g#4,d#5]@4 [c#3,g#3,g#4,c#5]@3 [d#3,g#3,g#4]@4 [d#3,g#3,g#4,d#5]@4 [g#2,d#3,g#3,g#4]@3 [d#3,g#3,g#4,d#5]@4 [d#3,g#3,g#4,g#5,d#6]@3 [d#3,g#3,g#4]@4 [g#2,d#3,g#3,g#4,g#5]@3", // G#sus4 C#5 G#5
AM: "[~ [d#3,g#3,g#4,d#5]@3 [d#3,g#3,g#4]@4 [d#3,g#3,g#4]@4 [g#2,d#3,g#3,g#4,g#5,d#6]@3 [d#3,g#3,g#4,d#5]@4 [d#3,g#3,g#4,g#5,d#6]@4 [d#3,g#3,g#4]@3 [g#2,d#3,g#3,g#4,d#5,g#5]@4 [d#3,g#3,g#4,d#5]@3 [c#3,g#3,g#4]@4 [c#3,g#3,g#4]@4 [g#2,c#3,g#3,g#4]@3 [c#3,g#3,g#4,d#5]@4 [c#3,g#3,g#4,g#5,c#6]@4 [c#3,g#3,g#4,d#5]@3 [g#2,c#3,g#3,g#4]@4 [c#3,g#3,g#4,c#5]@4 [c#3,g#3,g#4]@3 [c#3,g#3,g#4,d#5]@4 [g#2,c#3,g#3,g#4,g#5]@3 [c#3,g#3,g#4,d#5]@4 [c#3,g#3,g#4,d#5,g#5]@4 [c#3,g#3,g#4]@3 [a#2,d#3,a#3,a#4,d#5,a#5]@4 [d#3,a#3,a#4,d#5]@4 [d#3,g#3,g#4]@3 [d#3,g#3,g#4,d#5]@4 [g#2,d#3,g#3,g#4]@4 [d#3,g#3,g#4,d#5]@3 [d#3,g#3,g#4,g#5,d#6]@4 [d#3,g#3,g#4]@3 [g#2,d#3,g#3,g#4,g#5]@4 [d#3,g#3,g#4,d#5]@4 [d#3,g#3,g#4]@3 [d#3,g#3,g#4]@4]/4", // G#5 C#5 C#sus2 C#5 C#sus2 C#5 C#sus2 C#5 …
AN: "[g#2,d#3,g#3,g#4,g#5,d#6]@4 [d#3,g#3,g#4,d#5]@3 [d#3,g#3,g#4,g#5,d#6]@4 [d#3,g#3,g#4]@4 [g#2,d#3,g#3,g#4,d#5,g#5]@3 [d#3,g#3,g#4,d#5]@4 [c#3,g#3,g#4]@3 [c#3,g#3,g#4]@4 [g#2,c#3,g#3,g#4]@3", // G#5 C#5
AO: "~ [c#3,g#3,g#4,d#5]@3 [c#3,g#3,g#4,g#5,c#6]@4 [c#3,g#3,g#4,d#5]@4 [g#2,c#3,g#3,g#4]@3 [c#3,g#3,g#4,c#5]@4 [c#3,g#3,g#4]@4 [c#3,g#3,g#4,d#5]@3 [g#2,c#3,g#3,g#4,g#5]@4 [c#3,g#3,g#4,d#5]@2", // C#sus2 C#5 C#sus2 C#5 C#sus2 C#5 C#sus2
AP: "[~ [c#3,g#3,g#4,d#5,g#5]@4 [c#3,g#3,g#4]@4 [a#2,d#3,a#3,a#4,d#5,a#5]@3 [d#3,a#3,a#4,d#5]@4 [a#2,d#3]@4 a#2@3 [a#2,d#3]@4 a#2@4 [a#2,d#3]@3 a#2@4 [a#2,d#3]@3 a#2@4 [a#2,d#3]@4 a#2@3 [a#2,d#3]@4 a#2@4 [a#2,d#3]@3 a#2@4 [a#2,d#3]@4 a#2@3 [a#2,d#3]@4 a#2@3 [a#2,d#3]@4 a#2@4 [a#2,d#3]@3 a#2@4]/3", // C#sus2 C#5 D#5
AQ: "[a#2,d#3]@4 a#2@3 [a#2,d#3]@4 a#2@4 [a#2,d#3]@3 a#2@4 [a#2,d#3]@3 a#2@4 [a#2,d#3]@3", // D#5
AR: "[~ a#2@3 [a#2,d#3,d#5,c#6]@4 ~@4 [a#2,d#3]@3 a#2@4 [a#2,d#3]@4 a#2@3 [a#2,d#3,a#4,d#5]@4 [a#2,a#4,g#5]@3 [a#2,d#3,d#5,c#6]@4 ~@4 [a#2,d#3]@3 a#2@4 [a#2,d#3]@4 a#2@3 [a#2,d#3,a#4,d#5]@4 [a#2,a#4,g#5]@4 [a#2,d#3,d#5,c#6]@3 ~@4 [a#2,d#3]@3 a#2@4 [a#2,d#3]@4 a#2@3 [a#2,d#3,a#4,d#5]@4 [a#2,a#4,g#5]@4 [a#2,d#3,d#5,c#6]@3 ~@4 [a#2,d#3]@4 a#2@3 [a#2,d#3]@4 a#2@3 [a#2,d#3,a#4,d#5]@4 [a#2,a#4,g#5]@4 [a#2,d#3,d#5,c#6]@3 ~@4 [a#2,d#3]@4 a#2@3 [a#2,d#3]@4 a#2@4 [a#2,d#3,a#4,d#5]@3 [a#2,a#4,g#5]@4 [g#2,c#3,d#5,c#6]@3 ~@4 [g#2,c#3]@3, ~@8 a#2@4 ~@25 a#2@4 ~@25 a#2@4 ~@25 a#2@4 ~@25 a#2@4 ~@25 g#2@4 ~@3, ~@10 [d#5,c6]@4 ~ [d#5,a#5]@7 ~@17 [d#5,c6]@4 ~ [d#5,a#5]@7 ~@17 [d#5,c6]@4 ~ [d#5,a#5]@7 ~@17 [d#5,c6]@4 ~@2 [d#5,a#5]@7 ~@16 [d#5,c6]@4 ~@2 [d#5,a#5]@7 ~@16 [d#5,c6]@4 ~]/5", // D#7 D#5 A#7 D#7 D#5 A#7 D#7 D#5 …
AS: "[~ g#2@3 [g#2,c#3]@4 g#2@4 [g#2,c#3,g#4,c#5]@3 [g#2,g#4,c#5]@4 [g#4,c#5]@12 ~@6 [g#4,c5]@12 ~@6 [f#4,c#5]@12 ~@6 [a#4,c#5]@12 ~@7 [g#4,c#5]@12 ~@6 [g#4,c5]@12 ~@6, ~ [d#5,a#5]@7 ~@11 c#3@18 c3@18 c#3@18 c#3@18 ~ c#3@18 c3@18]/4", // C#5 G# F#5 A#m C#5 G# D#5
AT: "[[f#4,c#5]@12 ~@6 [a#4,c#5]@12 ~@6 [g#4,c#5]@12 ~@7 [g#4,c5]@12 ~@6 [f#4,c#5]@12 ~@6 [a#4,c#5]@12 ~@6 [g#4,c#5]@12 ~@6 [g#4,c5]@12 ~@6 [f#4,c#5]@12 ~@3, c#3@18 c#3@18 c#3@18 ~ c3@18 c#3@18 c#3@18 c#3@18 c3@18 c#3@15]/5", // F#5 A#m C#5 G# F#5 A#m C#5 G# …
AU: "[~@4 [a#4,c#5]@12 ~@6 [g#4,c#5]@12 ~@6 [g#4,c#5]@12 ~@6 [f#4,c#5]@12 ~@6 [a#4,c#5]@12 ~@7 [g#4,c#5]@12 ~@6 [g#4,c#5]@12 ~@6 [f#4,c#5]@12 ~@6 [a#4,c#5]@12 ~@6 c#3@6 c#3@6 c#3@6 c#3@6 ~, ~@4 c#3@18 c#3@18 c3@18 c#3@18 c#3@18 ~ c#3@18 c3@18 c#3@18 c#3@18 ~@25]/6", // A#m C#5 F#5 A#m C#5 F#5 A#m
AV: "[c#3@6 c#3@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 ~@3 f#5@3 f5@3 ~@3 [c#3,g#3]@6 [c#3,g#3]@6 ~@3 a#4@3 g#4@3 c#5@3 [c#3,g#3]@6 [c#3,g#3]@6 ~@3 f#5@3 f5@3 ~@4 [c#3,g#3]@6 [c#3,g#3]@6 ~@3 a#4@3 g#4@3 c#5@3 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@6 [c#3,g#3]@5, ~@24 g#5@12 [c#3,g#3]@6 [c#3,g#3]@6 ~@12 [c#3,g#3]@6 [c#3,g#3]@6 ~@12 [c#3,g#3]@6 [c#3,g#3]@6 ~@13 [c#3,g#3]@6 [c#3,g#3]@6 ~@71, ~@15 c#5@4 ~@5 g#5@4 ~@3 c#5@4 ~@29]/6", // C#5
AW: "~ [c#3,g#3,g#5]@12 ~@13 g#4@6, ~@7 c#5@6 ~@3, ~@5 [c#3,g#3]@3", // C#5
AX: "[~@6 [c#3,g#3,g#5]@12 ~@12 g#4@12 [c#3,f#3,f#5]@12 ~@12 f#4@12 ~ [c#3,f#3,f#5]@12 ~@12 f#4@12 c#4@12 ~@6 c#4@12 ~@6 c#4@14 ~@9 c#4@20 ~@12 c#4@3 g#4@3 c#5@3 ~ c#6@28 ~@12, ~@18 c#5@12 ~@24 c#5@12 ~@25 c#5@12 ~@153, ~@24 [c#3,g#3]@12 ~@24 [c#3,f#3]@12 ~@25 [c#3,f#3]@12 ~@6 g#2@128 ~@13]/8", // C#5 F#5 C#5 F#5
})).s("gm_piano").gain(0.45)
// chords · acoustic guitar nylon · "Guitar"
const acoustic_guitar_nylon = note(`<
~@4 A B A C ~@5 D@4 E@2 F G@2 H I G@2 H I J@2 H I J@2 H K L M@2 N L M@2 O ~@5 P Q@2 R@2 S@2 T U@2 V W@3 X@2 Y@3 Z@2
AA@3 AB@2 AC@2 AD AE AF AG AH@2 AI@2 AJ@3 AK@2 AL AM@2 AN AO AP@3 ~@10 AQ@2 AR@2 AS AT AU@5 AV AW AX AY@2 AZ@2 BA BB@2
>`.pickRestart({
A: "a4@2 ~ g4@2 ~ f#4@2", B: "e4", C: "d4",
D: "[~ g4 d5 g4 d5 g4 d5 f#4@4 d4@4 g4@2 g4 d5 g4 d5 g4 d5 f#4@4 d4@4 g4]/4",
E: "[~ g4 d5 g4 d5 g4 d5 f#4@2 ~@2 d4@4 g4]/2", F: "~ g4 d5 g4 b4!3 f#4",
G: "[b4!2 [f#4,b4]!2 b4 [e4,b4]!2 [f#4,b4]!3 [e4,b4] [f#4,b4]!3 [e4,b4] b4 b4!2 [f#4,b4]!2 b4 [e4,b4]!2 [f#4,b4]!3 [e4,b4] [f#4,b4]!3 [e4,b4] [f#4,b4], ~@15 f#4@2 ~@15]/2", // B5 E5 B5 E5 B5 E5 B5 E5 …
H: "[e4,a4] e4 [e4,a4]!2 e4 [e4,g#4]!2 [e4,a4]!3 [e4,g#4] [e4,a4]!2 [e4,g#4]!2 [e4,a4]", // A5 E A5 E A5 E A5
I: "[f#4,a4] f#4 [f#4,a4]!2 f#4 [f#4,g#4]!2 [f#4,a4]!3 [f#4,g#4] [f#4,a4]!3 [f#4,g#4] [f#4,a4]", // F#m F#sus2 F#m F#sus2 F#m F#sus2 F#m
J: "[f#4,b4] b4 [f#4,b4]!2 b4 [e4,b4]!2 [f#4,b4]!3 [e4,b4] [f#4,b4]!3 [e4,b4] [f#4,b4]", // B5 E5 B5 E5 B5 E5 B5
K: "[f#4,a4] f#4 [f#4,a4]!2 f#4 [f#4,g#4]!2 [f#4,a4] [g4,b4]!8", // F#m F#sus2 F#m G
L: "[g4,b4]@2 [g4,b4] [g4,b4]@2 [g4,b4] [g4,b4]@2 [g4,b4]!2 ~ [g4,c5]!5", // G C5
M: "[g4,c5]@2 [g4,b4] [g4,b4]@2 [g4,b4] [g4,b4]@2 [g4,b4]!2 ~ [g4,c5]!5", // C5 G C5
N: "[g4,c5]@2 [d4,g4]!2 [d4,g4]@2 [d4,f4]!2 [d4,f4]@2 [d4,g4]!6", // C5 G5 Dm G5
O: "[g4,c5]@4 [d4,g4] [d4,g4]@2 [d4,g4]@4 [d4,f4]@2 [d4,f4]@2 [c#4,f#4]@3 [c#4,f#4]@2 [c#4,f#4] [c#4,f#4]@2 [c#4,f#4] [c#4,f#4]@2 [c#4,f#4]@2 ~@4", // C5 G5 Dm F#5
P: "~@21 f#4@6 c#4@5", Q: "[~ f#4@6 c#4@5 f#4@6 c#4@6 f#4@6 c#4@5 d#4@6 a#3@6 d#4@6 a#3@6 d#4@5]/2",
R: "[a#3@6 d#4@6 ~@6 f#4@6 c#4@5 f#4@6 c#4@6 f#4@6 c#4@6 f#4@5 c#4@6, ~@12 a#4@9 ~@43]/2",
S: "[d#4@6 a#3@6 d#4@6 a#3@5 d#4@6 a#3@6 d#4@6 a#4@9 f#4@6 ~@2 g#4@6]/2",
T: "~@3 d#4@6 ~@3 f#4@6 ~@2 c#4@6 ~@3 d#4@3",
U: "[c#4@3 d#4@3 a#3@6 ~@2 a#3@23 ~ d#5@5 [g4,d#5]@3 [g4,d#5]@3 [f4,c#5]@3 [f4,c#5]@3 [g4,d#5]@3 [g4,d#5]@3 [f4,c#5]@3]/2", // Cm C# Cm C#
V: "[f4,c#5]@3 [g4,d#5]@2 [f4,c#5]@3 [g4,d#5]@3 a#4@12 ~@3 [f#4,d#5]@3 [f#4,d#5]@3", // C# Cm C# Cm D#m
W: "[[f4,c#5]@2 [f4,c#5]@3 [f#4,d#5]@3 [f#4,d#5]@3 [f4,c#5]@3 [f4,c#5]@3 [f#4,d#5]@3 [f4,c#5]@3 ~ [f#4,d#5]@3 g#4@15 ~@3 g#4@4 d#5@2 ~ c5@2 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2 ~@3 d#5@2 ~@2 c5@2 d#5@2 ~@3 d#5@2 ~@2, ~@80 c5@2 ~@9 c5@2 ~@3]/3", // C# D#m C# D#m C# D#m
X: "[c5@2 d#5@2 ~ c5@2 g#4@4 c#5@2 ~@3 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 a#4@2, ~@4 a#4@2 ~@9 g#4@2 ~@47]/2",
Y: "[~ g#4@4 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2 ~@3 d#5@2 ~@2 c5@2 d#5@2 ~@3 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2 a#4@2 c5@2 g#4@3 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2, a#4@2 ~@18 c5@2 ~@9 c5@2 ~@63]/3",
Z: "[c#5@2 ~@3 c#5@2 ~@2 g#4@2 c#5@2 ~@3 c#5@2 a#4@2 a#4@2 g#4@3 d#5@2 ~@2 c5@2 d#5@2 ~@3 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 f5@2 ~@2 c5@2 f5@2 ~ c5@2 d#5@2 ~@2 c5@2, ~@4 g#4@2 ~@9 g#4@2 ~@18 c5@2 ~@27]/2",
AA: "[d#5@2 ~ c5@2 f5@2 ~@2 c5@2 ~ a#4@2 c5@2 g#4@4 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@3 d#5@2 ~@2 g#4@2 d#5@2 ~@3 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 d#5@2 ~@2 g#4@2 d#5@2 c#5 c#5@2 g#4@4 d#5@2 ~ c5@2 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2, ~@11 d#5@2 ~@27 g#4@2 ~@9 g#4@2 ~@43]/3",
AB: "[~@2 c5@2 f5@2 ~ c5@2 f5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2 ~@3 f5@2 ~@2 c5@2 d#5@2 a#4@2 ~ g#4@4 c#5@2 ~@3 c#5@2 ~@2 g#4@2 c#5@2 ~@3 c#5@2 ~@2 g#4@2 d#5@2, ~@24 c5@2 ~@9 c5@2 ~@7 g#4@2 ~@9 g#4@2 ~@7]/2",
AC: "[~ g#4@2 d#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 d#5@2 ~ g#4@2 d#5@2 c#5@2 c#5@2 g#4@3 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 f5@2 ~@3 f5@2 ~, ~@30 c5 ~]/2",
AD: "~ c5@2 d#5@2 ~@3 d#5@2 ~@2 c5@2 f5@2 ~ c5@2 d#5@2 a#4@2 c5@2 g#4@3 c#5@2 ~@2, ~@7 c5@2 ~@23",
AE: "g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 d#5@2 ~@2 g#4@2 d#5@2 ~ g#4@2 c#5@2 ~",
AF: "~ g#4@2 c#5@2 ~ g#4@2 d#5@2 ~@3 d#5@2 c#5@2 c#5@2 g#4@4 d#5@2 ~ c5@2 d#5@2 ~@2, ~@6 g#4 ~@9",
AG: "~ d#5@2 ~@2 c5@2 d#5@2 ~@3 f5@2 ~@2 c5@2 f5@2 ~ c5@2 d#5@2 ~@2 c5@2 d#5@2 ~, c5@2 ~@9 c5@2 ~@19",
AH: "[c5@2 f5@2 ~@2 c5@2 ~ a#4@2 c5@2 g#4@4 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 d#5@2 ~ g#4@2 d#5@2 ~@3 c#5@2 ~@2 g#4@2 c#5@2 ~@3 d#5@2 ~@2, ~@8 d#5@2 ~@38 g#4@2 ~@9 g#4@2 ~@3]/2",
AI: "[g#4@2 d#5@2 c#5 c#5@2 g#4@4 d#5@2 ~@3 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2 ~@2 c5@2 f5@2 ~ c5@2 f5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2 ~@2 c5@2 f5@2 ~ c5@2 d#5@2 a#4@2, ~@15 c5@2 ~@47]/2",
AJ: "[~ g#4@4 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@3 c#5@2 ~@2 g#4@2 d#5@2 ~@3 d#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2 d#5@2 ~ a#4@2 d#5@2 a#4@2 d#5@2 g#4@3 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 d#5@2 ~@2 c5@2 d#5@2 ~ c5@2 f5@2 ~@2 c5@2 f5@2 ~ c5@2, c5@2 ~@18 g#4@2 ~@9 g#4@2 ~@63]/3",
AK: "[d#5@2 ~@3 d#5@2 ~@2 c5@2 f5@2 ~@3 d#5@2 a#4@2 c5@2 g#4@3 c#5@2 ~@2 g#4@2 c#5@2 ~@3 c#5@2 ~@2 g#4@2 c#5@2 ~ g#4@2 d#5@2 ~@2 g#4@2 d#5@2 ~ g#4@2 c#5@2 ~@2 g#4@2, ~@4 c5@2 ~@9 c5@2 ~@18 g#4@2 ~@27]/2",
AL: "c#5@2 ~ g#4@2 d#5@2 ~@2 a#4@2 ~ a#4@2 d#5@2 [c#4,d#4]@4 ~ [c4,d#4]@4 ~@2 [a#3,d#4]@4 ~, ~@11 d#5@2 ~@7 [c#4,d#4]@2 ~@10", // C#sus2 Cm D#5 C#sus2
AM: "[[c4,f4]@2 [c4,f4]@4 [a#3,d#4]@4 ~@3 [c#4,d#4]@4 [c#4,d#4]@2 [c4,d#4]@4 ~ [a#3,d#4]@4 ~ [c4,f4]@2 [c4,f4]@4 [a#3,d#4]@4 ~@3 [c#4,d#4]@4 [c#4,d#4]@2 [c4,d#4]@4 ~ [a#3,d#4]@4 ~@2 [c4,f4] [c4,f4]@4]/2", // F5 D#5 C#sus2 Cm D#5 F5 D#5 C#sus2 …
AN: "[a#3,d#4]@4 ~@3 [c#4,d#4]@4 [c#4,d#4]@2 [c4,d#4]@4 ~ [a#3,d#4]@4 ~@2 [c4,f4] [c4,f4]@4 [a#3,d#4]@3", // D#5 C#sus2 Cm D#5 F5 D#5
AO: "~@4 [c#4,d#4]@4 [c#4,d#4]@2 [c4,d#4]@4 ~ [a#3,d#4]@4 ~@2 [c4,f4]@2 [c4,f4]@3 [a#3,d#4]@4 ~@2", // C#sus2 Cm D#5 F5 D#5
AP: "[~ [c#4,d#4]@4 [c#4,d#4]@2 [c4,d#4]@4 ~ [a#3,d#4]@4 ~@2 [c4,f4]@2 [c4,f4]@3 [a#3,d#4]@4 ~@4 [c#4,d#4]@3 [c#4,d#4]@2 [c4,d#4]@4 ~ [a#3,d#4]@4 ~@2 [c4,f4]@2 [c4,f4]@3 [a#3,d#4]@4 ~@4 [c#4,d#4]@3 [c#4,d#4]@2 [c4,d#4]@4 ~@2 [a#3,d#4]@4 ~ [c4,f4]@2 [c4,f4]@3 [a#3,d#4]@4 ~@11]/3", // C#sus2 Cm D#5 F5 D#5 C#sus2 Cm D#5 …
AQ: "[~@22 c#5@3 g#4@3 f#4@3 f4@3 f#4@3 g#4@3 c#5@3 g#4@3 f#4@3 f4@3 f#4@3 g#4@3 c#5@3 g#4@3]/2",
AR: "[f#4@3 f4@3 f#4@3 g#4@3 c#5@3 g#4@3 f#4@3 f4@3 ~ f#4@3 g#4@3 c#5@3 g#4@3 f#4@3 f4@3 f#4@3 g#4@3 c#5@3 g#4@3 f#4@3 f4@3 f#4@3]/2",
AS: "g#4@3 c#5@3 g#4@3 f#4@3 f4@3 f#4@3 g#4@3 c#5@3 g#4@3 f#4@3 f4@2",
AT: "~ f#4@3 g#4@3 [f#4,c#5]@2 c#5 [f4,c#5]@2 c#5 [f#4,c#5]@2 c#5 [f4,c#5]@2 ~ c#5@2 c#5 [f4,c#5]@2 c#5 [f#4,c#5]@2 c#5@2 ~ c#5@2, ~@18 [f#4,c#5]@2 ~@9 [f4,c#5]@2 ~", // F#5 C# F#5 C# F#5 C#
AU: "[~ c#5@2 ~ c#5@2 ~ c#5@2 ~ [f#4,c#5]@2 c#5 c#5@2 ~ c#5@2 ~ c#5@2 ~ c#5@2 ~ c#5@2 ~ c#5@2 ~ c#5@2 ~ [f#4,c#5]@2 c#5 c#5@2 ~ c#5@2 ~ c#5@2 [f4,c#5]@2 c#5 [f#4,c#5]@2 c#5 [f4,c#5]@2 c#5 [f#4,c#5]@2 c#5 [f4,c#5]@2 ~ c#5@2 c#5 [f4,c#5]@2 c#5 [f#4,c#5]@2 c#5 [f4,c#5]@2 c#5 [f#4,c#5]@2 c#5 [f4,c#5]@2 c#5 [f#4,c#5]@2 c#5 [f4,c#5]@2 ~ c#5@2 c#5 [f4,c#5]@2 c#5 [f#4,c#5]@2 c#5 [f4,c#5]@2 c#5@2 ~ c#5@2 ~ c#5@2 ~ c#5@2 ~ [f#4,c#5]@2 c#5 c#5@2 ~ c#5@2 ~ c#5@2 ~ c#5@2 c#5@3 g#4@3 f#4@3 f4@3 f#4@3 g#4@3 c#5@3 g#4@3 f#4@3 f4@3 f#4@3 g#4@3 c#5@3, [f#4,c#5]@2 ~ [f4,c#5]@2 ~ [f#4,c#5]@2 ~ [f4,c#5]@2 ~@4 [f4,c#5]@2 ~ [f#4,c#5]@2 ~ [f4,c#5]@2 ~ [f#4,c#5]@2 ~ [f4,c#5]@2 ~ [f#4,c#5]@2 ~ [f4,c#5]@2 ~@4 [f4,c#5]@2 ~ [f#4,c#5]@2 ~@15 [f#4,c#5]@2 ~@22 [f#4,c#5]@2 ~@12 [f#4,c#5]@2 ~ [f4,c#5]@2 ~ [f#4,c#5]@2 ~ [f4,c#5]@2 ~@4 [f4,c#5]@2 ~ [f#4,c#5]@2 ~ [f4,c#5]@2 ~@40]/5", // F#5 C# F#5 C# F#5 C# F#5 C# …
AV: "g#4@3 f#4@3 f4@3 f#4@3 g#4@3 c#5@3 g#4@3 f#4@3 f4@3 f#4@3 g#4@2",
AW: "~ c#5@3 ~ g#4@3 f#4@3 f4@3 f#4@3 g#4@3 c#5@3 g#4@3 f#4@3 f4@3",
AX: "f#4@3 g#4@3 c#5@3 g#4@3 f#4@3 f4@3 f#4@3 g#4@3 c#5@3 g#4@3 f#4@2",
AY: "[~ f4@3 f#4@3 g#4@3 c#5@3 g#4@3 f#4@3 c#5@3 g#4@3 f#4@3 c#5@3 g#4@3 f#4@3 c#5@3 ~ g#4@3 f#4@3 c#5@3 g#4@3 f#4@3 c#5@3 g#4@3 f#4@2]/2",
AZ: "[~ c#5@3 g#4@3 f#4@3 c#5@3 g#4@3 f#4@3 c#5@3 g#4@3 f4@3 c#5@3 g#4@3 f4@3 c#5@3 g#4@3 f4@3 c#5@3 g#4@3 f4@3 c#5@3 ~ g#4@3 f4@2]/2",
BA: "~@2 c#5@4 g#4@4 f4@4 c#5@4 g#4@5 f4@5 c#5@4",
BB: "[~@2 g#4@6 f4@6 c#3@2 ~ g#3@2 ~ f4@2 g#4@2 c#5@28 ~@12, ~@16 f3@2 ~ c#4@2 ~@43]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.3)
// drums · kick
const kick = s("bd").struct(`<
~@8 A@12 B@23 C D E F G H I J K L M N O P Q R S T U V W X Y Z V W X Y Z V W X Y Z V W X Y Z V W X Y Z V W X AA ~@23 AB
AC AD AE AF ~@10
>`.pickRestart({
A: "x!4", B: "x!2", C: "x ~@14 x ~@12 x ~@3", D: "~@7 x ~@8 x ~@2 x ~@10 x ~", E: "~@7 x ~@2 x ~@11 x ~@7 x ~",
F: "~ x ~@11 x ~@7 x ~@2 x ~@7", G: "~@4 x ~@8 x ~@2 x ~@10 x ~@4", H: "~@4 x ~@2 x ~@10 x ~@8 x ~@2 x ~",
I: "~@10 x ~@7 x ~@2 x ~@10", J: "~ x ~@7 x ~@2 x ~@11 x ~@7", K: "~ x ~ x ~@11 x ~@8 x ~@2 x ~@4",
L: "~@6 x ~@8 x ~@2 x ~@10 x ~@2", M: "~@6 x ~@2 x ~@11 x ~@7 x ~@2", N: "x ~@11 x ~@8 x ~ x ~@8",
O: "~@3 x ~@8 x ~@2 x ~@10 x ~@5", P: "~@3 x ~@2 x ~@10 x ~@8 x ~@2 x ~@2", Q: "~@9 x ~@7 x ~@2 x ~@11",
R: "x ~@7 x ~@2 x ~@2 x ~@8 x ~@2 x ~@5", S: "~@3 x ~ x ~@8 x ~@2 x ~@8 x ~@2 x ~@2",
T: "~@5 x ~@2 x ~@8 x ~@2 x ~@10 x", U: "~@13 x ~@6 x ~@7 x ~@3", V: "~@3 x ~@6 x ~@6 x ~@7 x ~@6",
W: "x ~@6 x ~@7 x ~@6 x ~@6 x ~@2", X: "~@4 x ~@7 x ~@6 x ~@6 x ~@5", Y: "~ x ~@7 x ~@6 x ~@6 x ~@7 x",
Z: "~@6 x ~@6 x ~@6 x ~@7 x ~@3", AA: "~ x ~@7 x ~@22", AB: "~@9 x ~@2 x ~@2 x",
AC: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~", AD: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2", AE: "~ x ~@5 x ~@5 x ~@5 x ~@5 x ~@6",
AF: "~@29 x ~@2",
})).gain(0.4)
// drums · rim
const rim = s("rim").struct("<~@104 A B C D E F G H I J ~@3 K L M ~@9>".pickRestart({
A: "~@10 x ~@6 x ~@5 x ~@5 x ~@2", B: "~@3 x ~@11 x ~@5 x ~@5 x ~@4", C: "~ x ~@5 x ~@11 x ~@5 x ~@5 x",
D: "~@5 x ~@5 x ~@12 x ~@5 x ~", E: "~@2 x ~@2 x ~@2 x ~@5 x ~", F: "~ x ~@2 x ~@2 x ~@2 x ~@5",
G: "x ~@5 x ~@5 x ~@5 x ~@6 x ~@6", H: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@2", I: "~@9 x ~@5 x ~@5 x ~@5 x ~@4",
J: "~ x ~@30", K: "~@31 x", L: "~@5 x ~@5 x ~@5 x ~@5 x ~@8", M: "~@3 x ~@5 x ~@5 x ~@5 x ~@5 x ~@4",
})).gain(0.4)
// drums · snare
const snare = s("sd").struct(`<
~@7 A B C B D E A E A@4 F G@16 H@3 I H@3 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 AL AM AN
AO AP AQ AR AS AT AU AV AC AD AE AF AG AH AI AJ AW AX AY AZ BA BB AX AY ~@16 BC BD BE BF BG ~@10
>`.pickRestart({
A: "~@14 x!2", B: "x!2 ~@2 x ~@9 x!2", C: "~@6 x!2 ~@6 x!2", D: "~@6 x!2 ~@6 x ~", E: "~@7 x", F: "~@12 x!4",
G: "~ x ~ x", H: "~@4 x ~@7 x ~@2 x", I: "~@4 x ~@7 x!4", J: "~@7 x ~@13 x ~ x!2 ~ x ~@5", K: "~ x ~@11 x ~@11 x ~@6",
L: "~@4 x ~@11 x ~@10 x ~@4", M: "~@7 x ~@11 x ~@10 x ~", N: "~@10 x ~@10 x ~@10", O: "~ x ~@11 x ~@10 x ~@7",
P: "~@4 x ~@10 x ~@11 x ~@4", Q: "~@7 x ~@10 x ~@11 x ~", R: "~@9 x ~@11 x ~@10", S: "x ~@2 x ~@2 x ~",
T: "~@3 x ~@11 x ~@10 x ~@5", U: "~@6 x ~@11 x ~@10 x ~@2", V: "~@9 x ~@10 x ~@11",
W: "x ~@3 x ~@7 x ~@10 x ~@2 x ~@5", X: "~@3 x ~@10 x ~@11 x ~@5", Y: "~@6 x ~@3 x ~@6 x ~@2 x ~@8 x ~@2",
Z: "~@8 x ~@2 x ~@8 x ~@11", AA: "x ~ x ~@8 x ~@12 x ~@2 x ~@4", AB: "~@6 x ~@2 x ~ x ~@8 x ~@11",
AC: "~@3 x ~@4 x ~@8 x ~@5 x ~@8", AD: "x ~ x ~ x!2 ~@9 x ~@13 x ~@2", AE: "~@3 x ~@8 x ~@4 x ~@8 x ~ x ~ x ~",
AF: "x ~@8 x ~@13 x ~@5 x ~@2", AG: "~@6 x ~@4 x ~@8 x ~ x ~ x ~ x ~@5", AH: "~@3 x ~@13 x ~@5 x ~@8",
AI: "x ~@4 x ~@9 x!2 ~ x ~ x ~@8 x ~@2", AJ: "~@12 x ~@4 x ~@8 x ~@5", AK: "x ~@8 x ~ x!2 ~ x ~@8 x ~@8",
AL: "~@6 x ~@4 x ~@8 x ~@5 x ~@5", AM: "~@3 x ~ x ~ x!2 ~@8 x ~@14", AN: "x ~@4 x ~@9 x ~@4 x ~@8 x ~ x",
AO: "~ x ~ x ~@8 x ~@13 x ~@5", AP: "x ~@8 x ~@4 x ~@8 x ~ x ~ x ~ x ~@2", AQ: "~@3 x ~@6 x ~@2 x ~@2",
AR: "~@3 x ~@4 x ~@8 x ~ x ~ x ~ x ~@8", AS: "x ~@14 x ~@4 x ~@8 x ~@2", AT: "~@3 x ~@8 x!2 ~ x ~ x ~@8 x ~@5",
AU: "~@9 x ~@4 x ~@8 x ~@5 x ~@2", AV: "~@6 x ~ x!2 ~ x ~@8 x ~@11", AW: "x ~@8 x ~ x!2 ~ x ~@12 x ~@4",
AX: "~@9 x ~@14 x ~@7", AY: "~@7 x ~@13 x ~@10", AZ: "~@2 x ~@6 x ~@6", BA: "~ x ~@13 x ~@14 x ~",
BB: "~@12 x ~@14 x ~@4", BC: "~@9 x ~@2 x ~@2 x", BD: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
BE: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2", BF: "~ x ~@5 x ~@5 x ~@5 x ~@5 x ~@6", BG: "~@29 x ~@2",
})).gain(0.4)
// drums · hihat
const hihat = s("hh").struct(`<
~@8 A@11 B C@16 D@3 E D@3 F G H I J K L M N O P Q R S T U ~@2 V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO
AP W X Y Z AA AB AC AD AQ ~@38
>`.pickRestart({
A: "x!16", B: "x!12 ~@4", C: "x ~ x ~ x ~ x ~ x ~ x ~@2 x!2 ~", D: "x ~ x ~ x ~ x ~ x ~ x ~@2 x ~ x", E: "x!6 ~@2",
F: "x ~@3 x ~@2 x ~@3 x ~@3 x ~@2 x ~@9 x ~@2 x",
G: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~",
H: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~",
I: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~",
J: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~",
K: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
L: "~ x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
M: "~ x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
N: "~ x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
O: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2",
P: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2",
Q: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2",
R: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2",
S: "x ~@3 x ~ x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2",
T: "x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2", U: "x ~@2 x ~@2 x ~@3 x ~@21",
V: "~@13 x ~@3 x ~@2 x ~@3 x ~@3 x ~@2 x", W: "~@3 x ~@4 x ~ x ~@3 x ~@2 x ~@5 x ~ x ~@2 x ~@3",
X: "~@7 x ~@3 x ~@3 x ~@2 x ~@3 x ~@2 x ~@3 x ~@2", Y: "~@3 x!2 ~@3 x ~@3 x ~@4 x ~ x ~@3 x ~@8",
Z: "~ x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@2 x ~@5 x ~ x", AA: "~@2 x ~@3 x ~@4 x ~ x ~@3 x ~@10 x ~@2 x",
AB: "~@3 x ~@3 x ~@2 x ~@3 x ~@2 x ~@5 x ~ x ~@2 x ~@3", AC: "x ~@4 x ~ x ~@3 x ~@10 x ~@2 x ~@3 x ~@2",
AD: "~ x ~@2 x ~@3 x ~@3 x ~@4 x ~ x ~@3 x ~@2 x ~@5", AE: "x!2 ~@3 x ~@10 x ~@3 x ~@2 x ~@3 x ~@3 x",
AF: "~@2 x ~@3 x ~@4 x ~ x ~@3 x ~@2 x ~@5 x ~ x ~@2 x", AG: "~@10 x ~@3 x ~@2 x ~@3 x ~@3 x ~@2 x ~@3",
AH: "x ~@4 x ~ x ~@3 x ~@3 x ~@4 x ~ x ~@2 x ~@6", AI: "~@4 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@2 x ~@5",
AJ: "x!2 ~@3 x ~@3 x ~@4 x ~ x ~@3 x ~@10 x", AK: "~@2 x ~@3 x ~@2 x ~@3 x ~@3 x ~@2 x ~@5 x ~ x ~@2 x",
AL: "~@3 x ~@4 x ~ x ~@3 x ~@10 x ~@2 x ~@3", AM: "x ~@3 x ~@2 x ~@3 x ~@3 x ~@4 x ~ x ~@2 x ~@3 x ~@2",
// … 40 more lines
More by
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.