0:00/0:00
// Bella Italia — Imca Marina
// 123 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 97 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(123/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, A@4 for four bars: edit a riff to change every repeat.
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
~@21 A B C D C E F G H I J K L M N O P ~@20 A Q R S R T U V W X Y Z AA AB AC AD AE ~@22
>`.pickRestart({
A: "[g3,b3,d4] ~@2 [g3,b3,d4] ~@2 [g3,b3,d4] ~@2 [g3,b3,d4] ~@2", // G
B: "[a3,db4,e4] ~@5 [a3,db4,e4] ~@5 [a3,db4,e4]@2 ~@4 [a3,db4,e4] ~@5", // A
C: "[a3,d4,gb4]@2 ~@4 [a3,d4,gb4]@2 ~@4 [a3,d4,gb4] ~@5 [a3,d4,gb4] ~@5", // D
D: "[a3,d4,gb4] ~@5 [a3,d4,gb4]@2 ~@4 [b3,d4,g4]@2 ~@4 [b3,d4,g4]@2 ~@4", // D G
E: "[a3,d4,gb4] ~@5 [a3,d4,gb4]@2 ~@4 [a3,d4,gb4]@2 ~@4 [a3,d4,gb4]@2 ~ [a3,d4,gb4] ~@2", // D
F: "[a3,d4,gb4]@2 ~@4 [a3,d4,gb4] ~@5 [a3,d4,gb4] ~@5 [a3,d4,gb4]@2 ~@4", // D
G: "[a3,d4,gb4] ~@5 [a3,d4,gb4]@2 ~@4 [a3,d4,gb4] ~@5 [a3,d4,gb4]@2 ~@4", // D
H: "[b3,e4,g4] ~@2 [b3,e4,g4] ~@2 [b3,e4,g4] ~@2 [b3,e4,g4] ~@2", // Em
I: "[a3,db4,e4,g4]@2 ~@4 [a3,db4,e4,g4] ~@5 [a3,db4,e4,g4] ~@5 [a3,db4,e4,g4] ~@5", // A7
J: "[a3,d4,gb4] ~@5 [a3,d4,gb4] ~@5 [a3,d4,gb4] ~@5 [a3,d4,gb4] ~@5", // D
K: "[a3,c4,gb4] ~@5 [a3,c4,gb4] ~@5 [a3,c4,gb4] ~@5 [a3,c4,gb4]@2 ~@4", // Gbdim
L: "[b3,d4,g4]@2 ~@4 [b3,d4,g4] ~@5 [b3,d4,g4] ~@5 [b3,d4,g4]@2 ~@4", M: "[b3,d4,g4] ~@11",
N: "[a3,d4,gb4] ~@5 [a3,d4,gb4]@15 ~ [a3,db4,e4] ~", O: "~@2 [a3,db4,e4]@5 ~", P: "[a3,d4,gb4] ~@23",
Q: "[f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@2 ~@4 [f3,bb3,d4]@3 ~@3 [f3,bb3,d4]@2 ~@4", // Bb
R: "[bb3,eb4,g4]@2 ~@4 [bb3,eb4,g4]@2 ~@4 [bb3,eb4,g4] ~@5 [bb3,eb4,g4] ~@5", // Eb
S: "[bb3,eb4,g4] ~@5 [bb3,eb4,g4]@2 ~@4 [c4,eb4,ab4]@2 ~@4 [c4,eb4,ab4]@2 ~@4", // Eb Ab
T: "[bb3,eb4,g4] ~@5 [bb3,eb4,g4]@2 ~@4 [bb3,eb4,g4]@2 ~@4 [bb3,eb4,g4]@2 ~ [bb3,eb4,g4] ~@2", // Eb
U: "[bb3,eb4,g4]@2 ~@4 [bb3,eb4,g4] ~@5 [bb3,eb4,g4] ~@5 [bb3,eb4,g4]@2 ~@4", // Eb
V: "[bb3,eb4,g4] ~@5 [bb3,eb4,g4]@2 ~@4 [bb3,eb4,g4] ~@5 [bb3,eb4,g4]@2 ~@4", // Eb
W: "[c4,f4,ab4] ~@2 [c4,f4,ab4] ~@2 [c4,f4,ab4] ~@2 [c4,f4,ab4] ~@2", // Fm
X: "[bb3,d4,f4,ab4]@2 ~@4 [bb3,d4,f4,ab4] ~@5 [bb3,d4,f4,ab4] ~@5 [bb3,d4,f4,ab4] ~@5", // Bb7
Y: "[bb3,eb4,g4] ~@5 [bb3,eb4,g4] ~@5 [bb3,eb4,g4] ~@5 [bb3,eb4,g4] ~@5", // Eb
Z: "[bb3,db4,g4] ~@5 [bb3,db4,g4] ~@5 [bb3,db4,g4] ~@5 [bb3,db4,g4]@2 ~@4", // Gdim
AA: "[c4,eb4,ab4]@2 ~@4 [c4,eb4,ab4] ~@5 [c4,eb4,ab4] ~@5 [c4,eb4,ab4]@2 ~@4", AB: "[c4,eb4,ab4] ~@11",
AC: "[bb3,eb4,g4] ~@5 [bb3,eb4,g4]@15 ~ [bb3,d4,f4] ~", AD: "~@2 [bb3,d4,f4]@5 ~", AE: "[bb3,eb4,g4] ~@23",
})).s("gm_acoustic_guitar_steel").gain(0.64)
// bass · fretless bass · "FRETLESS"
const bass = note(`<
A@2 B C D@3 B@4 D E F E G H I H J ~ K L M N M O M P Q R S T U V W X A@2 B C D@3 B@4 D E F E G H I H J ~ Y Z AA AB AA
AC AA AD AE AF AG AH AI AJ AK AL AM@2 AN AO AP@3 AN@4 AP AQ AR AQ AS AT AU AT AV ~ AW AX
>`.pickRestart({
A: "d2@3 ~@3 d2@3 ~@3 d2@3 ~@3 a1@4 ~@2", B: "d2@3 ~@3 a1@4 ~@2 d2@4 ~@2 a1@4 ~@2",
C: "d3@2 ~@2 c3 ~ a2@2 ~@2 gb2@2 d2@3 ~@9", D: "g1@4 ~@2 d2@3 ~@3 g1@4 ~@2 d2@3 ~@3",
E: "g1@3 ~@3 d2@4 ~@2 g1@4 ~@2 d2@4 ~@2", F: "g1@4 ~@2 d2@4 ~@2 g1@4 ~@2 d2@5 ~", G: "c2@5 ~ g1@5 ~ c2@5 ~ g1@5 ~",
H: "c2@5 ~ g1@5 ~ g1@5 ~ d2@5 ~", I: "d2@5 ~ a1@5 ~ g1@5 ~ d2@5 ~", J: "d2@5 ~ a1@5 ~ d2@5 ~ a1@5 ~",
K: "g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1@2 ~ ab1@3", L: "a1 ~ g1 ~ gb1 ~ e1 ~", M: "d2@7 ~@2 a2@3 d2 ~@2 d2@4 ~@2 a1@3",
N: "d2@7 ~@2 a2@3 a1 ~@2 a1@3 b1@3 db2@3", O: "d2@7 ~@2 a2@3 d2 ~@2 a1@3 b1@2 ~ db2@3",
P: "d2@7 ~@2 a2@2 ~ d2 ~@2 d2@3 a2@3 d2@2 ~", Q: "e2@8 ~ b2@3 e2 ~@2 e2@3 b1@3 e2@3",
R: "a1@7 ~@2 e2@3 a2 ~@2 a2@3 e2@3 a1@3", S: "d2@7 ~@2 a2@2 ~ d2 ~@2 d2@4 ~@2 a1@2 ~",
T: "d2@7 ~@2 d2 ~@2 d2 ~@2 d2@5 ~ d2@2 ~", U: "g1@7 ~@2 g1 ~@2 g1@2 ~ g1@4 ~@2 g1 ~@2", V: "g1@5 ~ g1@6",
W: "d2@2 ~@4 d2@17 ~", X: "a1 ~@5 a1@16 ~@2", Y: "g1@3 ~@3 g1@3 ~@3 g1@2 ~ g1@2 ~ ab1@2 ~ a1@3",
Z: "bb1@4 ~@2 ab1@5 ~ g1@5 ~ f1@4 ~@2", AA: "eb2@7 ~@2 bb2@3 eb2 ~@2 eb2@4 ~@2 bb1@3",
AB: "eb2@7 ~@2 bb2@3 bb1 ~@2 bb1@3 c2@3 d2@3", AC: "eb2@7 ~@2 bb2@3 eb2 ~@2 bb1@3 c2@2 ~ d2@3",
AD: "eb2@7 ~@2 bb2@2 ~ eb2 ~@2 eb2@3 bb2@3 eb2@2 ~", AE: "f2@8 ~ c3@3 f2 ~@2 f2@3 c2@3 f2@3",
AF: "bb1@7 ~@2 f2@3 bb2 ~@2 bb2@3 f2@3 bb1@3", AG: "eb2@7 ~@2 bb2@2 ~ eb2 ~@2 eb2@4 ~@2 bb1@2 ~",
AH: "eb2@7 ~@2 eb2 ~@2 eb2 ~@2 eb2@5 ~ eb2@2 ~", AI: "ab1@7 ~@2 ab1 ~@2 ab1@2 ~ ab1@4 ~@2 ab1 ~@2",
AJ: "ab1@5 ~ ab1@6", AK: "eb2@2 ~@4 eb2@17 ~", AL: "bb1 ~@5 bb1@16 ~@2",
AM: "eb2@3 ~@3 eb2@3 ~@3 eb2@3 ~@3 bb1@4 ~@2", AN: "eb2@3 ~@3 bb1@4 ~@2 eb2@4 ~@2 bb1@4 ~@2",
AO: "eb3@2 ~@2 db3 ~ bb2@2 ~@2 g2@2 eb2@3 ~@9", AP: "ab1@4 ~@2 eb2@3 ~@3 ab1@4 ~@2 eb2@3 ~@3",
AQ: "ab1@3 ~@3 eb2@4 ~@2 ab1@4 ~@2 eb2@4 ~@2", AR: "ab1@4 ~@2 eb2@4 ~@2 ab1@4 ~@2 eb2@5 ~",
AS: "db2@5 ~ ab1@5 ~ db2@5 ~ ab1@5 ~", AT: "db2@5 ~ ab1@5 ~ ab1@5 ~ eb2@5 ~", AU: "eb2@5 ~ bb1@5 ~ ab1@5 ~ eb2@5 ~",
AV: "eb2@5 ~ bb1@5 ~ eb2@5 ~ bb1@5 ~", AW: "ab1@4 ~@2 eb2@5 ~ ab1@4 ~@2 eb2@4 ~@2",
AX: "eb2@3 ~ eb2 ~ eb2 f2 ~ g2@2 ~ ab2@3 ~@3 ab1@4 ~@2",
})).s("gm_fretless_bass").gain(0.64)
// chords · bandoneon · "BANDNEON"
const bandoneon = note(`<
~@3 A B C ~ D E F ~ G H C ~@16 I J@2 K L M N O ~@2 A B C ~ D E F ~ G H C ~@16 P Q@2 R S T U V ~@2 W X Y ~ Z AA AB ~ AC
AD Y ~@9
>`.pickRestart({
A: "~@9 [g4,b4]@2 [a4,c5]", B: "[b4,d5] ~@3 [b4,d5] ~ [g4,b4]@4 [a4,c5] ~ [b4,d5] ~@3 [b4,d5] ~ [g4,b4]@4 [a4,c5] ~",
C: "d5@2 ~@2 [b4,d5] ~ [b4,e5] ~@3 [g4,b4] ~ [b4,d5]@6 ~@6, b4 ~@23", D: "~@18 [gb4,a4]@3 ~ [g4,a4,b4] ~",
E: "[a4,c5] ~@3 [a4,c5] ~ a4@4 [g4,b4] ~ c5@2 ~@2 [a4,c5] ~ a4@4 [g4,a4,b4] ~, ~@6 gb4@2 ~@4 a4 ~@5 gb4@2 ~@4", // Am G Am G
F: "[a4,c5] ~@3 [a4,c5] ~ [a4,d5] ~@3 [gb4,a4] ~ [a4,c5]@6 ~@6", G: "~@18 [g4,b4]@4 [g4,a4,b4,c5] ~",
H: "[b4,d5] ~@3 [b4,db5,d5] ~ [g4,b4]@4 [a4,c5] ~ [b4,d5] ~@3 [b4,d5] ~ [g4,b4]@4 [a4,c5] ~", // Bm G Am Bm G Am
I: "~@13 db5@2 ~ e5 ~@2 e5@2 ~ [g5,ab5] ~, ~@12 d5@2 ~ d5@2 ~ gb5@2 ~ gb5@2 ~", // Abmaj7
J: "[[gb5,a5]@12 [d5,gb5]@16 ~@2 [c5,gb5]@6 [c5,gb5]@3 [e5,g5]@4 [gb5,a5]@3 ~@2]/2", K: "g5 d6, b5",
L: "~@2 [b5,d6]@2 [b5,d6] db6@2 [g5,b5], ~@15 a5@4 ~@5", // Bm G
M: "[gb5,a5]@3 ~@6 [a5,db6]@2 ~ [a5,db6]@3 b5@5 ~ [gb5,a5]@3, ~@5 g5 ~@2", // Gbm A Gbm
N: "[e5,g5]@3 ~@6 [g5,b5]@2 ~ [g5,b5]@3 [gb5,a5]@5 ~ [e5,g5]@3", O: "[d5,gb5]",
P: "~@13 d5@2 ~ f5 ~@2 f5@2 ~ [ab5,a5] ~, ~@12 eb5@2 ~ eb5@2 ~ g5@2 ~ g5@2 ~", // Amaj7
Q: "[[g5,bb5]@12 [eb5,g5]@16 ~@2 [db5,g5]@6 [db5,g5]@3 [f5,ab5]@4 [g5,bb5]@3 ~@2]/2", R: "ab5 eb6, c6",
S: "~@2 [c6,eb6]@2 [c6,eb6] d6@2 [ab5,c6], ~@15 bb5@4 ~@5", // Cm Ab
T: "[g5,bb5]@3 ~@6 [bb5,d6]@2 ~ [bb5,d6]@3 c6@5 ~ [g5,bb5]@3, ~@5 ab5 ~@2", // Gm Bb Gm
U: "[f5,ab5]@3 ~@6 [ab5,c6]@2 ~ [ab5,c6]@3 [g5,bb5]@5 ~ [f5,ab5]@3", V: "[eb5,g5]", W: "~@9 [ab4,c5]@2 [bb4,db5]",
X: "[c5,eb5] ~@3 [c5,eb5] ~ [ab4,c5]@4 [bb4,db5] ~ [c5,eb5] ~@3 [c5,eb5] ~ [ab4,c5]@4 [bb4,db5] ~", // Cm Ab Bbm Cm Ab Bbm
Y: "eb5@2 ~@2 [c5,eb5] ~ [c5,f5] ~@3 [ab4,c5] ~ [c5,eb5]@6 ~@6, c5 ~@23", Z: "~@18 [g4,bb4]@3 ~ [ab4,bb4,c5] ~",
AA: "[bb4,db5] ~@3 [bb4,db5] ~ bb4@4 [ab4,c5] ~ db5@2 ~@2 [bb4,db5] ~ bb4@4 [ab4,bb4,c5] ~, ~@6 g4@2 ~@4 bb4 ~@5 g4@2 ~@4", // Bbm Ab Bbm Ab
AB: "[bb4,db5] ~@3 [bb4,db5] ~ [bb4,eb5] ~@3 [g4,bb4] ~ [bb4,db5]@6 ~@6", AC: "~@18 [ab4,c5]@4 [ab4,bb4,c5,db5] ~",
AD: "[c5,eb5] ~@3 [c5,d5,eb5] ~ [ab4,c5]@4 [bb4,db5] ~ [c5,eb5] ~@3 [c5,eb5] ~ [ab4,c5]@4 [bb4,db5] ~", // Cm Ab Bbm Cm Ab Bbm
})).s("gm_bandoneon").gain(0.56)
// other · piccolo
const piccolo = note(`<
A@2 B C ~@2 D E ~@2 F G ~@2 D H ~@21 A@2 B C ~@2 D E ~@2 F G ~@2 D H ~@21 I@2 J K ~@2 L M ~@2 N O ~@2 L P ~@7
>`.pickRestart({
A: "d7 ~@3 d7 ~ d7@8 c7 ~ d7 ~ eb7 ~ f7 ~ eb7 ~",
B: "d7 ~ c7 ~ d7 ~ eb7 ~ f7 ~ eb7 ~ d7 ~ c7 ~ d7 ~ eb7 ~ f7 ~ eb7 ~", C: "d7 ~@11", D: "b6@11 ~ a6@6 g6@5 ~",
E: "g6@10 gb6 ~ gb6@8 ~@4", F: "a6@11 ~ g6@5 ~ gb6@5 ~", G: "e6@9 ~ d6 ~ d6@9 ~@3", H: "a6@9 ~ g6@2 e6@4 ~@8",
I: "eb7 ~@3 eb7 ~ eb7@8 db7 ~ eb7 ~ e7 ~ gb7 ~ e7 ~",
J: "eb7 ~ db7 ~ eb7 ~ e7 ~ gb7 ~ e7 ~ eb7 ~ db7 ~ eb7 ~ e7 ~ gb7 ~ e7 ~", K: "eb7 ~@11", L: "c7@11 ~ bb6@6 ab6@5 ~",
M: "ab6@10 g6 ~ g6@8 ~@4", N: "bb6@11 ~ ab6@5 ~ g6@5 ~", O: "f6@9 ~ eb6 ~ eb6@9 ~@3", P: "bb6@9 ~ ab6@2 f6@4 ~@8",
})).s("gm_piccolo").gain(0.4)
// chords · trombone
const trombone = note(`<
A B C D ~ E F G ~ H I J ~ E K L M N M O P Q R ~@8 S T U@2 V W A B C D ~ E F G ~ H I J ~ E K L M N M O P X Y ~@8 Z AA
AB@2 AC AD AE AF AG AH ~ AI AJ AK ~ AL AM AN ~ AI AO AP AQ AR AQ AS AT AU@2
>`.pickRestart({
A: "[d4,a4] ~@3 [d4,gb4,a4] ~ [d4,gb4,a4]@7 ~@5 [c4,eb4,g4]@5 ~, gb4 ~@11", // D5 D Cm
B: "[d4,gb4,a4] ~@3 [d4,gb4,a4] ~ [d4,gb4,a4]@7 ~@5 [c4,eb4,g4]@5 ~", // D Cm
C: "[gb4,a4]@2 ~@4 [c4,eb4,g4]@6 [d4,gb4,a4] ~@5 [c4,eb4,g4]@6, d4 ~@23", D: "[gb4,a4] ~@11, d4 ~@23",
E: "~@16 [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] ~ [g3,b3,d4] ~", F: "[d4,b4]@12 [c4,a4]@6 [b3,g4]@5 ~",
G: "[c4,g4]@9 ~ [c4,gb4]@2 [c4,gb4]@9 ~@3", H: "~@16 [gb3,c4,d4] ~ [gb3,c4,d4] ~ [gb3,c4,d4] ~ [gb3,c4,d4] ~",
I: "[gb4,a4]@11 ~ [e4,g4]@6 [d4,gb4]@6", J: "[c4,e4]@9 ~ [b3,d4] ~ [b3,d4]@9 ~@3",
K: "[b4,d5]@11 ~ [a4,c5]@6 [g4,b4]@6", L: "[a4,c5]@8 ~@2 c5@2 [e4,c5]@5 ~ eb5@4 f5@2, ~@10 g4 ~@13",
M: "[c4,eb4,g4,g5] ~@3 g5@2 f5@4 [c4,eb4,g4] ~ [bb3,d4,g4,d5] ~@3 d5@2 c5@3 ~ [bb3,d4,g4] ~, ~@5 eb5 ~@5 bb4", // Cm Gm
N: "[a3,d4,gb4] ~@3 c5@2 bb4@4 [a3,d4,gb4,c5] ~ [bb3,d4,g4] ~@3 [bb3,d4,g4] ~ [bb3,d4,g4] ~@3 [bb3,d4,g4] ~, c5 ~@5 d5@2 ~ eb5@2 f5", // D D7 Gm
O: "[gb4,d5]@2 ~@4 [a3,d4,gb4]@13 ~@5, [a3,d4] ~@5 d5@18", P: "~@6 d5@5 ~ e5@6 gb5@5 ~",
Q: "[d3,b3]@2 ~@4 [d3,g3,b3]@2 ~@4 [d3,g3,b3]@2 ~@4 [g3,b3]@2 ~ [eb3,ab3,c4]@3, g5@23 ~, g3 ~@17 d3 ~@5", // G Ab
R: "[e3,a3,db4] ~@7, f3 ~@23", S: "~@6 a3@5 ~ d4@6 db4@6", T: "c4",
U: "[b3@12 d4@14 ~@4 d4@5 ~ d4@3 db4@5 ~ b3@3, ~@36 c4 ~@11]/2", V: "a3@3 ~@6 db4@2 ~ db4@3 b3@5 ~ a3@3",
W: "g3@3 ~@6 b3@2 ~ b3@4 a3@5 g3@3",
X: "[d3,b3]@2 ~@4 [d3,g3] ~@5 [d3,g3,b3] ~@2 [d3,g3,b3,g5]@3 [eb3,ab3,c4] ~@2 [e3,a3,db4,a5]@3, g5@13 ~@5 ab5@3 ~@3, g3 ~@5 b3@2 ~@16", // G G5 G Ab A
Y: "[f3,bb3,d4,bb5] ~@11", Z: "~@6 bb3@5 ~ eb4@6 d4@6", AA: "db4",
AB: "[c4@12 eb4@14 ~@4 eb4@5 ~ eb4@3 d4@5 ~ c4@3, ~@36 db4 ~@11]/2", AC: "bb3@3 ~@6 d4@2 ~ d4@3 c4@5 ~ bb3@3",
AD: "ab3@3 ~@6 c4@2 ~ c4@4 bb3@5 ab3@3",
AE: "[eb4,bb4] ~@3 [eb4,g4,bb4] ~ [eb4,g4,bb4]@7 ~@5 [db4,e4,ab4]@5 ~, g4 ~@11", // Eb5 Eb Dbm
AF: "[eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~ [eb4,g4,bb4]@7 ~@5 [db4,e4,ab4]@5 ~", // Eb Dbm
AG: "[g4,bb4]@2 ~@4 [db4,e4,ab4]@6 [eb4,g4,bb4] ~@5 [db4,e4,ab4]@6, eb4 ~@23", AH: "[g4,bb4] ~@11, eb4 ~@23",
AI: "~@16 [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~", AJ: "[eb4,c5]@12 [db4,bb4]@6 [c4,ab4]@5 ~",
AK: "[db4,ab4]@9 ~ [db4,g4]@2 [db4,g4]@9 ~@3", AL: "~@16 [g3,db4,eb4] ~ [g3,db4,eb4] ~ [g3,db4,eb4] ~ [g3,db4,eb4] ~",
AM: "[g4,bb4]@11 ~ [f4,ab4]@6 [eb4,g4]@6", AN: "[db4,f4]@9 ~ [c4,eb4] ~ [c4,eb4]@9 ~@3",
AO: "[c5,eb5]@11 ~ [bb4,db5]@6 [ab4,c5]@6", AP: "[bb4,db5]@8 ~@2 db5@2 [f4,db5]@5 ~ e5@4 gb5@2, ~@10 ab4 ~@13",
AQ: "[db4,e4,ab4,ab5] ~@3 ab5@2 gb5@4 [db4,e4,ab4] ~ [b3,eb4,ab4,eb5] ~@3 eb5@2 db5@3 ~ [b3,eb4,ab4] ~, ~@5 e5 ~@5 b4", // Dbm Abm
AR: "[bb3,eb4,g4] ~@3 db5@2 b4@4 [bb3,eb4,g4,db5] ~ [b3,eb4,ab4] ~@3 [b3,eb4,ab4] ~ [b3,eb4,ab4] ~@3 [b3,eb4,ab4] ~, db5 ~@5 eb5@2 ~ e5@2 gb5", // Eb Eb7 Abm
AS: "[g4,eb5]@2 ~@4 [bb3,eb4,g4]@13 ~@5, [bb3,eb4] ~@5 eb5@18", AT: "~@6 eb5@5 ~ f5@6 g5@5 ~",
AU: "[[ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,f4] ~@3 [ab3,c4,eb4] ~ [ab3,f4]@2 ~@2 [ab3,c4,eb4] ~ [ab3,c4] ~@3 [a3,c4,d4] ~ [bb3,db4,eb4] ~ [bb3,db4,f4] ~ [bb3,db4,f4,g4] ~ [ab3,c4,eb4,ab4] ~@5 [ab3,c4,eb4,ab4] ~@5, ab5@43 ~@5, ab4@2 ~@10 c4@2 ~@4 c4 ~@5 eb4@2 ~@22]/2", // Ab Db Ab Db Ab D7 Eb7 Bbm …
})).s("gm_trombone").gain(0.64)
// chords · trumpet
const trumpet = note(`<
A@2 B C ~@15 D E F G H I J K L I M N O@2 P@2 Q R A@2 B C ~@15 D E S T U V W X Y V Z AA AB@2 AC@2 AD AE AF@2 AG AH ~@15
AI AJ ~@2
>`.pickRestart({
A: "d6 ~@3 d6 ~ d6@8 c6 ~ d6 ~ eb6 ~ f6 ~ eb6 ~",
B: "d6 ~ c6 ~ d6 ~ eb6 ~ f6 ~ eb6 ~ d6 ~ c6 ~ d6 ~ eb6 ~ f6 ~ eb6 ~", C: "d6 ~@11",
D: "~@19 gb4 ~@2 a4 ~, ~@9 d4 ~@2", E: "d4 ~@23", F: "~@7 ab5", G: "a5 ~@11",
H: "~@19 g4@2 a4 [e4,g4] ~, ~@18 [gb4,a4]@2 ~ gb4@2 ~, ~@19 b4 ~@4", I: "[gb4,a4] ~",
J: "~@9 [d4,gb4] [e4,g4] ~ [gb4,a4] ~@2 g4@2 ~ [a4,db5] ~@2 [b4,d5] ~@2, ~@15 b4 ~@8", // D Em Gbm A Bm
K: "[a4,db5] [b4,d5]@2 ~ [g4,b4] ~ [gb4,a4]@12 ~@6, ~@3 [a4,db5]@2 ~@19", // A Bm G Gbm A
L: "~@19 [g4,b4]@2 gb4 e4@2, ~@18 [gb4,a4]@2 ~ a4@2 ~, ~@22 g4 ~", // G Gbm
M: "~@9 [g4,b4] [a4,db5] ~ [b4,d5] ~@2 [db5,e5] ~@2 [b4,d5] ~@2 [g4,b4] ~@2", // G A Bm Dbm Bm G
N: "e4 gb4@2 [e4,db5] [d4,b4] ~ [db4,g4]@12 ~@6, db5 ~@11, ~ d5 ~@22", // Dbm G Dbdim
O: "[[gb4,a4]@12 [d4,gb4]@16 ~@2 [d4,gb4]@6 [d4,gb4]@4 [e4,g4]@4 ~ [gb4,a4]@3]/2", // Gbm D Em Gbm
P: "[g4@5 ~ d5@7 ~@11, b4@25 ~@23]/2", Q: "~ d3@3", R: "~@6 a2@17 ~", S: "~@7 a5", T: "bb5 ~@11",
U: "~@19 ab4@2 bb4 [f4,ab4] ~, ~@18 [g4,bb4]@2 ~ g4@2 ~, ~@19 c5 ~@4", V: "[g4,bb4] ~",
W: "~@9 [eb4,g4] [f4,ab4] ~ [g4,bb4] ~@2 ab4@2 ~ [bb4,d5] ~@2 [c5,eb5] ~@2, ~@15 c5 ~@8", // Eb Fm Gm Bb Cm
X: "[bb4,d5] [c5,eb5]@2 ~ [ab4,c5] ~ [g4,bb4]@12 ~@6, ~@3 [bb4,d5]@2 ~@19", // Bb Cm Ab Gm Bb
Y: "~@19 [ab4,c5]@2 g4 f4@2, ~@18 [g4,bb4]@2 ~ bb4@2 ~, ~@22 ab4 ~", // Ab Gm
Z: "~@9 [ab4,c5] [bb4,d5] ~ [c5,eb5] ~@2 [d5,f5] ~@2 [c5,eb5] ~@2 [ab4,c5] ~@2", // Ab Bb Cm Dm Cm Ab
AA: "f4 g4@2 [f4,d5] [eb4,c5] ~ [d4,ab4]@12 ~@6, d5 ~@11, ~ eb5 ~@22", // Dm Cm Ddim
AB: "[[g4,bb4]@12 [eb4,g4]@16 ~@2 [eb4,g4]@6 [eb4,g4]@4 [f4,ab4]@4 ~ [g4,bb4]@3]/2", // Gm Eb Fm Gm
AC: "[ab4@5 ~ eb5@7 ~@11, c5@25 ~@23]/2", AD: "~ eb3@3", AE: "~@6 bb2@17 ~",
AF: "eb6 ~@3 eb6 ~ eb6@8 db6 ~ eb6 ~ e6 ~ gb6 ~ e6 ~",
AG: "eb6 ~ db6 ~ eb6 ~ e6 ~ gb6 ~ e6 ~ eb6 ~ db6 ~ eb6 ~ e6 ~ gb6 ~ e6 ~", AH: "eb6 ~@11",
AI: "~@18 eb4@2 g4 ~ bb4 ~", AJ: "eb4 ~@23",
})).s("gm_trumpet").gain(0.64)
// other · brass section · "BRASS 1"
const brass_section = note(`<
A@2 B C ~ D ~@3 E ~@3 D ~@5 F G H I ~@12 J K A@2 B C ~ D ~@3 E ~@3 D ~@5 F G L M ~@12 N O P@2 Q R ~ S ~@3 T ~@3 S ~@5
U V ~@2
>`.pickRestart({
A: "[d4,d5] ~@3 [d4,d5] ~ [d4,d5]@7 ~ [c4,c5] ~ [d4,d5] ~ [eb4,eb5] ~ [f4,f5] ~ [eb4,eb5] ~", // D C D Eb F Eb
B: "[d4,d5] ~ [c4,c5] ~ [d4,d5] ~ [eb4,eb5] ~ [f4,f5] ~ [eb4,eb5] ~ [d4,d5] ~ [c4,c5] ~ [d4,d5] ~ [eb4,eb5] ~ [f4,f5] ~ [eb4,eb5] ~", // D C D Eb F Eb D C …
C: "[d4,d5] ~@11", D: "~@16 [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~",
E: "~@16 [gb4,c5,d5] ~ [gb4,c5,d5] ~ [gb4,c5,d5] ~ [gb4,c5,d5] ~", F: "~@9 [d3,d4] [gb3,gb4] [a3,a4]",
G: "[d3,d4] ~@11", H: "~@7 [eb4,ab4,c5]", I: "[e4,a4,db5] ~@11", J: "~ d3@3", K: "~ a2@3", L: "~@7 [e4,a4,db5]",
M: "[f4,bb4,d5] ~@7", N: "~ eb3@3", O: "~ bb2@3",
P: "[eb4,eb5] ~@3 [eb4,eb5] ~ [eb4,eb5]@7 ~ [db4,db5] ~ [eb4,eb5] ~ [e4,e5] ~ [gb4,gb5] ~ [e4,e5] ~", // Eb Db Eb E Gb E
Q: "[eb4,eb5] ~ [db4,db5] ~ [eb4,eb5] ~ [e4,e5] ~ [gb4,gb5] ~ [e4,e5] ~ [eb4,eb5] ~ [db4,db5] ~ [eb4,eb5] ~ [e4,e5] ~ [gb4,gb5] ~ [e4,e5] ~", // Eb Db Eb E Gb E Eb Db …
R: "[eb4,eb5] ~@11", S: "~@16 [ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~",
T: "~@16 [g4,db5,eb5] ~ [g4,db5,eb5] ~ [g4,db5,eb5] ~ [g4,db5,eb5] ~", U: "~@9 [eb3,eb4] [g3,g4] [bb3,bb4]",
V: "[eb3,eb4] ~@11", // Eb
})).s("gm_brass_section").gain(0.72)
// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
~@15 A B C B D ~@2 E F@2 G@2 F@2 H@6 I J ~@15 A B C B D ~@2 K L@2 M@2 L@2 N@6 O P ~@15 Q R S R T ~@3
>`.pickRestart({
A: "~@9 c6@2 d6", B: "eb6 ~@3 eb6@2 d6@4 c6@2 bb5 ~@3 bb5@2 a5@4 g5@2",
C: "a5@2 ~@2 a5@2 g5@4 a5@2 bb5@5 ~ c6@4 d6@2", D: "d6@5 ~ d6@18",
E: "~@16 b4@2 ~ d5 ~@2 f5 ~, ~@15 a4@2 ~ db5@2 ~ e5@2 ~",
F: "[[d5,gb5]@12 [a4,d5]@16 ~@2 [d5,gb5]@6 [gb5,a5]@8 ~ [e5,g5]@3]/2", G: "[[d5,gb5]@47 ~]/2",
// … 59 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.