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: 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 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 BK@2 BL BM BN BO BP BQ BR BS BT BU BV AX BW BX BY BZ CA BD CB CC CD CE
CB CF CG CH CI CJ CK CL CM CN CO CP CQ CR@4 CS ~
>`.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@4 ab2@3 ~ f2@4 d2@4", 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: "eb2@4 f2@4 g2@3 ~ eb2@2 [c2,d2] ~",
AK: "ab2@3 [d2,e2] b2@4 bb2@3 ~ a2@3 d2", AL: "ab2@4 c2@4 eb2@4 ab2@3 [d2,e2]", AM: "db3@3 e2 b2@3 ~ ab2@4 db2@4",
AN: "gb2@3 ~ ab2@3 ~ bb2@3 d2 gb2@3 c2", AO: "ab2@3 ~ g2@4 f2@4 eb2@4", AP: "ab2@4 bb2@3 ~ c3@4 e2@4",
AQ: "f2@3 ~ f2@3 ~ f2@4 f2@4", AR: "bb2@4 ab2@4 f2@4 d2@3 ~", AS: "~@3 bb3 g3@3 [b2,c3] g3@3 g2 f3@3 f2",
AT: "eb3@2 e2 ~ db3@3 [e2,f2] bb2@3 d2 eb2@3 ~", AU: "ab2@4 bb2@4 c3@3 [d2,e2] ab2@4", AV: "eb2@4 f2@4 g2@3 ~ eb2@4",
AW: "ab2@4 bb2@4 c3@3 f2 ab2@2 d2 ~", AX: "bb2@4 f2@4 e2@4 a2@3 e2", AY: "ab2@3 [d2,e2] bb2@4 c3@3 f2 bb2@3 [c2,d2]",
AZ: "ab2@3 d2 g2@4 f2@4 c2@3 ~", BA: "eb2@4 gb2@4 bb2@3 c2 gb2@3 c2", BB: "ab2@3 [c2,d2] gb2@3 c2 eb2@3 c2 d2@4",
BC: "db2@4 f2@3 ~ ab2@3 ~ db2@4", BD: "d2 ab2 f2 d2", BE: "c2 eb2 g2 c2", BF: "f2@4 a2@4 c3@3 [f2,g2] b2@3 d2",
BG: "bb2@3 d2 ab2@4 f2@4 bb1@4", BH: "eb2 ab2 e2 eb2", BI: "ab2@4 bb2@4 c3@3 f2 ab2@3 ~",
BJ: "a2@3 d2 ab2@3 ~ eb2@3 ~ eb2@4", BK: "[bb2@3 ~ bb2@3 ~ a2@3 ~ a2@2 ~ ab2@2 ~@15]/2", BL: "db3 b2 ab2 db2",
BM: "gb2@4 ab2@4 bb2@3 e2 gb2@2 d2 ~", BN: "ab2 g2 f2 eb2", BO: "ab2@4 bb2@4 c3@4 e2@3 ~",
BP: "f2@3 ~ f2@3 ~ f2@3 ~ f2@4", BQ: "bb2@3 ~ ab2@4 f2@4 d2@4", BR: "~@3 bb3 g3@3 b2 g3@3 a2 f3@3 g2",
BS: "eb3@3 e2 db3@3 f2 bb2@4 eb2@3 ~", BT: "ab2@4 bb2@4 c3@3 e2 ab2@3 [b1,c2]",
BU: "eb2@4 f2@4 g2@3 [c2,d2] eb2@3 d2", BV: "ab2@4 bb2@4 c3@3 e2 ab2@3 [c2,d2]",
BW: "ab2@3 e2 bb2@4 ~@2 e2 ~ bb2@3 e2, ~@2 c3 ~", BX: "ab2@3 [d2,e2] g2@4 f2@4 c2@3 ~",
BY: "eb2@4 gb2@4 bb2@3 ~ eb2@4", BZ: "ab2 gb2 eb2 d2", CA: "db2@4 ab2@3 ~ f2@4 db2@3 ~", CB: "eb2 d2 c2 g2",
CC: "f2@3 ~ g2@3 ~ f2@3 d2 eb2@4", CD: "db2@4 f2@4 ab2@3 ~ db2@4", CE: "d2@4 ab2@4 f2@3 ~ d2@4",
CF: "f2@4 eb2@4 b1@4 f2@3 ~", CG: "bb2@3 g2 bb2@3 ~ bb2@3 ~ bb2@3 ~", CH: "bb2@3 ~ bb2@4 bb2@4 bb2@3 ~",
CI: "bb2@3 ~ bb2@4 bb2@4 bb2@4", CJ: "eb2@3 ~ eb2@4 eb2@3 ~ eb2@3 ~", CK: "d2 f2 ab2 d2", CL: "db2 ab2 f2 db2",
CM: "c2@4 eb2@4 ab2@3 ~ c2@4", CN: "b1 ab2 f2 b1", CO: "bb1 db2 f2 bb1", CP: "eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@4",
CQ: "ab2@4 f2@4 ab2@3 ~ bb2@3 ~", CR: "[b2@3 ~ bb2@3 ~ ab2@3 ~ f2@3 bb2@2 ~@6 a2 ~@7 ab1@33]/4", CS: "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 U ~@6 V@2 ~ W@2 X Y ~@3 Y ~
Z ~@4 AA AB@2 AC@2 ~ AD AE@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: "[f3,ab3,c4,f4] ~@7", // Fm
V: "[~@3 [ab3,db4,f4,ab4]@5 [ab3,db4,e4,ab4]@2 ~ [ab3,db4,e4,ab4] ~@3 [ab3,eb4,f4,ab4]@4 ~@13]/2", // Db Dbm Fm7
W: "[~@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
X: "[eb4,f4,bb4,db5,f5] ~@7", Y: "~@3 [b3,d4,f4,ab4]@4 ~ [d4,f4]@2 ~@6, ~@8 [b3,ab4] ~@7",
Z: "~@3 [f4,b4,d5,f5]@4 ~ [f4,b4,d5,f5]@2 ~@6", AA: "~@3 [c5,d5,f5]@5 [c5,d5,f5]@2 ~@2 [c5,d5,f5]@2 ~@2",
AB: "[~@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
AC: "[~@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
AD: "~@3 [ab4,c5,eb5,f5]@4 ~ [c5,eb5,f5,ab5]@2 ~@2 [db5,e5,g5,bb5]@2 ~@2", // Fm7 Dbdim
AE: "[[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 ~ Y@2
Z@2 ~ AA@4 AB AC AD AE@2 AF AG AH AI@2 AJ AK AL AM@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: "[~@3 [db4,f4]@4 ~ eb4@2 ~@5 [bb3,c4]@5 [bb3,c4]@2 ~@5 [a3,c4]@5, ~@8 db4 ~@23]/2",
Z: "[bb3@2 ~@2 db4@7 ~ db4@2 ~ d4@12 db4 d4@2 ~ eb4, ab3 ~@31]/2",
AA: "[~@4 b4@3 ~ ab4@3 f4 ~@3 db4@12 ~ db4@3 d4@12 db4 d4@3 eb4@2 ~@15]/4", AB: "~@3 [a3,b3]@5 b3@2 ~@6, ~@8 a3 ~@7",
AC: "[ab3,db4]", AD: "[db4,f4]", AE: "[f4 e4, ab4]/2", AF: "~@3 [c4,f4]@5 c4@2 ~@2 [c4,f4]@2 ~@2, ~@8 f4 ~@7",
AG: "[b3,f4]@6 ~ [b3,f4] ~@8", AH: "~@3 [ab3,eb4]@4 ~ ab3@2 ~@2 [ab3,eb4]@2 ~@2, ~@8 eb4 ~@7",
AI: "[[ab3,d4]@7 ~@2 ab3@5 ~ [ab3,db4]@2 ~@15, ~@4 d4@3 ~@9]/2", AJ: "~ eb3@3",
AK: "~@3 [c4,eb4]@5 [eb4,f4]@2 ~@2 [e4,g4]@2 ~@2", // Cm Ebsus2 Em
AL: "ab4@2 ~@2 [e4,g4]@2 ~@2 [eb4,f4]@2 ~ [c4,eb4] ~@3 [db4,f4], f4 ~@3 ab4 ~@11", // Em Ebsus2 Cm Db
AM: "[~@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 Z AA AB@3 AC@3 ~
P AD AE ~@4 S@2 ~ AF@2 AG@3 AH@4 AI AJ@3 M AK AL AM AN ~ AO AP AQ AR@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: "eb2@15 ~", AA: "~@3 f3@5 eb3@2 ~@2 ab2@2 ~@2",
AB: "[db3@2 ~@2 c3@2 ~@2 ab2@3 f2 ~@3 bb2@9 a2@7 ab2@2 ~@15]/3", AC: "[~@4 ab3@3 ~ b3@2 ~ db4 ~@3 bb3@18 ~@15]/3",
AD: "bb2@15 ~", AE: "eb2 ~@7", AF: "[~@3 eb2@4 ~ eb2@2 ~@5 ab2@4 ~ ab2@2 ~@5 d2@5]/2",
AG: "[db2@2 ~@2 db2@7 ~ db2@2 ~ d2@11 db2@2 d2@2 ~ eb2@2 ~@15]/3",
AH: "[~@4 b2@2 ~@2 ab2@3 f2 ~@3 db2@13 db2@2 ~ d2@12 db2 d2@2 ~ eb2@2 ~@15]/4", AI: "~@3 f2@4 ~ f2@2 ~@6",
AJ: "[bb2@47 ~]/3", AK: "~@3 d3@5 d3@2 ~@2 d3@2 ~@2", AL: "~ db3@5 ~ db3 ~@8", AM: "~@3 c3@4 ~ c3 ~@3 c3@2 ~@2",
AN: "b2@6 ~@2 b2@5 ~@2 bb2", AO: "~ eb2@3", AP: "~@3 f3@5 ab3@2 ~@2 bb3@3 ~",
AQ: "b3@2 ~@2 bb3@2 ~@2 ab3@3 f3 ~@3 bb2", AR: "[~@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 AE ~ AF ~@4 AG AH AI AJ@2 ~ AK AL AM@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,eb4]@2 ~@5 [a3,c4,d4,gb4]@5, ~@8 bb4@2 ~@10 gb4 ~@11]/2", // Ebm7 Ab7 Ab D7
AC: "[bb3,db4,f4,ab4] ~@7", AD: "~@3 [d3,f3,ab3,b3]@5 [d3,f3,ab3,b3] ~@7",
AE: "~@3 [d3,f3,ab3,b3]@4 ~ [d3,f3,ab3,b3] ~@7", AF: "~@3 [f3,b3,eb4,gb4]@5 [f3,b3,gb4]@2 ~@6, ~@8 eb4 ~@7",
AG: "~@3 [c4,d4,f4,ab4]@5 [c4,d4,f4]@2 ~@2 [c4,d4,f4,ab4]@2 ~@2, ~@8 ab4 ~@7", // Dm7b5 Dm7 Dm7b5
AH: "[b3,db4,f4,ab4]@6 ~ [b3,db4]@2 ~@7, ~@7 [f4,ab4] ~@8", // Db7 Bsus2 Fm
AI: "~@3 [c4,eb4,f4,ab4]@4 ~ [eb4,ab4]@2 ~@2 [c4,eb4,f4,ab4]@2 ~@2, ~@8 [c4,f4] ~@7", // Fm7 Ab5 Fm7 F5
AJ: "[[b3,d4,f4,ab4]@6 ~@2 [b3,d4,f4,ab4]@5 ~@2 [bb3,ab4]@2 ~@15, ~@15 [db4,f4] ~@16]/2", // Bdim Bb7 Db
AK: "~@3 [ab3,c4,eb4,f4]@5 [c4,eb4,f4,ab4]@2 ~@2 [db4,e4,g4,bb4]@2 ~@2", // Fm7 Dbdim
AL: "[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
AM: "[~@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 K@2 L@3 ~@3 M@3 N@2 O@2 ~@2 P Q R ~@4 S@2 ~ T@2 U ~@5 V W@3 X@2 ~@2 P
Q R ~@4 Y@2 ~ Z@2 AA@2 ~ AB@3 ~ AC AD@4 AE AF AG AH ~ AI AJ AK AL@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: "[~@4 f3@2 ~@2 ab3@3 [ab3,a3] bb3 ~@2 ab3@17]/2",
L: "[g3@14 ~ gb3@5 bb3@2 ~@2 c4@2 ~ f4 ~@3 eb4@5 c4@2 ~ bb3 ab3@2 ~ g3 gb3@2 ~ f3]/3",
M: "[~@4 eb4@2 ~@2 eb4@2 ~ eb4@2 ~@2 f4@32 ~]/3", N: "[~@4 gb3@2 ~@2 f3@3 e3 ~@3 eb3@2 ~@15]/2",
O: "[~@4 ab3@2 ~@2 b3@3 ~ db4 ~@2 bb3@17]/2", P: "f3", Q: "c4 b3", R: "g3 ~@7",
S: "[~@2 f4@5 ~ e4@2 ~ e4@2 ~@2 eb4@3 ~@14]/2", T: "[~@3 ab4@4 ~ gb4@2 ~@5 f4@5 eb4@2 ~@5 e4@4 ~]/2", U: "f4 ~@7",
V: "~@3 f4@5 eb4@2 ~@2 ab3@2 ~@2", W: "[db4@2 ~@2 c4@2 ~@2 ab3@3 f3 ~@3 f3@9 e3@7 eb3@2 ~@15]/3",
X: "[~@4 ab3@3 ~ b3@3 ~ db4 ~@2 bb3@16 ~]/2", Y: "[~@3 f4@5 e4@2 ~ e4 ~@3 eb4@3 ~@14]/2",
Z: "[~@3 ab4@5 gb4@2 ~@5 f4@5 eb4@2 ~@5 e4@4 ~]/2", AA: "[f4 ~@3 db3@7 ~ db3@2 ~ d3@12 db3 d3@3 eb3]/2",
// … 72 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.