0:00/0:00
// yuri on ice - In Regards to Love: Eros — Taku Matsushiba
// 80 bpm, 3/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 (6/8 at bar 1, 9/8 at bar 18, 6/8 at bar 20, 3/4 at bar 69) are rendered on a constant 3/4 grid of one bar per cycle
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/3435316; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 121 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/3)
// 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.
// other · violin
const violin = note(`<
A@7 ~@6 B C@3 ~ D E F G ~@11 H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG@4 ~@5 AH@4 AI AJ@7 AK@3 ~ AL@3
AM AN@3 AO@4 ~@2 AP@5 AQ AR@2 AS@3 AT AU@2 AV@4 AW@5 AX@2
>`.pickRestart({
A: "[~ b4@10 a#4@2 ~]/7", B: "~@21 c#5@5 ~ b4@5", C: "[a#4@5 f#5@5 ~ e5@5 d5@27 f#5@5 a5@32 ~@16]/3",
D: "~@5 d5@11 d5@3 c#5@2 b4@3 a4@3 b4@2 c#5@3", E: "d5@5 a5@11 a5@3 g#5@2 f#5@3 e5@3 f#5@2 g#5@3",
F: "a5@5 e6@11 a5@3 b5@2 a5@3 g#5@3 f#5@2 e5@3", G: "[c#5,f#5]", H: "~@16 d#4@5 g4@11", I: "c5 f5",
J: "c5@11 c#5@5 d#5@11 g#4@5", K: "f#4@11 g#4@5 a#4@16", L: "c5 g#4", M: "g4 c5", N: "f4@11 g4@5 g#4@16",
O: "g4@16 f4@11 g4@5", P: "a4@11 b4@5 c#5@3 d5@2 e5@3 f5@3 a5@2 c6@3", Q: "~@5 d5@5 ~ e5@5 f5@11 g5@5",
R: "a5@11 a#5@5 c6@11 c5@5", S: "d#5@11 f5@5 g5@11 a5@5", T: "d6@11 c6@5 d6@11 a4@5",
U: "g4@3 f4@2 d#4@3 f4@3 d4@2 f4@3 a4@3 f4@2 d#4@3 f4@3 d4@2 f4@3",
V: "a#4@3 f4@2 d#4@3 f4@3 d4@2 f4@3 a#4@3 f4@2 c5@3 f4@3 d5@2 f4@3",
W: "c#5@3 f#4@2 a#4@3 f#4@3 c#5@2 f#4@3 f#5@3 c#5@2 a#4@3 c#5@3 a#4@2 c#5@3", X: "[a#4,f#5]",
Y: "b3@3 b3@2 c#4@3 d4@3 f#4@2 b4@3 f#4@3 d4@2 e4@3 f#4@3 a4@2 d5@3",
Z: "a4@3 e4@2 a4@3 c#5@3 a4@2 e4@3 e4@3 b3@2 e4@3 f#4@3 g4@2 b4@3",
AA: "b3@3 b3@2 c#4@3 d4@3 f#4@2 b4@3 d4@3 d4@2 e4@3 f#4@3 a4@2 d5@3",
AB: "a4@3 e4@2 a4@3 c#5@3 a4@2 e4@3 e4@3 b3@2 e4@3 f#4@3 a4@2 b4@3",
AC: "b3@5 f#4@3 b4@3 d5@2 b4@3 d4@5 f#4@3 a4@3 d5@2 a4@3",
AD: "~@5 g5@3 a4@3 f#5@2 a4@3 e5@3 a4@2 d5@3 a4@3 e5@2 a4@3",
AE: "b3@5 c#4@3 d4@3 f#4@2 b4@3 f#4@5 e4@3 f#4@3 a4@2 d5@3",
AF: "a4@3 e4@2 a4@3 c#5@3 a4@2 e4@3 e4@3 b3@2 e4@3 f#4@3 g#4@2 b4@3", AG: "b3/4",
AH: "[~@4 e5@2 ~@2 f#5@2 ~@2 b5@12 ~ a5@4 c#6@8 f#5@6 ~ e5@2 d5@4 e5@2 ~@2 e5@2 ~@2 f#5@2 ~@2 b5@12 ~ a5@4 c#6@8 f#5@12 ~@5 b5@2 ~@2 c#6@2 ~@2 d6@6 c#6@2 b5@4 e5@4]/4",
AI: "f#5@4 ~ a5@3 g5 f#5@12 e5@4 b5@2 ~@2 c#6@2 ~",
AJ: "[~@2 d6@6 c#6@2 b5@4 e5@4 f#5@4 a5@4 f#5@50 b5@12 ~ a5@10 g5 f#5 e5@6 f#5@6 g5@8 ~ a5@4 d5@8 f#5@4 e5 f#5 e5@2 e7@17 d7@4 c#7@6 b6@2 a6@4 ~ g6@12 f#6@12 e6@8 ~ d6@4 c6@8 b5@3]/7",
AK: "[~ a5@12 ~ d6@75 ~@7]/3",
AL: "[~@2 [g4,b4,g5]@2 ~@6 c6@12 b5@6 ~ c6@2 d6@4 a5@8 c6@4 b5@4 a5 ~ b5 a5 ~ g5@4 a5@8 c6@4 d6@8 c6@2 b5@2 ~ a5@11]/3", // G
AM: "~ d5@4 g5@4 f#5@4 f#5@8 ~ e6@8 a4@2",
AN: "[~@2 b4@2 ~@2 c#5@12 ~ b4@8 c#5@4 d5@6 e5 f#5 e5@2 d5@2 ~ c#5@12 c#5@12 b4@12 ~ a#4@2 g4@2 f#4@11]/3",
AO: "[~ a#5@2 ~@2 b5@2 ~@3 c#6@12 b5@8 c#6@4 d6 d#6 e6 f6 f#6 g6 f#6 f6 e6 ~ d#6 d6@2 c#6@12 c#6@12 ~ b5@12 a#5@2 g5@2 f#5@21 ~@19]/4",
AP: "[~@16 c#4@6 ~ d4@6 e4@8 b4@4 d5@4 c#5@2 ~ b4@14 d5@4 [b4,g5]@4 [d5,b5]@21 [c#5,a#5]@21 e5@4 c6@16 a#5 b5 ~ b5@2 a#5@2 a5@10 ~@2 g5@2 f5@2 e5@2 g5@2 g5]/5", // Em G F#
AQ: "f5 e5@2 ~ e5@2 e5@2 d5!2 d5@8 d5@2 e5 f5 d5@2 c5@2 a#4@2 a4@2 c5@2",
AR: "[~ g#4@2 a4@2 c5@2 e5@2 g5@2 e5@2 c5@2 a4@2 c6@4 ~@4 d5@4 ~ e5@4 f5@2 g5@4 f5@2 e5@4 a#5@2 a#5@4 a5@2 a5@4 ~ g5@2 a5@3]/2",
AS: "[~ d4@4 g4 a4 a#4 c#5 d5@6 c#5@4 c#5 d5 e5@8 ~ b4@4 f#5@4 f#5 f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5 f#4 ~ f#5 f#4 f#5 f#4 f#5 f#4 f#5@4 e5@4 d5@4 e5@8 b4@4 ~ d5@4 d5 d4 d5 d4 d5 d4 d5 d4]/3",
AT: "d5 d4 d5 d4 d5 d4 d5 d4 d5 d4 d5 d4 d5@4 ~ c#5@4 d5@4 e5@7",
AU: "[~ b4@4 f#5@4 f#5 f#4 ~ f#5 f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5 f#4 f#5@4 a5@6 f#5@2 ~ e5@6 d5@2 c#5@2 b4@2 d5@4 d5 d4 d5 d4 d5]/2",
AV: "[d4 d5 d4 d5 d4 d5 ~ d4 d5 d4 d5 d4 d5 d4 d5 d4 d5@4 c#5@4 d5@4 e5@8 ~ b4@4 f#5@29 e5@4 d5@4 e5@8 b4@4 f#5@29 e5@4 ~ d5@4]/4",
AW: "[e5@8 f#5@4 ~@6 a5@6 ~ g5@6 f#5@6 e5@4 d5@2 c5@2 b4@2 a4@2 g4@2 d4@2 ~ b3@2 g3 b3 d4 g4 b4 d5 g5@4 f5@4 f#5@4 f#5@2 e6@17 d6@6 a5@6 a#5@6 ~ c#6@24 a#5@24]/5",
AX: "[~ f#6@37 ~ f#6@6 ~@19]/2",
})).s("gm_violin").gain(0.4)
// other · pizzicato strings
const pizzicato_strings = note("<~@6 A B C D E ~@14 F ~@3 G H I H J ~@87>".pickRestart({
A: "~ [d4,d5]", B: "[a4,a5]!2", C: "[e4,e5]@16 [e4,e5]@11 d5@2 e5@3", D: "[a4,f#5] [e4,a4]", E: "b3 ~",
F: "a3@5 ~@27", G: "~@5 f#4@5 ~ g#3@5 a#3@5 a#3@5 ~ b3@5", H: "c#4@5 a#3@5 ~ c#4@5 b3@5 g#3@5 ~ b3@5",
I: "c#4@5 f#4@5 ~ c#4@5 f#4@5 c#4@5 ~ a#3@5", J: "a#3@5 a#3@5 ~ g#3@5 ~@16",
})).s("gm_pizzicato_strings").gain(0.3)
// other · pizzicato strings · soft notes
const pizzicato_strings_soft = note(`<
~@22
[f3 g3]!3
~
[c#4 b3]
[c#4@5 a#3@5 ~ c#4@5 f#4@5 ~@11]
[c#4 b3]
[c#4@5 ~@27]
~@91
>`).s("gm_pizzicato_strings").gain(0.2)
// other · cello
const cello = note(`<
~@5 A B C@4 ~ D E F@3 ~@2 G H I ~@8 J K J L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AE AG AE AH ~@14 AI@2 AJ ~
AK@4 AL@4 ~@3 AM@7 AN AO AP ~@2 AQ@5 AR ~@16
>`.pickRestart({
A: "~@21 c#3@5 ~ f#3@5", B: "a#3 d3", C: "[a3@16 a3@32 e3@27 d3@2 e3@3 f#3@32 ~@16]/4", D: "~ b3",
E: "c#4@21 c#4@5 ~ b3@5", F: "[a#3@5 f#4@5 ~ e4@5 d4@27 f#4@5 a4@32 ~@16]/3",
G: "~@5 d3@11 d3@3 c#3@2 b2@3 a2@3 b2@2 c#3@3", H: "d3@5 a3@11 a3@3 b3@2 a3@3 e3@3 f#3@2 e3@3", I: "f#3", J: "e2 d#2",
K: "f#2!2", L: "f#2 d#2", M: "f3@11 d#3@5 c#3@5 g#2@5 ~ a#2@5", N: "c3@11 a#2@5 g#2@5 d#3@5 ~ f3@5",
O: "f#3@11 g#3@5 a#3@5 a#2@5 ~ c3@5", P: "c#3@21 c#3@11", Q: "c3@11 a#2@5 g2@5 g#2@5 ~ g2@5", R: "f2 c3",
S: "b2@13 a2@3 b2@5 g3@5 ~ f3@5", T: "c#3@11 d3@5 e3@5 f3@5 ~ g3@5", U: "~@5 f4@11 f4@16", V: "a4 a3",
W: "c4@16 g3@11 c4@5", X: "a#3@11 c4@5 d4@5 g3@5 ~ a#3@5", Y: "d#3!2", Z: "d3@16 d3@11 d3@5",
AA: "c#3@5 c#4@11 f#4@16", AB: "f#4", AC: "d4 f#4", AD: "e4@5 e4@5 ~ f#4@5 g4@5 b3@5 ~ c#4@5",
AE: "d4@11 e4@5 f#4@16", AF: "e4@8 e4@3 d4@2 c#4@3 c#4@3 d4@2 b3@5 ~ g3@2 f#3@3", AG: "e4@11 f#4@5 g4@5 b3@5 ~ c#4@5",
AH: "e4@8 e4@3 d4@2 c#4@3 b3@8 b3@3 d4@2 c#4@3", AI: "[~@26 b2@12 ~ c#3@12 d3@12 ~]/2", AJ: "c#3@3 ~@5",
AK: "[~@23 e3@8 b3@4 c#4 c#4@5 b3@2 a3@4 ~ b3@12 a3@12 e3@8 ~ d3@4 e3@8 a2@2 b2@2 d3@8 ~ a3@4 g3@6 g3@2 g3@4 a3@6, ~@36 d4 ~@91]/4",
AL: "[a3@2 a3@2 a3@2 ~ f3@3 ~@3 c3@6 c2@4 c2@4 g2@4 f2@6 ~ c3@6 c2@4 c2@4 c3@4 f2@6 c3@6 ~ c2@4 c2@4 c3@4 f2@6 c3@6 ~ c2@4 g2@4 ~@26]/4",
AM: "[~@6 f#2@25 f#2@25 f#2@25 f#2@25 [f#2,a#2]@24 [f#2,b2]@25 [f#2,a#2]@25 [f#2,a#2]@25 f#4@6 f#4@2 f#4@2 f#4@2 g4@2 ~ f#4@4]/7", // F# B5 F#
AN: "e4@4 d4@2 c#4 d4 ~ c#4 b3@8 a#3@2 b3@2 a#3@8 ~@2",
AO: "~ b3@2 d4@2 g4@2 a4@2 a4@2 a4 g4 a4@5 g4 f#4@2 ~ g4@2 f#4@6 g4@2",
AP: "f#4@2 e4@2 d4@2 c#4 d4 b3@2 b3@2 a3@2 g3@2 ~@16",
AQ: "[~@20 d2@25 a2@25 a#2@12 a#2@12 f2@21 f2@4 g2@12 ~ g2@12 d2@12 ~ d2@3]/5", AR: "~ f2@4 d3@4 e2@12 a2@11",
})).s("gm_cello").gain(0.41)
// other · cello · soft notes
const cello_soft = note("<A@5 ~@20 B C D C D ~@28 E@4 ~@59>".pickRestart({
A: "[~ b3@8 ~]/5", B: "~@5 a2@5 ~ c#3@5 e3@5 a3@5 ~ b3@5", C: "e3 d#3", D: "f#3", E: "b2/4",
})).s("gm_cello").gain(0.27)
// chords · piano
const piano = note(`<
~@5 A@2 B C@2 D ~@4 E F G H I J K ~@7 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 ~@9 AO@5
AP@2 AQ@5 AR@5 ~@3 AS@6 AT ~@5 AU@7 ~@15
>`.pickRestart({
A: "[~@16 [f#2,c#3,f#3]@30 ~@2 b5@3 f#5@2 e5@3 f#5@3 d5@2 f#5@3, ~@48 [b2,f#3]@15 ~]/2", // F#5 B5
B: "a5@3 f#5@2 e5@3 f#5@3 d5@2 f#5@3 a5@3 e5@2 d5@3 e5@3 c#5@2 e5@3, [d3,a3]@15 ~ a3@15 ~", // D5
C: "[g5@3 e5@2 d#5@3 e5@3 b4@2 e5@3 b5@3 f#5@2 e5@3 f#5@3 d5@2 f#5@3 a5@3 f#5@2 e5@3 f#5@3 [d3,d5]@2 [e3,f#5]@3 a5@3 e5@2 d5@3 e5@3 c#5@2 e5@3, e3@15 ~ [b2,e3,f#3]@25 ~@7 [f#3,a3]@15 ~]/2", // D Esus2 Bsus4 F#m
D: "g5@3 e5@2 d#5@3 e5@3 b4@2 e5@3 ~@16, b3@15 ~@17", E: "~@16 e5@10 ~ f#5@5, ~@16 a2@15 ~",
F: "g5@10 ~ a5@5 [f#4,a4,d5]@10 ~ a4@5, g2@15 ~ f#2@15 ~", G: "[b3,g4]@10 ~ f#4@5 [a2,c#4,e4]@15 ~, g2@15 ~@17",
H: "~@5 [d3,f#3]@5 ~ [d3,f#3]@5 [e2,e3,g4]@15 ~, [d2,f#4]@15 ~@17", // D Em D
I: "~@5 [d3,f#3]@5 ~ [d3,f#3]@5 [e2,e3,b3]@15 ~, [d2,f#4]@15 ~@17", // D E5 D
J: "~@5 [d3,f#3]@5 ~ [d3,f#3]@5 [e2,e3,e4]@15 ~, [d2,d4]@15 ~@17", // D E D
K: "~@5 [c#3,f#3]@5 ~ [c#3,f#3]@5 [c#3,f#3]@16, f#2@15 ~, [a#3,f#4]@5 ~@3", L: "~@16 f#6@5 a#6@5 ~ b6@5",
M: "c#7@3 g#6@2 e6@3 g#6@3 d#6@2 g#6@3 b6@3 g#6@2 d#6@3 g#6@3 b6@2 g#6@3, e3@5 g#2@5 ~ b2@5 d#2@5 ~@6 c#3@5",
N: "c#7@3 a#6@2 g#6@3 a#6@3 f#6@2 a#6@3 c#7@3 a#6@2 f#7@3 a#6@3 c#7@2 a#6@3, f#3@5 a#2@5 ~ c#3@5 f#3@5 ~@11",
O: "c#7@3 g#6@2 e6@3 g#6@3 d#6@2 g#6@3 b6@3 g#6@2 d#6@3 g#6@3 b6@2 g#6@3, e3@5 g#2@5 ~ b2@5 d#2@5 ~@11",
P: "c#7@3 a#6@2 g#6@3 a#6@3 f#6@2 a#6@3 [g2,d#3,g6,a#6,d#7]@15 ~, [c#3,f#3,a#3]@10 ~ g3@5 ~@16", // D# F#
Q: "f3@5 [f3,g#3]@5 ~ [f3,g#3]@5 ~@5 [f3,g#3]@5 ~ [f3,g#3]@5, [c3,f4,c5]@15 ~ [g#2,c#3,c#5,f5]@15 ~", // Fm F5 C#
R: "~@5 [c3,d#3,g#3]@5 ~ [c3,d#3,g#3,c#5]@5 ~@5 [c3,d#3,g#3]@5 ~ [c3,d#3,g#3]@5, g#2@15 ~ [g#2,c4,d#4,c5]@15 ~, [g#4,c5,d#5]@5 ~@11", // G#
S: "~@5 [f#3,a#3]@5 ~ [f#3,a#3,c5]@5 d#2@5 a#1@5 ~ c2@5, [d#2,a#2,f#4]@15 ~@17, a#4@10 ~@6 [f#4,a#4,d#5]@15 ~", // F# Cm7b5 D#m
T: "c#3@5 c#3@5 ~ [c#3,a#4]@5 [c#3,f3,g#3]@5 [c#3,f3,g#3]@5 ~ [c#3,f3,g#3]@5, [c#2,f2]@15 ~, f4@15 ~ [c#4,g#4]@15 ~, c5@5 ~@11", // F# C# C#5
U: "~@5 [e3,g3,c4]@5 ~@11 g#1@5 ~ g1@5, [c2,c3]@15 ~, [e4,g4]@15 ~ [e4,g4]@15 ~, ~@11 a#2@10 ~@11", // C Em
V: "~@5 [c3,f3]@5 ~ [c3,f3,g4]@5 f2@5 [f3,g#3]@5 ~ [f3,g#3]@5, f1@15 ~, [c4,f4]@15 ~ [c4,f4]@15 ~, g#4@5 ~@11", // F5 Csus4 Fm F5
W: "~@5 [b2,d3,g3]@8 a2@3 d3@5 g3@5 ~ f3@5, [g2,b3,d4]@15 ~ [b2,b3,d4]@15 ~", // G Bm
X: "[a2,c#3]@10 ~ [b2,d3]@5 e3@5 f3@5 ~ g3@5, [e4,a4]@15 ~ [c#3,a4,c#5]@15 ~", // A Bm A5 F#m
Y: "~@5 a2@5 ~ f3@5 a#1@5 f2@5 ~ d3@5, ~@5 [d4,a4,d5]@10 ~ [f4,d5,f5]@15 ~", // D5 Dm
Z: "f2@5 c3@5 ~ [f3,c5]@5 a2@5 f3@5 ~ a3@5, [f4,c5,f5]@10 ~@6 [c4,a4,c5]@15 ~", // F5 F
AA: "c3@5 g3@5 ~ [c4,d5]@5 g2@5 d3@5 ~ c3@5, [c5,d#5]@10 ~@6 [c5,d#5]@15 ~", // Csus2 Cm
AB: "a#2@5 d3@5 ~ a#3@5 g2@5 d3@5 ~ g3@5, [g4,a#4,d5]@15 ~ g4@15 ~", // Gm
AC: "d#2@5 a#2@5 ~ d#3@5 d#2@5 a#2@5 ~ d#3@5, [c4,d#4,g4]@15 ~ [c4,d#4,a4]@15 ~", // Cm Adim
AD: "d2@5 a#2@5 ~ f3@5 d2@5 a#2@5 ~ f3@5, [d4,f4,a#4]@15 ~ [d4,f4,a#4,d5]@15 ~", // A#
AE: "c#2@5 g2@5 ~ c#3@5 [f#2,c#3,f#3]@10 ~ g#3@5, [c#4,a#4,c#5]@15 ~ [f#4,f#5]@15 ~", // F#5 F#
AF: "[c#3,a#3]@10 ~@13 g#4 ~ b4 ~@2 d5@2 e5@2, f#5@15 ~, c#5@27 c#5@4 ~, a#4@12 a#4@3 ~, f#4@21 f#4@9 ~@2", // F#
AG: "~@5 [f#4,b4,d5,f#5]@5 ~ [f#4,b4,d5,f#5]@5 ~@5 [f#4,a4,d5,f#5]@5 ~ [f#4,a4,d5,f#5]@5, [b1,b2]@15 ~ [d2,a2]@15 ~", // Bm D B D5
AH: "~@5 [e4,a4,c#5,e5]@5 ~ d5@5 [e4,b4,e5]@10 ~ b4@5, a2@15 ~ e2@15 ~", // A E5
AI: "~@5 [d4,f#4,b4,d5]@5 ~ [d4,f#4,b4,d5]@5 ~@5 [d4,f#4,a4,d5]@5 ~ [d4,f#4,a4,d5]@5, [b1,b2]@15 ~ [d2,a2]@15 ~", // Bm D B D5
AJ: "[c#4,e4]@5 d5@5 ~ c#5@2 d5@3 [b4,e5]@10 ~ b4@5, a2@15 ~ e2@15 ~", // C#m E5
AK: "b2@5 f#3@3 b3@3 d4@2 b3@3 d3@5 f#3@3 a3@3 d4@2 a3@3, [f#4,b4,d5,f#5]@15 ~ [f#4,a4,d5,f#5]@15 ~", // Bm D
AL: "a3@5 [e3,g4,g5]@5 ~ [f#3,f#4,f#5]@5 [e3,e4,e5]@5 [b2,e3,d4,d5]@5 ~ [c#3,f#3,e4,e5]@5", // Em F# E E7 F#7
AM: "b1@5 c#3@3 d3@3 f#3@2 b3@3 d2@5 e3@3 f#3@3 a3@2 d4@3, [d4,f#4,b4,d5]@15 ~ [d4,f#4,a4,d5]@15 ~", // Bm D
AN: "a2@5 [a2,d3,d5]@5 ~ [c#3,c#5]@2 [d3,d5]@3 [e2,b2,e3,g#4,b4,e5]@10 ~ [f#3,f#5,f#6]@5", // D5 C# D E F#
AO: "[~@19 [g2,g3]@6 [a1,a2]@2 ~@2 [a1,a2]@2 ~@2 a2@2 ~@9 [g2,g3]@6 [a1,a2]@2 ~@2 [a1,a2]@2 ~@2 a2@2 ~@8 [g2,g3]@6 ~ a1@6 a2@2 a3@4 ~@6 [f#2,f#3]@4 [g2,g3]@2 [g2,g3]@2 ~@3 [f#2,f#3]@2 ~@2 [g2,g3]@2 ~@2 [c2,c3]@6 [c2,c3]@4 [c2,c3]@2 [g2,g3]@2 ~@2 d3@2 ~@3 [g2,g3]@2 ~@2 [c2,c3]@6 [c2,c3]@4 [c2,c3]@2 [g2,g3]@2 ~@2 d3@2 ~@2 [g2,g3]@2 ~, ~@12 [e2,e3,e4,g4,b4]@12 ~ [a4,c#5,e5]@12 [e2,e3,e4,g4,b4]@12 ~ [a4,c#5,e5]@12 [e2,e3,e4,g4,b4]@12 ~ [a4,c#5,e5]@12 [e2,e3,e4,g4,b4]@12 [g4,b4,d5]@12 ~ [e4,g4,c5]@12 [e4,g4,b4]@12 ~ [e4,g4,c5]@12 [e4,g4,b4]@11]/5", // G A G A G F# G F# …
AP: "[~@2 [c2,c3]@6 [c2,c3]@4 [c2,c3]@2 [g2,g3]@2 ~@2 [g2,g3]@2 ~@2 [f#2,f#3]@2 ~@9 [g2,g3]@6 ~@8 [a2,a3]@4 [e2,e3]@4 ~@2 [g2,g3]@4 ~ [g2,g3]@2, ~@2 [e4,g4,c5]@12 [e4,g4,b4]@12 [e2,e3]@12 ~ [a2,a3]@8 ~@17, ~@43 [e2,e3]@8 ~@4 [e2,e3]@8 ~]/2", // C G F# G A E G C …
AQ: "[~@8 [a2,a3]@4 ~@6 g2@6 ~ d2@2 ~@2 d2@2 ~@2 [f#2,a2]@2 ~@8 g2@6 [e2,b2]@2 ~@3 e1@2 ~@2 [c2,b4,e5,g5]@2 ~@8 [a2,d3]@6 a2@2 ~@2 a2@2 ~@3 e2@2 ~@2 [g2,c3,e3]@2 [g2,c3,e3]@2 [g2,c3,e3]@2 [g2,c3,e3]@4 c3@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 ~@2 e5@4 ~@7 g3@6 [f#2,f#3]@2 ~@2 [d2,d3]@2 ~@2 [f#2,f#3,d5,f#5,a5]@2 ~@11 d5@4 c2@2 ~@2 g2@2 ~@2 [c3,b4]@3, [a2,a3]@8 ~@6 g5@11 ~@99 [d5,f#5,a5]@8 ~@17 [g4,e5]@8 ~@3, ~@2 g3@4 g3@6 ~ e5@12 [d5,a5]@12 ~@12 [b4,e5,g5]@8 ~@17 [e4,c#5]@12 ~ g4@12 a4@8 ~@36 [e2,e3]@6 ~@11, ~@4 [e2,e3]@8 [c2,c5]@12 ~@13 [c2,g4,c5,e5]@12 ~@13 [d2,f#4,d5]@12 ~@31 [a2,e3,a3]@6 ~ [g2,d5,g5,b5]@12 ~@12 [c2,c3,g4,c5]@12 ~@12, ~@3 b5@2 ~@27]/5", // A F#m E5 Cmaj7 D5 C A5 F# …
AR: "[~ [d2,d3]@6 ~@3 a5@4 [g2,g3]@2 ~@2 [g2,g3]@2 ~@2 [g2,g3]@2 ~@2 [a2,e3,a3,d5,e5]@6 ~@2 d5@4 ~@7 c3@6 ~@8 c2@4 ~@7 c3@6 ~@8 c2@4 ~@6 c3@6 ~@9 c2@4 ~@6 c3@6 ~ c2@4 [c3,g3,c4]@2 ~@28, ~ [a4,d5]@12 ~ [g4,d5,g5]@8 f#5@4 a4@12 ~@17 g2@8 f2@12 ~@5 g2@8 f2@12 ~@5 g2@8 f2@12 ~@35, ~@7 [d2,d3]@6 ~@19 [a2,e3,a3,e5]@6 ~ f2@12 c2@8 ~@17 c2@8 ~@17 c2@8 ~@51]/5", // D G Asus4 C5 D5 G5 D A5
AS: "[~@6 f#3@4 [f#3,a#3,c#4]@4 ~ f#3@4 ~@8 a#3@4 g3@4 [g3,b3,d4]@4 [g3,b3,d4]@4 ~ f#2@4 b3@2 ~@4 e4@2 ~@10 d4@2 ~@11 a4@2 f#4@4 ~@5 e4@2 d4 c#4@2 ~@6 g3@2 ~ g3 ~ f#3@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 ~@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 ~@5 [g3,b3,d4]@4 [g3,b3,d4]@4 ~@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 f#3@4 [c#3,f#3,a#3]@2 ~ [c#3,f#3,a#3]@2 [c#3,f#3,a#3]@4 g3@4 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@4 [f#2,f#3]@4 [f#3,a#3,c#4]@2 [f#3,a#3,c#4]@2 [f#3,a#3,c#4]@4, ~@6 [f#2,c#5,f#5,c#6]@17 g3@2 b3@6 ~@19 b3@6 f#3@4 [f#3,a#3,c#4]@4 [f#3,a#3,c#4]@4 [g3,b4,e5,b5]@12 ~ f#3@7 e4 d4@3 ~@3 b3@2 b3@2 a#3@7 ~@86, ~@15 c#4@17 ~@12 [c#5,f#5,c#6]@12 ~@2 f#4@10 ~@2 c#4@10 ~@6 f#4@14 a3@3 a3@3 [f#2,c#5,f#5,c#6]@12 [f#2,c#5,f#5,b5]@12 [g2,d5,g5,d6]@12 ~ [f#2,c#5,f#5,a#5]@12 [f#2,c#5,f#5,a#5]@12 ~ [g2,b4,e5]@12 ~@12, ~@15 a#3@6 f#3@10 ~@13 f#3@8 [c#3,f#3,d4]@4 ~@6 d4@4 ~@2 d4@6 ~ d4@6 ~@4 g4@8 ~@3 c#4@10 ~@86, ~@19 [e3,b4,e5,b5]@12 [g2,d5,g5,d6]@12 ~@5 f#2@8 [f#2,b4,e5]@12 ~@9 e4@4 [a#4,c#5,f#5]@25 ~@74 [f#4,a#4,c#5,f#5]@12]/6", // F# G F# G F# G F# F#5 …
AT: "~ f#3@2 c#3@2 a#2@2 f#2@2 c#2@2 a#1@2 ~@19",
AU: "[~@20 [d4,f4]@24 ~ [a3,c4,e4]@24 ~ [a#3,d4,f4]@12 [a#3,d4,f4]@12 f3@12 ~ f3@4 f3@4 [f2,f3,a3,c4]@4 g2@4 [d3,g3]@2 ~ [g3,a#3,e4]@4 [d4,f4]@2 [e4,g4]@4 [a#3,d4]@2 [a3,c4]@2 [d3,g3]@4 [d2,d3,g4,a#4]@4 [f4,a4]@2 ~@2 [a2,d3]@3 [e4,g4]@2 d2@4 [a2,d3]@4 [a2,d3]@4 [g2,a#2,d3]@2 [g2,a#2,d3]@4 [g2,a#2,d3]@6 [a2,c#3,e3]@4 ~ a1@4 a1@4 ~@30, ~@94 [a3,c4]@20 ~@5 [a#4,d5]@12 ~ [a#4,d5]@12 ~@4 [a2,d3]@4 ~@72, ~@150 [f4,a4]@4 ~@3 [d4,f4,a4]@12 [g4,a#4,d5]@12 [a4,c#5,e5]@12 ~@31]/7", // Dm Am A# F G5 Edim Dm Em …
})).s("gm_piano").gain(0.4)
// chords · piano · soft notes
const piano_soft = note("<A@5 B ~@4 C D E F@2 G ~@6 H@3 I J K J L ~@28 M@4 N ~@58>".pickRestart({
A: "[~@18 f#3@30 [f#3,b3,d4]@30 ~@2 [f#3,b3,c#4]@30 ~@2 [f#3,b3,d4]@30 ~@2 [f#3,b3,d4]@15 ~, ~@16 b1@123 ~@21, ~@17 b2@31 ~@112]/5", // Bm F#sus4 Bm
B: "[e2,e3,g#3]@15 ~@17", C: "~@16 [b2,d5,f#5,b5]@15 ~", D: "[d3,d5,f#5,a5]@15 ~ e5@10 ~ f#5@5, ~@16 a3@15 ~",
E: "g5@10 ~ a5@5 d5@10 ~ g5@5, e3@15 ~ [b2,b3]@15 ~", // B
F: "[[a2,a3]@15 ~ [g2,g3]@15 ~ [f#2,f#3]@10 ~ a#2@5 [b2,f#5,b5]@15 ~, f#5@23 ~@9]/2", G: "[d3,d5,f#5,a5]@15 ~@17",
H: "c7@3 a6@2 g6@3 a6@3 f6@2 a6@3 d7@3 b6@2 a6@3 b6@3 g6@2 b6@3", I: "d7@3 a6@2 g6@3 a6@3 g6@2 a6@3 e6@5 a6@5 ~ b6@5",
J: "c#7@3 g#6@2 e6@3 g#6@3 d#6@2 g#6@3 b6@3 g#6@2 d#6@3 g#6@3 b6@2 g#6@3",
K: "c#7@3 a#6@2 g#6@3 a#6@3 f#6@2 a#6@3 c#7@3 a#6@2 f#7@3 a#6@3 c#7@2 a#6@3",
L: "c#7@3 a#6@2 g#6@3 a#6@3 f#6@2 a#6@3 ~@16",
M: "b6@3 f#6@2 e6@3 f#6@3 d6@2 f#6@3 b6@3 g#6@2 f#6@3 g#6@3 e6@2 g#6@3", N: "b6@15 ~@17",
})).s("gm_piano").gain(0.2)
// drums · rim
const rim = s("rim").struct("<~@29 A ~@12 B ~@6 A B@3 ~ B ~ B@3 ~@62>".pickRestart({
A: "~@21 x ~ x!3 ~ x!3 ~ x", B: "x",
})).gain(0.35)
// drums · snare
const snare = s("sd").struct(`<
~@18 A@3 B ~@8 C ~@2 D E F G H E G I J G I K G L G I M G N O P G Q I R ~@63
>`.pickRestart({
A: "~@5 x ~ x!3 ~ x ~@20", B: "~@5 x ~ x!3 ~ x ~@4 x ~@15", C: "x", D: "~@21 x ~ x!3 ~ x!3 ~ x",
E: "~@5 x ~ x!3 ~ x ~@9 x ~@2 x ~@4 x ~@2", F: "~@5 x ~ x!3 ~ x ~@9 x ~@2 x ~@2 x ~@4",
G: "~@5 x ~ x!3 ~ x ~ x ~@7 x ~@2 x ~@2 x ~@4", H: "~@5 x ~ x!3 ~ x ~ x ~@2 x ~@4 x ~@2 x ~@2 x ~ x ~@2",
I: "~@5 x ~ x!3 ~ x ~ x ~@7 x ~@2 x ~@4 x ~@2", J: "~@5 x ~ x!3 ~ x ~ x ~@5 x ~ x ~@2 x ~@2 x ~ x ~@2",
K: "~@5 x ~ x!3 ~ x ~@9 x ~@2 x ~@2 x ~ x ~@2", L: "~@27 x ~ x ~@2", M: "x!2",
N: "~@5 x ~@2 x ~@2 x ~ x ~@7 x ~@5 x ~@4", O: "~@5 x ~ x!3 ~ x ~ x ~@5 x ~@4 x ~@2 x ~ x ~@2",
P: "~@5 x ~ x!3 ~ x ~ x ~@7 x ~@2 x ~@2 x ~ x ~@2", Q: "~@5 x ~@5 x ~@4 x ~@4 x ~ x!3 ~ x!3 ~ x",
R: "~@5 x ~ x!3 ~@3 x ~@2 x ~@4 x ~ x!3 ~ x!3 ~ x",
})).gain(0.35)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@29 A B C D E ~@12 F ~@74>".pickRestart({
A: "x ~@10 x ~@20", B: "~ x", C: "x ~@15 x ~@10 x ~@4", D: "x!2", E: "x ~@10 x ~@4 x ~@15",
F: "~@5 x ~ x!3 ~ x ~ x ~@5 x ~ x ~@2 x ~@7",
})).gain(0.2)
// drums · clap
const clap = s("cp").struct(`<
~@67 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA ~@5 AB AC AD AE AF AG ~@12 AH AI AJ AK
>`.pickRestart({
A: "~@12 x ~@4 x ~@3 x ~@3 x ~@3 x ~@2", B: "~ x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~",
C: "~@2 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x", D: "~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3",
E: "x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2", F: "~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x",
G: "~@3 x ~@3 x ~ x ~ x ~ x ~ x ~@3 x ~ x ~ x ~ x ~@4 x ~", H: "x ~ x ~ x ~ x ~ x ~@3 x ~@3 x ~@3 x ~@4 x ~@6",
I: "~ x ~@3 x ~ x ~ x ~ x ~ x ~@3 x ~@8 x ~@3 x ~", J: "x ~ x ~ x ~ x ~@3 x ~@8 x ~ x ~ x ~@3 x ~ x ~ x",
// … 17 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.