0:00/0:00
// Quattro amici — Paoli
// 77 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: bank select 127 (Roland MT-32 map) read through the MT-32 patch table: ch 5 Fantasy -> pad new age
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 103 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(77/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 · synth strings 1
const synth_strings_1 = note("<A@5 ~@18 B@8 ~@6 C@2 D E@4 F@8 G@2 ~@4 H@8 I@3 J@2 ~@32>".pickRestart({
A: "[bb3@16 a3@15 [bb3,d4]@16 g3@15 ~ [d3,f4]@15 ~ a2@16 [bb2,bb3,d4]@16 [c3,c4]@25 ~@24, f4@31 ~@16 c4@48 ~@16 g3@18 ~@31, ~@78 e4@17 ~@65]/5", // Bb Dm Bb C
B: "[[b3,eb4,gb4]@31 [ab3,db4,f4]@24 [bb3,g4]@9 b3@23 f4@9 bb4@32 eb4@15 ~@48 [eb4,b4]@32 [ab3,db4,f4]@32 ~, ~@55 eb4@32 db4@41 b4@31 [db4,bb4]@32 ~@65, ~@64 ab4@32 gb4@47 [f4,ab4]@32 gb4@48 ~@33]/8", // B Db Eb Abm Db Gb Fm
C: "[~@16 [c4,e4,g4]@31 [a3,d4,gb4]@17]/2", D: "~@7 [b3,ab4]@9 [c4,a4]@16, ~@7 e4@25",
E: "[~@7 gb4@9 b4@32 e4@15 ~@48 [e4,c5]@17, ~@7 d4@41 c5@31 [d4,b4]@32 ~@17, ~@16 g4@47 [gb4,a4]@32 g4@33]/4", // C G Gbm
F: "[~@15 [a3,d4,gb4]@32 ~ [c4,e4]@15 ~ d4@16 [a3,c4]@15 [g3,b3]@16 c4@16 [b3,d4]@16 [a3,c4]@16 [g3,b3]@16 [c4,e4]@16 [b3,d4]@16 ~ c4@15 [g3,b3]@16 [c4,e4]@16 [b3,d4], ~@3 g4@13, ~@63 b3@16 ~@32 e4@13 ~@83 a3@16 ~@33]/8", // D C Am G Bm Am G C …
G: "[gb4@15 [c4,e4]@16 g3@8 gb3@8 ~ eb4@16, ~@15 a3@31 ~ [g3,bb3]@17, ~@31 d4@15 ~@18]/2", // C Gm
H: "[[db4,f4,ab4]@31 [bb3,eb4,g4]@24 [c4,a4]@9 db4@23 g4@9 c5@32 f4@15 ~@48 [f4,db5]@32 [bb3,eb4,g4]@32 ~, ~@55 f4@32 eb4@41 db5@31 [eb4,c5]@32 ~@65, ~@64 bb4@32 ab4@47 [g4,bb4]@32 ab4@48 ~@33]/8", // Db Eb F Db Eb Cm Gm
I: "[[db4,f4]@16 [c4,eb4]@15 db4@16 ~@9 g4@8 ~@32, ab4@7 ~@5, ~@31 bb3@33 ~@32, ~@24 eb4@17 ~@7]/3", // Db Cm
J: "[~@16 [ab3,db4,f4]@8 [bb3,eb4,g4]@39 ~]/2", // Db Eb
})).s("gm_synth_strings_1").gain(0.22)
// other · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
A B@3 ~@12 C D@2 ~@12 E F ~@12 G H I J K@3 L@2 ~@12 M N ~@3 M N M N ~@28
>`.pickRestart({
A: "f4@2 ~ f4@2 ~ f4@2 g4@2 ~ a4@2 ~ c5@2 ~@2 c5@2 ~@2 c5@2 a4@4 f4@4",
B: "[d4@2 ~ d4@2 d4@3 e4@2 ~ f4@2 c4@18 f4@2 ~ f4@2 ~ f4@2 ~ g4@2 a4@2 ~@2 c5@2 ~@2 c5@2 ~ c5@2 ~ a4@4 f4@3 d4@2 ~@2 d4@2 d4@3 e4@2 f4@3 c4@19]/3",
C: "~@16 f4@2 ~ f4@2 ~ f4@2 g4@2 ~ a4@2 ~ c5@2",
D: "[~@2 c5@2 ~@2 c5@2 a4@4 f4@4 d4@2 ~ d4@2 d4@3 e4@2 ~ f4@2 c4@18 ~@17]/2",
E: "gb4@2 gb4@2 ~ gb4@2 ~ ab4@2 bb4@2 ~@2 db5@2 ~@2 db5@2 ~@2 db5@2 bb4@4 gb4@4",
F: "eb4@2 ~ eb4@2 eb4@3 f4@2 gb4@3 db4@18 ~", G: "~@30 a4 ~", H: "~@2 a4 ~@3 a4@2 g4@4 d4@5 ~@13 d5 ~",
I: "~@2 d5@2 ~ a4 ~ a4@4 ~ g4@7 ~@11 a4 ~, ~@3 b4 ~@12", J: "~@2 a4 ~@3 a4@2 g4@4 d4@5 ~@15",
K: "[~@8 b4@2 c5@2 b4@2 g4@3 ~ g4@2 ~@2 g4@2 gb4@4 e4@2 d4@6 e4@2 d4@11 ~ e4@2 ~@2 e4@2 d4@3 c4@2 ~ b3@17 ~@3 b4 ~@3 b4@2 g4@4 e4@2 a4@2, ~@56 c4 ~@39]/3",
L: "[~ a4 ~ a4 gb4@2 d4@2 ~ g4 ~ g4 e4@2 c4 a3@9 ~@8]/2",
M: "ab4@2 ab4@2 ~ ab4@2 ~ bb4@2 c5@2 ~@2 eb5@2 ~@2 eb5@2 ~@2 eb5@2 c5@4 ab4@4",
N: "f4@2 ~ f4@2 f4@3 g4@2 ab4@3 eb4@18 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.45).pan(0.4)
// chords · marimba
const marimba = note(`<
A B C D ~@12 E F G ~@12 H I J ~@11 K L M N O P Q R S ~@12 T U V ~@2 W U X U V ~@27
>`.pickRestart({
A: "f4@2 ~ f4@2 ~ f4@2 [e4,g4]@2 ~ a4@2 ~ [a4,c5]@2 ~@2 [a4,c5]@2 ~@2 [a4,c5] ~ [f4,a4]@2 ~@2 d4@2 ~@2, d4 ~@2 d4 ~@2 d4 ~@4 f4 ~@16 f4 ~@3", // Em Am F
B: "[bb3,d4]@2 ~ [bb3,d4] ~ d4@2 ~ [c4,e4]@2 [d4,f4] ~@2 c4 g3 c4 [g3,c4] g3 [g3,c4] c4 [g3,c4] g3 [g3,c4] c4 [g3,c4] g3 [g3,c4]!2 ~@4, ~@5 bb3 ~@26", // Bb C Dm C5
C: "f4@2 f4@2 ~@2 f4@2 [e4,g4]@2 [f4,a4] ~@3 [a4,c5]@2 ~@2 [a4,c5]@2 ~ [a4,c5] ~@2 f4@2 ~@2 d4@2 ~@2, d4 ~ d4 ~@3 d4 ~@17 a4 ~@3 f4 ~@3", // Em F Am
D: "[bb3,d4]@2 ~ d4@2 ~ d4@2 [c4,e4]@2 ~ [d4,f4] ~@2 c4 g3 [g3,c4] c4 g3 [g3,c4] c4 [g3,c4] g3 [g3,c4] c4 [g3,c4] g3 [g3,c4] c4 [g3,c4]!2 g3, ~@3 bb3 ~@2 bb3 ~@25", // Bb C Dm C5
E: "~@16 [d4,f4]@2 ~ f4@2 ~ f4@2 [e4,g4]@2 ~ a4@2 ~ [a4,c5]@2, ~@19 d4 ~@2 d4 ~@4 f4 ~@4", // Dm Em Am
F: "~@2 [a4,c5]@2 ~@2 [a4,c5] ~ [f4,a4]@2 ~@2 d4@2 ~@2 [bb3,d4]@2 ~ d4@2 d4@2 ~ e4@2 [d4,f4] ~@2 c4 g3 c4, ~@12 f4 ~@6 bb3 ~ bb3 ~@2 c4 ~@7", // Am F Bb Dm
G: "[g3,c4] g3 [g3,c4] c4 [g3,c4] g3 [g3,c4] c4 [g3,c4] g3 [g3,c4]!2 ~@20", // C5
H: "[eb4,gb4]@2 ~ eb4 ~@2 gb4@2 ab4@2 [gb4,bb4] ~@3 [bb4,db5]@2 ~@2 [bb4,db5]@2 ~@2 [bb4,db5] ~ [gb4,bb4]@2 ~@2 [eb4,gb4]@2 ~@2, ~@2 gb4@2 ~@2 eb4 ~ f4 ~@23", // Ebm Gb Bbm Gb Ebm
I: "[b3,eb4]@2 ~ eb4@2 eb4@2 ~ [db4,f4]@2 [eb4,gb4] ~@2 db4 ab3 db4 ab3 db4 ab3 db4 [ab3,db4] ab3 [ab3,db4] db4 [ab3,db4] ab3 db4 [ab3,db4] ab3 [ab3,db4] db4 [ab3,db4], ~@3 b3 ~ b3 ~@26", // B Db Ebm Db5
J: "ab3 ~@31", K: "~@19 [e4,g4] ~@2 [e4,g4] ~ [c4,e4]@2 ~@2 [b3,d4] d4 [b3,d4]!2",
L: "b3 [b3,d4] d4 [b3,d4] b3 [b3,d4] d4 [b3,d4] b3 [b3,d4] d4 [b3,d4]!3 ~@4 [d4,b4] ~@2 [d4,b4] ~@2 [c4,a4]@2 ~@2 [b3,g4] g4 [b3,g4]!2", // Bm G F Em
M: "b3 [b3,g4]!2 g4 [b3,g4] b3 [b3,g4]!2 g4 [b3,g4] b3 [b3,g4] g4 [b3,g4]!2 ~@3 [e4,g4] ~@3 [e4,g4] ~ [c4,e4]@2 ~@2 [b3,d4] d4 [b3,d4]!2", // Em C Bm
N: "b3 [b3,d4] d4 [b3,d4] b3 d4 [b3,d4]!3 b3 d4 [b3,d4]!3 d4 b3 ~@2 [c4,e4] ~@3 [c4,e4] ~ [b3,d4]@2 ~@2 [a3,c4] ~ b3 g3", // Bm C Bm Am
O: "[g3,b3] g3 [g3,b3] b3 [g3,b3]!2 g3 [g3,b3] b3 [g3,b3]!2 g3 [g3,b3] b3 [g3,b3]!2 ~@2 [e4,g4] ~@3 e4@2 [d4,gb4]@3 [c4,e4] ~@2 [b3,d4] d4, ~@22 g4 ~@9", // G Em D C Bm
P: "[b3,d4] b3 [b3,d4] d4 [b3,d4]!2 b3 d4 [b3,d4]!2 b3 d4 [b3,d4] d4 [b3,d4] ~@3 [c4,e4] ~@3 [c4,e4] ~ [b3,d4]@3 [a3,c4] ~@2 b3 [g3,b3]", // Bm C Bm Am G
Q: "g3 [g3,b3] b3 [g3,b3] g3 [g3,b3] b3 [g3,b3] ~ b3!2 [g3,b3]!2 b3 ~@4 [g4,b4] ~@3 [g4,b4] ~ [e4,g4]@3 ~ [c4,e4] ~ [gb4,a4] ~", // G Em C Gbm
R: "~@2 gb4@2 ~@2 [gb4,a4] ~ [d4,gb4]@3 ~ [b3,d4]@2 ~@4 g4@2 ~ g4 e4 ~ [c4,e4]@2 ~ [a3,c4] ~@2 [gb3,a3] a3, ~@2 a4 ~@15 e4 ~@13", // Gbm D Bm C Am Gbm
S: "[gb3,a3] gb3 [gb3,a3] a3 [gb3,a3]!2 gb3 [gb3,a3] a3 [gb3,a3] gb3 [gb3,a3] a3 [gb3,a3]!2 ~@17", // Gbm
T: "[f4,ab4]@2 ~ f4 ~@2 ab4@2 bb4@2 [ab4,c5] ~@3 [c5,eb5]@2 ~@2 [c5,eb5]@2 ~@2 [c5,eb5] ~ [ab4,c5]@2 ~@2 [f4,ab4]@2 ~@2, ~@2 ab4@2 ~@2 f4 ~ g4 ~@23", // Fm Ab Cm Ab Fm
U: "[db4,f4]@2 ~ f4@2 f4@2 ~ [eb4,g4]@2 [f4,ab4] ~@2 eb4 bb3 eb4 bb3 eb4 bb3 [bb3,eb4] eb4 bb3 [bb3,eb4] eb4 [bb3,eb4] bb3 eb4 [bb3,eb4] bb3 [bb3,eb4] eb4 [bb3,eb4], ~@3 db4 ~ db4 ~@26", // Db Eb Fm Eb5
V: "bb3 ~@31",
W: "[f4,ab4]@2 ~ ab4@2 ~ ab4@2 bb4@2 [ab4,c5] ~@3 [c5,eb5]@2 ~@2 [c5,eb5]@2 ~@2 [c5,eb5] ~ c5@2 ~@2 [f4,ab4]@2 ~@2, ~@3 f4 ~@2 f4 ~ g4 ~@15 ab4 ~@7", // Fm Ab Cm Fm
X: "[f4,ab4]@2 ~ f4 ~@2 ab4@2 bb4@2 [ab4,c5] ~@3 [c5,eb5]@2 ~@2 [c5,eb5]@2 ~@2 [c5,eb5] ~ [ab4,c5]@2 ~@2 [f4,ab4]@2 ~@2, bb3 ~ ab4@2 ~@2 f4 ~ g4 ~@23", // Fm Ab Cm Ab Fm
})).s("gm_marimba").gain(0.42).pan(0.4)
// bass · electric bass finger
const bass = note(`<
~@4 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 AD AE AF AG L AH AI K 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 AW BK@2 ~@4 BL BM BL BN BO BP BO BQ BO BR BS BQ BO BP BO BQ BO BR
BS BT BU@2 ~@6
>`.pickRestart({
A: "~@16 f1@3 ~@3 f1 ~ c1@2 ~@2 f1@3 ~", B: "~@6 f1 ~ c1@2 ~@2 f1@3 ~@7 f1 ~ c1@3 ~ f1@2 ~@2",
C: "~@6 c2 ~ g1@2 ~@2 c2@3 ~@7 c2 ~ g1@2 ~@2 c2@2 ~@2", D: "~@6 c2 ~ g1@2 ~@2 c2@2 ~@8 c2 ~ g1@2 ~@2 c2@2 ~@2",
E: "~@6 f1 ~ c1@2 ~@2 f1@2 ~@8 bb1 ~ f1@2 ~@2 bb1@2 ~@2", F: "~@6 bb1 ~ f1@2 ~@2 bb1@2 ~@8 c2 ~ g1@2 ~@2 c2@2 ~@2",
G: "~@6 c2 ~ g1@2 ~@2 d2@3 ~@7 g1 ~ d1@2 ~@2 g1@2 ~@2", H: "~@6 c2 ~ g1@2 ~@2 c2@2 ~@8 f1 ~ c1@2 ~@2 f1@2 ~@2",
I: "~@4 f1@4 g1@4 a1@4 bb1@2 ~@4 bb1 ~ f1@2 ~@2 bb1@2 ~@2", J: "~@6 bb1 ~ f1@2 ~@2 bb1@2 ~@8 a1 ~ e1@2 ~@2 a1@2 ~@2",
K: "~@6 d2@2 a1@2 ~@2 d2@2 ~@8 g1 ~ d1@2 ~@2 g1@2 ~@2", L: "~@6 g1 ~ d1@2 ~@2 g1@2 ~@8 c2 ~ g1@2 ~@2 c2@2 ~@2",
M: "~@6 c2 ~ g1@2 ~@2 c2@2 g1 ~ bb1@13 ~ bb1@2", N: "a1@13 ~ a1@2 g1@12 ~@2 g1@2", O: "c2 db2",
P: "gb1@3 ~@3 gb1 ~ db1@2 ~@2 gb1@3 ~@7 gb1 ~ db1@2 ~@2 gb1@3 ~",
Q: "~@6 gb1 ~ db1@3 ~ gb1@2 ~@8 db2 ~ ab1@2 ~@2 db2@3 ~",
R: "~@6 db2 ~ ab1@2 ~@2 db2@2 ~@8 db2 ~ ab1@2 ~@2 db2@2 ~@2",
S: "~@6 db2 ~ ab1@2 ~@2 db2@2 ~@8 gb1 ~ db1@2 ~@2 gb1@2 ~@2", T: "~@6 b1 ~ gb1@2 ~@2 b1@2 ~@8 b1 ~ gb1@2 ~@2 b1@3 ~",
U: "~@6 db2 ~ ab1@2 ~@2 db2@2 ~@8 db2 ~ ab1@2 ~@2 eb2@3 ~",
V: "~@6 ab1 ~ eb1@2 ~@2 ab1@2 ~@8 db2 ~ ab1@2 ~@2 db2@2 ~@2", W: "~@6 gb1 ~ db1@2 ~@2 gb1@2 ~@6 gb1@4 ab1@4 bb1@4",
X: "~ b1@3 ~@2 b1@2 gb1@2 ~@2 b1@2 ~@8 b1@2 gb1@2 ~@2 b1@3 ~",
Y: "~@6 bb1 ~ f1@2 ~@2 bb1@2 ~@8 eb2@2 bb1@2 ~@2 eb2@2 ~@2",
Z: "~@6 ab1 ~ eb1@2 ~@2 ab1@2 ~@8 ab1 ~ eb1@2 ~@2 ab1@2 ~@2",
AA: "~@6 db2 ~ ab1@2 ~@2 db2@2 ~@8 db2 ~ ab1@2 ~@2 db2@2 ab1@2", AB: "b1@13 ~ b1@2 bb1@13 ~ bb1@2",
AC: "ab1@6 ~ ab1 db2@8", AD: "d2@16 g1@3 ~@3 g1 ~ d1@2 ~@2 g1@3 ~",
AE: "~@6 g1 ~ d1@2 ~@2 g1@3 ~@7 g1 ~ d1@3 ~ g1@2 ~@2", AF: "~@6 d2 ~ a1@2 ~@2 d2@3 ~@7 d2 ~ a1@2 ~@2 d2@2 ~@2",
AG: "~@6 d2 ~ a1@2 ~@2 d2@2 ~@8 d2 ~ a1@2 ~@2 d2@2 ~@2", AH: "~@6 c2 ~ g1@2 ~@2 c2@2 ~@8 d2 ~ a1@2 ~@2 d2@2 ~@2",
AI: "~@6 d2 ~ a1@2 ~@2 e2@3 ~@7 a1 ~ e1@2 ~@2 a1@2 ~@2", AJ: "~@4 g1@4 a1@4 b1@4 c2@2 ~@4 c2 ~ g1@2 ~@2 c2@2 ~@2",
AK: "~@6 c2 ~ g1@2 ~@2 c2@2 ~@8 b1 ~ gb1@2 ~@2 b1@2 ~@2", AL: "~@6 e2 ~ b1@2 ~@2 e2@2 ~@8 a1 ~ e1@2 ~@2 a1@2 ~@2",
AM: "~@6 a1 ~ e1@2 ~@2 a1@2 ~@8 d2 ~ a1@2 ~@2 d2@2 ~@2", AN: "~@6 d2 ~ a1@2 ~@2 d2@2 a1 ~ c2@13 ~ c2@2",
AO: "b1@16 a1@13 ~ a1@2", AP: "g1@9 ~ g1@2 a1@2 b1@2 c2@13 ~ c2@2", AQ: "b1@13 ~ b1@2 a1@13 ~ a1@2",
AR: "g1@16 c2@13 ~ c2@2", AS: "b1@8 a1@6 ~ a1", AT: "g1@6 a1 b1 c2@8", AU: "b1@16 a1@15 ~", AV: "d2 eb2",
AW: "ab1@3 ~@3 ab1 ~ eb1@2 ~@2 ab1@3 ~@7 ab1 ~ eb1@2 ~@2 ab1@3 ~",
AX: "~@6 ab1 ~ eb1@3 ~ ab1@2 ~@8 eb2 ~ bb1@2 ~@2 eb2@3 ~",
AY: "~@6 eb2 ~ bb1@2 ~@2 eb2@2 ~@8 eb2 ~ bb1@2 ~@2 eb2@2 ~@2",
AZ: "~@6 eb2 ~ bb1@2 ~@2 eb2@2 ~@8 ab1 ~ eb1@2 ~@2 ab1@2 ~@2",
BA: "~@6 db2@2 ab1@2 ~ ab1 ~ ab1@2 ~ db2@3 ~@3 db2 ~ ab1@2 ~@2 db2@2 ~@2",
BB: "~@6 eb2 ~ bb1@2 ~@2 eb2@2 ~@8 eb2 ~ bb1@2 ~@2 f2@3 ~",
BC: "~@6 bb1 ~ f1@2 ~@2 bb1@2 ~@8 eb2 ~ bb1 ~@2 bb1 ~@2 bb1 ~",
BD: "ab1@2 ~@4 ab1 ~ eb1@2 ~@2 ab1@2 ~@6 ab1@4 bb1@4 c2@4",
BE: "db2@2 ~@4 db2 ~ ab1@2 ~@2 db2@2 ~@8 db2@2 ab1 ~@2 db2@2 db2@2 ~",
BF: "c2@3 ~@3 c2 ~ g1@2 ~@2 c2@2 ~@8 f2@2 c2@2 ~ c2 ~ c2@2 ~",
BG: "~@6 bb1 ~ f1@2 ~@2 bb1@2 ~@8 bb1 ~ f1@2 ~@2 bb1@2 ~@2",
BH: "~@6 eb2 ~ bb1@2 ~@2 eb2@2 ~@8 eb2 ~ bb1@2 ~@2 eb2@2 bb1 ~", BI: "db2@13 ~ db2@2 c2@16", BJ: "bb1 eb2",
BK: "[~@6 ab1 ~ eb1@3 ~ ab1@2 ~@2 db2@8 eb2@40]/2", BL: "f1@3 ~@11 f1@2 c2@3 ~@9 bb1@2 c2@2",
BM: "db2@3 ~@11 db2@2 ab1@3 ~@3 ab1@2 eb2@3 ~@3 eb2 ~", BN: "db2@3 ~@11 db2@2 ab1@2 ~@4 ab1@2 eb2@2 ~@4 eb2 ~",
BO: "f1@13 ~ f1@2 c2@12 bb1@2 c2@2", BP: "db2@13 ~ db2@2 ab1@5 ~ ab1@2 eb2@4 eb1@4",
BQ: "db2@13 ~ db2@2 ab1@2 ~ ab1@2 ab1@2 ~ eb2@4 eb1@3 ~",
BR: "db2@13 ~ db2@2 ab1@5 ~ ab1@2 eb2@4 eb1@4, ~@22 db2 ~@9", BS: "f1@13 ~ f1@2 c2@11 ~ bb1@2 c2@2",
BT: "db2@13 ~ db2@2 ab1@15 ~", BU: "ab1/2",
})).s("gm_electric_bass_finger").gain(0.64)
// chords · rock organ
const rock_organ = note(`<
~@4 A B C D E F G C H C I F J@3 K@4 L M@2 N O P Q R S@2 T U V W X Y Z AA AB AC AD AE AF@6 AG@3 AH AI@7 AJ AK AL AM
AN@2 AO AP@2 ~@4 AQ AR@2 AS@2 AT@2 AU@2 AR@2 AV AQ AR@2 AS@2 AT@2 AW AX@3 ~@5
>`.pickRestart({
A: "~@26 f4 ~@5", B: "~@2 f4 ~@7 c5 ~ [a4,c5,f5]@3 ~@17", C: "~@10 g5 ~ [c5,e5,g5]@3 ~@17",
D: "~@10 d5 ~ [bb4,d5,g5]@3 ~@17", E: "~@9 [a4,c5] f5 ~@2 [a4,c5,f5]@3 ~@16", F: "~@10 f5 ~ [bb4,d5,f5]@3 ~@17",
G: "~@10 a5 ~ [d5,gb5,a5]@3 ~@17", H: "~ [c5,a5] [bb4,g5] [a4,f5] ~@4", I: "~@10 a5 ~ [d5,f5,a5]@3 ~@17",
J: "[~@2 [d5,bb5]@2 [c5,a5]@2 [bb4,d5]@2 ~ e5 [ab4,db5,f5]@2, ~@2 f5@7 ~@3, ~@64 [g4,c5]@17 ~@15]/3", // Gm F Bb Db C5
K: "[[bb4,db5,gb5]@4 ~@22 gb5 ~@2 [bb4,db5,gb5]@6 ~@23 ab5 ~ [db5,f5]@3 ~ b4@4 ~@21 ab5 ~@3 [b4,eb5,ab5]@7 ~@22 gb5 ~@2 [bb4,db5,gb5]@3, ~@60 ab5@7 ~@61, ~@63 eb5@4 ~@61]/4", // Gb Db Abm Gb
L: "[b4,eb5,gb5] ~@6 [eb5,gb5], ~@14 b4 ~", // B Ebm
M: "[[db5,f5,ab5]@5 ~@21 bb5 ~ [g5,bb5]@4 [ab5,b5]@4 ~@24 [f5,ab5,b5]@4, ~@7 eb5@2 ~@7]/2", // Db Gm Abm Fdim
N: "[gb5,bb5,db6]@5 ~@15 [db5,bb5]@4 [b4,ab5]@4 [bb4,gb5]@4", O: "~@26 f5 ~ [ab4,db5,f5]@3 ~",
P: "[ab4,bb4,db5,f5]@5 ~@21 bb5 ~ [eb5,gb5,bb5]@3 ~", Q: "[eb5,gb5,b5]@5 ~@27", R: "[db5,f5,ab5]@5 ~@27",
S: "[[eb5,b5]@2 [db5,bb5]@2 [b4,eb5]@2 ~ f5, gb5@7 ~, ~@3 [ab4,db5]]/2", T: "[a4,d5,gb5]@4 [b4,d5,g5] ~@3",
U: "~@10 g5 ~@3 [b4,d5,g5]@6 ~@12", V: "~@10 a5 ~ [d5,gb5]@3 ~ [c5,e5]@4 ~@12, ~@3 a5@2 ~@3",
W: "~@10 a5 ~@2 [c5,e5,a5]@7 ~@12", X: "~@9 g5 ~@2 [b4,d5]@3 [c5,e5]@4 ~@13, ~@12 g5@7 ~@13",
Y: "~@16 [d5,gb5,a5]@4 ~@6 [d5,gb5,a5] ~@5", Z: "~@10 b5 ~ [ab5,b5]@4 [a5,c6]@4 ~@12, ~@12 e5@7 ~@13",
AA: "~@4 [d5,g5,b5] ~@3", AB: "~@4 [d5,b5]@4 [c5,a5]@3 [b4,g5]@4 ~ [c5,e5,g5]@5 ~@11",
AC: "[d5,gb5,a5]@4 ~@6 [d5,gb5,a5] ~@5 [d5,gb5,a5]@4 ~@12", // D
AD: "[e5,g5,b5]@4 ~@6 [e5,g5,b5] ~@5 [e5,g5,c6]@5 ~@5 [e5,g5,c6] ~@5", AE: "~@16 [gb5,a5,d6]@5 ~@5 [a5,d6] ~@5",
AF: "[~@2 [gb5,a5,d6] ~@13 [e5,c6]@16 [d5,b5]@15 [c5,e5]@16 ~ b4@15 ~ e5@15 ~ d5@15 ~ c5@14 ~@2 b4@16 [e5,c6]@15 [d5,b5]@16 ~ [c5,e5]@16, ~ g5@11, ~@63 d5@16 c6@16 b5@16 e5@16 ~ d5@13 ~@51]/6", // D C G C G C
AG: "[[b4,d5]@15 c6@16 [d5,gb5,b5]@17 [c5,e5]@15 ~@8 gb5@8 ~ [bb4,eb5,g5]@16, ~@15 e5@13 ~@20 g5@24 ~@24, ~@63 [a4,d5]@17 ~@16]/3", // Bm C Eb D5
AH: "[c5,eb5,ab5]@4 ~@21 ab5 ~@2 [c5,eb5,ab5]@3 ~", // Ab
AI: "[[c5,eb5,ab5]@6 ~@20 bb5 ~ [eb5,g5]@3 ~ [db5,f5]@4 ~@22 bb5 ~ db5@3 ~ db5@4 ~@22 ab5 ~ [c5,eb5]@3 ~ db5@5 ~@27 [eb5,g5]@5 ~@21 c6 ~ [a5,c6]@3 ~ db6@4 ~@24 [g5,bb5]@3 [eb5,ab5,c6]@5 ~@16 [eb5,c6]@4 [db5,bb5]@3 [c5,ab5]@4 ~, ~@28 bb5@8 ~@24 [f5,bb5]@8 ~@24 ab5@9 ~@26 bb5@5 ~@27 bb5@5 ~@60, ~@95 f5@5 ~@56 f5@8 ~@23 eb5@4 ~@33]/7", // Ab Eb Db Cm Eb Am Gm Ab …
AJ: "[db5,f5,ab5] ~@7", AK: "[eb5,g5,c6] ~@7",
AL: "[f5,ab5,db6]@5 ~ [f5,ab5,db6] ~@3 [ab5,db6] ~@7 [f5,ab5,db6] ~@7 [f5,ab5,db6] ~@5", AM: "[eb5,g5,bb5] ~@7",
AN: "[[db5,f5]@16 [c5,eb5]@16 db5@15 ~@9 g5@8, ab5@7 ~, ~ bb4, ~@47 eb5@16 ~]/2", AO: "[c5,eb5,ab5]@4 ~@22 ab5 ~@5",
AP: "[[c5,eb5,ab5]@5 ~@11 [ab4,db5,f5]@8 [bb4,eb5,g5]@33 ~@7]/2", AQ: "[ab5,c6] [g5,bb5], eb5@31 ~",
AR: "[[f5,db6]@2 c6 [g5,bb5] [ab5,c6]@2 [g5,bb5]@2, ab5@3 ~@5, ~@8 eb5@23 ~]/2", // Db Gm Ab Gm
AS: "[db6@2 c6 [g5,bb5] [ab5,c6]@2 [g5,bb5]@2, ab5@3 ~@5, f5@7 ~ eb5@23 ~]/2", // Gm Ab Gm
AT: "[[f5,db6]@2 c6 [g5,bb5] [ab5,c6]@2 [g5,bb5]@2, ab5@3 ~@5, ~@16 eb5@47 ~]/2", // Db Gm Ab Gm
AU: "[db6@2 c6 [g5,bb5] [ab5,c6]@2 [g5,bb5]@2, ab5@3 ~@5, f5@13 ~@3 eb5@46 ~@2]/2", // Gm Ab Gm
AV: "[f5,db6]@16 c6@8 [g5,bb5]@7 ~, ab5@3 ~, ~@16 eb5@15 ~", AW: "[f5,ab5,db6] [eb5,g5,bb5]",
AX: "[[eb5,ab5,c6]@3 ~]/3", // Ab
})).s("gm_rock_organ").gain(0.35).pan(0.7)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@4 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 ~@2 AA AB AC AD AE AF AG AH AI AJ AK AL AM ~@8 AN AO AP AQ
AR AS AT AU AV AW AX AY ~@2 AN AZ@2 BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BE BF BG BH BI BJ BK BQ BR@2 ~@6
>`.pickRestart({
A: "~@10 [a3,c4,f4] ~@3 [a3,c4,f4] ~", B: "~@4 [a3,c4,f4]@3 ~@5 [a3,c4,f4]@2 ~@6 [a3,c4,f4]@2 ~@6 [a3,c4,f4]@3 ~",
C: "~@4 [bb3,d4,f4]@3 ~@5 [c4,e4,g4]@3 ~@5 [bb3,d4,g4]@3 ~@5 [bb3,d4,g4]@3 ~", // Bb C Gm
D: "~@4 [bb3,d4,g4]@3 ~@5 [bb3,d4,g4]@3 ~@5 [bb3,d4,g4]@3 ~@5 [bb3,d4,g4]@3 ~", // Gm
E: "~@4 [a3,c4,f4]@3 ~@5 [a3,c4,f4]@3 ~@5 [bb3,d4,f4]@3 ~@5 [bb3,d4,f4]@3 ~", // F Bb
F: "~@4 [bb3,d4,f4]@3 ~@5 [bb3,d4,f4]@3 ~@5 [c4,e4,g4]@3 ~@5 [c4,e4,g4]@3 ~", // Bb C
G: "~@4 [c4,e4,g4]@3 ~@5 [d4,gb4,a4]@3 ~@5 [d4,g4,bb4]@3 ~@5 [d4,g4,bb4]@3 ~", // C D Gm
H: "~@4 [c4,e4,g4,bb4]@3 ~@5 [c4,e4,g4,bb4]@3 ~@5 [c4,f4,a4]@3 ~@5 [c4,f4,a4]@3 ~", // C7 F
I: "~@4 [c4,f4,a4]@3 ~@5 [c4,f4,a4]@3 ~@5 [bb3,d4,f4]@2 ~@6 [bb3,d4,f4]@3 ~", // F Bb
J: "~@4 [c4,e4,g4]@3 ~@5 [c4,e4,g4]@3 ~@5 [c4,e4,g4]@3 ~@5 [c4,e4,g4]@3 ~", // C
K: "~@4 [c4,f4,a4]@2 ~@6 [c4,f4,a4]@3 ~@5 [d4,f4,bb4]@3 ~@5 [d4,f4,bb4]@3 ~", // F Bb
L: "~@4 [d4,f4,bb4]@3 ~@5 [d4,f4,bb4]@3 ~@5 [c4,e4,g4]@3 ~@5 [c4,e4,g4]@3 ~", // Bb C
M: "~@4 [c4,e4,g4]@3 ~@5 [c4,e4,g4]@3 ~@17", N: "~ [f3,ab3,db4]",
O: "~@4 [bb3,db4,gb4]@2 ~@6 [bb3,db4,gb4]@2 ~@6 [bb3,db4,gb4]@3 ~@5 [bb3,db4,gb4]@2 ~@2", // Gb
P: "~@4 [bb3,db4,gb4]@2 ~@6 [bb3,db4,gb4]@3 ~@5 [b3,eb4,gb4]@3 ~@5 [db4,f4,ab4]@3 ~", // Gb B Db
Q: "~@4 [b3,eb4,ab4]@3 ~@5 [b3,eb4,ab4]@3 ~@5 [b3,eb4,ab4]@3 ~@5 [b3,eb4,ab4]@3 ~", // Abm
R: "~@4 [b3,eb4,ab4]@3 ~@5 [b3,eb4,ab4]@3 ~@5 [bb3,db4,gb4]@3 ~@5 [bb3,db4,gb4]@3 ~", // Abm Gb
S: "~@4 [b3,eb4,gb4]@3 ~@5 [b3,eb4,gb4]@3 ~@5 [b3,eb4,gb4]@3 ~@5 [b3,eb4,gb4]@3 ~", // B
T: "~@4 [db4,f4,ab4]@3 ~@5 [db4,f4,ab4]@3 ~@5 [db4,f4,ab4]@3 ~@5 [eb4,g4,bb4]@3 ~", // Db Eb
U: "~@4 [eb4,ab4,b4]@3 ~@5 [eb4,ab4,b4]@3 ~@5 [db4,f4,ab4,b4]@3 ~@5 [db4,f4,ab4,b4]@3 ~", // Abm Db7
V: "~@4 [db4,gb4,bb4]@3 ~@5 [db4,gb4,bb4]@3 ~@5 [db4,gb4,bb4]@3 ~@5 [db4,gb4,bb4]@3 ~", // Gb
W: "~@4 [b3,eb4,gb4]@2 ~@6 [b3,eb4,gb4]@3 ~@5 [db4,f4,ab4]@3 ~@5 [db4,f4,ab4]@3 ~", // B Db
X: "~@4 [db4,f4,ab4]@3 ~@5 [db4,f4,ab4]@3 ~@5 [db4,gb4,bb4]@2 ~@6 [db4,gb4,bb4]@3 ~", // Db Gb
Y: "~@4 [eb4,gb4,b4]@3 ~@5 [eb4,gb4,b4]@3 ~@5 [eb4,gb4,b4]@3 ~@5 [eb4,gb4,b4]@3 ~", // B
Z: "~@4 [db4,f4,ab4]@3 ~@5 [db4,f4,ab4]@3 ~@5 [db4,f4,ab4]@3 ~@5 [db4,f4,ab4]@2 ~@2", // Db
AA: "[gb3,a3,d4]@8 ~@2 [b3,d4,g4] ~@3 [b3,d4,g4] ~", // D G
AB: "~@4 [b3,d4,g4]@3 ~@5 [b3,d4,g4]@2 ~@6 [b3,d4,g4]@2 ~@6 [b3,d4,g4]@3 ~", // G
AC: "~@4 [c4,e4,g4]@3 ~@5 [d4,gb4,a4]@3 ~@5 [c4,e4,a4]@3 ~@5 [c4,e4,a4]@3 ~", // C D Am
AD: "~@4 [c4,e4,a4]@3 ~@5 [c4,e4,a4]@3 ~@5 [c4,e4,a4]@3 ~@5 [c4,e4,a4]@3 ~", // Am
AE: "~@4 [b3,d4,g4]@3 ~@5 [b3,d4,g4]@3 ~@5 [c4,e4,g4]@3 ~@5 [c4,e4,g4]@3 ~", // G C
AF: "~@4 [c4,e4,g4]@3 ~@5 [c4,e4,g4]@3 ~@5 [d4,gb4,a4]@3 ~@5 [d4,gb4,a4]@3 ~", // C D
AG: "~@4 [d4,gb4,a4]@3 ~@5 [e4,ab4,b4]@3 ~@5 [e4,a4,c5]@3 ~@5 [e4,a4,c5]@3 ~", // D E Am
AH: "~@4 [d4,gb4,a4,c5]@3 ~@5 [d4,gb4,a4,c5]@3 ~@5 [d4,g4,b4]@3 ~@5 [d4,g4,b4]@3 ~", // D7 G
AI: "~@4 [d4,g4,b4]@3 ~@5 [d4,g4,b4]@3 ~@5 [c4,e4,g4]@2 ~@6 [c4,e4,g4]@3 ~", // G C
AJ: "~@4 [d4,gb4,a4]@3 ~@5 [d4,gb4,a4]@3 ~@5 [d4,gb4,a4]@3 ~@5 [d4,gb4,a4]@3 ~", // D
AK: "~@4 [d4,g4,b4]@2 ~@6 [d4,g4,b4]@3 ~@5 [e4,g4,c5]@3 ~@5 [e4,g4,c5]@3 ~", // G C
AL: "~@4 [e4,g4,c5]@3 ~@5 [e4,g4,c5]@3 ~@5 [d4,gb4,a4]@3 ~@5 [d4,gb4,a4]@3 ~", // C D
// … 264 more lines
More by Paoli
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.