0:00/0:00
// gotta knock a little harder — Yoko Kanno
// 78 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4322191; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 106 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(78/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 · acoustic guitar steel
const acoustic_guitar_steel = note("<A B C D A B C E A B C D A F G H I ~@89>".pickRestart({
A: "[g2,d3]@4 [g3,d4]@3 [g3,d4] [a3,c#4] [b3,c#4]@3 [a3,c#4] [b3,c#4]@3", // G5 A Bsus2 A Bsus2
B: "[a2,e3]@4 [e3,a3,c#4]@3 [e3,a3,c#4] [a3,c#4] [b3,c#4]@3 [a3,c#4] [b3,c#4]@3", // A5 A Bsus2 A Bsus2
C: "[f3,c4]@4 [f3,c4]@3 [f3,c4] [c3,e3,g3,c4]@2 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]!2", // F5 C
D: "[g2,b2,d3,g3,b3]@2 [e3,g3,c4] [g2,b2,d3,g3,b3]@4 [g2,b2,d3,g3,b3]", // G C G
E: "[g2,b2,d3,g3,b3]@4 [e3,g3,c4]@2 [g2,b2,d3,g3,b3]@4 [g2,b2,d3,g3,b3]@3 [g2,b2,d3,g3,b3]!3", // G C G
F: "[a2,e3]@2 [a2,e3]@2 [a2,e3]@2 [a2,e3]!2 [a3,c#4] [b3,c#4]@3 [a3,c#4] [b3,c#4]@3", // A5 A Bsus2 A Bsus2
G: "[f3,c4]@4 [f3,c4]@2 [f3,c4]!2 [c3,e3,g3,c4]@2 [c3,e3,g3,c4]@2 [c3,e3,g3,c4]@2 [c3,e3,g3,c4]!2", // F5 C
H: "[g2,b2,d3,g3,b3]@2 ~ [c3,e3,g3,c4]@5", I: "[g2,b2,d3,g3,b3]@2 ~ [g2,b2,d3,g3,b3,g4]@5",
})).s("gm_acoustic_guitar_steel").gain(0.33).pan(0.7)
// other · distortion guitar
const distortion_guitar = note("<~@51 A B C D E F G@3 ~@46>".pickRestart({
A: "g3!16", B: "g3!9 a#3 c4 c#4 c4 a#3 g3 [d4,g4]", C: "g3!2 d4 g3 d4 g3 d4 g3!2 c#4 [c4,c#4] [a#3,c4] g3 a#3 c4 c#4",
D: "[d4,g4]@2 [d4,g4]!4 g3@2 g4 a#4 [c5,f5]@4 g4 a#4, ~@10 b4 ~@5", E: "b4 c5!2 b4 a#4@8 g4 a#4 [a#4,c5,f5]@2",
F: "[c5,f5]@12 [b4,c5] d5 g5 c5, b4 ~@15", // F5 Cmaj7
G: "[d5!2 g5 f5 g5!2 a#5 c6@5 a#5 d5 g5 f5@3 f5 g5@5 ~@3 g3!2 a#4 d5 c4@2 [a#3,c4]!2 c4 a#3@2 g3 a#3 b3 g3 a#3@5 b3]/3", // A#sus2
})).s("gm_distortion_guitar").gain(0.64).pan(0.7)
// chords · electric guitar clean · "Guitar II"
const electric_guitar_clean = note(`<
A B C D E F G D 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 AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU
AV AW AX AY AZ BA BB A BC BD BE BF BG BH BI BJ BK BL BM ~ BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG
CH CI CJ CK CL CM CN CO CP@2 CQ CR CS CT CU CV CW@2
>`.pickRestart({
A: "~@2 [d4,g4] ~@5", B: "~@4 [a2,e3]@8 ~ [e3,a3] ~@2", C: "~ [f3,a3] ~@2", D: "[g2,d3]@2 g2 [g2,d3]@5",
E: "~@4 [d4,g4]@2 ~ g3 ~@2 [g2,d3]@4 [g2,d3]@2", F: "[a2,e3]@4 [a2,e3]@2 ~@4 g4 c#4@3 e3@2",
G: "~@2 [f3,g3]@2 ~ e3@3", H: "[g2,d3]@2 [g2,d3]@3 [g2,d3]!3", I: "[a2,e3]@4 [a2,e3]@4 ~@3 d4 c#4 a3@3",
J: "f3 c3 c4@2 e3 c3@3", K: "g2@2 [e3,g3] g2@5",
L: "[g2,d3]@4 [g2,d3]@3 [g2,d3] [g2,d3]@2 [g2,d3]@2 [g2,d3]@2 [g2,d3]@2", M: "[a2,e3]!6 [g3,c#4] e3",
N: "f3@2 [f3,g3,c4]@2 e3!2 [g3,c4]@2", O: "[g2,d3]@2 [e3,g3,c4] [g2,d3,g3]@4 [d3,e3]", P: "[g2,d3]@2 ~ [g2,d3]@5",
Q: "[g2,d3,g3]@2 ~@3 g2 ~@2", R: "~@4 [d#3,a#3]@3 [d#3,a#3] ~@4 [f3,a3,c4]@4",
S: "[c3,e3,g3]@2 [c3,e3,g3] [c3,e3,g3]@4 g3", T: "[g2,d3]@2 [g3,d4] ~@3 [g2,d3]@2", U: "~ d#3 [d#3,a#3] ~@5",
V: "[c3,e3,g3]@4 ~@2 [c3,e3,g3]@6 ~ d3@3", W: "[d#3,a#3]@2 ~@3 [d#3,a#3] [d#3,a#3]@2", X: "~@2 f3@2 ~@2 [f3,g3] ~",
Y: "g2@2 [e3,g3,c4] [g2,d3]@5", Z: "~@12 [d#3,a#3]@3 [d#3,a#3]", AA: "~ [c3,f3,a3] [c3,e3,g3] c3",
AB: "[g2,d3]@2 ~ [g2,e3]@5", AC: "~@2 [d3,g3]@4 g2@2 ~@2 g2@3 g2 ~@2", AD: "g2@4 d3@3 [d3,g3] ~@2 g2@5 g2",
AE: "g2 d#3 [d#3,a#3]@2 ~ f3 [f3,a3]@2", AF: "[c3,e3,g3]@4 [c3,e3,g3]@2 [c3,e3,g3]@6 d3 e3 [g3,c4]@2",
AG: "g2@4 ~@3 [d3,g3] ~@2 g2@6", AH: "g2@4 [d#3,a#3]@3 [f3,a3] ~@5 [f3,a3] ~ e3",
AI: "c3@4 ~@2 [c3,e3,g3]@6 ~ d3@2 d3", // C
AJ: "d#3@4 [d#3,a#3,d#4]@3 [d#3,a#3,d#4] ~ [d#3,a#3,d#4] ~@3 [d#3,a#3,d#4] ~ [d#3,a#3,d#4]", // D#5
AK: "[f3,a3,c4]@2 ~@2 [f3,a3,c4]!2 ~@6 [f3,a3,c4]@4", AL: "[g2,d3]@4 ~@2 d3@4 g2@2 ~ f3@3",
AM: "~@4 [d#3,a#3]@2 ~@7 [d#3,a#3] ~@2", AN: "~ [c3,e3,g3] ~@2", AO: "g2@2 ~ g3@4 g3",
AP: "~@2 g3@4 g3@4 g3@3 g3@2 g3", AQ: "g2@2 ~@2 [d4,g4]@3 [d4,g4] ~@2 g2@2 ~@4",
AR: "~@4 [e3,a3]@3 [e3,a3] ~@5 c#4 ~@2", AS: "f3@4 [c4,g4]@4 ~ [c3,e3] [c3,e3]@2 [c3,e3]@4",
AT: "[g2,d3]@4 ~@2 [g2,d3]@4 g2 a2 b2 d3 c3 d3", AU: "g3@4 g3@3 g3 ~@2 g2@4 ~@2",
AV: "~@2 d3@2 [a3,c#4] e4 g4 e4 ~ g3@3 c#4!2 ~@2", AW: "[f2,c3,f3]@4 [c3,f3]@3 [d3,g3] ~ e3 c3@6",
AX: "g2@6 [g3,c4]@2 g2@2 g2@4 [d4,g4]!2", AY: "[d4,g4]@2 ~@2 [g2,d3]@3 [g2,d3] ~@2 g2@2 ~ g3 ~@2",
AZ: "[a2,e3]@2 ~@2 g3@3 g3 ~ e3 a2@2 ~ g3 ~@2", BA: "[c3,f3]@4 [c3,f3]@3 [e3,g3] ~ e3 c3@2 g3@4", BB: "~@3 g3@5",
BC: "~@5 a2!2 ~", BD: "[c3,f3,a3]@4 [c3,f3,a3]@3 [c3,e3,g3] ~@2 c3@2 ~@3 g2", BE: "g2!2 ~ g2 ~@4", BF: "g2!7 g#2",
BG: "~@4 [e3,a3,c#4]@3 [e3,a3,c#4] ~@4 [e3,a3,c#4]@2 ~@2", // A
BH: "[f2,c3]@2 [f2,c3]@2 [f3,a3]@3 [d3,g3] ~ g2@2 g2 [d3,g3]@4", // F5 F G5
BI: "[d3,a3,d4]@4 [d3,a3,d4]@2 ~@3 d4 a3@2 [a3,d4]@2 a2@2", // D5
BJ: "[a2,e3]@2 [a2,e3]@2 [c#4,e4]@3 [c#4,e4] ~ [a2,e3] [a2,e3]@2 [a3,c#4,g4]@4", // A5 C#m A5 A7
BK: "[f2,c3]@2 [f2,c3]@2 [f2,c3]@3 [f2,c3] ~@6 [g2,d3]@2", BL: "[d3,a3]@4 ~@2 [d3,a3]@4 e3@2 f#3 a3 d4@2",
BM: "~@4 c4!2 a3@2 ~@4 c4!2 a3@2", BN: "~@2 [e3,a3,c#4] e3@3 [e3,a3,c#4] ~", BO: "f2!2 c3@2 ~ [f2,c3]@2 f3",
BP: "~ d3 ~@2 [d3,d4]@4 ~@4 [d3,d4]@4", BQ: "a2@2 ~ [a2,e3]@2 [a2,e3] ~ [a2,e3]",
BR: "[a2,e3]@2 [a2,e3]@4 [a2,e3]@2 [a3,a4]@2 [a3,a4]@2 [a3,a4] [a3,a4]@3", // A5 A
BS: "[a2,e3]!2 [e4,a4]@2 [a2,e3]!2 [e4,a4]@2", // A5
BT: "[b2,f#3]@2 [b2,f#3]@2 [f#4,b4]@4 ~ [b2,f#3] [b2,f#3]@2 ~ [b2,f#3] ~@2", // B5
BU: "[g2,d3]@2 [g2,d3]@2 [g3,b3]@3 g3 ~@8", BV: "[a2,e3]@2 [a2,e3]@2 [a3,c#4]@2 e3@6 e3 ~@3",
BW: "~@4 [e4,a4]@4 ~@4 [e4,a4]!2 ~@2", BX: "~@2 [f#4,b4]@2 ~ b2 [f#4,b4]@2", BY: "g2@2 g2@2 [d3,g3]@3 [d3,g3] ~@8",
BZ: "~@13 [e4,a4] ~@2", CA: "~ [e4,a4] ~@2", CB: "~ [f#4,b4] ~@2", CC: "~ [g3,c4] ~ [f3,a#3]",
CD: "[e3,a3,c#4]@4 [f#3,a3,d4]@2 [e3,a3,c#4]@4 a2 b2 c3 c#3 a3@2", CE: "a3@3 a2 a3@3 g3 ~@4 [e4,a4]!2 ~@2",
CF: "~@4 [f#3,b3,d#4]@3 [f#3,b3,d#4] ~@2 a2@2 ~ [f#3,b3,d#4] ~@2", // B
CG: "~@4 [g3,c4,e4]@3 [g3,c4,e4] ~@4 [f3,a#3,d4]!2 ~@2", CH: "[e3,a3,c#4]@2 [e3,a3,c#4] [e3,a3,c#4]@5",
CI: "~ [e4,a4] ~ [e4,a4]", // A5
CJ: "~@4 [f#3,b3,d#4]!2 ~ [f#3,b3,d#4] ~@2 [f#3,b3,d#4]@2 [f#3,b3,d#4] [f#3,b3,d#4]@2 [f#3,b3,d#4]", // B
CK: "~@4 [g3,c4,e4]@3 [g3,c4,e4] ~@4 [f3,a#3,d4]@4", CL: "[e3,a3]@4 [e3,a3]@2 [e3,a3]@4 [e3,a3]@2 e3 f#3 a3@2",
CM: "~ [a2,e3,a3] ~ [a2,e3,a3]", CN: "~@4 [f#3,b3,d#4]@3 [f#3,b3,d#4] ~@2 f#2@3 f#2 ~@2",
CO: "~@2 [g3,c4,e4]@2 ~ a2 [f3,a#3,d4]@2", // C A#
CP: "[~ [a2,e3]@3 [d3,a3] ~ [a2,e3]@8 a3@6 a3@2 a2 a3 ~@2 a2@2 e3@2 a3@2]/2", CQ: "~@5 a2@3, ~ [f#3,b3]@3",
CR: "[g3,c4,e4]!2 [f3,a#3,d4]!2", CS: "[a2,e3]@2 f#3 e3@5", CT: "a2 e3 a3 e3 a3 e3 a3 e3",
CU: "a2 f#3 b3 f#3 b3 f#3 b3 f#3", CV: "g3@2 e4 g3 [a2,f3]@4, a2 ~", CW: "[[e3,a3,c#4] a2 f#3 [e3,a3,c#4]@13]/2",
})).s("gm_electric_guitar_clean").gain(0.25).pan(1)
// chords · epiano1 · "E. Piano"
const epiano1 = note("<A B C D E F G H I J K L M N O P Q ~@89>".pickRestart({
A: "[g3,d4,g4]@8 a3 ~@3 d4@4, ~@2 g4 ~, ~@9 b3@7", B: "d4@4 [d4,g4]@4 a3 ~@3 [d4,g4]@4, a2@2 [d4,g4] ~, ~@9 b3@7",
C: "f3@2 c3@5 f3 e3@2 ~@2 [c4,d4,g4]@4, [d4,g4]@2 [d4,g4] ~, ~@5 c3@3", D: "[b3,g4] ~@3, g2@15 ~",
E: "~@4 [d4,g4]@4 [a3,b3] ~@3 d4@4, g2@2 [d4,g4] ~, ~@9 b3@7", // G5 Asus2 G5
F: "d4@4 [d4,g4]@4 a3 ~@3 d4@4, a2@2 [d4,g4] ~, ~@9 b3@7", // G5
G: "f3@2 c3@2 ~@2 [c4,g4]@2 e3@2 c3@2 d4 c4@3, [d4,g4]@3 ~ c4@2 ~@2, ~ g3 ~ g3", H: "[g2,b3,g4]@4 ~@2 [g2,b3]@9 ~",
I: "[d4,g4]@4 ~@4 b3 c#4 b3@2 c#4@2 b3@2, g2 ~, ~ [d4,g4]@2 [d4,g4]", // G5
J: "[d4,e4,g4]@4 [d4,e4,g4]@4 a3 b3@3 [g3,d4,e4,g4]@4, a2@2 [d4,e4,g4] ~", // Em7
K: "f3 c3@2 g3 e3 c3 [g3,d4]@2, [c4,g4]@3 [c4,g4]@3 ~@2", L: "[d3,b3,g4]@2 e3 [g3,b3,g4]@3 [f3,d4]@2",
M: "[d4,g4]@4 ~@4 b3 c#4 b3@2 c#4@2 b3@2, g2 [d4,g4]", N: "[d4,g4]@4 [d4,g4]@4 a3 b3@3 [g3,d4,g4]@4, a2@2 [d4,g4] ~",
O: "f3@2 c3@2 c4 d4 g4@2 e3@2 c3@2 [g3,d4]@4, ~ g3 c4 ~", P: "[g2,b3,g4]@4 ~@2 g2@9 ~",
Q: "[g2,d4,g4]@2 ~ [g2,d4,g4]@3 [f3,d4]@2", // G5 Dm
})).s("gm_epiano1").gain(0.25).pan(0.4)
// chords · piano
const piano = note(`<
~@8 A B C D E F G H I@2 J K L M N O P Q O R S T U V W X Y Z AA AB AC AA AD AE@2 AF AG AH AI AJ AK AL AM AN AO AP AQ AR
AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE
BX CF CG CH CI CJ CK CL CM CN@2
>`.pickRestart({
A: "[d4,g4]@2 [d4,g4]@2 g3 ~ [d4,g4]@2, g2@2 [d4,g4] ~, ~@5 g3@3", B: "[c#4,d4,g4]!2 [g3,c#4,d4,g4]!2, [a2,e3] ~",
C: "f2@4 g3@4 e2@4 [d4,g4] c4@3, [c4,d4,g4]@11 ~ g3@4", // G5 Csus2
D: "g2 d3 [e3,g3,c4] [g3,b3]@3 [g3,d4]@2, [g3,b3]@4 ~@2 g2@9 ~", // C G G5 G
E: "[g2,d3]@6 d3 g2 d3@2 g2!2 d3@2 g2@2, [b3,d4]@2 [b3,d4]!2", // G5 Bm
F: "[a3,c#4]@4 [a3,c#4]@4 [a3,c#4]@3 a2 [a3,c#4]@2 d4@2, [a2,g3]@5 ~ g3@2", // A A7
G: "[f2,g3,c4]@4 [g3,c4]@2 g3@2 [e2,e3,c4]@4 [e3,c4] c4@3, ~ f3 ~ c3", H: "[g2,g3,b3]@4 ~@2 [g2,g3,c4]@9 ~",
I: "[[g3,b3]@2 g3@2 [g2,g3,c4] ~ [g3,b3]@6 [f3,d4] ~@2 d2 ~@4 [g3,b3]@4 [g3,b3]@3 g2 [g2,g3,d4]@3 [f2,f3], g1@4 ~@2 g1@9 ~ g2@10 ~@6, ~@13 g3@7 ~@12]/2", // G C5 G Dm G G5 F
J: "[d#3,a#3]@4 [d#3,a#3]@3 d#2 [f3,g3,a3]@4 [f3,c4]@3 f2, d#2@7 ~ f2@7 ~", // D#5 F F5
K: "[c2,g2,e3]@4 f3 ~ [c2,g2]@4 ~@2 [f3,c4] g3@2 f3, ~@3 e3@3 ~@2, ~@5 c2@3", // C C5 F5
L: "[d3,b3]@4 [d3,b3]@3 g2 [g2,d3,d4]@3 g2 [g2,g3,d4]@2 g3 [f2,f3], g2@7 ~@9", // G G5 F
M: "[d#3,a#3]@4 [d#3,a#3]@3 d#2 [f3,a3]@4 [f3,c4]@3 f2, d#2@7 ~ f2@7 ~", // D#5 F F5
N: "[c2,e3,c4]@4 [f2,f3,c4] ~ [c2,e3,g3]@6 c2 d2@3", // C F5 C
O: "[d#3,a#3]@4 [d#3,a#3]@4 [d#3,a#3]@4 [d#3,a#3]@3 d#2, d#2@7 ~", // D#5
P: "[f2,f3,a3]@4 [c3,f3,a3]@3 f2 [f2,f3,a3]@4 [f2,c3,f3,a3]@2 c#3@2, ~@14 f#2 ~", // F
Q: "[g2,d3,g3,b3]@4 [g2,e3,g3,c4] ~ g2@4 g1@2 [g2,g3,d4] [f2,f3]@3, ~@3 [d3,g3,b3]@3 ~@2", // G C G5 F G
R: "[e3,g3,c4]@4 [f3,a3,c4]@4 [c3,e3,g3,c4]@5 [c3,c4]@2 c2, c2 ~", S: "[g2,g3,b3,d4]@4 g2@2 [g1,e3,g3,c4]@9 ~",
T: "[g1,d3,g3,b3]@3 g2!2 [g2,e3,g3,c4] ~ g2, ~@3 [e3,g3,c4]@2 ~ g2 ~, ~@13 [e3,g3,c4]@3", // G C
U: "[g3,b3]@2 ~@8 g1@2 [g3,d4] [d3,f3]@3, g1@9 ~@7, ~ [g3,d4]@2 ~", V: "[d#2,d#3,a#3] [f2,f3,a3]",
W: "[c2,e3,g3]@4 [f3,a3]@2 [c2,e3,g3]@7 [c3,c4]@3", X: "[d3,g3,b3]@5 g1 [d2,d3,g3,d4]@2, g2@9 ~@7",
Y: "[d#2,d#3,g3,a#3] [f2,f3,a3]", Z: "c2@2 c2@2 c2@2 [c2,g3,c4]@6 c2 d2@3, [g3,c4] ~@3",
AA: "[d#3,g3,a#3]@5 d#1 [d#2,d#3,g3,a#3]@2, d#2@9 ~@7", AB: "[f2,f3,a3]@8 f2 [c3,f3,a#3]@2 f2 c3@4, ~@11 [f3,a3]@5",
AC: "[g1,d3,g3,b3]@3 g2 ~@2 g2@4 g1@2 g2 g2@2 f2, ~@3 [d3,g3,b3]@3 [g3,d4]@2", // G G5
AD: "[f3,c4]@5 ~ [f3,c4]@2, c2@9 ~ c2@6", // F5
AE: "[g1 g2 g1 g2 g1 g2 g1 g2 g1 g2 g1 g2 g1 g2 g1 g2, [d3,g3,b3]@3 [e3,g3,c4]@3 [e3,g3,c4]@3 [d3,g3,b3]@2 [e3,g3,c4]@2 [e3,g3,c4]@3]/2", // G C G C
AF: "g2@2 ~@2 [g3,d4]@3 [g3,d4] g2@2 ~@2 [g3,d4]@4, ~ g2@3 ~ g2@3", // G5
AG: "a2 ~ [e3,c#4]@2 ~@3 a2, ~ a2@3 a2 a2@2 ~, ~@9 [e3,d4]@2 [e3,c#4]@5", // C#m E7 C#m
AH: "f2@4 [f3,a#3] a3@2 c3 ~@4 [e3,c4]@4, ~@4 c3@3 ~ c2@8", // A#5 C
AI: "[g3,b3]@4 [g3,c4] ~ g2@4 g1@2 [f3,g3] g3@2 d3, g1@3 [g3,b3]@3 c4@2", // G C5 Fsus2 G
AJ: "[g3,d4]@2 [g3,d4]@2 ~ g1 [g2,g3,d4]@2, g2@2 [g3,d4] ~", // G5
AK: "[e3,c#4]@4 [e3,c#4]@5 ~@3 a2@4, a1@9 [a3,d4]@2 [a3,c#4]@5, ~@5 a2 ~@2", // C#m D5 A
AL: "[f2,c3,f3,a3]@4 a#3 a3@3 [e3,g3]@4 [e3,c4]@4, ~ c3 [c2,g2]@2", // F Em C C5
AM: "g2@4 g1@2 g2@2 g1@2 [g2,g3,b3,d4]@2 ~ [g3,b3,d4]@3, [g3,b3,d4]@3 [g3,b3,d4]@2 ~ g2@2", // G
AN: "[g3,d4]@4 [g3,d4]@3 g1 [g2,g3,d4]@3 g1 [g2,g3,d4]@4, g2@7 ~@9", AO: "[e3,c#4]!4, [e2,a2]@15 ~",
AP: "[c3,a3]@4 [c3,a#3] [c3,a3]@3 [c3,g3]@4 [e3,c4]@4, [c2,f2] [c2,e2]", // F C7 F C5 C F5 C
AQ: "[g2,d3,g3,b3]@6 [e3,g3,c4]@4 [e3,c4]@3 [f3,d4]@3, ~@6 g2@9 ~", // G C Dm
AR: "[g1,g3,d4]@2 [g3,d4]@2 [g3,d4]@2 ~ [g3,d4]@2 [g3,d4] [g2,g3,d4]@2 [g3,d4] ~@2 [g3,d4], ~ g2@2 g2@2 ~ g2!2, ~@13 [g3,d4]@2 ~", // G5
AS: "[g2,g3,c#4]@2 [g3,c#4]@4 [g3,c#4]@4 [g3,c#4] [g3,c#4]@2 ~ [g3,c#4]@2, ~@10 g2@2 ~ g2@3", // Gdim
AT: "g2@2 g2@2 [g3,b3]@3 g2 g2@2 g2@2 [g3,c4,e4]@4, [g3,b3] ~ [g3,c4,e4] ~", // G C G C
AU: "g1 g2 ~ g1@2 g1 [g2,g3,c4]@2, [g3,b3,d4]@2 ~ [g3,c4,e4]@3 ~@2", // C5 G C
AV: "[g1,g2] [g1,g2,g3,b3,d4]!5 [g1,g2] [g#1,g#2], ~@3 [g3,b3,d4]", // G G# G
AW: "[a1,a2]@2 ~@2 [e3,a3,c#4]@6 a1 [a3,e4,a4]@2 [a3,e4]@3, ~@2 [a1,a2]@8 ~ a2@5", // A A5 A
AX: "f2@2 f2@2 c3@4 [a3,a#3] ~ g2@2 [d3,g3,b3,d4]@3 g2, [f3,c4]@4 g2 ~@3, ~@9 [g3,b3]@3 ~@4", // A#maj7 G F5 G
AY: "[d2,f#3,a3,d4]@4 [f#3,a3,d4] ~ d2@4 d2@2 ~ d3@2 d2, ~@3 [f#3,a3,d4]@3 [f#3,a3,d4]@2", // D
AZ: "a1!2 a2@3 a1 [a2,e3,a3,c#4]@2, [e3,a3,c#4]@11 ~@5", // A
BA: "[c3,f3,a3]@4 ~@2 f2 f#2 [g2,d3,g3,b3]@4 g2 d3@2 g2, f2@3 ~@5, ~ [c3,f3,a3] ~ [g3,d4]", // F G F G5
BB: "d2@2 d2@2 [d3,f#3,a3,d4] ~ d3@4 d2@2 ~ e2@3, [f#3,a3,d4]@2 ~ [f#3,a3,d4]@3 [f#3,a3,d4]@2", // D
BC: "f2!2 f2@3 f1 [c3,f3,c4]@2, [f3,c4] [f3,c4]@2 ~", BD: "[g2,g3,d4]@2 d3@3 g2 [d3,g3,d4]@2, ~ [g3,d4]@2 ~",
BE: "[a2,e3,c#4]@4 [e3,d4]@2 [a2,e3,c#4]@3 ~ a2@2 ~ a2@2 a2, ~@9 a3@3 a3@4", // A E7 A
BF: "f2@2 ~@2 [f3,c4]@4 ~@2 c2@2 [f2,f3] [e2,e3] ~ [d#2,d#3], a3 ~@3, ~ f2@4 ~@3", // F5 F E D#
BG: "d2@2 ~@2 [a3,d4]@4 [d2,a3,d4]@3 [d2,a3,d4] [d3,a3,d4]@3 d2, [d3,f#3] ~@3, ~ d2@3 ~@4", // D5 D
BH: "a1!2 [a2,a3,c#4] [a2,a3,d4]@2 [a2,a3,d4]!3, [a3,c#4] ~@3", // A D5 A
BI: "a2@2 a2@2 a2@2 a2@2 a2@2 a2@2 [a2,e3,a3,d4] [a2,e3,a3,d4]@2 [a2,e3,a3,d4], [e3,a3,c#4]!2 [e3,a3,d4] ~", // Asus4 A Dsus2
BJ: "a1!2 a2@3 a1 [a2,e3,a3,c#4]@2, [e3,a3,c#4] [e3,a3,c#4]@2 ~", // A
BK: "b1!2 b2 b2@2 b1 [b2,f#3,b3]@2, [f#3,b3,d#4] [f#3,b3]@2 ~", // B5 B B5
BL: "g1@2 g1@2 ~ g2@2 g2 [f#3,a3,d4]@4 [f#3,a3,d4]@4, [g3,b3,d4]!2 d2@2", // D G
BM: "a1@2 a1@2 [a2,a3,d4] ~ a1@4 a1@2 [a2,f#3,a3,d4]@4, [e3,a3,c#4]@2 ~ [e3,a3,c#4]@3 ~@2", // D5 D A
BN: "a1@2 a1@2 [a2,e3,a3,c#4]@5 ~@4 [a3,a4]@2 [a#3,a#4], [e3,a3,c#4]@4 ~@5 a3@2 a3@2 ~@3, ~@5 a1 a2@2", // A A# A
BO: "b1@2 b1 ~@3 b1@2 ~@4 b1@2 [b1,f#3,b3,d#4]@2, [b3,b4]@3 b1@3 ~@2 b1@2 b1@2 ~@4, ~@4 [f#3,b3,d#4]@5 [e3,a3,c#4]@2 [f#3,b3,d#4]@3 ~@2", // B A B
BP: "g1@2 g1@2 [g3,c4] b3@3 d2@2 ~@4 d2@2, [g3,b3,d4] g2 [f#3,a3] [f#3,a3,d4], ~@5 d1@2 ~", // C5 G F#m D
BQ: "[a1,e3,a3,c#4]@4 [a2,f#3,a3,d4]@2 [a2,e3,a3,c#4]@4 [a1,a3,a4]@2 ~ [a3,a4]@3, ~@3 a2", // A D A
BR: "a2!2 [a3,c#4,e4,a4]@2 [a3,c#4,e4,a4]@2 a3!2, [a3,c#4,e4] ~@2 [c#4,e4,a4]", // A
BS: "[a2,b3,d#4,f#4,a4]@2 [a2,b3,d#4,f#4,a4]@2 a2 ~@2 a2, ~@2 [b3,d#4,f#4,a4]!2, ~@5 a2@2 ~", // B7
BT: "[a2,c4,e4,g4,a4]@2 [a2,c4,e4,g4,a4]@2 a2 ~@2 a2, ~@2 [a#3,d4,f4,a4]!2, ~@5 a2@2 ~", // Am7 A#maj7
BU: "a2@2 a2@2 [a2,d4,f#4,a4]@2 [a2,c#4,e4,a4]@4 [a2,d4,f#4,a4]@3 [a2,d4,f#4,a4]@3, [c#4,e4,a4] ~@3", // D A D A
BV: "a2!8, [c#4,e4,a4]!4", BW: "a2!8, [b3,d#4,f#4,a4]!4", BX: "a2!8, [c4,e4,g4,a4]!2 [a#3,d4,f4,a4]!2",
BY: "[a2,c#4,e4,a4]@4 [a2,d4,f#4,a4] ~ [a2,c#4,e4,a4]@4 [a2,d4,f#4,a4]@3 [a2,d4,f#4,a4]@3", // A D A D
BZ: "[a1,c#4,e4,a4]@4 a2@4 a1@2 [a2,e4,a4,e5]@3 [a2,e4,a4,e5]@3, ~@2 [e4,a4,e5]@3 ~@3", // A A5
CA: "a1@3 a2@3 [a2,b3,d#4,f#4]@4 [a2,b3,d#4,f#4]@2 [a2,b3,d#4,f#4]@4, [f#4,b4,d#5]@3 ~@5", // B7 B
CB: "a2!6 [a2,a#3,d4]!2, [c4,e4,g4]!2 [a#3,d4] ~", // A#maj7 C A#
CC: "a2@2 a2@2 [a2,a3,d4] ~ [a2,a3,c#4]@4 [a2,a3,c#4]@3 [a2,a3,d4]@3, [a3,c#4] ~@3", // D5 A D5 A
CD: "a2@2 a2@2 [a2,a3,c#4,e4]@2 ~ [a3,c#4,e4] [a2,a3]@2 [a3,a4] ~@2 [a3,a4] [a2,a3,a4]@2, [a3,c#4,e4]@2 ~ a2 ~ a2!2 ~, ~@11 [a3,a4]@2 ~@3", // A
CE: "[a2,b3,d#4,f#4]@2 ~ [a3,a4] [a2,a3,a4]@2 a2@2 a2@2 [a2,a3,a4]@2 ~@3 [a3,a4], ~ a2 ~ [a3,a4]@2 ~ a2!2, ~@13 [a3,a4]@2 ~", // B7 A
CF: "[a2,a3,c#4,e4]@4 [a2,a3,d4,f#4] ~ [a2,a3,c#4,e4]@6 [a2,a3,d4,f#4]@4", // A D A D
CG: "[c#4,e4] a3 a4 a3 ~@2 e4 a3, a2@2 [c#4,e4] ~, ~@5 a2@3", // C#m
CH: "[b3,d#4] f#3 b3 f#3 [b3,f#4] f#3 [b3,d#4] f#3, a2@9 ~ a2@6", // B B5 B
CI: "[c4,e4] g3 [c4,g4]@2 [a#3,d4] f3 a#3 f3, a2@9 ~ a2@6", CJ: "[a3,c#4]@2 e3@2 [f#3,d4]@2 [a2,e3,c#4]@9 ~, a2 ~@3",
CK: "[a3,e4] e3 [a3,e4] e3 [a3,e4] e3 [a3,e4] e3, a2@15 ~", // A5
CL: "[b3,d#4] f#3 [b3,d#4] f#3 f#4 f#3 [b3,d#4] f#3, a2@15 ~", // B
CM: "[c4,e4]@2 g3@2 [c4,g4]@2 g3@2 ~ d4@7, a2 [a2,f3,a#3]", // C C5 A#maj7
CN: "[a2@2 a2@2 [f#3,a3,d4]@2 [a2,e3,a3,c#4]@25 ~, [e3,a3,c#4] ~@7]/2", // D A
})).s("gm_piano").gain(0.49).pan(0)
// bass · electric bass finger · "E. Bass"
const bass = note(`<
~@30 A B ~ A B ~ C B@2 C B C B D E F B C E F C@4 G C@3 B 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
AH@2 AI AJ AK AL AM AN AO@2 AP AQ AR@2 AS ~@4 AT@2
>`.pickRestart({
A: "g1@2 ~@8 g1@2 ~@3 g1", B: "g1 ~@7", C: "g1@2 ~@13 g1", D: "g1@2 g1@2 ~@11 g1", E: "a1 ~@7", F: "f1@2 ~@13 f1",
G: "g1@2 ~@7 c2 d2 a#1 g1!2 a1@2", H: "g1@2 g1@2 g1@2 g1@2 g1@2 g1!2 g1@2 g#1@2",
I: "a1@2 a1@2 c#2@2 c#2!2 d2@2 d2@2 e2 a1!2 g#1", J: "f1@2 f1@2 c2 f1@2 f#1 g1 g2!2 c#2 d2 g1!2 ~",
K: "d2@4 f#2 g2@2 a2@3 g2@2 f#2 d2 e1@2, ~@7 g2 ~@8", L: "a1@2 a1@2 a2@3 a2@2 g2 e2@2 a1@2 e2@2",
M: "f1@2 f1@2 c2 f1@2 f1 g1@2 a2@2 g2@2 e2@2, ~@10 g2 ~@5", N: "d2@2 a2@2 d3 ~ d3@3 a2 f#2 e2 d2@2 a2 c3",
O: "f2@2 f3 a2 c3 f2 f2@2 a2 f2@2 e1 f1!2 c2@2", P: "g1 g1@2 g2 ~@2 g2@2 a2 d2 e2@2 g1@2 g1@2",
// … 105 more lines
More by Yoko Kanno
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.