0:00/0:00
// L'importante e finire — Mina
// 87 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 2 "basso" fretless bass (copy of ch 3 "ocarina" ocarina)
// note: Full arrangement: all 71 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(87/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.
// bass · electric bass finger · "basso"
const bass = note(`<
~@4 A@2 B@2 C ~ D ~ E ~ F C G H I H J K@2 L@2 M N O@2 P@2 A@2 B@2 C ~ D ~ E ~ F C G H I H J K@2 L@2 M N O@2 P@2 Q@2
R@2 S@2 T@2 U@2 V ~@2
>`.pickRestart({
A: "[d2@4 b1@2 d1@4 a1@4 g1@4 d2@2 f2@2 a1@4 a1@3 ~ a1@2, ~@6 db2 ~@25]/2",
B: "[d1@2 a1 d2 d1@3 g1@2 g1@2 a1@2 a1@3]/2", C: "d2 c2 d2 ~@2 a1 c2 d2", D: "e2 eb2 e2 ~@2 b1 d2 e2",
E: "g2 f2 g2 ~@2 f2 d2 g2", F: "a1 e1 g1 ab1 a1@3 ~", G: "~@6 g2@2 bb2@7 ~", H: "d2 c2 d2 ~@2 a1 ~ d2",
I: "~ d2 g2@3 f2 g2 db2", J: "~ d2 ~ g2@2 bb2 g2@2",
K: "[a1@2 a1@2 a1@2 a1@2 a1@2 a1@2 a1@6 a1@2 a1 ~@5 a1@2 a1@4]/2",
L: "[g2 f2 d2 g1@2 d2 f2 g2@2 f2 d2 g1 g2 f2 g2 db2]/2", M: "d2 c2 a1 d2@2 a1 c2 d2",
N: "d2@2 c2@2 d2@2 d1@3 c2 d2@2 d1@2 g1@2", O: "[a1!2 ~ a1@2 g2 e2 a1@3 a2 g2@2 f2 e2@2, ~@2 a2@3 ~@11]/2",
P: "[a1@29 ~@3]/2", Q: "[d2@2 c2@2 d2@2 d1@15 ~ a1@2 c2@2 d2@2 ~@4]/2", R: "[d2 c2 d2 d1@6 d2 d1@3 a1 c2 d2]/2",
S: "[d1@21 ~ a1@2 c2@2 d2@2 ~@4]/2", T: "[d2 c2 d2 ~@7 d1@3 a1 c2 d2, ~@6 d1@13 ~@13, ~@7 d2@6 ~@3]/2",
U: "[~@18 d2@4 a1@2 c2@2 d2 ~@5, ~@2 d1@9 ~@5]/2", V: "d2 c2 d2 ~@5",
})).s("gm_electric_bass_finger").gain(0.44)
// other · ocarina
const ocarina = note("<A@4 ~@67>".pickRestart({
A: "[d3 ~@3 d3@4 d2 ~ a3 ~ b3 ~ b3@9 b3@7 ~@2]/2",
})).s("gm_ocarina").gain(0.19)
// chords · acoustic guitar steel · "chit.acc"
const acoustic_guitar_steel = note(`<
~@4 A@2 B@2 C D E@2 F@2 G H I J@2 K@2 L@2 M@2 N O P@2 Q@2 A@2 R@2 S D T@2 F@2 G U I V@2 K@2 W@2 X@2 N O P@2 Q@2 Y@2
Z@8 AA ~@2
>`.pickRestart({
A: "[[c4,f4,a4]!2 [c4,f4]@2 [c4,f4] [g3,c4,e4,a4]@2 [d4,a4] [d4,a4]@2 [d4,f4,a4] [g3,a4]@3 [db4,e4,a4]!2, d3@7 ~@7 g3@2, a3@5 ~@3 bb3@3 db4 ~@4, ~@4 a4@6 ~@4 f4@5 ~@3 e4@4 ~@6]/2", // F F5 Am7 D5 Dm Gsus2 A
B: "[[a3,f4,a4]@4 [d4,f4,a4]@2 [f4,a4]@2 [a3,f4,a4]@2 c4@2 c4 ~ [bb3,d4,g4]@2 [g3,d4,g4]@4 [d3,g3,bb3,d4,g4] ~ [e3,g3,db4]@2 [e3,g3,e4,a4]@2 a4@2 [db4,a4]@4, d4@2 ~@2 [d3,a3]@4 d3@5 ~ d3@6 ~@6 [g3,e4]@6, ~@8 d4 ~ [g3,e4,a4]@4 ~@2 bb3@2 ~@6 db4@4 ~@4, ~@13 e3@2 ~]/2", // Dm F Dm Gm G5 Gm Dbdim A7 …
C: "[d3,a3,d4,f4,a4]@4 [d4,f4,a4] ~ [f4,a4]@2 [f4,a4]@2 ~@2 a4@2 [d3,a4]@2, ~@2 d3@5 ~, ~@4 a3@7 ~ [a3,d4,f4]@4, ~@2 d4 ~", // Dm F D5 Dm
D: "[d4,a4] d4 [d4,f4,a4] f4 [a3,f4]!2 [d4,f4,a4]!2, d3@2 [d3,d4,a4] [d3,a3], [a3,f4] a3 ~@2", // D5 Dm D5 Dm
E: "[[b2,e3,ab3,d4]@4 [b2,e3,ab3,d4,e4]@4 [b2,e3,ab3,d4,e4]@4 [b2,ab3,d4]@2 [b2,ab3]@2 [b2,e3,ab3]@4 b2@2 ab3@2 [e3,ab3,d4]@4 [e3,ab3]@2 [b2,e3,ab3] ~, ~@6 e4@4 e4@3 ~ [d4,e4]@2, ~@6 e3@2 d4 ~ [e3,d4]@2 ~@4, ~@20 ab3 ~@11]/2", // E7 Abdim E E7 E Dsus2 E7
F: "[[d3,g3,bb3,d4,g4]@2 [d3,bb3,g4] g4 [d4,g4]@2 [g3,d4]@2 [g3,d4,g4]@2 [bb3,d4,g4]!2 [g3,bb3,d4,g4]@2 [d3,g3,bb3,d4,g4]@2, ~@2 g2@11 ~@3, ~@2 g3@4 g4 ~@9, ~@2 d4 bb3@2 ~ bb3@4 ~@6, ~@3 d3@5 ~@2 [d3,g3]@2 ~@4]/2", // Gm G5 Gm G5
G: "[e3,g3,db4,e4,a4]@2 [e3,db4,e4,a4] [db4,e4,a4]@2 ~@3, a2@3 ~@5, ~@2 g3@3 ~@3", // A7 A
H: "[d3,f4] [d3,f4,a4] [a3,f4,a4] a4 [d4,a4] [d4,f4,a4] [d3,a3,d4,f4]@2, d4 d3@2 ~, ~@2 d4@2 ~@2 a4 ~, ~@3 [a3,f4]@2 ~@3", // Dm D5 Dm
I: "f4!2 a4!4 [d4,f4,a4] [a3,f4,a4], [a3,d4] d4@2 ~, ~@2 [a3,f4]@2 a3@3 ~, ~@2 f4 ~", // Dm D5 Dm
J: "[[c4,gb4]!2 [d3,c4,gb4,a4] ~ a3@2 a4!2 a4!2 c4!2 [bb3,d4,g4] [bb3,d4] bb3!2, [d3,a3,a4]@2 a3@2 d3 ~ [d3,a3,c4]@2 [d3,a3,c4]@2 [d3,a3]@2 g2@4, ~@6 gb4@6 gb4@6 gb4@5 ~@9, ~@3 c4@2 ~@7 [d3,g3]@2 [d3,g3,d4,g4]@2]/2", // Cdim D7 Gm Bb D5 D7 D5 G5
K: "[[d3,c4,a4]@2 [d3,c4,a4]@2 [a3,gb4,a4]@2 [gb4,a4]@2 [gb4,a4]@2 [gb4,a4]@2 [a3,c4,gb4,a4]@2 [a3,c4,gb4]@2 gb4@2 [gb4,a4]@2 [c4,gb4,a4]@2 [d3,d4]@2 [d3,g4]@2 g4@2 [d3,g3,bb3,d4,g4]@2 d3 ~, [a3,gb4]@2 [d3,c4]@2 d3@3 ~ [d3,a3]@3 ~ [g3,d4]@2 ~@2, ~@3 a3@3 ~@2 c4@2 ~ bb3@2 ~@3, ~@4 c4@2 ~ a4@2 ~@7]/2", // D7 D Gbm Gbdim Gbm Gbdim D G5 …
L: "[[a2,e3,e4] e3 [g3,db4,e4] g3 e3 [a2,db4,a4] [a2,e3,g3,db4,e4]@2 [a2,db4,e4] e4 [db4,e4,a4] [e3,e4] e4 [db4,e4] [e4,a4] e4, [g3,db4,a4]@2 a4@3 ~ a4@3 ~@2 [db4,a4]@2 ~@3, ~@4 e3 ~ e4@6 ~@4 g3@4 g3@8 ~@4, ~@3 [a2,db4]@2 ~@7 a2@2 [a2,g3,db4]@2, ~@4 g3@2 ~@2 e3@3 ~ e3@4]/2", // A5 Dbdim A A7 A E Dbm A5 …
M: "[[bb3,f4]!2 [g2,d3,g4] d3 ~ [f4,g4]!2 ~@2 [f4,g4] [bb3,f4,g4] f4 f4@2 [g2,d3,f3,bb3,f4,g4]@2, [g2,d3,f3]@2 [f3,bb3]@4 bb3@4 d3@3 ~@3, ~@4 f4@6 ~@4 [f4,g4]@4 ~@4 [bb3,g4]@5 ~@5, ~@3 g2@3 [g2,d3,f3]@2 g2@6 ~@2, ~@4 [d3,f3] f3@2 ~]/2", // Bb5 G5 Fsus2 Gm7 G7 Bb5 Fsus2 Eb …
N: "a4!2 [c4,f4]@2 [d3,a3,c4,f4]@2 a4!2, a3 ~, [d3,c4,f4]@2 a4@3 ~@3, ~@2 d3 ~@3 [d3,a3,c4,f4]@2", // F5 Dm7
O: "[d3,f4,a4]@2 f4@2 [f4,a4]@2 ~@4 [f4,a4]@2 [d3,a3,c4,f4,a4]@3 ~, [a3,c4] d3@2 ~, ~@2 c4@3 ~@3, ~ a3!2 ~, ~@3 f4@2 ~@3", // Dm F Dm7 Am
P: "[[a2,a4]!2 [a2,e4,a4] ~@2 e4 [e3,e4] ~@2 [db4,e4] [e3,e4,a4] [a2,e3] e3 [e4,a4] a4 e3, [e3,g3,db4,e4] e3@2 ~@2 [g3,db4]@2 [g3,db4,e4], ~@2 g3@2 db4@3 [db4,e4]@2 ~@2 [e4,a4]@2 ~@3, ~@2 db4 [a2,e4]@2 ~ [a2,g3]@2 [a2,e3,g3]@2 ~@3 e3@2 ~, ~@3 a4@3 a4@3 ~@7]/2", // A A5 E Dbm A5 Dbdim Gdim Dbdim …
Q: "[[a2,db4,e4]@27 ~@5, g3@7 ~@9, a4@3 ~@5, e3@3 ~@13]/2", // A
R: "[[a3,f4,a4]@4 [d4,f4,a4]@2 [f4,a4]@2 [a3,f4,a4]@2 c4@2 c4 ~ [bb3,d4,g4]@2 [g3,d4,g4]@4 [d3,g3,bb3,d4,g4] ~ [e3,g3,db4]@2 [e3,g3,e4,a4]@2 a4@2 [db4,a4]@4, d4@2 ~@2 [d3,a3]@4 d3@5 ~ d3@6 ~@6 [e3,g3,e4]@6, ~@8 d4 ~ [g3,e4,a4]@4 ~@2 bb3@2 ~@6 db4@4 ~@4]/2", // Dm F Dm Gm G5 Gm Dbdim A7 …
S: "[d3,a3,d4,f4,a4]@2 [f4,a4]!3 ~ a4 [d3,a4], ~@2 d3@5 ~, ~@4 a3@7 ~ [a3,d4,f4]@4, ~ d4!2 ~", // Dm F D5 Dm
T: "[[b2,e3,ab3,d4]@4 [b2,e3,ab3,d4,e4]@4 [b2,e3,ab3,d4,e4]@4 [b2,ab3,d4]@2 [b2,ab3]@2 [b2,e3,ab3]@4 [b2,ab3]@2 ab3@2 [e3,ab3,d4]@4 [e3,ab3]@2 [b2,e3,ab3] ~, ~@6 e4@4 e4@3 ~ [d4,e4]@2, ~@6 e3@2 d4 ~ [e3,d4]@2 ~@4]/2", // E7 Abdim E E7 E Dsus2 E7
U: "[d3,f4] [d3,f4,a4] [a3,f4,a4] a4 [d4,a4] [d4,f4,a4] [d3,a3,d4,f4,a4]@2, d4 d3@2 ~, ~ d4 ~@2, ~@3 [a3,f4]@2 ~@3", // Dm D5 Dm
V: "[[c4,gb4]@2 [c4,gb4]@2 [d3,a3,c4,gb4,a4]@2 ~@2 a3@4 a4@2 a4@2 a4@2 a4@2 [d3,a3,c4]@2 c4 ~ [bb3,d4,g4]@2 [bb3,d4]@2 bb3@2 bb3@2, [d3,a3,a4]@4 ~@2 gb4@6 gb4@6 gb4@5 ~@9, ~@3 c4@2 ~@7 [d3,g3]@2 [d3,g3,d4,g4]@2, ~@4 d3 ~ [d3,a3,c4]@2 [d3,a3,c4]@2 ~@2 g2@4]/2", // Cdim D7 Gm Bb D5 G5 D7
W: "[[a2,e3,e4] e3 [e3,g3,db4,e4] g3 e3 [a2,db4,a4] [a2,e3,g3,db4,e4]@2 [a2,db4,e4] e4 [db4,e4,a4] [e3,e4] e4 [db4,e4] [e4,a4] e4, [g3,db4,a4]@2 a4@3 ~ a4@3 ~@2 [db4,a4]@2 ~@3, ~@3 e4@3 ~@2 g3@2 g3@4 ~@2, ~@3 [a2,db4]@2 ~@7 a2@2 [a2,g3,db4]@2, ~@4 g3@2 ~@2 e3@3 ~ e3@4]/2", // A5 Dbdim A A7 A E Dbm A5 …
X: "[[bb3,f4,g4] [bb3,f4] [g2,d3,g4] d3 ~ [f4,g4]!2 ~@2 [f4,g4] [bb3,f4,g4] f4 f4@2 [g2,d3,f3,bb3,f4,g4]@2, [g2,d3,f3]@2 [f3,bb3]@4 bb3@4 d3@3 ~@3, ~@4 f4@6 ~@4 [f4,g4]@4 ~@4 [bb3,g4]@5 ~@5, ~@3 g2@3 [g2,d3,f3]@2 g2@6 ~@2, ~@4 [d3,f3] f3@2 ~]/2", // Gm7 Bb5 G5 Fsus2 Gm7 G7 Bb5 Fsus2 …
Y: "[[d3,a3,c4,f4,a4] ~ [f4,a4] ~ [d3,a3] [b3,d4,g4]@2 [a3,a4] [d3,a3]@2 [d3,a3,c4,f4,a4] g4 g4@2 [b3,d4,g4]@2, ~@4 [d3,a3,c4]@5 ~@7 a4@2 ~@4 [b3,d4]@6 ~@4, ~@3 f4@2 ~@2 [c4,f4]@3 ~ d3@5]/2", // Dm7 F D5 G A D5 Dm7 G …
Z: "[[a3,c4,f4,a4] ~ [f4,a4] ~ [d3,a3] [b3,d4,g4]@2 [a3,a4] [d3,a3]@2 [d3,a3,c4,f4,a4] g4 g4@2 [b3,d4,g4]@2, ~@4 [d3,a3,c4]@5 ~@7 a4@2 ~@4 [b3,d4]@6 ~@4, ~@3 f4@2 ~@2 [c4,f4]@3 ~ d3@5]/2", // F D5 G A D5 Dm7 G D7 …
AA: "[a3,c4] ~@7", // Am
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(0.3)
// chords · acoustic guitar steel · "chit.acc" · soft notes
const acoustic_guitar_steel_2 = note(`<
~@5 A B C D E F G H I J K L M N ~ O P Q R S T U V W ~@3 A B C D E F G H I J K L M X ~ O P Q R S T U V W ~@2 Y ~ Y ~ Y
~ Y ~ Y ~@4
>`.pickRestart({
A: "~@5 e3@2 ~", B: "~ d4 ~@5 [g2,g3]", C: "g2@3 [a2,e4,a4] a2@4", D: "~@11 a3 ~@4, ~@5 f4 ~@2", E: "~ a4 ~ a4 ~@4",
F: "e4@2 ~@5 d4", G: "~@5 e4 ~@2", H: "g2@2 ~@5 g4", I: "~@5 g2 g2@2", J: "~@6 e3 ~ e3@2 ~@6, ~@3 a2@2 ~@3",
K: "a3@2 ~@3 a3 ~@2, a4 ~@7", L: "a4 ~@3", M: "~@3 a4@2 a4 ~@2", N: "~@4 a4 ~ a4@2 ~@2 g4@2 ~@4",
O: "~@6 [g3,g4]@2 ~@2 d3@2 g2@2 f3 [ab2,a2,eb3,gb3,g3], ~@3 g2@3 ~@2", P: "~ a2@2 e3 ~@4",
Q: "~ a2@2 a2 ~ a4 ~ a4, ~ a4 ~@6", R: "~ g4 ~ g4 ~@4", S: "~@5 g4 ~@2", T: "~@5 a4 ~@2", U: "~ [d3,a4] ~ a4@2 ~@3",
V: "~@11 g3 ~@4, ~@5 a2 ~@2", W: "~ a4 a2 ~@4 a4, ~ a2", X: "~@4 a4 ~ a4 ~@3 g4@2 ~@4",
Y: "~@3 a4@2 d3@2 ~, ~@10 a2 ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.1).pan(0.3)
// other · acoustic guitar steel · "chitarra"
const acoustic_guitar_steel_3 = note(`<
~@11 A B ~ C@2 ~@5 D E F ~@11 G@2 ~ A B ~ C@2 ~@5 D H F ~@6 I@2 ~@12
>`.pickRestart({
A: "~@5 e2 f2 gb2", B: "g2@3 ~", C: "[~ e2 g2 ab2 a2@5 ~@7]/2", D: "~@5 a2 b2 c3",
E: "db3@2 db3@2 d3@2 eb3@2 e3@2 e3 ~ f3@2 gb3@2", F: "g3@3 ~", G: "[~@6 a4@7 ~@3]/2", H: "db3!2 d3 eb3 e3!2 f3 gb3",
I: "[~@4 a4@7 ~@5]/2",
})).s("gm_acoustic_guitar_steel").gain(0.46).pan(0.2)
// chords · percussive organ · "organo"
const percussive_organ = note(`<
~@4 A@2 B@2 C D E F G H I J K L M N O P Q R S T D U V ~@2 A@2 B@2 C D E F G H I J K L M N O P Q R S T D U V ~@2 W@4
X@2 Y@2 Z@2 AA ~@2
>`.pickRestart({
A: "[[a4,d5,f5] ~@3 [a4,d5,f5]@5 ~ [g4,c5,e5] ~@9 f5@2 [g4,a4,db5,e5]@8 ~@2, ~@7 [g4,bb4,d5]@4 ~@5]/2", // Dm C A7 Gm
B: "[[a4,d5,f5]@2 ~@2 [a4,d5,f5]@5 ~ [g4,c5,e5]@2 ~@2 [f4,g4,bb4,d5]@8 [g4,a4,db5,e5]@9 ~]/2", // Dm C Gm7 A7
C: "[a4,d5,f5]@2 ~@2 [a4,d5,f5]@2 ~@4 [a4,d5,f5] ~@3 [a4,d5,f5]@2", D: "~@6 [a4,d5,f5] ~@9",
E: "[ab4,b4,e5]@2 ~@2 [ab4,b4,d5,e5]@2 ~@4 [ab4,b4,d5,e5] ~@3 [ab4,b4,d5,e5]@2, d5 ~@15", F: "~@6 [ab4,b4,d5,e5] ~@9",
G: "[g4,bb4,d5] ~@3 [g4,bb4,d5] ~@5 [g4,bb4,d5] ~@3 [g4,bb4,d5] ~", H: "~@6 [g4,bb4,d5] ~@5 [g4,bb4,d5] ~@3",
I: "[g4,db5,e5]@9 ~@7", J: "[a4,d5,f5]@2 ~@2 [d5,f5]@2 ~@4 [a4,f5] ~@3 [a4,d5,f5] ~, ~@4 a4 ~@5 d5@2 ~@4",
K: "~@3 [d5,f5] ~@2 [a4,d5,f5] ~, ~@6 a4 ~@9", // Dm
L: "[a4,c5,gb5] ~@3 [a4,gb5]@2 ~@4 [a4,c5,gb5] ~@3 [a4,c5] ~, ~@4 c5 ~@9 gb5@2", M: "~@6 [g4,bb4,d5] ~",
N: "[a4,c5,gb5] ~ [a4,c5,gb5] ~@2 [a4,c5,gb5] ~ [a4,c5,gb5]", O: "~@2 [a4,c5,gb5] [g4,bb4,d5]@5",
P: "[g4,db5] ~ [g4,db5,e5] ~@2 [g4,db5,e5] ~ [g4,db5,e5], e5 ~@15", Q: "~@6 [g4,db5,e5] ~@9",
R: "[g4,bb4,d5]@2 ~@2 [g4,bb4,d5] ~@5 [g4,bb4,d5] ~@3 [g4,bb4] ~, ~@7 d5", S: "~@3 [g4,d5] ~@4, ~@6 bb4 ~@9",
T: "[a4,d5,f5] ~ [a4,d5,f5] ~@2 [d5,f5] ~ [a4,d5,f5], ~@10 a4 ~@5", // Dm
U: "[g4,db5,e5] ~@3 [g4,db5,e5]@2 ~@4 [g4,e5] ~@5, ~@5 db5 ~@2", V: "~@4 [g4,db5,e5] ~@5 [g4,db5,e5] ~@5",
W: "[[a4,c5,d5,f5]@2 ~@2 [a4,c5,d5,f5]@4 ~@2 [b4,d5,e5,g5]@2 ~@2 [a4,c5,d5,f5]@6 ~@2 [a4,c5,d5,f5] ~ [b4,d5,e5,g5]@2 ~@2 [b4,d5,e5,g5]@2 ~@2]/2", // Dm7 Em7 Dm7 Em7
X: "[[a4,c5,d5,f5]@2 ~@2 [a4,c5,d5,f5]@5 ~ [b4,d5,e5,g5]@2 ~@2 [a4,c5,d5,f5]@6 ~@2 [a4,c5,d5,f5]@2 [b4,d5,e5,g5]@2 ~@2 [b4,d5,e5,g5]@2 ~@2]/2", // Dm7 Em7 Dm7 Em7
Y: "[[a4,c5,d5,f5] ~ [a4,c5,d5,f5]@2 ~ [b4,d5,e5,g5] ~ [a4,c5,d5,f5]@3 ~ [c5,f5] [b4,d5,e5,g5] ~ [b4,d5,e5,g5] ~, ~@22 [a4,d5] ~@9]/2", // Dm7 Em7 Dm7 F5 Em7 D5
Z: "[[a4,c5,d5,f5]@2 ~@2 [a4,c5,d5,f5]@4 ~@2 [b4,d5,e5,g5]@2 ~@2 [a4,c5,d5,f5]@6 ~@2 [a4,c5,d5] ~ [b4,d5,e5,g5]@2 ~@2 [b4,d5,e5,g5]@2 ~@2, ~@11 f5 ~@4]/2", // Dm7 Em7 Dm7 D7 Em7
AA: "[a4,c5,d5,f5]@2 ~@2 [a4,c5,d5,f5]@5 ~ [b4,d5,e5,g5]@2 ~@4", // Dm7 Em7
})).s("gm_percussive_organ").gain(0.17).pan(0.7)
// other · lead 1 square · "squarewa"
const lead_1_square = note("<~@4 A B C@2 ~@15 D@4 ~@4 A B E@2 ~@15 F@4 ~@4 G B G B H I J K L@3 ~@2>".pickRestart({
A: "a4 ~ d4 c5@3 a4@2", B: "d5 c5 a4@5 ~", C: "[a4 ~ d4 c5@3 a4 d5@8 ~]/2", D: "[~@4 a4 f5@48 ~@11]/4",
E: "[a4 ~ d4 c5@3 a4 d5@7 ~@2]/2", F: "[~@5 f5@58 ~]/4", G: "~@2 d4 c5@3 a4@2", H: "~@15 [f6,a6]", I: "g6@5 f6@2 e6",
J: "c6 d6 c7@3 b6@2 g6", K: "a6", L: "[g6@5 ~ e6@4 d6@4 b5@4 c6@2 a5@6 b5@2 g5@2 a5@8 c6@8 ~@2]/3",
})).s("gm_lead_1_square").gain(0.46).pan(0.8)
// other · lead 1 square · "squarewa" · soft notes
const lead_1_square_soft = note("<~@3 A ~@19 B ~@6 C ~@19 D ~@7 E ~@3 F ~@8>".pickRestart({
A: "~@6 a4 ~", B: "~@2 a4 ~@13", C: "~@13 a4@2 ~", D: "~@2 a4 ~ a4 ~@11", E: "~ d4@2 ~@13", F: "~@12 d6 ~ d6 ~",
})).s("gm_lead_1_square").gain(0.07).pan(0.8)
// drums · kick
const kick = s("bd").struct("<[x ~@2 x!2 ~@3]!70 x>").gain(0.54)
// drums · hihat
const hihat = s("hh").struct(`<
~@4 A B C D C E B F B G H A B C D C E B F I J I D K L M ~ J B C D A B C D C E H A B C D C E B F I J I D N L M ~ J B C
D A B C D C E J B ~
>`.pickRestart({
A: "x ~ x ~ x ~ x!2", B: "x!3 ~ x!4", C: "x ~ x!5 ~", D: "x ~ x ~ x ~@3 x!2 ~@2 x ~ x ~", E: "x ~ x!6",
F: "x ~@3 x!2 ~@2 x ~ x ~ x!2 ~@2", G: "x ~ x!3 ~ x!2", H: "x!3 ~ x ~@3", I: "x!3 ~ x!3 ~", J: "x!3 ~ x ~ x!2",
K: "x ~ x!3 ~ x ~", L: "x!4 ~@2 x ~", M: "x", N: "x!4",
})).gain(0.42)
// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
~@4 A ~@2 B C ~@6 A ~@2 B C ~@7 C D ~@2 A ~@2 B A ~@2 B C ~@2 A ~@2 B C ~@7 E D ~@2 A ~@2 B A ~@2 B C ~ A ~@2
>`.pickRestart({
A: "~@3 x ~@4", B: "~@13 x ~ x", C: "~ x ~@6", D: "~ x", E: "~ x ~ x ~@4",
})).gain(0.24)
// drums · open hat
const open_hat = s("oh").struct(`<
~@4 A B C D E F B G B A B A B C D E F B G H D H D I@2 ~ E J B C D A B C D E F B A B C D E F B G H D H D I@2 ~ E J B C
D A B C D E F K B ~
>`.pickRestart({
A: "~ x ~@3 x ~@2", B: "~@3 x ~@4", C: "~ x ~@5 x", D: "~@3 x ~ x ~@2", E: "~@7 x", F: "~ x ~@6", G: "~ x ~ x ~@3 x",
H: "~@3 x ~@3 x", I: "~@5 x ~ x", J: "~@5 x ~@2", K: "~ x ~ x ~ x ~@2",
})).gain(0.48)
// drums · bongos
const bongos = s("bongo:4").struct(`<
~@4 A B A B A B A B A B C A B A B A B A B A B A B A B ~@2 A B A B A B A B A B C A B A B A B A B A B A B A B ~@2 A B A
B A B A B A B A B ~
>`.pickRestart({
A: "~@3 x!2 ~@3", B: "~@6 x!2", C: "~@3 x ~@4",
})).gain(1.1)
// drums · bongos
const bongos_2 = s("bongo:18").struct(`<
~@5 A ~ A ~ A ~ A ~ A ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A
~ A ~ A ~ A ~
>`.pickRestart({
A: "x!2",
})).gain(1.1)
// drums · bongos · soft notes
const bongos_soft = s("bongo:18").struct(`<
~@4 A ~ A ~ A ~ A ~ A ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A
~ A ~ A ~ A ~@2
>`.pickRestart({
A: "~@7 x",
})).gain(0.63)
// drums · congas
const congas = s("conga:13").struct(`<
~@4 A B A B A B A B A B C A B A B A B A B A B A B A B ~@2 A B A B A B A B A B C A B A B A B A B A B A B A B ~@2 A B A
B A B A B A B A B ~
>`.pickRestart({
A: "x ~ x!3 ~ x!2", B: "x ~ x ~ x!4", C: "x ~ x!2 ~@4",
})).gain(1.34)
// drums · congas · soft notes
const congas_soft = s("conga:13").struct(`<
~@4 A ~ A ~ A ~ A ~ A ~ A@2 ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~ A@2 ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A
~ A ~ A ~ A ~@2
>`.pickRestart({
A: "~ x ~@6",
})).gain(0.58)
// drums · congas
const congas_2 = s("conga:18").struct(`<
~@4 A B A B A B A B A B C A B A B A B A B A B A B A B ~@2 A B A B A B A B A B C A B A B A B A B A B A B A B ~@2 A B A
B A B A B A B A B ~
// … 65 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.