0:00/0:00
// Cabaret — Broadway
// 155 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 108 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(155/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.
// bass · acoustic bass · "accoustic bass"
const bass = note(`<
~ A B C D E F G H I J@2 K L M N O P Q R S T U V W X Y Z AA AB M AC AD AE AF AG AH AI Y AJ AK AL AM AN AO AP AQ AR AS
AT AU AV AW AX AY AZ BA BB AF AG BC BD BE BF BG BH@2 BI BJ AN AO AP BK BL BM BN BO BP AW BQ BR BS BT BU AF BV BW BB AF
BV BX BY BZ@2 CA CB BU CC CD CE CA CF CG@4 CH ~
>`.pickRestart({
A: "~@3 db3@5 bb2@3 ~ c3@3 ~", B: "db3@3 ~ eb3@3 g2 db3@3 e2 bb2@3 [d2,e2]", C: "ab2@4 f2@4 ab2@2 e2 ~ g2@4",
D: "gb2@4 c2@4 f2@4 a2@3 f2", E: "bb2@3 c2 ab2@4 f2@4 a2@4", F: "bb2@4 f2@4 eb2@3 ~ db2@4",
G: "c2@4 g2@4 f2@4 c3@3 ~", H: "bb2@4 f2@4 eb2@4 g2@3 e2", I: "ab2@3 [e2,f2] bb2@4 c3@4 ab2@3 c2",
J: "[eb2@4 f2@4 g2@3 c2 eb2@2 c2 ab2@4 e2 bb2@4 c3@3 d2 ab2@3 b1]/2", K: "bb2@4 f2@4 eb2@4 g2@3 [e2,f2]",
L: "ab2@3 e2 bb2@4 c3@3 f2 bb2@3 [c2,d2]", M: "ab2@3 d2 g2@4 f2@4 eb2@4", N: "ab2@4 c3@4 eb3@3 [f2,g2] db3@3 f2",
O: "c3@3 d2 bb2@3 ~ ab2@4 c3@3 f2", P: "db3@3 e2 c3@4 bb2@4 f2@4", Q: "ab2 f2 d2 b1", R: "c2@4 g2@4 eb2@3 ~ c2@4",
S: "f2@4 a2@4 c3@4 f2@3 d2", T: "bb2 ab2 f2 bb1", U: "eb2@3 ~ eb2@3 ~ db2@4 db2@4", V: "c2@4 g2@4 f2@3 e2 a2@3 ~",
W: "bb2@4 f2@4 eb2@4 g2@3 [d2,e2]", X: "ab2@3 e2 bb2@3 ~ c3@3 e2 ab2@3 c2", Y: "eb2@4 f2@4 g2@4 eb2@3 [c2,d2]",
Z: "ab2@3 f2 bb2@4 c3@3 d2 ab2@3 [b1,c2]", AA: "bb2@3 ~ f2@4 eb2@4 g2@3 f2", AB: "ab2@3 e2 bb2@4 c3@3 ~ bb2@3 c2",
AC: "ab2@4 c3@4 eb3@3 [g2,a2] db3@3 g2", AD: "c3@3 e2 bb2@3 [e2,f2] ab2@4 c3@3 ~",
AE: "db3@3 f2 c3@3 ~ bb2@3 ~ ab2@4", AF: "d2 ab2 f2 d2", AG: "c2@4 eb2@4 g2@3 ~ c2@4", AH: "f2@4 eb2@4 b1@4 f2@3 d2",
AI: "bb2@4 ab2@3 [c2,d2] f2@4 bb1@4", AJ: "ab2@3 [d2,e2] b2@4 bb2@3 ~ a2@3 d2", AK: "ab2@4 c2@4 eb2@4 ab2@3 [d2,e2]",
AL: "db3@3 e2 b2@3 ~ ab2@4 db2@4", AM: "gb2@3 ~ ab2@3 ~ bb2@3 d2 gb2@3 c2", AN: "ab2@3 ~ g2@4 f2@4 eb2@4",
AO: "ab2@4 bb2@3 ~ c3@4 e2@4", AP: "f2@3 ~ f2@3 ~ f2@4 f2@4", AQ: "bb2@4 ab2@4 f2@4 d2@3 ~",
AR: "~@3 bb3 g3@3 [b2,c3] g3@3 g2 f3@3 f2", AS: "eb3@2 e2 ~ db3@3 [e2,f2] bb2@3 d2 eb2@3 ~",
AT: "ab2@4 bb2@4 c3@3 [d2,e2] ab2@4", AU: "eb2@4 f2@4 g2@3 ~ eb2@4", AV: "ab2@4 bb2@4 c3@3 f2 ab2@2 d2 ~",
AW: "bb2@4 f2@4 e2@4 a2@3 e2", AX: "ab2@3 [d2,e2] bb2@4 c3@3 f2 bb2@3 [c2,d2]", AY: "ab2@3 d2 g2@4 f2@4 c2@3 ~",
AZ: "eb2@4 gb2@4 bb2@3 c2 gb2@3 c2", BA: "ab2@3 [c2,d2] gb2@3 c2 eb2@3 c2 d2@4", BB: "db2@4 f2@3 ~ ab2@3 ~ db2@4",
BC: "f2@4 a2@4 c3@3 [f2,g2] b2@3 d2", BD: "bb2@3 d2 ab2@4 f2@4 bb1@4", BE: "eb2 ab2 e2 eb2",
BF: "ab2@4 bb2@4 c3@3 f2 ab2@3 ~", BG: "a2@3 d2 ab2@3 ~ eb2@3 ~ eb2@4",
BH: "[bb2@3 ~ bb2@3 ~ a2@3 ~ a2@2 ~ ab2@2 ~@15]/2", BI: "db3 b2 ab2 db2", BJ: "gb2@4 ab2@4 bb2@3 e2 gb2@2 d2 ~",
BK: "bb2@3 ~ ab2@4 f2@4 d2@4", BL: "~@3 bb3 g3@3 b2 g3@3 a2 f3@3 g2", BM: "eb3@3 e2 db3@3 f2 bb2@4 eb2@3 ~",
BN: "ab2@4 bb2@4 c3@3 e2 ab2@3 [b1,c2]", BO: "eb2@4 f2@4 g2@3 [c2,d2] eb2@3 d2",
BP: "ab2@4 bb2@4 c3@3 e2 ab2@3 [c2,d2]", BQ: "ab2@3 e2 bb2@4 ~@2 e2 ~ bb2@3 e2, ~@2 c3 ~",
BR: "ab2@3 [d2,e2] g2@4 f2@4 c2@3 ~", BS: "eb2@4 gb2@4 bb2@3 ~ eb2@4", BT: "ab2 gb2 eb2 d2",
BU: "db2@4 ab2@3 ~ f2@4 db2@3 ~", BV: "eb2 d2 c2 g2", BW: "f2@3 ~ g2@3 ~ f2@3 d2 eb2@4", BX: "f2@4 eb2@4 b1@4 f2@3 ~",
BY: "bb2@3 g2 bb2@3 ~ bb2@3 ~ bb2@3 ~", BZ: "bb2@3 ~ bb2@4 bb2@4 bb2@3 ~", CA: "eb2@3 ~ eb2@4 eb2@3 ~ eb2@3 ~",
CB: "d2 f2 ab2 d2", CC: "c2@4 eb2@4 ab2@3 ~ c2@4", CD: "b1 ab2 f2 b1", CE: "bb1 db2 f2 bb1",
CF: "ab2@4 f2@4 ab2@3 ~ bb2@3 ~", CG: "[b2@3 ~ bb2@3 ~ ab2@3 ~ f2@3 bb2@2 ~@6 a2 ~@7 ab1@33]/4", CH: "ab1",
})).s("gm_acoustic_bass").gain(0.59)
// chords · trumpet · "TRUMPET 1/2/3/4"
const trumpet = note(`<
~ A B@3 C D@2 E ~@14 F G@2 ~@7 H@2 I J@3 ~@4 K@2 L ~@6 M@2 ~ N@2 O ~@2 P Q ~ R S@2 ~@3 T@2 L ~@6 M@2 ~ U@2 V W ~@3 W ~
X ~@4 Y Z@2 AA@2 ~ AB AC@5 ~
>`.pickRestart({
A: "~@3 [f4,ab4,db5,f5]@5 [ab4,db5,f5,ab5]@2 ~@2 [bb4,eb5,g5,bb5]@2 ~@2", // Db Eb
B: "[[b4,e5,ab5,b5]@2 ~@2 [bb4,eb5,gb5,bb5]@2 ~@2 [ab4,db5,e5,ab5]@2 ~ [e4,db5]@2 ~@2 [eb4,ab4,c5,eb5]@5 [c4,f4,ab4,c5]@3 ~ [eb4,ab4,c5,eb5]@3 [f4,b4,d5]@2 ~@2 [gb4,c5,eb5,gb5]@7 ~ [f4,b4,d5,f5]@2 ~@7, ~@11 [ab4,e5] ~@15 f5 ~@20]/3", // E Ebm Dbm Ab Fm Ab Bdim Cdim …
C: "~@3 [ab4,db5,f5,ab5]@5 [f4,ab4,db5,f5]@2 ~@2 [db4,gb4,a4,db5]@2 ~@2", // Db Gbm
D: "[[c4,f4,ab4,c5]@2 ~@2 [bb3,f4,ab4,bb4]@2 ~@2 [a3,f4,g4,a4]@3 [bb3,e4,g4,bb4]@2 ~@2 [eb4,bb4,c5,eb5]@7 ~ [c4,f4,ab4] ~@6 db5@2]/2", // Fm Bb7 Dm Edim Cm7 Fm
E: "~@2 c5 ~ bb4 ~ ab4 ~ g4@2 f4 ~ e4@2 eb4 ~",
F: "~@3 [bb4,c5,eb5,g5] [eb4,g4,bb4,c5]@2 ~@2 [g4,a4,c5,eb5]@2 ~@2 [a4,c5,eb5,gb5]@2 ~@2", // Cm7 Am7b5 Adim
G: "[[ab4,bb4,db5,f5]@2 ~@2 [db4,eb4,f4,ab4,bb4]@2 ~@2 [f4,g4,bb4,db5]@2 ~ [db5,e5]@2 ~@2 [ab4,c5,eb5]@2 ~@15, ~@11 [g4,bb4] ~@3 bb4 ~@16]/2", // Bbm7 Gm7b5 Dbm Ab Gm
H: "[~@8 [f3,ab3,bb3,db4]@6 ~ [f3,ab3,b3,d4]@17]/2", I: "[g3,bb3,c4,eb4]",
J: "[~@4 [eb4,gb4,a4,b4]@2 ~@2 [eb4,gb4,a4,b4]@3 [eb4,gb4]@2 ~@2 ab4@17 g4@16, ~@11 [a4,b4] ~@3 [db4,f4,c5]@33]/3", // B7 Ebm Asus2 Dbmaj7
K: "[~@4 [bb3,c4,eb4,g4]@3 ~ [c4,eb4,g4,bb4]@3 [c4,eb4,f4,ab4] ~ c4@2 [ab3,c4,eb4,f4]@9 [g3,bb3,db4,e4]@8, ~@12 [bb3,g4]@3 ~@17]/2", // Cm7 Fm7 Gdim Eb
L: "[f3,ab3] ~@7, [c4,f4] ~@15", // Fm F5
M: "[~@3 [ab3,db4,f4,ab4]@4 ~ [ab3,db4,e4,ab4]@2 ~ [ab3,db4,e4,ab4] ~@3 [ab3,eb4,f4,ab4]@3 ~@14]/2", // Db Dbm Fm7
N: "[~@3 [ab4,db5,f5,ab5]@4 ~ [gb4,db5,eb5,gb5]@2 ~@5 [f4,b4,d5,f5]@5 [eb4,bb4,c5,eb5]@2 ~@5 [e4,a4,c5,e5]@5]/2", // Db Ebm7 Bdim Cm7 Am
O: "[f4,bb4,db5,f5] ~@7", P: "~@11 [f4,a4,db5,f5]@5", Q: "[f4,ab4,c5,f5] ~@7",
R: "~@3 [f4,ab4,c5,f5]@4 ~ [eb4,c5,eb5]@2 ~@2 [c4,eb4,f4,ab4]@3 ~, ~@8 ab4 ~@7", // Fm Cm Fm7
S: "[[e4,gb4,a4,db5]@2 ~@2 [eb4,f4,ab4,c5]@2 ~@2 [c4,eb4,f4,ab4]@3 f4 ~@3 ab4@3 bb4@2 ab4@2 ~@2 ab4@3 b4 ab4@2 ~ [ab3,eb4,f4,ab4], ~@15 db4@16 ~, ~@15 bb3@9 a3@7 ~, ~@15 f4@7 e4@8 ~@2]/2", // Gbm7 Fm7
T: "[~@4 [bb3,c4,eb4,g4]@3 ~ [c4,eb4,g4,bb4]@3 [c4,eb4,f4,ab4] [bb3,c4,eb4,g4]@3 [ab3,c4,eb4,f4]@9 [g3,bb3,db4,e4]@8]/2", // Cm7 Fm7 Cm7 Fm7 Gdim
U: "[~@3 [ab4,db5,f5,ab5]@5 [gb4,db5,eb5,gb5]@2 ~@5 [f4,bb4,d5,f5]@5 [eb4,bb4,c5,eb5]@2 ~@5 [e4,a4,c5,e5]@5]/2", // Db Ebm7 Bb Cm7 Am
V: "[eb4,f4,bb4,db5,f5] ~@7", W: "~@3 [b3,d4,f4,ab4]@4 ~ [d4,f4]@2 ~@6, ~@8 [b3,ab4] ~@7",
X: "~@3 [f4,b4,d5,f5]@4 ~ [f4,b4,d5,f5]@2 ~@6", Y: "~@3 [c5,d5,f5]@5 [c5,d5,f5]@2 ~@2 [c5,d5,f5]@2 ~@2",
Z: "[~@3 b5@4 [db5,f5]@2 ab5@2 bb5@2 ab5@2 ~@4 [c5,eb5,f5]@5 [c5,eb5,f5]@2 ~@2 [c5,eb5,f5]@2 ~@2, [b4,db5,f5]@5 ~@2 b4 ~@7 ab5@14 ~@3]/2", // Db F7 Db7
AA: "[~@3 b5@5 ~ ab5@2 bb5 ~ ab5@2 [c5,db5]@2 ~@15, [b4,d5,f5]@6 ~@2 [b4,d5,f5]@6 ~ [f5,ab5] ~@16]/2", // Dbmaj7 Bdim Fm
AB: "~@3 [ab4,c5,eb5,f5]@4 ~ [c5,eb5,f5,ab5]@2 ~@2 [db5,e5,g5,bb5]@2 ~@2", // Fm7 Dbdim
AC: "[[d5,f5,ab5,b5]@2 ~@2 [db5,e5,g5,bb5]@2 ~@2 [c5,eb5,f5,ab5]@3 [ab4,c5,eb5,f5] ~@3 [bb4,f5,ab5]@2 ~@6 [b4,db5,e5,ab5]@2 ~@6 [eb5,g5,bb5,eb6]@49, ~@15 db5 ~@64]/5", // Ddim Dbdim Fm7 Bb7 Dbm7 Eb
})).s("gm_trumpet").gain(0.71)
// chords · alto sax · "ALTO 1/2"
const alto_sax = note(`<
~ A B@3 C D@3 ~@8 E@5 ~ F G ~@5 H@3 ~@3 I@2 J K@2 ~@4 L M N ~@4 O@2 ~ P@2 Q R S T U@2 V W@3 ~@4 X M N ~@4 O@2 ~ P@2
Y@2 ~ Z@4 AA AB AC AD@2 AE AF AG AH@2 AI AJ AK AL@4 ~
>`.pickRestart({
A: "~@3 [bb3,db4]@5 [db4,f4]@2 ~@2 [eb4,g4]@2 ~@2", // Bbm Db Eb
B: "[[e4,ab4]@2 ~@2 [eb4,gb4]@2 ~@2 [db4,e4]@2 ~ [bb3,db4]@2 ~@2 [ab3,c4]@4 ~ [f3,ab3]@3 ~ [f3,c4]@2 ~ [b3,d4]@2 ~@2 [bb3,eb4]@7 ~ eb4@2 ~@7, ~@39 a3 ~@8]/3", // E Ebm Dbm Bbm Ab Fm F5 Bm …
C: "~@3 [db4,f4]@5 [db4,f4]@2 ~@2 [db4,eb4]@3 ~", // Db Dbsus2
D: "[[ab3,db4]@2 ~@2 [ab3,db4]@2 ~@2 db4@2 ~ bb3@2 ~@2 [bb3,eb4]@8 [ab3,c4]@2 ~@5 [ab3,db4]@9 ~ c4@4 b3@2 c4@2, ~@11 e4 ~@28 g3@6 bb3 ~]/3", // Db5 Eb5 Ab Db5
E: "[db4@10 c4 ~ db4@2 d4 d4@5 ab4@2 ~@2 f4@3 d4@2 ~@2 [bb3,eb4]@9 g4@8 gb4@14 ~ [db4,f4]@2 ~@15, ~@11 c4@2 ~@27 eb4@22 ~@18]/5", // Eb5 Db
F: "~@3 [c4,eb4] [g3,bb3]@3 ~ [a3,c4]@2 ~@2 [c4,eb4]@2 ~@2", // Cm Gm Am Cm
G: "[ab3,db4]@2 ~@2 [ab3,bb3]@2 ~@2 [g3,bb3]@3 [bb3,db4] ~@3 [bb3,c4]", // Db5 Absus2 Gm Bbm Bbsus2
H: "[~@15 [c4,gb4]@5 [eb4,bb4]@2 ~@2 [gb4,c5]@3 f5@2 ~@2 [bb4,eb5]@5 [gb4,c5]@2 [e4,bb4]@2 [eb4,ab4]@2 [db4,g4]@2 [c4,gb4]@2 [bb3,f4]@2, ~@27 bb4 ~@20]/3", // Cdim Eb5 Gbdim Eb5 Gbdim Edim Ab5 Dbdim …
I: "[~@4 [a3,b3]@2 ~@2 [a3,b3]@2 ~ b3@2 ~@2 [ab3,db4]@17, ~@11 a3 ~@20]/2", J: "[g3,c4]",
K: "[~@4 [eb4,gb4]@3 ~ [d4,f4]@2 ~ [db4,e4]@2 ~@2 c4@2 ~@15, ~@15 eb4 ~@16]/2", L: "~ c4@3 db4@4 d4@4 eb4@4, ab3",
M: "e4 f4 g4 ab4, d4", N: "[db4,g4] ~@7", O: "[~@3 [ab3,db4]@5 [ab3,db4]@2 ~ [ab3,db4] ~@3 [f3,c4]@3 ~@14]/2",
P: "[~@3 [db4,f4]@5 [db4,eb4]@2 ~@5 [bb3,c4]@4 ~ [bb3,c4]@2 ~@5 [a3,c4]@5]/2", // Db Dbsus2 Bbsus2 Am
Q: "[ab3,bb3] ~@3 bb3 ~ bb3 ~, ~@8 ab3 ~@3 ab3 ~@3", R: "[ab3,b3]@5 ~@2 [ab3,b3] ~@8",
S: "~@3 [bb3,c4]@4 ~ [bb3,c4]@2 ~@2 [bb3,c4]@2 ~@2", T: "[c4,eb4]@3 [a3,c4] [c4,d4]@3 [a3,c4] ~@3 [a3,db4]@5",
U: "[f4 e4, db4@31 ~]/2", V: "~@3 [c4,eb4]@5 [ab3,c4]@2 ~@2 [f3,c4]@2 ~@2",
W: "[[a3,e4]@2 ~@2 [ab3,eb4]@2 ~@2 [f3,c4]@3 f3@2 ~@2 f4@9 e4@7 c4@2 ~@15, ~@11 f4 ~@3 db4@16 eb4 ~@16]/3", // A5 Ab5 F5
X: "c4 db4 d4 eb4, ab3", Y: "[bb3@2 ~@2 db4@7 ~ db4@2 ~ d4@12 db4 d4@2 ~ eb4, ab3 ~@31]/2",
Z: "[~@4 b4@3 ~ ab4@3 f4 ~@3 db4@12 ~ db4@3 d4@12 db4 d4@3 eb4@2 ~@15]/4", AA: "~@3 [a3,b3]@5 b3@2 ~@6, ~@8 a3 ~@7",
AB: "[ab3,db4]", AC: "[db4,f4]", AD: "[f4 e4, ab4]/2", AE: "~@3 [c4,f4]@5 c4@2 ~@2 [c4,f4]@2 ~@2, ~@8 f4 ~@7",
AF: "[b3,f4]@6 ~ [b3,f4] ~@8", AG: "~@3 [ab3,eb4]@4 ~ ab3@2 ~@2 [ab3,eb4]@2 ~@2, ~@8 eb4 ~@7",
AH: "[[ab3,d4]@7 ~@2 ab3@5 ~ [ab3,db4]@2 ~@15, ~@4 d4@3 ~@9]/2", AI: "~ eb3@3",
AJ: "~@3 [c4,eb4]@5 [eb4,f4]@2 ~@2 [e4,g4]@2 ~@2", // Cm Ebsus2 Em
AK: "ab4@2 ~@2 [e4,g4]@2 ~@2 [eb4,f4]@2 ~ [c4,eb4] ~@3 [db4,f4], f4 ~@3 ab4 ~@11", // Em Ebsus2 Cm Db
AL: "[~@7 e4@2 ~@6 [c4,eb4]@49, ~@7 db4 ~@56]/4", // Cm
})).s("gm_alto_sax").gain(0.36)
// other · baritone sax · "BARI SAX"
const baritone_sax = note(`<
~ A B@3 C D@4 ~@2 E@6 F@2 G@2 ~ H I@2 ~@2 J@2 K@3 ~@3 L@2 M N ~ O@2 ~@2 P Q R ~@4 S@2 ~ T@2 U V W X Y M Z AA@3 AB@3 ~
P Q R ~@4 S@2 ~ T@2 AC@3 AD@4 AE AF@3 M AG AH AI AJ ~ AK A AL AM@4 ~
>`.pickRestart({
A: "~@3 f3@5 ab3@2 ~@2 bb3@2 ~@2",
B: "[b3@2 ~@2 bb3@2 ~@2 ab3@3 e3 ~@3 eb3@5 c3@2 ~@2 ab2@2 ~ g2@2 ~@2 gb2@7 f2@2 ~@8]/3",
C: "~@3 bb2@4 ~ bb2@2 ~@2 a2@2 ~@2",
D: "[bb2@3 ~ bb2@2 ~@2 eb3@3 db3@2 ~@2 c3@7 ~ f2@2 ~@5 bb2@9 ~ eb2@7 ab2@2 ~@15]/4",
E: "[~@4 f3@2 ~@2 ab3@3 [a3,bb3] ~@3 ab3@18 g3@14 gb3@5 bb3@3 ~ c4@2 ~ f4@2 ~@2 eb4@5 c4@2 ~@2 ab3@2 ~@2 gb3@2 ~ f3@2 ~@15, ~@71 bb3@2 ~@2 g3@2 ~@19]/6", // Bbmaj7
F: "[~@15 c3@17]/2", G: "[f2@15 bb2@2 ~@15]/2", H: "~@3 g3 c3@2 ~@2 f2@2 ~@2 a2@2 ~@2",
I: "[bb2@2 ~@2 f2@2 ~@2 eb2@2 ~ g2 ~@3 ab2@2 ~@15]/2", J: "[~@4 f3@2 ~@2 ab3@3 [a3,bb3] ~@3 ab3@17]/2",
K: "[g3@15 eb3@5 gb3@2 ~@2 ab3@2 ~ d4@2 ~ c4@6 ab3@2 ~@2 gb3@3 e3 eb3@2 ~ db3, ~@39 g3@2 ~@7]/3",
L: "[~@4 f2@2 ~@2 f2@3 ~ f2@2 ~ bb2@17]/2", M: "eb2", N: "~@4 b2@2 ~@2 bb2@3 a2 ~@3 ab2",
O: "[~@4 ab3@2 ~@2 b3@3 ~ db4 ~@2 bb3@16 ~]/2", P: "f2", Q: "bb2", R: "eb2@3 ~@13",
S: "[~@3 bb2@5 a2@2 ~ a2 ~@3 ab2@3 ~@14]/2", T: "[~@3 eb2@4 ~ eb2@2 ~@5 ab2@5 ab2@2 ~@5 d2@5]/2",
U: "db2 ~@3 db2 ~ db2 ~", V: "d2@6 ~ d2 ~@8", W: "~@3 eb3@5 eb3@2 ~@2 eb3@3 ~", X: "gb3@2 ~ eb3 f3@3 eb3 ~@3 b2@5",
Y: "bb2, ab2 ~@15", Z: "~@3 f3@5 eb3@2 ~@2 ab2@2 ~@2",
AA: "[db3@2 ~@2 c3@2 ~@2 ab2@3 f2 ~@3 bb2@9 a2@7 ab2@2 ~@15]/3", AB: "[~@4 ab3@3 ~ b3@2 ~ db4 ~@3 bb3@18 ~@15]/3",
AC: "[db2@2 ~@2 db2@7 ~ db2@2 ~ d2@11 db2@2 d2@2 ~ eb2@2 ~@15]/3",
AD: "[~@4 b2@2 ~@2 ab2@3 f2 ~@3 db2@13 db2@2 ~ d2@12 db2 d2@2 ~ eb2@2 ~@15]/4", AE: "~@3 f2@4 ~ f2@2 ~@6",
AF: "[bb2@47 ~]/3", AG: "~@3 d3@5 d3@2 ~@2 d3@2 ~@2", AH: "~ db3@5 ~ db3 ~@8", AI: "~@3 c3@4 ~ c3 ~@3 c3@2 ~@2",
AJ: "b2@6 ~@2 b2@5 ~@2 bb2", AK: "~ eb2@3", AL: "b3@2 ~@2 bb3@2 ~@2 ab3@3 f3 ~@3 bb2", AM: "[~@7 a2@2 ~@6 ab2@49]/4",
})).s("gm_baritone_sax").gain(0.32)
// chords · trombone
const trombone = note(`<
~ A B@3 C D@2 E ~@11 F@2 ~ G H@2 ~@7 I@2 J K@3 L@2 ~@2 M@2 N ~ O@2 ~@3 P@2 ~ Q@2 R S T U V ~ W X@3 ~@2 Y@2 Z ~ O@2 ~@3
AA@2 ~ AB@2 AC AD ~@3 AD ~ AE ~@4 AF AG AH AI@2 ~ AJ AK AL@4 ~
>`.pickRestart({
A: "~@3 [ab3,bb3,db4,f4]@5 [bb3,db4,f4]@2 ~@2 [c4,eb4,g4,bb4]@2 ~@2, ~@8 ab4 ~@7", // Bbm7 Bbm Cm7
B: "[[db4,e4,ab4,b4]@2 ~@2 [db4,eb4,gb4,bb4]@3 ~ [b3,db4,e4,ab4]@2 ~ [ab3,db4,gb4]@2 ~ [ab3,c4,eb4,f4]@5 ~ [f3,ab3,c4,eb4]@3 ~ [ab3,c4,eb4,f4]@3 [ab3,b3,f4]@2 ~@2 [gb3,bb3,e4]@7 [f3,a3,eb4,g4]@2 ~@8, ~@11 bb3 ~@15 g4 ~@2 ab4@7 ~@11]/3", // Dbm7 Ebm7 Dbm7 Dbsus4 Fm7 Fdim Gb7 F7
C: "~@3 [bb3,db4,f4,ab4]@5 [db4,f4]@2 ~@2 [gb3,a3,db4,eb4]@2 ~@2, ~@8 [ab3,bb3] ~@7", // Bbm7 Db Ebm7b5 Absus2
D: "[[f3,ab3,c4,db4]@2 ~@2 [f3,ab3,bb3,db4]@3 ~ [eb3,g3,a3,db4]@3 [db3,g3,bb3,db4]@2 ~@2 [c3,bb3,eb4]@7 ~ [f3,ab3,c4]@2 ~@5 db4@2, ~@14 g4@8 ~ c3 ~@8]/2", // Dbmaj7 Bbm7 Eb7 Gdim Cm7 Fm
E: "~@2 c4@2 bb3@2 ab3@2 g3@2 f3@2 e3@2 ~ eb3", F: "[~@4 f3@3 ~ ab3@3 b3 ~@3 ab3@3 ~@14]/2",
G: "~@2 [bb3,c4,eb4] g4 [g3,bb3,c4,eb4]@2 ~@2 [c4,eb4,g4]@2 ~@2 [c4,eb4,gb4,a4]@2 ~@2, ~@8 a3 ~@7", // Cm7 Cm Cdim
H: "[[bb3,f4,ab4]@2 ~@2 [f3,ab3,bb3,db4]@3 ~ [g3,bb3,db4,f4]@2 ~ [e4,g4]@2 ~@2 [c4,eb4]@2 ~@15, db4 ~@10 [bb3,db4] ~@3 [ab3,f4] ~@16]/2", // Bb7 Bbm7 Gm7b5 Em Cm Bbm Db
I: "[~@8 [db2,ab2,db3,f3]@7 [d2,ab2,d3,f3]@17]/2", J: "[c2,c3,eb3,g3]",
K: "[~@4 [f3,a3,b3,eb4]@2 ~@2 [f3,a3,b3,eb4]@3 [f3,a3,b3,eb4] ~@3 [f3,ab3]@17 [eb3,g3]@16, ~@5 [bb3,db4]@11]/3", // F7 Fm Eb Bbm
L: "[~@4 [b3,eb4,gb4,ab4]@2 ~@2 [bb3,d4,f4,ab4]@3 [db4,e4,ab4] ~@3 [ab3,c4,eb4]@2 ~@15, ~@11 a3@2 ~@2 ab4 ~@16]/2", // Abm7 Bb7 Dbm Ab
M: "[~@4 [c3,eb3,g3,bb3]@3 ~ [eb3,g3,bb3,c4]@3 [eb3,f3,ab3,bb3] [c3,eb3,g3,bb3]@3 [ab2,eb3,f3,ab3]@9 [c2,c3,e3,g3]@8, ~@11 c4@2 ~@19]/2", // Cm7 Ebsus4 Cm7 Fm7 C
N: "[f2,g2,c3] ~@7, f3 ~@15", O: "[~@4 [eb2,eb3]@27 ~]/2",
P: "[~@3 [db3,f3,ab3,bb3]@5 [db3,e3,ab3,a3]@3 [db3,e3,ab3,a3] ~@3 [eb3,f3,ab3,c4]@3 ~@14]/2", // Bbm7 Amaj7 Fm7
Q: "[~@3 [db4,eb4,gb4,bb4]@5 [gb4,bb4]@3 ~@4 [ab3,c4,eb4,gb4]@5 [ab3,c4,gb4]@2 ~@5 [a3,c4,d4,gb4]@5, ~@8 [db4,eb4] ~@11 eb4 ~@11]/2", // Ebm7 Gb Ab7 D7 Dbsus2
R: "[ab3,bb3,db4,ab4]@2 ~@6 [f3,ab3,bb3] ~@3 [f3,bb3,db4]@2 ~@2, ~@8 db4@2 ~@2 ab3 ~@3", // Bbm7 Bb7 Bbm
S: "[f3,ab3,b3,d4]@6 ~ [f3,b3,d4]@2 ~@7, ~@7 ab3 ~@8", // Fdim Bdim
T: "~@3 [g3,bb3,c4]@5 [g3,bb3,c4,eb4]@2 ~@2 [g3,bb3,c4,eb4]@3 ~, ~@2 eb4@5 ~@9", // C7 Cm7
U: "[a3,c4,eb4,gb4]@3 [gb3,a3,c4,eb4] [a3,c4,d4,f4]@3 [gb3,a3,eb4] ~@3 [b2,a3,b3,eb4]@5", V: "[bb2,ab3,bb3,db4] ~@7",
W: "~@3 [ab3,c4,eb4,f4]@5 [ab3,c4,eb4] ~@3 [eb3,f3,ab3,c4]@2 ~@2, ~@4 f4 ~@3", // Fm7 Ab Fm7
X: "[[gb3,a3,db4,e4]@2 ~@2 [eb3,ab3,c4,eb4]@3 ~ [eb3,f3,ab3,c4]@2 ~@5 bb3@9 [a2,a3]@7 [ab2,c3,c4]@2 ~@15, ab3 ~@13 db3@16 ~@18, ~@14 bb2@9 ~@25, ~@7 a2 ~@16, ~@15 ab3@15 ~ ab3 ~@16]/3", // Gbm7 Ab Fm7 A Ab
Y: "[~@4 [c3,eb3,g3,bb3]@3 ~ [eb3,g3,bb3,c4]@3 [eb3,f3,gb3,ab3] [c3,eb3,g3,bb3]@3 [ab2,eb3,f3,ab3]@9 [c2,c3,e3,g3]@8, ~@11 c4@2 ~@11 d2 ~@7]/2", // Cm7 Fm7 Cm7 Fm7 C
Z: "[f2,c3,f3] ~@7, g2 ~@15", // F5
AA: "[~@3 [db3,f3,ab3,bb3]@5 [db3,e3,ab3,a3]@3 [db3,a3]@2 ~@2 [eb3,f3,ab3,c4]@3 ~@14, ~@11 [e3,ab3] ~@20]/2", // Bbm7 Amaj7 Gbm Fm7 E
AB: "[~@2 [db4,eb4,gb4,bb4]@5 ~ [db4,eb4,gb4] ~@6 [ab3,c4,eb4,gb4]@5 [ab3,c4,gb4]@2 ~@5 [a3,c4,d4,gb4]@5, ~@8 bb4@2 ~@10 eb4 ~@11]/2", // Ebm7 Ab7 D7
AC: "[bb3,db4,f4,ab4] ~@7", AD: "~@3 [d3,f3,ab3,b3]@5 [d3,f3,ab3,b3] ~@7",
AE: "~@3 [f3,b3,eb4,gb4]@5 [f3,b3,gb4]@2 ~@6, ~@8 eb4 ~@7", // B
AF: "~@3 [c4,d4,f4,ab4]@5 [c4,d4,f4]@2 ~@2 [c4,d4,f4,ab4]@2 ~@2, ~@8 ab4 ~@7", // Dm7b5 Dm7 Dm7b5
AG: "[b3,db4,f4,ab4]@6 ~ [b3,db4]@2 ~@7, ~@7 [f4,ab4] ~@8", // Db7 Bsus2 Fm
AH: "~@3 [c4,eb4,f4,ab4]@4 ~ [eb4,ab4]@2 ~@2 [c4,eb4,f4,ab4]@2 ~@2, ~@8 [c4,f4] ~@7", // Fm7 Ab5 Fm7 F5
AI: "[[b3,d4,f4,ab4]@6 ~@2 [b3,d4,f4,ab4]@5 ~@2 [bb3,ab4]@2 ~@15, ~@15 [db4,f4] ~@16]/2", // Bdim Bb7 Db
AJ: "~@3 [ab3,c4,eb4,f4]@5 [c4,eb4,f4,ab4]@2 ~@2 [db4,e4,g4,bb4]@2 ~@2", // Fm7 Dbdim
AK: "[eb4,f4,ab4,b4]@2 ~@2 [db4,e4,g4,bb4]@2 ~@2 [c4,eb4,f4,ab4]@2 ~ [ab3,c4,eb4,f4] ~@2 [bb3,db4] [f4,ab4]", // Fm7b5 Dbdim Fm7 Bbm Fm
AL: "[~@6 [a3,db4,eb4,ab4]@2 ~@7 [ab2,g3,c4,eb4]@49]/4", // Amaj7 Abmaj7
})).s("gm_trombone").gain(0.6)
// other · tenor sax · "TENOR2"
const tenor_sax = note(`<
~ A B@3 C D@3 ~@3 E@2 F@3 ~ G@2 H@2 ~ I J@2 ~@2 E@2 K@3 ~@3 L@3 M@2 N@2 ~@2 O P Q ~@4 R@2 ~ S@2 T ~@5 U V@3 N@2 ~@2 O
P Q ~@4 W@2 ~ S@2 X@2 ~ Y@3 ~ Z AA@4 AB AC AD AE ~ AF AG AH AI@4 ~
>`.pickRestart({
A: "~@3 f4@5 ab4@2 ~@2 bb4@2 ~@2",
B: "[b4@2 ~@2 bb4@2 ~@2 ab4@2 ~ e4 ~@3 eb4@5 c4@2 ~@2 eb4@3 f4@2 ~@2 gb4@8 f4 ~@8]/3",
C: "~@3 f3@5 f3@2 ~@2 a3@2 ~@2", D: "[c4@2 ~@2 bb3@2 ~@2 a3@2 ~ bb3 ~@3 c4@7 f3@2 ~@7 f4@13 e4@2 ~ eb4]/3",
E: "[~@4 f3@3 ~ ab3@2 ~ [ab3,a3] bb3 ~@2 ab3@17]/2", // Amaj7
F: "[g3@14 ~ gb3@5 bb3@3 ~ c4@2 ~ f4 ~@3 eb4@4 ~ c4@2 bb3 ~ ab3@2 ~ g3 gb3@2 ~ f3]/3", G: "[~@15 c4@9 g3@8]/2",
H: "[c4@14 ~ bb3@2 ~@15]/2", I: "~@3 g4 c4@2 ~@2 eb4 ~@3 gb4@2 ~@2",
J: "[f4@2 ~@2 bb3@2 ~@2 db4@2 ~ e4 ~@3 eb4@2 ~@15]/2",
K: "[g3@14 ~ gb3@5 bb3@2 ~@2 c4@2 ~ f4 ~@3 eb4@5 c4@2 ~ bb3 ab3@2 ~ g3 gb3@2 ~ f3]/3",
L: "[~@4 eb4@2 ~@2 eb4@2 ~ eb4@2 ~@2 f4@32 ~]/3", M: "[~@4 gb3@2 ~@2 f3@3 e3 ~@3 eb3@2 ~@15]/2",
N: "[~@4 ab3@2 ~@2 b3@3 ~ db4 ~@2 bb3@17]/2", O: "f3", P: "c4 b3", Q: "g3 ~@7",
R: "[~@2 f4@5 ~ e4@2 ~ e4@2 ~@2 eb4@3 ~@14]/2", S: "[~@3 ab4@4 ~ gb4@2 ~@5 f4@5 eb4@2 ~@5 e4@4 ~]/2", T: "f4 ~@7",
U: "~@3 f4@5 eb4@2 ~@2 ab3@2 ~@2", V: "[db4@2 ~@2 c4@2 ~@2 ab3@3 f3 ~@3 f3@9 e3@7 eb3@2 ~@15]/3",
W: "[~@3 f4@5 e4@2 ~ e4 ~@3 eb4@3 ~@14]/2", X: "[f4 ~@3 db3@7 ~ db3@2 ~ d3@12 db3 d3@3 eb3]/2",
Y: "[~@4 b3@2 ~@2 ab3@3 f3 ~@3 db3@12 ~ db3@2 ~ d3@12 db3 d3@3 eb3]/3", Z: "~@3 d4@5 d4@2 ~@6",
AA: "[bb3@32 ab3@31 ~]/4", AB: "~@3 d4@5 d4 ~@3 d4@2 ~@2", AC: "~ db4@5 ~ db4 ~@8", AD: "~@3 c4@4 ~ c4 ~@3 c4@2 ~@2",
AE: "b3@7 ~ b3@5 ~@2 bb3", AF: "~ eb3@3", AG: "~@3 f3@4 ~ ab3@2 ~@2 bb3@2 ~@2",
AH: "b3@2 ~@2 bb3@2 ~@2 ab3@2 ~ f3 ~@2 ab3 ~", AI: "[~@7 ab3@2 ~@6 bb3@49]/4",
})).s("gm_tenor_sax").gain(0.29)
// drums · kick
const kick = s("bd").struct(`<
A B ~@2 C D E ~ F B G ~@2 B ~@4 H B G ~@2 B G ~@2 I ~@3 I ~@5 I ~ I ~@15 I ~@3 I ~@3 I ~ I ~@15 I ~@22 A@2 J ~
// … 63 more lines
More by Broadway
AmericaB♭ major · 150 bpmBring on the StormF major · 80 bpmEdelweissB♭ major · 108 bpmEternal JourneyC major · 89.1 bpmHello, Dolly!C major · 160 bpmJoseph and the Amazing Technicolor Dreamcoat: Close Every DoorA♭ major · 104 bpmLes Miz" Medley: Castle on a Cloud Little PeopleA minor · 65 bpmMariaG minor · 92 bpm
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.