0:00/0:00
// Dottore — Mina
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 146 bars on a 16-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 · epiano1
const epiano1 = note(`<
~ 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 AB AC ~ W X Y Z AA AB AC AD I J K L M N AE AF AG AH AI AJ
AK AL@2 AM AN AO AP AQ AR AS AT AU AV AW AX P Q R S T U V ~ W X Y Z AA AB AC ~ W X Y Z AA AB AC AY ~@16 W X Y Z AA AB
AC ~ W X Y Z AA AB AC AD ~ I J K L I J K L AZ BA@2 BB@4 ~@6
>`.pickRestart({
A: "[f2,f3]@2 [f2,f3] ~ [a3,eb4,ab4]@2 ~ [a3,eb4,ab4] f2 [a3,eb4,ab4] f3@2 [a3,eb4,ab4]@4, ~@5 f2@2 ~", // F Ab
B: "bb2@2 bb2 ~ [ab3,c4,f4] ~ bb2 [ab3,db4,gb4,g4] ~ [ab3,c4,f4] ~@2 [ab3,c4]@2 [a3,d4,g4] ~, ~@7 d4@2 ~ bb2@5 ~, ~@12 f4 ~@3", // Fm Dbsus4 Fm Ab Dsus4
C: "f2@2 f3@2 [a3,eb4,ab4]@2 ~ [a3,eb4] f3 [a3,eb4,ab4] f3@2 ~@2 f3 ~, f3 ~@9 f2@5 ~, ~@3 [a3,eb4,ab4]", // Ab Adim Ab
D: "bb2@2 db3 ~ [ab3,c4,f4]@2 ~ [ab3,db4,d4,gb4,g4] bb2 [ab3,c4,f4] bb2@2 [ab3,c4,f4]@2 d4@2, ~@12 eb4 ~ g4 ~", // Fm
E: "db3@2 db3 ~ [b3,eb4,f4]@2 ~ [b3,eb4,f4,ab4] ~ [b3,eb4,f4,ab4] db3 ~ [b3,eb4,f4,ab4]@2 db3 ~, ~@4 ab4 ~@3 db3@2 ~@6", // Fm7b5
F: "c3@2 c3 ~ [bb3,eb4,e4,ab4]@2 [c2,c3] bb3 c3 [bb3,eb4,e4,ab4] c3@2 [bb3,eb4,e4,ab4]@2 c3 ~, ~@8 c2@7 ~", // Ebsus4 C Ebsus4
G: "f2 ~ f2@2 [a3,c4,f4]@2 f2 [bb3,eb4,gb4] f2 [a3,c4,f4] ~@2 [a3,eb4,f4] ~ [bb3,d4,g4] ~, ~@7 [d4,g4]@2 ~ f2@4 ~@2, ~@6 c4 ~", // F Ebm F F7 Gm G5
H: "~@2 [bb2,bb3]@2 b2@2 [c3,c4]@5 ~ c4 b3 ~@2, ~@4 b3 ~@7 c3@2 ~@2", I: "~@11 eb3 [a3,eb4,ab4]@3 ~",
J: "[ab3,c4,f4]@10 ~ bb2 [ab3,g4]@2 f4 ~, ~@12 d4 ~@3", K: "~@9 [a3,c4,f4] ~@2 [a3,g4]@2 [c4,f4] ~, ~@12 d4 ~@3",
L: "~@7 [ab3,c4,f4] ~ [ab3,c4,f4] ~ bb2 [ab3,g4]@2 [c4,f4] ~, ~@12 d4 ~@3", M: "~@2 f4@11 ~ c3 ~, ~ [b3,eb4,ab4]@7",
N: "[e4,ab4]@3 ~", O: "~@6 [bb3,d4,g4] [c4,eb4,ab4] ~ [c4,eb4,ab4] [bb3,d4,g4] ~ [a3,c4,f4] ~@3",
P: "[f3,a3]@4 [g3,bb3]@4 [ab3,b3]@3 ~ [a3,c4]@2 ~@2", Q: "[d4,f4]@3 [eb4,g4]@3 [d4,f4] ~@9",
R: "[f3,a3]@3 ~ [g3,bb3]@3 ~ [ab3,b3]@3 ~ [a3,c4]@2 ~@2", S: "[d4,f4]@5 ~@2 [a3,db4,e4]@8 ~",
T: "[a3,c4,d4,f4]@5 ~@2 [bb3,db4,f4,g4]@8 ~", U: "[g3,b3,d4]@8 [g3,c4,f4]@3 ~ [g3,c4,e4]@4, f4@3 ~@5",
V: "[a3,c4,f4] ~@7", W: "f2 ~ f2 ~ [a3,c4] d4 ~ [a3,eb4,g4] ~ [a3,eb4,g4] d4 ~ [eb4,f4] ~ d4 ~, ~@6 a3 ~",
X: "bb2 ~ bb2@2 ab3 ~@2 [ab3,d4,f4] ~ [ab3,eb4,f4] d4 ~ [ab3,eb4,f4]@2 d4 ~", // Ddim Fm7
Y: "db3 ~ db3@2 [b3,eb4,f4,ab4]@3 b3 c3 ~ c3@2 [bb3,e4,ab4]@3 ~, ~@12 eb4 ~@3", // Fm7b5 Bbm7b5
Z: "f2 ~ f2 ~ [a3,c4,eb4] [d4,f4] ~ [a3,db4,eb4,g4] ~ [g3,a3,eb4,g4] eb4 ~ [a3,eb4,g4]@2 [d4,f4] ~", // Adim Dm A7 Am7b5 Dm
AA: "f2 ~ f2@2 [c4,eb4] [d4,f4] ~ [a3,eb4,g4] eb3 [a3,eb4,g4] d4 eb3 [a3,c4]@2 [a3,d4] ~, ~@4 a3@2 ~@6 eb4 ~@3", // Cm Dm Am7b5 Am D5
AB: "bb2 ~ bb2@2 [ab3,bb3,d4] ~ bb2 [ab3,eb4,f4] bb2 [ab3,eb4,f4] d4 bb2 [ab3,f4]@2 d4 ~, ~@12 eb4 ~@3", // Bb7 Fm7 Db
AC: "db3 ~ db3@2 [b3,eb4,f4,ab4]@3 [b3,f4] c3 ~ c3@2 [bb3,eb4,e4]@2 ~ [bb3,eb4,e4], ~@12 ab4@3 ~", // Fm7b5 Bdim Eb
AD: "[f3,c4,f4] ~@7", AE: "[db4,eb4,g4,a4]", AF: "[b3,d4,f4,a4]", AG: "~ bb3, [d4,f4,a4]", AH: "[a3,c4,e4,g4]",
AI: "~@3 a4, [db3,db4,e4,g4]", AJ: "[d3,d4,f4] [db3,db4,f4]", AK: "[c3,f4,a4]",
AL: "[[b2,d4,f4,a4]@15 ~ [f4,a4]@16, ~@15 bb2@17]/2", AM: "f5@2 ~ g4, eb3, db4@7 ~, g4@5 c5@3, c5 f5",
AN: "ab3 ~@2 ab4, eb4, ~ ab3@3, ~ g4", AO: "~ g3, [d4,g4], b3@3 ~", AP: "[b3,d4,f4]!2, b2",
AQ: "[c3,c4,eb4] [bb2,bb3], g4", AR: "a3@5 ~@2 eb4, [a2,g4], c4@3 c4, ~@5 a3@3",
AS: "ab3!2 [ab3,c4,eb4,g4]@2, ab2, [c4,eb4] ~", AT: "[f2,f3]@2 ~ g2@2 ~ [ab2,ab3]@7 ~@3, ~@3 g3 ~@12",
AU: "[gb2,gb3]@2 ~ [ab2,ab3] ~@2 [a2,a3]@9 ~", AV: "[bb3,d4,f4] [c4,e4,g4] [db4,f4,ab4] [eb4,g4,bb4]",
AW: "[e4,g4,c5]", AX: "[c3,c4,g4,c5] ~@7", AY: "[f3,c4,f4]@2 ~@2 [f3,c4,eb4]@3 [c3,bb3,d4]@6 ~@3, ~@4 f4@9 ~@3",
AZ: "~@2 [f3,c4,f4]@3 ~@5 [f3,c4,f4]@2 ~@4", // F5
BA: "[~@4 [c4,f4]@17 ~@7 g4 ~ eb4 ~, ~@4 [f2,f3]@22 bb4 ab4@2 ~@3, ~@4 c5@19 f5@6 ~@3, ~@22 [c4,f4,g5,c6]@7 ~@3, ~@22 bb4@2 c5@5 ~@3]/2", // F5 F Csus4
BB: "[~@2 bb3 eb4 c4 [bb3,eb4] c4 ~@2 bb3 ~@3 c4@2 eb3 ~@3 b3@2 gb3@32 ~@11, ~@5 f2@16 ~@43, ~@3 eb3@4 ~ f3@2 ~@22, ~@8 f3@2 ~ eb4@4 ~@4 c4 ~@44, ~@12 bb3@3 ~@3 bb3@2 ~@44]/4", // Eb5
})).s("gm_epiano1").gain(0.26).pan(0.3)
// chords · epiano1 · soft notes
const epiano1_soft = note(`<
~ A B C D ~@3 E ~@3 F ~ G ~@10 H I ~ J K L M ~ H I ~ J K L M ~@4 F ~ G ~@6 N O@2 P N Q ~@2 R ~@14 H I ~ J K L M ~ H I
~ J K L M ~@17 H I ~ J K L M ~ H I ~ J K L M ~@5 F ~@3 F ~@13
>`.pickRestart({
A: "~@6 c3 ~@9", B: "~@8 bb2 ~@7", C: "~ f2@3 ~@4", D: "~@6 bb2 ~@9", E: "~@14 [g3,a3] f3", F: "bb2 ~ ab3 ~@13",
G: "bb3@3 ~", H: "~@14 e4 ~", I: "~@6 bb2 ~ bb2 ~@2 bb2 ~@4", J: "~@10 a3 ~@5", K: "~@6 eb3 ~@9", L: "~@5 bb3 ~@10",
M: "~@7 eb4 ~@8", N: "c4", O: "[~@15 [bb3,d4]@17]/2", P: "~@7 db4", Q: "g3@2 ~ b3, g2", R: "eb4@7 ~",
})).s("gm_epiano1").gain(0.15).pan(0.3)
// chords · electric guitar muted
const electric_guitar_muted = note(`<
~@9 A B C D E F G H I J K L M N O ~ P Q R S A T U V A W U X P W Y Z P T AA AB E AC ~@21 AD AE K AF M AG O ~ P W U AH P
AI AJ AK P AL R AM P W R Z ~@16 P W AJ AK P T AJ AN P T U V P AO AJ Z ~ AP AQ AA AR P T AA AS ~@13
>`.pickRestart({
A: "[a3,eb4,f4]@3 [a3,eb4,f4]!2 ~@5 [a3,eb4,f4] ~@2 [a3,eb4] ~@2", // F7 Adim
B: "f4 f4@2 [d4,f4] [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, [ab3,d4]@3 ~@13", // Dm Ddim Abdim
C: "[a3,eb4,f4]@3 [a3,f4] [a3,eb4,f4] ~@5 [a3,eb4,f4] ~@2 [a3,eb4] ~@2", // F7 Dm F7 Adim
D: "[ab3,d4]@3 [ab3,f4] [ab3,d4,f4] ~@5 [ab3,d4] ~ eb3 [ab3,d4] ~@2, f4 ~@15", // Abdim Db Ddim Abdim
E: "[b3,eb4,f4]@2 ~@2 [b3,eb4,f4] ~@5 [b3,eb4,f4] ~@2 [b3,eb4,f4] ~@2", // Fm7b5
F: "[c4,e4]@2 e4 [c4,e4] c4 ~@5 [c4,e4] ~@2 [ab3,c4] ~@2", // C Ab
G: "[a3,eb4,f4]@3 [a3,eb4,f4]!2 ~@5 [a3,eb4,f4] ~ eb3 [a3,eb4,f4] ~@2", // F7
H: "~@2 [g3,c4] ~ [c3,g3,c4] [g3,c4] ~ [g3,c4] ~ [g3,c4] ~ [g3,c4]!2 gb3 ~@2", // C5
I: "~@2 [f3,c4,f4]@2 ~@3 [f3,c4] ~ [f3,c4] ~@2 [f3,c4,f4]@2 [f3,c4,f4] ~", // F5
J: "~@2 [ab3,d4] d4 ~ d4 bb3 [f3,ab3,d4]@2 [ab3,d4] ~@2 [f3,ab3,d4]@2 [ab3,d4] ~", // Abdim Ddim Abdim Ddim Abdim
K: "~@2 [f3,c4,f4]@3 f4 ~ [f3,c4] ~ [f3,c4,f4]@2 c4 [f3,c4,f4]@2 [f3,c4] [c4,f4]", // F5
L: "~@2 d4 ~ bb3 [d4,f4] ~ [db4,e4]@3 [db4,e4] e4 ~ e4 ~@2, ~@7 a3@5 ~@4", // Dm Dbm
M: "[a3,d4,f4]@2 [a3,d4,f4] [d4,f4] a3 [a3,d4,f4] ~ eb4 ~ eb4@2 f4 ~ f4 ~@2, ~@7 bb3@8 ~, ~@7 f4@4 ~@5", // Dm
N: "~@3 [g3,b3,d4] ~ [g3,b3,d4] d4 ~@2 [g3,c4] ~ c4 [g3,bb3,c4] ~ [g3,bb3,d4] ~", O: "[f3,c4,f4] ~@7",
P: "[a3,eb4,f4]@3 [a3,eb4,f4]!2 ~@5 [a3,eb4] ~@2 [a3,eb4] ~@2", // F7 Adim
Q: "[ab3,d4]@3 f4 [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Ddim
R: "[b3,db4,f4]@3 f4 [b3,db4,f4] ~@5 [bb3,c4,e4] ~@2 [bb3,c4] ~@2", // Db7 C7 Bbsus2
S: "[f3,c4]@3 [c4,f4] [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, f4 ~@15", // F5
T: "[ab3,d4]@3 ~ [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Ddim
U: "[b3,db4,f4]@3 b3 [b3,db4,f4] ~@5 [bb3,c4,e4] ~@2 [bb3,c4] ~@2", // Db7 C7 Bbsus2
V: "f4 f4@2 ~ [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, [f3,c4]@3 ~@13", // F5
W: "[ab3,d4]@3 d4 [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Ddim
X: "f4 f4@2 f3 [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, [f3,c4]@3 ~@13", // F5
Y: "[b3,db4,f4]@3 ~ [b3,db4,f4] ~@5 [bb3,c4,e4] ~@2 [bb3,c4] ~@2", Z: "[f3,c4,f4] ~@15",
AA: "[a3,eb4,f4]@3 a3 [a3,eb4,f4] ~@5 [a3,eb4,f4] ~@2 [a3,eb4] ~@2", // F7 Adim
AB: "f4 f4@2 d4 [ab3,d4,f4] ~@5 [ab3,d4] ~ eb3 [ab3,d4] ~@2, [ab3,d4]@3 ~@13", AC: "[c4,e4]@3 ~@13",
AD: "~@2 [f3,c4,f4]@2 ~@3 [f3,c4,f4] ~ [f3,c4,f4] ~@2 [f3,c4,f4]@2 [f3,c4,f4] ~", // F5
AE: "~@2 [ab3,d4] d4 ~ d4 bb3 [f3,ab3,d4]@2 [f3,ab3,d4] ~@2 [f3,ab3,d4]@2 [ab3,d4] ~", // Abdim Ddim Abdim
AF: "~@2 d4 ~ bb3 [d4,f4] bb3 [db4,e4]@3 [db4,e4] e4 ~ e4 db4 ~, ~@7 a3@5 ~@4", // Dm Dbm
AG: "~@3 [g3,d4] ~ [g3,b3,d4] d4 ~@2 [g3,c4] ~ c4 [g3,bb3,c4] ~ [g3,bb3,d4] ~", // G5 G C5 C7 Gm
AH: "[f3,c4]@3 f4 [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, f4 ~@15", // F5
AI: "[ab3,d4]@3 [ab3,f4] [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Db Ddim
AJ: "[b3,db4,f4]@3 [b3,f4] [b3,db4,f4] ~@5 [bb3,c4,e4] ~@2 [bb3,c4] ~@2", // Db7 Bdim Db7 C7 Bbsus2
AK: "[f3,c4]@3 ~ [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, f4 ~@15", // F5
AL: "[ab3,d4]@3 [ab3,d4] [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Ddim
AM: "[f3,c4]@3 c4 [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, f4 ~@15", // F5
AN: "[f3,c4]@3 f3 [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, f4 ~@15", // F5
AO: "f4 f4@2 [ab3,d4] [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, [ab3,d4]@3 ~@13", // Abdim Ddim Abdim
AP: "~@10 [a3,eb4,f4] ~@2 [a3,eb4] ~@2", // F7 Adim
AQ: "[ab3,d4]@3 ab3 [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Ddim
AR: "[ab3,d4]@3 d4 [ab3,d4,f4] ~@5 [ab3,d4] ~ eb3 [ab3,d4] ~@2, f4 ~@15", // Abdim Ddim Abdim
AS: "f4 f4@2 ~ [ab3,d4,f4] ~@5 [ab3,d4] ~ eb3 [ab3,d4] ~@2, [ab3,d4]@3 ~@13", // Ddim Abdim
})).s("gm_electric_guitar_muted").gain(0.06).pan(0.6)
// other · pan flute
const pan_flute = note(`<
A B C@2 D E F@2 ~@8 G@2 H I J K L ~@9 M N O P@2 Q R S T@2 U V W X Y ~@10 Z@2 AA@2 AB AC ~@6 AD@2 AE@2 AF AG ~@8 M N O
P@2 Q R S AH ~@23 M N O P@2 Q R S AH ~@22
>`.pickRestart({
A: "~@14 c6 ~", B: "c6@2 f5 ~@13",
C: "[~@2 bb5 ~ bb5@2 ab5 ~ bb5@2 ab5 ~ bb5@2 ab5 c6@3 a5@4 f5@3 ~@7, ~@4 ab5 ~@27]/2",
D: "~@2 bb5 ~ bb5@2 ab5 ~ bb5@2 ab5 ~ bb5@2 ab5@2, ~@12 ab5 ~@3", E: "b5@3 ab5@3 ~@2",
F: "[~@2 f5 ~ f5 ~ f5 ~ f5@2 f5 ~ f5@2 f5 ab5@3 f5@5 ~@9]/2", G: "[~@12 c6 ~ c6@4 c6 ~@13]/2",
H: "~@2 ab5 ~ bb5@2 ab5 bb5@3 ab5@2 bb5@2 ab5 ~", I: "c6@2 a5@4 f5@5 ~@5",
J: "~@2 bb5 ~ bb5 ~ bb5 bb5@2 ~ bb5@2 bb5 ~ bb5@2", K: "a5@3 ~ a5@2 g5@4 f5@5 ~",
L: "~@2 g5 ~ g5@2 g5@2 g5@3 ~ g5 ~ f5@2", M: "~@10 f5 ~ f5 ~ f5 ~", N: "ab5!2 f5 ~@6 f5 ~@2 f5 ~ f5 ~",
O: "ab5!2 f5 ~@7 f5 ~ f5 ~ f5 ~", P: "[ab5!2 f5 ~@5 f5 ~ f5 ~ f5 ~ f5@5 ~@7 c6@2 bb5@2 ab5@2, ~@26 bb5 ~@5]/2",
Q: "bb5@6 ab5@2 ~@2 c6@2 bb5@2 ab5 ~, ~@10 bb5 ~@5", R: "bb5@2 ab5 f5@6 ~ f5 ~ f5 ~ f5 ~",
S: "ab5!2 f5@5 ~@3 f5 ~ f5 ~ f5@2", T: "[f5 ~@11 c6 ~ c6@4 c6 ~@13]/2",
U: "~@2 ab5 ~ bb5@2 ab5 bb5@2 ab5@2 ~ bb5@2 ab5 ~", V: "c6@2 a5@4 f5@5 ~@5, ~@2 ab5 ~@13",
W: "~@2 bb5 ~ bb5@2 ab5 bb5@2 ab5@2 ~ bb5@2 ab5 ~", X: "b5@3 ab5@3 ~@2, bb5 ~@15",
Y: "~@2 f5 ~ f5 ~ f5 f5@3 f5@4 f5@2", Z: "[~@2 c5@2 ~@2 c5 ~ eb5@2 ~ c5@2 eb5@2 f5@4 d5@7 ~@6, ~@5 eb5@2 ~@25]/2",
AA: "[~@2 g5@2 ~ g5 ~ g5 ~ g5@2 g5@2 c6@2 g5@4 f5@2 ~ eb5 ~ eb5@3 ~@2 c5 ~ c5, ~@21 f5@2 ~@9]/2",
AB: "c5@2 d5@2 eb5 ~ f5 g5@3 g5 ~@3 c5!2", AC: "c5@3 d5@2 ~ f5 ~ g5@2 g5 ~@5, ~@5 eb5@2 ~@9",
AD: "[~@2 ab5 ~ bb5@2 ab5 ~ bb5 ~ bb5@2 ab5@2 c6@4 ab5@5 f5@6 ~@3]/2",
AE: "[~@2 ab5 ~ bb5@2 ab5 ~ [ab5,bb5] ~ bb5@2 bb5 ~ a5@5 ~ a5@2 g5@4 f5@5 ~, ~@14 ab5 ~@7 f5 ~@9]/2", // Absus2
AF: "~@2 ab5@2 ab5 ~ ab5 ~ ab5 ~ ab5 ~ ab5@2 ab5@2", AG: "~ ab5 ~@14", AH: "f5 ~@15",
})).s("gm_pan_flute").gain(0.41)
// other · brass section
const brass_section = note("<~@92 A B C D E F G H I@2 J K L M N O P ~@25 Q@2 R@2 ~@8>".pickRestart({
A: "~@2 [c4,c5] ~ [bb3,bb4]@2 [ab3,ab4] [bb3,bb4] ~@8", // C Bb Ab Bb
B: "~@2 [c4,c5] ~ [bb3,bb4]@2 [ab3,ab4] [bb3,bb4] ~ [c4,c5]@3 [ab3,ab4]@2 [f3,f4] ~", // C Bb Ab Bb C Ab F
C: "[eb4,eb5]@2 [d4,d5] [db4,db5] [c4,c5]@2 [b3,b4] [bb3,bb4] [a3,a4] [bb3,bb4] [b3,b4] [eb4,eb5] [b3,b4] ~@3", // Eb D Db C B Bb A Bb …
D: "~@3 [f4,f5]@2 [c4,c5] [bb3,bb4]@2 [bb3,bb4] [c4,c5] [ab3,ab4] [f3,f4] ~@4", // F C Bb C Ab F
E: "~@4 [ab3,ab4]@2 [f3,f4] [bb3,bb4] ~ [ab3,ab4] ~ [bb3,bb4] [ab3,ab4]@2 [bb3,bb4] ~", // Ab F Bb Ab Bb Ab Bb
F: "~@4 [ab3,ab4]@2 [f3,f4] [bb3,bb4] ~ [bb3,bb4]@3 [bb3,bb4] ~@3", // Ab F Bb
G: "~@3 [f3,f4]@3 [a3,a4]@3 [ab3,ab4]@2 [g3,g4]@2 [f3,f4]@2 [e3,e4]", // F A Ab G F E
H: "[f3,f4] [ab3,ab4] [bb3,bb4] [c4,c5] [f4,f5] [c4,c5] [eb4,eb5] [d4,d5] ~@4 [c3,c4] [db3,db4] [d3,d4] ~", // F Ab Bb C F C Eb D …
I: "[~@4 [f4,ab4,c5]@3 ~@5 [ab3,ab4]@2 [f3,f4] [bb3,bb4]@3 [ab3,ab4] ~ [f3,f4]@2 [eb3,eb4] [ab3,ab4]@2 ~ [f3,f4]@5 ~]/2", // Fm Ab F Bb Ab F Eb Ab …
J: "~@2 [f3,f4] ~@2 [eb3,eb4] ~@2 [b2,b3] [c3,c4] [db3,db4] [d3,d4] ~ [eb3,eb4] [e3,e4] [f3,f4]", // F Eb B C Db D Eb E …
K: "~@4 [ab3,ab4] ~ [f3,f4] ~ [ab3,ab4]@3 [bb3,bb4] ~@4", L: "[c4,c5] ~@3 [bb3,bb4] ~@3 [ab3,ab4]@3 [f3,f4] ~@4",
M: "~@2 [eb3,eb4]@2 [f3,f4]@2 [ab3,ab4]@2 [bb3,bb4]@2 [f3,f4] [ab3,ab4]@3 [bb3,bb4] ~", // Eb F Ab Bb F Ab Bb
N: "[c4,c5] ~@3 [bb3,bb4] ~@3 [ab3,ab4]@3 [bb3,bb4] ~ [ab3,ab4]@3", O: "~ ab4 bb4 c5, [f3,f4]", P: "[f3,ab4]@7 ~@9",
Q: "[~@10 [c4,f4]@2 [eb4,ab4]@2 [c4,f4]@7 ~ [bb3,eb4]@2 [c4,f4]@3 [bb3,eb4]@5]/2", // F5 Ab5 F5 Eb5 F5 Eb5
R: "[[c4,f4]@3 [eb4,ab4]@2 f4@13 ~@14, gb4 ~@4 c4 ~@26]/2", // F5 Ab5
})).s("gm_brass_section").gain(0.29)
// chords · percussive organ
const percussive_organ = note(`<
~@2 A B C D E ~@2 F G H I J K L M N O P Q R S T@2 U V W@2 X Y Z AA U V W@2 X Y Z AB F G H I J AC AD AE AF AG AH@5 AI
AJ AK@4 AL AM AN AO AP AQ ~ O P Q R S AR ~ U V W@2 X Y Z AS U V W@2 X Y Z AB ~@16 U V W@2 X Y Z AA U V W@2 X Y Z AB ~
AT G H I F G H I AU AV@2 AW AX@5 AY@4
>`.pickRestart({
A: "[ab4,c5,d5,f5]@3 [c5,d5] ~@12", B: "[a4,c5,eb5,g5]@3 ~@13",
C: "[ab4,c5,d5,f5]@2 ~ [d5,f5] ~@2 [ab4,d5,g5]@3 ~@7, ~@6 c5 ~@9", // Dm7b5 Dm G
D: "~ c6 eb6 f6 ab6 ~ eb6 ~ f6@3 eb6 ~@2 [ab5,bb5] ab5", E: "bb5 ab5 f5 ~@13",
F: "~@6 [a4,c5,eb5,f5]@4 [a4,eb5,f5] ~@5", G: "~@6 [ab4,c5,d5,f5]@4 [ab4,c5,d5,f5] ~@5",
H: "~@6 [a4,c5,eb5,f5]@4 [a4,c5,eb5,f5] ~@5", I: "~@6 [ab4,c5,d5,f5]@3 ~ [ab4,c5,d5,f5] ~@5",
J: "~@6 [b4,eb5,f5,ab5]@8 a4 ~", K: "c6@11 ab5 bb5@2 ab5 ~, bb5 ~@15",
L: "~@6 [a4,c5,eb5,f5]@4 [a4,eb5] ~@2 [a4,c5,eb5,f5] ~@2", M: "~@12 [ab4,c5,e5,g5]@3 [d4,e4,f4]", N: "c4 ~@15",
O: "[ab4,d5]@2 ~ [a4,eb5] ~@2 [ab4,d5]@6 a4 ~@3", P: "f4 g4 ab4 a4", Q: "bb4@7 [a4,db5]@8 ~",
R: "[a4,d5]@6 ~ [bb4,eb5]@8 ~", S: "[d4,g4]@2 f4 e4, ~ c4",
T: "[~ d4 ~@10 f6@6 c6 [ab5,bb5] bb5 ~ ab5 ~ bb5 ab5 f5@4 [d5,e5] c5, [c4,f4]@2 ~@10 eb6 ~@19]/2", // Absus2 Dsus2 F5
U: "~@4 [c5,f5]@2 ~@3 c5 ~@2 [c5,f5]@2 f5 ~", V: "~@4 c5@2 ~ [c5,f5] ~ c5 ~@2 c5@2 f5 ~, ~@12 f5 ~@3",
W: "[[eb5,f5,bb5]@8 ab5@2 f5@2 eb5@2 f5@4 ~@2 [a4,b4] [f4,g4] [d4,e4] c4 b3 ~@7]/2", // Ebsus2 Asus2 Fsus2 Dsus2
X: "~@4 [c5,f5]@2 ~ f5 ~ [c5,f5] bb4 ~ c5@2 ~@2, ~@12 f5 ~@3", // F5
Y: "~@2 bb4 ~ [c5,f5]@2 bb4 [c5,f5] ~ [c5,f5] bb4 ~ [c5,f5] ~ bb4 ~", Z: "~@5 ab5 bb5 c6",
AA: "f6@2 e6 [c6,d6] [a5,b5] ~@11", AB: "f6@2 e6 [c6,d6] b5 ~@11", AC: "f6@12 eb6 c6@2 ~, bb5 ~@15", AD: "a6@15 g6",
AE: "f6@15 [eb6,e6], gb6 ~@15", AF: "d6", AG: "c6",
AH: "[g5@12 ~@4 d5@8 db5@8 ~@10 a5 ~ d6 ~@2 e6 f6@31 g6, [db5,e5] f5@4, ~@12 a5@29 ~@5 eb6@2 b4@14 ~@18, ~@32 c5@15 ~ d5@29 ~@3]/5", // Dbm
AI: "[eb4,a6]@12 ~ g6 ~@2, ab6 ~@11 e4@2 ~@2", AJ: "[ab4,c5]",
AK: "[~ g4@15 f4@16 [c4,c5]@8 bb3@8 ~@12 c6 d6 eb6 f6, ~ [b4,d5]@31 eb5@31 ~, ~@32 g4@15 ~ [a3,c5]@16, ~@20 bb4@3 ~ a4@7 ~]/4", // C Bm Am
AL: "g6@12 [e6,f6] [b5,c6] ~@2, [ab3,ab4,c5,eb5]@7 ~", AM: "[f3,f4]@2 ~ [g3,g4]@2 ~ [ab3,ab4]@7 ~@3",
AN: "[gb3,gb4]@3 [ab3,ab4]@2 ~ [a3,a4]@7 ~@3", AO: "[f4,bb4]@4 [g4,c5]@4 [ab4,db5]@4 [bb4,eb5]@3 ~",
AP: "[c4,c5,e5,g5]", AQ: "[c4,c5]@2 b4 [e4,f4] d4 c4 ~@10, e5 ~@15", AR: "~ d4 ~@14, [c4,f4] ~@7",
AS: "f6@2 e6 [f5,c6,d6] [eb5,a5,b5] f5 ab5 f5 eb5 c5 bb4 ab4 bb4 c5 eb5 f5", // Dm7 B7
AT: "~@4 [a4,c5,eb5,f5]@6 [a4,eb5,f5] ~@5", AU: "~ [f5,ab5] ~@3 [c5,f5,ab5] ~@2, ~@2 c5 ~@13",
AV: "[~@8 ab2@2 ~ c3@2 eb3 f3 ab3 bb3 c4 eb4@4 ~@5 [ab3,eb4]@2 ~@2 [f3,b3,eb4,b4], ~@4 [c5,f5,ab5]@25 ~@3, ~@7 f2@2 ~ bb2@2 ~@20]/2", // Ab5 Fm7b5 Fm
AW: "eb5@5 c5 b4 ab4@2 ~@2 f3 [g4,ab4] ~@3, c5 ~@9 c5@5 ~, ~@6 a4 ~", // Abmaj7
AX: "[[bb4,gb5]@11 ~ [a4,e5,ab5]@17 [bb4,c5,e5,g5]@44 e4 ~ g4 [e4,f4] g4 a4 bb4]/5", // Ebm Amaj7 C7 Fmaj7
AY: "[c5 ~ d5 e5 f5 g5 a5 bb5 c6 ~ d6 e6 ~@11 c3@27 ~@14, ~@14 g6@37 ~@13, ~@23 c2@18 ~@23]/4",
})).s("gm_percussive_organ").gain(0.15)
// chords · percussive organ · soft notes
const percussive_organ_soft = note(`<
~@2 A B C ~@13 D ~@4 E ~ F G ~@2 H ~@2 I F G ~@2 H ~@9 J ~@7 K L M ~@4 N ~@4 O ~ D ~@4 E ~ F G ~@2 H ~@2 I F G ~@2 H
~@19 F G ~@2 H ~@2 I F G ~@2 H ~@25
>`.pickRestart({
A: "~@3 f5 ~@12", B: "~@3 g4 f4 ~@11", C: "~@3 [ab4,c5] ~@12", D: "~@13 g4 ~@2",
E: "~@2 [a3,bb3] [f3,g3] eb3 [c3,d3] ~@10", F: "~@7 [c5,f5] ~ f5 ~@6", G: "~@2 f5 ~@5", H: "~@6 bb4 ~@9",
I: "~@5 g5 [e5,f5] d5 ~@8", J: "~@14 ab6 ~", K: "bb4@15 ~", L: "~@8 eb5@5 [e6,f6] [b5,c6,d6] [f5,g5,a5]",
M: "eb5, e5 ~@15", N: "~@13 d6 ~@2", O: "~@5 b3 ~@10",
// … 273 more lines
More by Mina
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.