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: 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 B C D E F G H I J H K L M N O P Q R S ~ T U V W V X Y Z AA AB AC AD AE AF AG AH A B C D E F G H I J H K L M N O P Q
R S ~ AI AJ AK AL AK AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BE BH BI BJ BK BL BM BN BO BP ~ BQ
BR
>`.pickRestart({
A: "d2@3 ~@3 d2@3 ~@3 d2@3 ~@3 a1@4 ~@2", B: "d2 ~ d2 ~ d2 ~ a1 ~", C: "d2@3 ~@3 a1@3 ~@3 d2@3 ~@3 a1@4 ~@2",
D: "d3@2 ~@2 c3 ~ a2@2 ~@2 gb2@2 d2@3 ~@9", E: "g1@4 ~@2 d2@3 ~@3 g1@4 ~@2 d2@3 ~@3",
F: "g1@3 ~@3 d2@4 ~@2 g1@3 ~@3 d2@4 ~@2", G: "g1@3 ~@3 d2@4 ~@2 g1@4 ~@2 d2@4 ~@2",
H: "d2@3 ~@3 a1@4 ~@2 d2@4 ~@2 a1@4 ~@2", I: "d2@2 ~ a1@2 ~ d2@2 ~ a1@2 ~", J: "d2@3 ~@3 a1@4 ~@2 d2@3 ~@3 a1@4 ~@2",
K: "g1@4 ~@2 d2@4 ~@2 g1@4 ~@2 d2@3 ~@3", L: "g1@4 ~@2 d2@4 ~@2 g1@4 ~@2 d2@5 ~", M: "g1@5 ~ d2@5 ~ g1@4 ~@2 d2@5 ~",
N: "g1@4 ~@2 d2@5 ~ g1@5 ~ d2@5 ~", O: "c2@5 ~ g1@5 ~ c2@5 ~ g1@5 ~", P: "c2@5 ~ g1@5 ~ g1@5 ~ d2@5 ~",
Q: "d2@5 ~ a1@5 ~ g1@5 ~ d2@5 ~", R: "c2@5 ~ g1@5 ~ g1@6 d2@5 ~", S: "d2@5 ~ a1@5 ~ d2@5 ~ a1@5 ~",
T: "g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1@2 ~ ab1@3", U: "a1 ~ g1 ~ gb1 ~ e1 ~", V: "d2@7 ~@2 a2@3 d2 ~@2 d2@4 ~@2 a1@3",
W: "d2@7 ~@2 a2@3 a1 ~@2 a1@3 b1@3 db2@3", X: "d2@7 ~@2 a2@3 d2 ~@2 a1@3 b1@2 ~ db2@3",
Y: "d2@8 ~ a2@2 ~ d2 ~@2 d2@4 ~@2 a1@3", Z: "d2@7 ~@2 a2@2 ~ d2 ~@2 d2@3 a2@3 d2@2 ~",
AA: "e2@8 ~ b2@3 e2 ~@2 e2@3 b1@3 e2@3", AB: "a1@7 ~@2 e2@3 a2 ~@2 a2@3 e2@3 a1@3",
AC: "d2@7 ~@2 a2@2 ~ d2 ~@2 d2@4 ~@2 a1@2 ~", AD: "d2@7 ~@2 d2 ~@2 d2 ~@2 d2@5 ~ d2@2 ~",
AE: "g1@7 ~@2 g1 ~@2 g1@2 ~ g1@4 ~@2 g1 ~@2", AF: "g1@5 ~ g1@6", AG: "d2@2 ~@4 d2@17 ~", AH: "a1 ~@5 a1@16 ~@2",
AI: "g1@3 ~@3 g1@3 ~@3 g1@2 ~ g1@2 ~ ab1@2 ~ a1@3", AJ: "bb1@4 ~@2 ab1@5 ~ g1@5 ~ f1@4 ~@2",
AK: "eb2@7 ~@2 bb2@3 eb2 ~@2 eb2@4 ~@2 bb1@3", AL: "eb2@7 ~@2 bb2@3 bb1 ~@2 bb1@3 c2@3 d2@3",
AM: "eb2@7 ~@2 bb2@3 eb2 ~@2 bb1@3 c2@2 ~ d2@3", AN: "eb2@8 ~ bb2@2 ~ eb2 ~@2 eb2@4 ~@2 bb1@3",
AO: "eb2@7 ~@2 bb2@2 ~ eb2 ~@2 eb2@3 bb2@3 eb2@2 ~", AP: "f2@8 ~ c3@3 f2 ~@2 f2@3 c2@3 f2@3",
AQ: "bb1@7 ~@2 f2@3 bb2 ~@2 bb2@3 f2@3 bb1@3", AR: "eb2@7 ~@2 bb2@2 ~ eb2 ~@2 eb2@4 ~@2 bb1@2 ~",
AS: "eb2@7 ~@2 eb2 ~@2 eb2 ~@2 eb2@5 ~ eb2@2 ~", AT: "ab1@7 ~@2 ab1 ~@2 ab1@2 ~ ab1@4 ~@2 ab1 ~@2",
AU: "ab1@5 ~ ab1@6", AV: "eb2@2 ~@4 eb2@17 ~", AW: "bb1 ~@5 bb1@16 ~@2",
AX: "eb2@3 ~@3 eb2@3 ~@3 eb2@3 ~@3 bb1@4 ~@2", AY: "eb2 ~ eb2 ~ eb2 ~ bb1 ~",
AZ: "eb2@3 ~@3 bb1@3 ~@3 eb2@3 ~@3 bb1@4 ~@2", BA: "eb3@2 ~@2 db3 ~ bb2@2 ~@2 g2@2 eb2@3 ~@9",
BB: "ab1@4 ~@2 eb2@3 ~@3 ab1@4 ~@2 eb2@3 ~@3", BC: "ab1@3 ~@3 eb2@4 ~@2 ab1@3 ~@3 eb2@4 ~@2",
BD: "ab1@3 ~@3 eb2@4 ~@2 ab1@4 ~@2 eb2@4 ~@2", BE: "eb2@3 ~@3 bb1@4 ~@2 eb2@4 ~@2 bb1@4 ~@2",
BF: "eb2@2 ~ bb1@2 ~ eb2@2 ~ bb1@2 ~", BG: "eb2@3 ~@3 bb1@4 ~@2 eb2@3 ~@3 bb1@4 ~@2",
BH: "ab1@4 ~@2 eb2@4 ~@2 ab1@4 ~@2 eb2@3 ~@3", BI: "ab1@4 ~@2 eb2@4 ~@2 ab1@4 ~@2 eb2@5 ~",
BJ: "ab1@5 ~ eb2@5 ~ ab1@4 ~@2 eb2@5 ~", BK: "ab1@4 ~@2 eb2@5 ~ ab1@5 ~ eb2@5 ~",
BL: "db2@5 ~ ab1@5 ~ db2@5 ~ ab1@5 ~", BM: "db2@5 ~ ab1@5 ~ ab1@5 ~ eb2@5 ~", BN: "eb2@5 ~ bb1@5 ~ ab1@5 ~ eb2@5 ~",
BO: "db2@5 ~ ab1@5 ~ ab1@6 eb2@5 ~", BP: "eb2@5 ~ bb1@5 ~ eb2@5 ~ bb1@5 ~",
BQ: "ab1@4 ~@2 eb2@5 ~ ab1@4 ~@2 eb2@4 ~@2", BR: "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 I ~@16 J K@2 L M N O P ~@2 A B C ~ D E F ~ G H I ~@16 Q R@2 S T U V W ~@2 X Y Z ~ AA AB AC ~
AD AE AF ~@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: "[b4,d5] ~@3 [b4,d5] ~ [b4,e5] ~@3 [g4,b4] ~ [b4,d5]@7 ~@5", // Bm E5 G Bm
J: "~@13 db5@2 ~ e5 ~@2 e5@2 ~ [g5,ab5] ~, ~@12 d5@2 ~ d5@2 ~ gb5@2 ~ gb5@2 ~", // Abmaj7
K: "[[gb5,a5]@12 [d5,gb5]@16 ~@2 [c5,gb5]@6 [c5,gb5]@3 [e5,g5]@4 [gb5,a5]@3 ~@2]/2", L: "g5 d6, b5",
M: "~@2 [b5,d6]@2 [b5,d6] db6@2 [g5,b5], ~@15 a5@4 ~@5", // Bm G
N: "[gb5,a5]@3 ~@6 [a5,db6]@2 ~ [a5,db6]@3 b5@5 ~ [gb5,a5]@3, ~@5 g5 ~@2", // Gbm A Gbm
O: "[e5,g5]@3 ~@6 [g5,b5]@2 ~ [g5,b5]@3 [gb5,a5]@5 ~ [e5,g5]@3", P: "[d5,gb5]",
Q: "~@13 d5@2 ~ f5 ~@2 f5@2 ~ [ab5,a5] ~, ~@12 eb5@2 ~ eb5@2 ~ g5@2 ~ g5@2 ~", // Amaj7
R: "[[g5,bb5]@12 [eb5,g5]@16 ~@2 [db5,g5]@6 [db5,g5]@3 [f5,ab5]@4 [g5,bb5]@3 ~@2]/2", S: "ab5 eb6, c6",
T: "~@2 [c6,eb6]@2 [c6,eb6] d6@2 [ab5,c6], ~@15 bb5@4 ~@5", // Cm Ab
U: "[g5,bb5]@3 ~@6 [bb5,d6]@2 ~ [bb5,d6]@3 c6@5 ~ [g5,bb5]@3, ~@5 ab5 ~@2", // Gm Bb Gm
V: "[f5,ab5]@3 ~@6 [ab5,c6]@2 ~ [ab5,c6]@3 [g5,bb5]@5 ~ [f5,ab5]@3", W: "[eb5,g5]", X: "~@9 [ab4,c5]@2 [bb4,db5]",
Y: "[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
Z: "eb5@2 ~@2 [c5,eb5] ~ [c5,f5] ~@3 [ab4,c5] ~ [c5,eb5]@6 ~@6, c5 ~@23", AA: "~@18 [g4,bb4]@3 ~ [ab4,bb4,c5] ~",
AB: "[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
AC: "[bb4,db5] ~@3 [bb4,db5] ~ [bb4,eb5] ~@3 [g4,bb4] ~ [bb4,db5]@6 ~@6", AD: "~@18 [ab4,c5]@4 [ab4,bb4,c5,db5] ~",
AE: "[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
AF: "[c5,eb5] ~@3 [c5,eb5] ~ [c5,f5] ~@3 [ab4,c5] ~ [c5,eb5]@7 ~@5", // Cm F5 Ab Cm
})).s("gm_bandoneon").gain(0.56)
// other · piccolo
const piccolo = note(`<
A@2 B C ~@2 D E ~@2 F G ~@2 H I ~@21 A@2 B C ~@2 D E ~@2 F G ~@2 H I ~@21 J@2 K L ~@2 M N ~@2 O P ~@2 Q R ~@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: "b6@11 ~ a6@6 g6@6",
I: "a6@9 ~ g6@2 e6@4 ~@8", J: "eb7 ~@3 eb7 ~ eb7@8 db7 ~ eb7 ~ e7 ~ gb7 ~ e7 ~",
K: "eb7 ~ db7 ~ eb7 ~ e7 ~ gb7 ~ e7 ~ eb7 ~ db7 ~ eb7 ~ e7 ~ gb7 ~ e7 ~", L: "eb7 ~@11", M: "c7@11 ~ bb6@6 ab6@5 ~",
N: "ab6@10 g6 ~ g6@8 ~@4", O: "bb6@11 ~ ab6@5 ~ g6@5 ~", P: "f6@9 ~ eb6 ~ eb6@9 ~@3", Q: "c7@11 ~ bb6@6 ab6@6",
R: "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 O P Q R S ~@8 T U V@2 W X A B C D ~ E F G ~ H I J ~ E K L M N O P Q Y Z ~@8 AA AB
AC@2 AD AE AF AG AH AI ~ AJ AK AL ~ AM AN AO ~ AJ AP AQ AR AS AT AU AV AW@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: "[c4,eb4,g4,g5] ~@3 g5@2 f5@4 [c4,eb4,g4] ~ [bb3,d4,g4,d5] ~@3 d5@2 c5@4 [bb3,d4,g4,bb4] ~, ~@5 eb5 ~@6", // Cm Gm
P: "[gb4,d5]@2 ~@4 [a3,d4,gb4]@13 ~@5, [a3,d4] ~@5 d5@18", Q: "~@6 d5@5 ~ e5@6 gb5@5 ~",
R: "[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
S: "[e3,a3,db4] ~@7, f3 ~@23", T: "~@6 a3@5 ~ d4@6 db4@6", U: "c4",
V: "[b3@12 d4@14 ~@4 d4@5 ~ d4@3 db4@5 ~ b3@3, ~@36 c4 ~@11]/2", W: "a3@3 ~@6 db4@2 ~ db4@3 b3@5 ~ a3@3",
X: "g3@3 ~@6 b3@2 ~ b3@4 a3@5 g3@3",
Y: "[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
Z: "[f3,bb3,d4,bb5] ~@11", AA: "~@6 bb3@5 ~ eb4@6 d4@6", AB: "db4",
AC: "[c4@12 eb4@14 ~@4 eb4@5 ~ eb4@3 d4@5 ~ c4@3, ~@36 db4 ~@11]/2", AD: "bb3@3 ~@6 d4@2 ~ d4@3 c4@5 ~ bb3@3",
AE: "ab3@3 ~@6 c4@2 ~ c4@4 bb3@5 ab3@3",
AF: "[eb4,bb4] ~@3 [eb4,g4,bb4] ~ [eb4,g4,bb4]@7 ~@5 [db4,e4,ab4]@5 ~, g4 ~@11", // Eb5 Eb Dbm
AG: "[eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~ [eb4,g4,bb4]@7 ~@5 [db4,e4,ab4]@5 ~", // Eb Dbm
AH: "[g4,bb4]@2 ~@4 [db4,e4,ab4]@6 [eb4,g4,bb4] ~@5 [db4,e4,ab4]@6, eb4 ~@23", AI: "[g4,bb4] ~@11, eb4 ~@23",
AJ: "~@16 [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~ [ab3,c4,eb4] ~", AK: "[eb4,c5]@12 [db4,bb4]@6 [c4,ab4]@5 ~",
AL: "[db4,ab4]@9 ~ [db4,g4]@2 [db4,g4]@9 ~@3", AM: "~@16 [g3,db4,eb4] ~ [g3,db4,eb4] ~ [g3,db4,eb4] ~ [g3,db4,eb4] ~",
AN: "[g4,bb4]@11 ~ [f4,ab4]@6 [eb4,g4]@6", AO: "[db4,f4]@9 ~ [c4,eb4] ~ [c4,eb4]@9 ~@3",
AP: "[c5,eb5]@11 ~ [bb4,db5]@6 [ab4,c5]@6", AQ: "[bb4,db5]@8 ~@2 db5@2 [f4,db5]@5 ~ e5@4 gb5@2, ~@10 ab4 ~@13",
AR: "[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
AS: "[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
AT: "[db4,e4,ab4,ab5] ~@3 ab5@2 gb5@4 [db4,e4,ab4] ~ [b3,eb4,ab4,eb5] ~@3 eb5@2 db5@4 [b3,eb4,ab4,b4] ~, ~@5 e5 ~@6", // Dbm Abm
AU: "[g4,eb5]@2 ~@4 [bb3,eb4,g4]@13 ~@5, [bb3,eb4] ~@5 eb5@18", AV: "~@6 eb5@5 ~ f5@6 g5@5 ~",
AW: "[[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 B C D ~@15 E F G H I J K L M J N O P@2 Q@2 R S A B C D ~@15 E F T U V W X Y Z W AA AB AC@2 AD@2 AE AF AG AH AI AJ
~@15 AK AL ~@2
>`.pickRestart({
A: "d6 ~@3 d6 ~ d6@8 c6 ~ d6 ~ eb6 ~ f6 ~ eb6 ~", B: "d6 ~@3 d6 ~ d6@7 ~ c6 ~ d6 ~ eb6 ~ f6 ~ eb6 ~",
C: "d6 ~ c6 ~ d6 ~ eb6 ~ f6 ~ eb6 ~ d6 ~ c6 ~ d6 ~ eb6 ~ f6 ~ eb6 ~", D: "d6 ~@11",
E: "~@19 gb4 ~@2 a4 ~, ~@9 d4 ~@2", F: "d4 ~@23", G: "~@7 ab5", H: "a5 ~@11",
I: "~@19 g4@2 a4 [e4,g4] ~, ~@18 [gb4,a4]@2 ~ gb4@2 ~, ~@19 b4 ~@4", J: "[gb4,a4] ~",
K: "~@9 [d4,gb4] [e4,g4] ~ [gb4,a4] ~@2 g4@2 ~ [a4,db5] ~@2 [b4,d5] ~@2, ~@15 b4 ~@8", // D Em Gbm A Bm
L: "[a4,db5] [b4,d5]@2 ~ [g4,b4] ~ [gb4,a4]@12 ~@6, ~@3 [a4,db5]@2 ~@19", // A Bm G Gbm A
M: "~@19 [g4,b4]@2 gb4 e4@2, ~@18 [gb4,a4]@2 ~ a4@2 ~, ~@22 g4 ~", // G Gbm
N: "~@9 [g4,b4] [a4,db5] ~ [b4,d5] ~@2 [db5,e5] ~@2 [b4,d5] ~@2 [g4,b4] ~@2", // G A Bm Dbm Bm G
O: "e4 gb4@2 [e4,db5] [d4,b4] ~ [db4,g4]@12 ~@6, db5 ~@11, ~ d5 ~@22", // Dbm G Dbdim
P: "[[gb4,a4]@12 [d4,gb4]@16 ~@2 [d4,gb4]@6 [d4,gb4]@4 [e4,g4]@4 ~ [gb4,a4]@3]/2", // Gbm D Em Gbm
Q: "[g4@5 ~ d5@7 ~@11, b4@25 ~@23]/2", R: "~ d3@3", S: "~@6 a2@17 ~", T: "~@7 a5", U: "bb5 ~@11",
V: "~@19 ab4@2 bb4 [f4,ab4] ~, ~@18 [g4,bb4]@2 ~ g4@2 ~, ~@19 c5 ~@4", W: "[g4,bb4] ~",
X: "~@9 [eb4,g4] [f4,ab4] ~ [g4,bb4] ~@2 ab4@2 ~ [bb4,d5] ~@2 [c5,eb5] ~@2, ~@15 c5 ~@8", // Eb Fm Gm Bb Cm
Y: "[bb4,d5] [c5,eb5]@2 ~ [ab4,c5] ~ [g4,bb4]@12 ~@6, ~@3 [bb4,d5]@2 ~@19", // Bb Cm Ab Gm Bb
Z: "~@19 [ab4,c5]@2 g4 f4@2, ~@18 [g4,bb4]@2 ~ bb4@2 ~, ~@22 ab4 ~", // Ab Gm
AA: "~@9 [ab4,c5] [bb4,d5] ~ [c5,eb5] ~@2 [d5,f5] ~@2 [c5,eb5] ~@2 [ab4,c5] ~@2", // Ab Bb Cm Dm Cm Ab
AB: "f4 g4@2 [f4,d5] [eb4,c5] ~ [d4,ab4]@12 ~@6, d5 ~@11, ~ eb5 ~@22", // Dm Cm Ddim
AC: "[[g4,bb4]@12 [eb4,g4]@16 ~@2 [eb4,g4]@6 [eb4,g4]@4 [f4,ab4]@4 ~ [g4,bb4]@3]/2", // Gm Eb Fm Gm
AD: "[ab4@5 ~ eb5@7 ~@11, c5@25 ~@23]/2", AE: "~ eb3@3", AF: "~@6 bb2@17 ~",
AG: "eb6 ~@3 eb6 ~ eb6@8 db6 ~ eb6 ~ e6 ~ gb6 ~ e6 ~", AH: "eb6 ~@3 eb6 ~ eb6@7 ~ db6 ~ eb6 ~ e6 ~ gb6 ~ e6 ~",
AI: "eb6 ~ db6 ~ eb6 ~ e6 ~ gb6 ~ e6 ~ eb6 ~ db6 ~ eb6 ~ e6 ~ gb6 ~ e6 ~", AJ: "eb6 ~@11",
AK: "~@18 eb4@2 g4 ~ bb4 ~", AL: "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 L G M N ~@12 O P Q@2 R S ~ T ~@3 U ~@3 T ~@5
V W ~@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: "~@18 d3@2 gb3@2 [a3,a4] ~, ~@18 d4 ~ gb4 ~@3", M: "~@7 [e4,a4,db5]", N: "[f4,bb4,d5] ~@7", O: "~ eb3@3",
P: "~ bb2@3", Q: "[eb4,eb5] ~@3 [eb4,eb5] ~ [eb4,eb5]@7 ~ [db4,db5] ~ [eb4,eb5] ~ [e4,e5] ~ [gb4,gb5] ~ [e4,e5] ~",
// … 76 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.