0:00/0:00
// the hands that thieve — Streetlight Manifesto
// 140 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/1766076; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 189 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(140/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.
// other · flute
const flute = note(`<
A@3 B C D E F@11 ~@4 G@2 H I J K ~@2 L@2 M N J O P Q R S T Q R U V W X Y Z AA AB AC AD AE AF AG AH@2 AI AJ AK@2 AL ~@2
AM AL ~@4 AN@2 AO AP J K ~@2 L@2 M N J O P Q R S T Q R U V W X Y Z AA AB AC AD AE AF AG AH@2 AI AJ AK@2 AL ~@2 AM AL
~@4 AQ AR AS@2 ~ AT AU@2 AV AW AX AY AZ BA BB BC ~@3 BD@2 BE BF@3 BG BH@2 BI@2 BJ@5 BK@2 BL@5 BM@2 BN@3 BO@2 BP@5 BQ@2
BR BS BT@2 BU BV@2 BW@4 BX@2
>`.pickRestart({
A: "f#5@2 f#5!2 f#5@2 f#5!2 f#5@2 f#5!2 f#5@2 e5@2",
B: "f#5@4 f#5@2 f#5@2 f#5@4 f#5@2 f#5@2 f#5@4 ~@4 e5@2 e5@2 e5@3 ~", C: "d5@15 ~@5 f#5@2 f#5@2 f#5@4 e5@4",
D: "f#5@4 f#5@4 f#5@4 f#5@4 f#5@4 ~@4 c5@2 c5@2 c5@3 ~", E: "d5@15 ~", F: "f#5!7 e5",
G: "[g5@2 g5@4 g5@4 f#5@4 g5@4 f#5@4 g5@4 g5@4 g5@8 g5@4 g5@2 f#5@15 ~ g5@4]/2",
H: "c6 c6@3 c6@2 c6@2 b5@2 g5@2 g5@2 b5@2", I: "d6 d6@3 d6@2 f#6@2 g6@2 c6 b5@3 b5@2", J: "c6!6 b5 g5",
K: "a5 a5@2 a5@2 b5 a5@4 ~@6", L: "[g5@2 g5@2 ~@2 g5@4 f#5@4 g5@4 f#5@4 g5@4 g5@4 g5@8 g5@4 g5@2 f#5@15 ~ g5@4]/2",
M: "c6 c6@3 c6@2 c6!2 b5@2 g5@2 g5@2 g5 b5", N: "d6 d6@2 d6 d6@2 f#6!2 g6@2 c6 b5@3 b5@2", O: "a5!3 g5 f#5@2 b5@2",
P: "g5@8 ~@6 b4@2 e5@3 ~ b4@3 ~ e5@3 ~ g5@3 ~", Q: "f#5@2 e5@4 c5@23 ~@3", R: "~ g5 f#5 e5", S: "f#5@23 ~@9",
T: "~@14 b4@2 e5@3 ~ b4@3 ~ e5@3 ~ g5@3 ~", U: "f#5@15 ~ a5@15 ~", V: "d6@11 ~@21",
W: "~@4 g6@4 g6@4 g6@4 g6@5 f#6@5 ~ e6@5", X: "d6@4 d6@4 d6@4 d6@4 d6@5 c6@5 ~ b5@5",
Y: "a5@4 a5@4 a5@4 a5@4 a5@4 a5 e6@5 ~ f#6@5", Z: "g6@4 e6@4 e6@4 f#6@4 g6@5 f#6@5 ~ e6@5",
AA: "c6@8 ~@4 c6@2 d6@2 e6@5 d6@5 ~ c6@5", AB: "c6@5 b5@5 ~ b5@5 c6@5 a5@5 ~ g5@5",
AC: "a5@5 a5@5 ~ b5@5 c6@5 a5@5 ~ b5@5", AD: "a5@15 ~ f#5@8 ~@8", AE: "~@2 e6@2 e6@2 e6@2 e6@3 e6 d6@2 c6@2",
AF: "b5@2 b5@2 b5@2 b5@2 b5@3 b5 a5@2 g5@2", AG: "a5!5 f#5 a5 c6",
AH: "[b5@8 d6@8 e6@8 d6@4 c6@11 ~@5 e6@4 e6@6 e6@2 e6@4 f#6@4]/2", AI: "g6 d6!7", AJ: "e6 d6!6 c6",
AK: "[b5@15 ~ b5@8 a5@4 g5@8 g6@4 f#6@2 ~@2 e6@2 ~@2 f#6@2 ~@2 e6@2 ~@2 d6@2 ~@2 c6@2 ~@2]/2", AL: "b5 ~@3",
AM: "~@2 g6@2 f#6 ~ e6 ~ f#6 ~ e6 ~ d6 ~ c6 ~",
AN: "[g5@2 g5@4 g5@4 f#5@4 g5@4 f#5@4 g5@4 g5@4 g5@8 g5@4 g5@2 f#5@15 ~ c6@2 c6@2]/2",
AO: "c6@2 c6@2 c6@2 c6!2 b5@2 g5@2 g5@2 f#6@2", AP: "g6 g6@3 g6@2 g6@2 g6@2 e6 d6@3 b5@2", AQ: "e5@15 ~",
AR: "~@6 g5 a5", AS: "[d6@8 d6@8 e6@8 d6@4 d6@8 a5@23 ~@5]/2", AT: "~@6 b5 c6",
AU: "[d6@8 g6@8 g6@8 g6@4 g6@8 f#6@23 ~@5]/2", AV: "~@2 e6@2 e6@2 e6@2 e6@2 e6 e6@3 f#6@2", AW: "g6 c6!6 b5",
AX: "b5!6 d6!2", AY: "e6@2 d6@2 d6@2 d6@2 f#6@3 f#6 e6@2 f#6@2", AZ: "g6@11 ~ e6@4 e6@6 d6@2 e6@4 d6@4",
BA: "g6@2 f#6@2 e6@2 d6!2", BB: "d6@2 d6!2 g6@2 g6!2", BC: "f#6@15 ~@17", BD: "[c5@25 ~@5 b4@20 ~@14]/2",
BE: "~@5 a4@19 ~@8", BF: "[~@14 b4@21 ~@23 c5@21 ~@17]/3", BG: "~@2 g5@21 ~@9", BH: "[~@20 f#5@21 ~@19 d5@4]/2",
BI: "[~ g5@9 f#5@9 ~ e5@9 f#5@9 g5@18 ~ g5@7]/2",
BJ: "[~@2 d6@9 ~ b5@18 b5@9 ~ d6@9 a5@18 ~ a5@9 d6@9 b5@18 ~ a5@9 b5@9 ~ c6@18 g5@9 ~ d6@8]/5",
BK: "[~ b5@18 ~ b5@9 d6@9 a5@18 ~@8]/2",
BL: "[~@8 d5@4 g5@9 f#5@9 e5@9 ~ f#5@9 g5@18 ~ g5@9 d6@9 b5@18 ~ b5@9 d6@9 ~ a5@18 a5@9 ~ d6@8]/5",
BM: "[~ b5@18 ~ a5@9 b5@9 c6@18 ~ g5@7]/2", BN: "[~@2 d6@9 ~ b5@18 b5@9 ~ d6@9 a5@18 ~@29]/3",
BO: "[~@28 c6@9 c6@9 c6@9 ~ c6@8]/2",
BP: "[~ b5@9 b5@9 ~ b5@9 b5@9 d6@3 a5@3 f#5@3 ~ d6@3 a5@3 f#5@3 d6@3 a5@3 f#5@3 d6@3 a5@3 f#5@3 ~ e6@3 b5@3 g5@3 e6@3 b5@3 g5@3 e6@6 d6@6 ~ b5@6 c6@9 c6@9 ~ c6@9 c6@9 b5@9 ~]/5",
BQ: "[b5@9 b5@9 b5@9 ~ d6@3 a5@3 f#5@3 d6@3 a5@3 f#5@3 d6@3 a5@3 f#5@3 ~ d6@3 a5@3 f#5@2]/2",
BR: "~ d6@3 a5@3 f#5@3 d6@3 a5@3 f#5@3 ~ d6@3 a5@3 f#5@3 d6@3", BS: "a5@3 f#5@3 c6@9 ~@6 c6@4 c6@7",
BT: "[~@2 a5@9 ~ b5@9 ~@5 b5@4 b5@9 ~ g5@9 a5@9 ~@6]/2", BU: "a5@4 g5@9 a5@9 b5@6 b5@4",
BV: "[~@3 b5@6 b5@6 a5@6 g5@6 ~ e5@9 ~@5 c6@4 c6@9 ~ a5@8]/2",
BW: "[~ b5@9 ~@6 b5@4 b5@9 g5@9 a5@14 ~ g5@4 f#5@14 ~ e5@4 d5@9 f#5@9 g5@9 ~ d6@9 c6@6 ~@9]/4",
BX: "[~@4 b5@35 ~@25]/2",
})).s("gm_flute").gain(0.5)
// other · soprano sax · "Alto Saxophone"
const soprano_sax = note(`<
~@6 A@2 B C@2 D@2 E ~@5 F G H I@2 J K L M N O P@2 Q R L S T ~@8 U V W X Y Z AA AB AC AD AE AF@2 AG AH AI@2 AJ ~@2 AK
AJ ~ AL AM AN AO@2 AP K L M N O P@2 Q R L S T ~@8 U V W X Y Z AA AB AC AD AE AF@2 AG AH AI@2 AJ ~@2 AK AJ ~@4 AQ@2
AR@2 AS@2 AR@2 AT AU AV AW AX AY AZ BA ~@3 BB@2 BC@2 BD@2 BE@3 ~ BF BG@2 BH BI@5 BJ BK BL@6 ~ BM@5 BN@4 BO BP BQ@2 BR
BS@2 BT@4 BU@2
>`.pickRestart({
A: "[~@8 a3@4 a3@3 b3@3 c4@3 ~ d4@3 e4@39]/2", B: "~@7 d4", C: "[e4@11 ~@5]/2",
D: "[a3@12 c4@4 b3@4 a3@4 b3 c4 b3@2 a3@12 ~@24]/2", E: "a3 b3 c4 d4 e4@8 ~@4", F: "~@5 b3!2 a3",
G: "g3@3 b3 b3@2 g3@2 a3@3 a3 g3@2 a3@2", H: "b3@6 b3@2 b3@4 b3@4 b3@3 ~ g3@8 g3@4",
I: "[e4 e4@2 e4@2 d4@2 e4@2 d4@2 e4@2 d4@2 b3@4 b3@2 c4 a3@8 g3@2]/2", J: "g4 g4@3 g4@2 g4@2 g4@2 g3@2 g3@2 b3@2",
K: "d4 d4@3 d4@2 d4@2 d4@2 c4 b3@3 b3@2", L: "c4!6 b3 g3", M: "a3 a3@2 a3@2 g3 f#3@4 b3@2 b3@2 a3@2",
N: "g3 b3!2 g3 a3!2 g3 a3", O: "b3!5 d4@2 g3", P: "[e4!2 e4@2 e4@2 d4 e4@2 d4@2 e4@2 d4@2 b3@4 b3@2 c4 a3@8 g3@2]/2",
Q: "g4 g4@3 g4@2 g4!2 g4@2 g3@2 g3@2 g3 b3", R: "d4 d4@2 d4 d4@2 d4!2 d4@2 c4 b3@3 b3@2", S: "a3!3 g3 f#3@2 b3@2",
T: "g3 e3@4 ~@3", U: "~@4 g4@4 g4@4 g4@4 g4@5 f#4@5 ~ e4@5", V: "d4@4 d4@4 d4@4 d4@4 d4@5 c4@5 ~ b3@5",
W: "a3@4 a3@4 a3@4 a3@4 a3@4 a3 b3@5 ~ c4@5", X: "b3@4 b3@4 b3@4 b3@4 b3@5 a3@5 ~ g3@5",
Y: "e3@8 ~@4 g4@2 g4@2 g4@5 f#4@5 ~ e4@3 ~@2", Z: "e4@5 d4@5 ~ d4@3 ~@2 d4@5 d4@5 ~ e4@3 ~@2",
AA: "e4@5 d4@5 ~ d4@3 ~@2 d4@5 c4@5 ~ b3@3 ~@2", AB: "b3@2 a3 ~", AC: "~@2 g4@2 g4@2 g4@2 g4@3 g4 f#4@2 g4@2",
AD: "g4@2 g4@2 g4@2 g4@2 g4@3 g4 g4@2 g4@2", AE: "f#4!6 e4 f#4",
AF: "[g4@4 f#4@4 e4@4 d4@2 c4@6 ~@2 g4@2 g4@3 g4 f#4@2 g4@2]/2", AG: "g4 d4!7", AH: "e4 d4!6 c4",
AI: "[b3@8 b3@4 a3@2 g3@4 g4@2 f#4 ~ e4 ~ f#4 ~ e4 ~ d4 ~ c4 ~]/2", AJ: "b3 ~@3",
AK: "~@2 g4@2 f#4 ~ e4 ~ f#4 ~ e4 ~ d4 ~ c4 ~", AL: "~ c4 b3 g3", AM: "b3@3 b3 b3@2 b3@2 d4@3 d4 d4@2 d4@2",
AN: "e4@6 d4@2 d4@4 d4@4 d4@3 ~ b3@8 g3@4", AO: "[e4 e4@2 e4@2 d4@2 e4@2 d4@2 e4@2 d4@2 b3@4 b3@2 c4 a3@8 e4 f#4]/2",
AP: "g4@2 g4@2 g4@2 g4!2 g4@2 g3@2 g3@2 b3@2", AQ: "[b3@3 e4!2 d4 e4 d4@2 b3@4 ~ g3 a3]/2",
AR: "[b3@2 b3@2 c4@2 b3 b3@2 a3@6 ~]/2", AS: "[~@6 e4@2 e4@2 d4@2 e4@2 d4@4 b3 a3 g3@6 ~@2 g3@2 a3@2]/2",
AT: "~@2 e4@2 e4@2 e4@2 e4@2 e4 e4@3 f#4@2", AU: "g4 e4!6 d4", AV: "d4!8",
AW: "e4@2 d4@2 d4@2 d4@2 d4@3 d4 d4@2 c4@2", AX: "b3@6 e4@2 e4@3 d4 e4@2 d4@2", AY: "c4@2 a3@2 g3@2 g3 a3",
AZ: "b3@2 b3!2 c4@2 b3!2", BA: "a3 ~", BB: "[~@13 g3@4 g3@9 d4@4 b3@22 b3@4 b3@8]/2",
BC: "[~ d4@4 a3@20 a3@5 g3@10 ~ a3@5 b3@7 b3@4 b3@7]/2", BD: "[b3@4 b3@7 ~ a3@7 g3@7 e3@17 g3@6 g3@11 d4@4]/2",
BE: "[~@2 b3@22 b3@6 b3@11 d4@11 a3@17 g3@5 f#3@17 ~@5]/3", BF: "~@12 g3@4 g3@5 g3@4 g3@7",
BG: "[~@2 c4@6 b3@13 ~@5 g3@4 b3@6 a3@4 g3@5 a3@13 ~@6]/2", BH: "a3@4 g3@3 g3@3 a3@8 b3@9 ~ b3@4",
BI: "[b3@5 b3@4 b3@3 a3@3 g3@9 e3@13 ~@5 g3@2 g3@2 g3@6 d4@9 b3@13 ~@6 b3@4 b3@5 b3@4 g3@5 g3@4 a3@15 g3@4 f#3@15 ~@24]/5",
BJ: "~@11 g3@2 g3@3", BK: "g3@4 g3@9 c4@5 b3@13 ~",
BL: "[~@5 g3@4 b3@5 a3@4 g3@6 a3@13 ~@5 a3@4 g3@3 g3@3 a3@9 b3@9 b3@4 b3@6 b3@4 b3@3 a3@3 g3@8 e3@13 ~@5 g3@2 ~ g3@2 g3@5 d4@9 ~ b3@13 ~@5 b3@4 b3@6 b3@4 g3@5 g3@4 ~@15]/6",
BM: "[d5@5 d5@4 e5@9 d5@9 ~ g5@74 f#5@37 ~ g5@18 e5@2]/5", BN: "[~@8 d5@9 g5@75 f#5@33 e5@3]/4", BO: "~ d5@19 ~@12",
BP: "~@21 c4@4 c4@7", BQ: "[~@2 a3@9 ~ b3@9 ~@5 b3@4 b3@9 ~ g3@9 a3@9 ~@6]/2", BR: "a3@4 g3@9 a3@9 b3@6 b3@4",
BS: "[~@3 b3@6 b3@6 a3@6 g3@6 ~ e3@9 ~@5 c4@4 c4@9 ~ a3@8]/2",
BT: "[~ b3@9 ~@6 b3@4 b3@9 g3@9 a3@15 g3@4 f#3@15 e3@4 d3@9 d4@5 d4@4 e4@9 ~ d4@9 g4@6 ~@9]/4",
BU: "[~@4 d4@37 ~@23]/2",
})).s("gm_soprano_sax").gain(0.6)
// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
~ A B C ~ D ~ A E@2 F ~@6 G H I J K L@2 M N O P Q R S@2 T U O V W ~@8 X Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK AL@2 AM
~@2 AN AM ~ AO AP AQ AR@2 AS N O P Q R S@2 T U O V W ~@8 X Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK AL@2 AM ~@2 AN AM
~@4 AT@2 AU@2 AV@2 AU@2 AW AX AY AZ BA BB BC BD@2 BE BF BG ~@9 BH@4 BI@6 BJ BK@8 BL BM@2 BN@2 BO BP@2 BQ@2 BR@2 BS
BT@2 BU@4 BV@2
>`.pickRestart({
A: "~@7 c3", B: "e3@6 ~ e3", C: "c3 a2@6 ~", D: "~@3 a3 b3@4", E: "[d3@14 ~ a2]/2", F: "a2", G: "~@7 b3", H: "a3@3 ~",
I: "~@5 b3!2 a3", J: "g3@3 b3 b3@2 g3@2 a3@3 a3 g3@2 a3@2", K: "b3@6 b3@2 b3@4 b3@4 b3@3 ~ g3@8 g3@4",
L: "[e4 e4@2 e4@2 d4@2 e4@2 d4@2 e4@2 d4@2 b3@4 b3@2 c4 a3@8 g3@2]/2", M: "g4 g4@3 g4@2 g4@2 g4@2 g3@2 g3@2 b3@2",
N: "d4 d4@3 d4@2 d4@2 d4@2 c4 b3@3 b3@2", O: "c4!6 b3 g3", P: "a3 a3@2 a3@2 g3 f#3@4 b3@2 b3@2 a3@2",
Q: "g3 b3!2 g3 a3!2 g3 a3", R: "b3!5 d4@2 g3", S: "[e4!2 e4@2 e4@2 d4 e4@2 d4@2 e4@2 d4@2 b3@4 b3@2 c4 a3@8 g3@2]/2",
T: "g4 g4@3 g4@2 g4!2 g4@2 g3@2 g3@2 g3 b3", U: "d4 d4@2 d4 d4@2 d4!2 d4@2 c4 b3@3 b3@2", V: "a3!3 g3 f#3@2 b3@2",
W: "g3 e3@4 ~@3", X: "~@4 g4@4 g4@4 g4@4 g4@5 f#4@5 ~ e4@5", Y: "d4@4 d4@4 d4@4 d4@4 d4@5 c4@5 ~ b3@5",
Z: "a3@4 a3@4 a3@4 a3@4 a3@4 a3 b3@5 ~ c4@5", AA: "b3@4 b3@4 b3@4 b3@4 b3@5 a3@5 ~ g3@5",
AB: "e3@8 ~@4 g4@2 g4@2 g4@5 f#4@5 ~ e4@5", AC: "e4@5 d4@5 ~ d4@5 d4@5 d4@5 ~ e4@5",
AD: "e4@5 d4@5 ~ d4@5 d4@5 c4@5 ~ b3@5", AE: "c4@2 a3 ~", AF: "~@2 g3@2 g3@2 g3@2 g3@3 g3 f#3@2 g3@2",
AG: "g3@2 g3@2 g3@2 g3@2 g3@3 g3 g3@2 g3@2", AH: "f#3!6 e3 f#3",
AI: "[g3@4 f#3@4 e3@4 d3@2 c3@6 ~@2 g4@2 g4@3 g4 f#4@2 g4@2]/2", AJ: "g4 d4!7", AK: "e4 d4!6 c4",
AL: "[b3@8 b3@4 a3@2 g3@4 g4@2 f#4 ~ e4 ~ f#4 ~ e4 ~ d4 ~ c4 ~]/2", AM: "b3 ~@3",
AN: "~@2 g4@2 f#4 ~ e4 ~ f#4 ~ e4 ~ d4 ~ c4 ~", AO: "~ c4 b3 g3", AP: "b3@3 b3 b3@2 b3@2 d4@3 d4 d4@2 d4@2",
AQ: "e4@6 d4@2 d4@4 d4@4 d4@3 ~ b3@8 g3@4", AR: "[e4 e4@2 e4@2 d4@2 e4@2 d4@2 e4@2 d4@2 b3@4 b3@2 c4 a3@8 e4 f#4]/2",
AS: "g4@2 g4@2 g4@2 g4!2 g4@2 g3@2 g3@2 b3@2", AT: "[e3@3 e4!2 d4 e4 d4@2 b3@4 ~ g3 a3]/2",
AU: "[b3@2 b3@2 c4@2 b3 b3@2 a3@6 ~]/2", AV: "[~@6 e4@2 e4@2 d4@2 e4@2 d4@4 b3 a3 g3@6 ~@2 g3@2 a3@2]/2",
AW: "~@2 e4@2 e4@2 e4@2 e4@2 e4 e4@3 f#4@2", AX: "g4 e4!6 d4", AY: "d4!8",
AZ: "e4@2 d4@2 d4@2 d4@2 d4@3 d4 d4@2 c4@2", BA: "e3 b2 e3 g3", BB: "c4 g3 c4 e4", BC: "g3 d3 g3 b3", BD: "d3",
BE: "a3@3 g3 f#3@3 e3", BF: "d3 e3 f#3 a3 g3 f#3 e3 d3", BG: "c3@13 ~@19",
BH: "[~@6 g3@9 ~ c4@28 d3@9 b3@28 a3@9 d4@9 ~ d4@9 d4@9 e3@9 ~]/4",
BI: "[b3@15 f#3@6 g3@6 ~ c4@37 d3@9 b3@28 a3@9 ~ a3@28 a3@37 ~@5 g3@4 g3@6]/6", BJ: "g3@4 g3@9 c4@5 b3@13 ~",
BK: "[~@5 g3@4 b3@5 a3@4 g3@6 a3@13 ~@5 a3@4 g3@3 g3@3 a3@9 b3@9 b3@4 b3@6 b3@4 b3@3 a3@3 g3@8 e3@13 ~@5 g3@2 ~ g3@2 g3@5 d4@9 ~ b3@13 ~@5 b3@4 b3@6 b3@4 g3@5 g3@4 a3@33 g3@4 f#3@28 ~@14]/8",
BL: "~@10 c4@4 c4@9 ~ a3@8", BM: "[~ b3@9 ~@6 b3@4 b3@9 g3@9 a3@9 ~@6 a3@4 g3@7]/2",
BN: "[~@2 a3@9 ~ b3@6 b3@6 b3@6 b3@6 a3@6 ~ g3@6 e3@9 ~@6]/2", BO: "c4@4 c4@9 a3@9 b3@9 ~",
BP: "[~@5 b3@4 b3@9 g3@9 ~ a3@14 g3@4 f#3@15 e3@3]/2", BQ: "[~ d3@9 e3@9 ~ f#3@9 d4@9 c4@9 ~@6 c4@4 c4@7]/2",
BR: "[~@2 a3@9 ~ b3@9 ~@5 b3@4 b3@9 ~ g3@9 a3@9 ~@6]/2", BS: "a3@4 g3@9 a3@9 b3@6 b3@4",
BT: "[~@3 b3@6 b3@6 a3@6 g3@6 ~ e3@9 ~@5 c4@4 c4@9 ~ a3@8]/2",
BU: "[~ b3@9 ~@6 b3@4 b3@9 g3@9 a3@15 g3@4 f#3@15 e3@4 d3@9 d3@9 e3@9 ~ b3@9 c4@6 ~@9]/4", BV: "[~@4 b3@37 ~@23]/2",
})).s("gm_tenor_sax").gain(0.4)
// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
~ A B C ~@16 D E F@2 ~@4 G H I J K L M N O P Q R O S T U V W X Y Z AA AB AC AD AE AF AC AG AH ~@2 AI@2 AJ AK AL AM AN
AK AO AP AQ AR@2 AS AT M AU G H I J K L M N O P Q R O S T U V W X Y Z AA AB AC AD AE AF AC AG AH ~@2 AI@2 AJ AK AL AM
AN AK AV AW AX AY@2 AZ BA AY@2 AZ BB BC BD BE BF BG BH BI J BJ BK BL BM ~@18 BN BO BP@3 BQ@6 BR@2 BS@2 BT@2 BU BV BW@4
BX@2 BY@4 BZ@2
>`.pickRestart({
A: "~@7 c3", B: "e3@6 ~ e3", C: "c3 a2@6 ~", D: "g2@5 ~@11 d2@5 ~@11", E: "e2",
F: "[e3@5 ~@25 e3@8 e3@4 e3@2 d3@16 ~@4]/2", G: "g2 ~ d2 ~ f#2 ~ d2 ~", H: "e2 ~ g2 ~ b2 ~ e3 d3",
I: "c3 ~ g2 ~ c2 ~ c3 ~", J: "d3", K: "c3@8 b2 ~ g2@4 g2 ~", L: "a2@8 a2@4 a2@4 b2@6 c3 ~ b2@4 b2@4",
M: "c3 b2 a2 g2", N: "b2@2 a2 f#3", O: "e2@5 ~@3 b2@5 ~@3 e3@5 ~@3 b2@4 g2@4",
P: "a2@5 ~@3 e2@5 ~@3 a2@5 ~@3 e2@5 ~@3", Q: "d2@3 d2", R: "d#2 ~", S: "a2@5 ~@3 e2@5 ~@3 a2@5 ~@3 a2@4 b2@4",
T: "c3!2", U: "d3 f#3", V: "a3@11 ~@21", W: "c3@4 c3@4 e3@4 e3@4 g3@5 f#3@5 ~ e3@5",
X: "g3@4 g3@4 g3@4 g3@4 g3@5 d3@5 ~ e3@5", Y: "d3@4 d3@4 d3@4 d3@4 d3@4 e3 g3@5 ~ a3@5",
Z: "g3@4 b3@4 g3@4 d3@4 d3@5 g3@5 ~ d3@5", AA: "c3@8 e3@8 g3@4 g3 c4@5 ~ g3@5", AB: "b3@8 g3@8 g3@4 g3 f#3@5 ~ e3@5",
AC: "d3 a3 d3 a3 d3 a3 d3 a3", AD: "d3 a3 d3 a3 d3 c3 b2 a2", AE: "c3@2 c3@2 c3@2 c3@2 c3@3 e3 g3@2 a3@2",
AF: "g3@2 g3@2 g3@2 g3@2 g3@3 g3 f#3@2 e3@2", AG: "e3@8 b2@8 e3@5 d3@5 ~ b2@5", AH: "c3 ~",
AI: "[~@8 b2@4 a2@2 g2@4 e3@2 d3 ~ c3 ~ d3 ~ c3 ~ b2 ~ a2 ~]/2", AJ: "g2@3 g2", AK: "e2@16 e2@5 f#2@5 ~ g2@5",
AL: "f#2@8 d2 ~ d2 ~ e2 ~ f#2 ~", AM: "g2@12 b2 ~ a2 ~", AN: "g2 d2@2 g2", AO: "d3@5 ~@27",
AP: "g3@3 g3 g3@2 g3@2 f#3@3 f#3 f#3@2 f#3@2", AQ: "e3@2 b2@2 e3@2 e3 d3",
AR: "[c3@4 e3@3 a3@3 g3 e3@2 g3@2 g3@2 g3@2 g3@2 g3 f#3@8 ~@2]/2", AS: "c3@2 e3 a3 g3@2 a3 b3",
AT: "d3@2 f#3 g3 e3@2 b2@2", AU: "d3@2 a2@2 d3 a2 d3 f#3", AV: "c3@3 c3", AW: "b2!2", AX: "b2@5 ~@27",
AY: "e3@3 e3 e3@2 e3@2", AZ: "d3@3 d3 d3@2 d3@2", BA: "a2@3 a2 a2@2 d3@2", BB: "d3 ~",
BC: "~@2 e3@2 e3@2 e3@2 e3@2 e3 e3@3 f#3@2", BD: "g3 e3!6 d3", BE: "d3!8",
BF: "e3@2 d3@2 d3@2 d3@2 d3@3 d3 d3@2 c3@2", BG: "e3 b2 e3 g3", BH: "c3 g2 c3 e3", BI: "g2 d2 g2 b2", BJ: "a2",
BK: "a2@3 g2 f#2@3 e2", BL: "d2 e2 f#2 a2 g2 f#2 e2 d2", BM: "c2@13 ~@19", BN: "~@11 g2@2 g2@3",
BO: "g2@4 g2@9 c3@5 b2@13 ~",
BP: "[~@5 g2@4 b2@5 a2@4 g2@6 a2@13 ~@5 a2@4 g2@3 g2@3 a2@9 b2@9 b2@4 b2@6 b2@4 b2@3 a2@3 g2@6]/3",
BQ: "[~@2 e2@13 ~@5 g2@2 ~ g2@2 g2@5 d3@9 ~ b2@13 ~@5 b2@4 b2@6 b2@4 g2@5 g2@4 a2@33 g2@4 f#2@28 ~@10 c3@14 c3@4 e3@9 ~ a3@8]/6",
BR: "[~ g3@15 g3@4 b2@9 e3@9 d3@6 f#3@4 a3@9 g3@7]/2", BS: "[~@2 d3@9 ~ e3@6 b3@6 e3@6 e3@6 f#3@6 ~ g3@6 c3@15]/2",
BT: "[c3@4 e3@9 a3@9 g3@15 g3@4 b2@9 e3@9 ~ d3@4]/2", BU: "~ f#3@4 a3@9 f#3@9 ~ e3@8",
BV: "~ d4@3 a3@3 f#3@3 d3@9 ~ d3@6 d3@6",
BW: "[c#3@6 c3@6 c3@4 c3@18 d3@6 f#3@4 g3@3 d3@3 b3@3 g3@19 g3@5 e3@4 d3@5 a3@4 d3@19 d3@5 d#3@4 e3@10]/4",
BX: "[~@3 e3@6 e3@6 f#3@6 g3@6 ~ c3@9 e3@9 ~@6 e3@4 a3@3 g3@3 f#3@2]/2",
BY: "[~ g3@5 d3@4 g3@9 ~ b2@9 e3@9 d3@15 a3@4 d3@15 a3@4 d3@18 e3@9 ~ d3@9 c3@6 ~@9]/4", BZ: "[~@4 g3@37 ~@23]/2",
})).s("gm_baritone_sax").gain(0.3)
// other · baritone sax · "Baritone Saxophone" · soft notes
const baritone_sax_soft = note("<~@5 A ~ B C@2 D E F G F H I H J K ~@169>".pickRestart({
A: "~@3 a3 b3@4", B: "~@7 c3", C: "[d3@14 ~ a2]/2", D: "a2", E: "d2@6 ~ c2", F: "d2", G: "d2@4 d2@3 c2", H: "d2!2",
I: "d2@3 d2 d2@3 d2", J: "d2 a2 f#2 a2 d2 a2 f#2 a2", K: "d2!5 ~@3",
})).s("gm_baritone_sax").gain(0.2)
// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
~@4 A@3 B C ~ D@3 E F G H I J K L M N@2 ~@4 O P Q@2 R S T U V W X Y V W X Z AA ~@6 AB AC AD AE AF AG@2 AH AI AC AJ AK
AL AM AJ AK AL AN AO AP AQ@2 AR AS T AT O P Q@2 R S T U V W X Y V W X Z AA ~@6 AB AC AD AE AF AG@2 AH AI AC AJ AK AL
AM AJ AK AU AV AW AX ~ AY AZ BA BB AY AZ BC BD ~@3 BE BF BG BH BI BJ BK BL ~@27 BM@5 BN@4 BO BP@3 BQ BR@2 BS@4 BT@2
>`.pickRestart({
A: "[d4 e4]/3", B: "e4@4 f#4@3 a4", C: "f#4", D: "[~@7 f#4@2 a4@4 a4@2 d5@2 a4@2 f#4@2 a4@3]/3", E: "~@2 a4@2 d5@3 ~",
F: "d5@2 f#5@3 ~@3", G: "f#5 d5 a4 d5", H: "f#5@2 ~ a5 a5@2 ~ a5", I: "d5@4 ~@2 a5 e5 f#5@4 ~@2 a5@2",
J: "d5@2 a5 e5 f#5@2 a5@2 d5@2 a5 e5 f#5@2 a5@2", K: "d6@4 d6@4 d6@4 d6@4 d6@5 ~@11", L: "g4@5 ~@11 f#4@5 ~@11",
M: "e4", N: "[e4@5 ~@25 b3@34]/2", O: "g4 f#4", P: "e4 ~ b3@12 g4@2",
Q: "[e5!2 e5@2 e5@2 d5 e5@2 d5@2 e5@2 d5@2 b4@4 b4@2 c5 a4@8 g4@2]/2", R: "g5 g5@3 g5@2 g5!2 g5@2 g4@2 g4@2 g4 b4",
S: "d5 d5@2 d5 d5@2 d5!2 d5@2 c5 b4@3 b4@2", T: "c5!6 b4 g4", U: "a4!3 g4 f#4@2 ~@2",
V: "~@14 b4@2 e5@3 ~ b4@3 ~ e5@3 ~ g5@3 ~", W: "f#5 e5@2 c5@12 ~", X: "~ g5 f#5 e5", Y: "f#5@3 ~", Z: "f#5 a5",
AA: "[a5,d6]@11 ~@21", AB: "d5 f#5", AC: "d5 e5 f#5 a5", AD: "g5@3 e5", AE: "d5@3 e5", AF: "d5@4 ~ f#5 e5 f#5",
AG: "[g5@2 f#5@2 e5@2 d5 c5@7 e5@2]/2", AH: "d5 g5", AI: "f#5", AJ: "g5",
AK: "~@2 g5@2 f#5 ~ e5 ~ f#5 ~ e5 ~ d5 ~ b4 ~", AL: "c5@8 d5@8 e5@5 e5@5 ~ e5@5",
AM: "d5@4 e5@4 f#5 ~ e5 ~ d5 ~ c5 ~", AN: "d5@5 ~@27", AO: "b4@3 b4 b4@2 b4@2 d5@3 d5 d5@2 d5@2",
AP: "e5@6 d5@2 d5@4 d5@4 d5@3 ~ b4@8 g4@4", AQ: "[g5 g5@2 g5@2 f#5@2 g5@2 f#5@2 g5@2 g5@2 g5@4 g5@2 g5 f#5@8 c5!2]/2",
AR: "c5@2 c5@2 c5@2 c5!2 b4@2 g4@2 g4@2 f#5@2", AS: "g5 g5@3 g5@2 g5@2 g5@2 e5 d5@3 b4@2",
AT: "a4 a4@2 a4@2 b4 a4@4 ~@6", AU: "c5 d5 e5@2", AV: "e5@16 e5@5 f#5@5 ~ e5@5", AW: "d#5 f#5", AX: "b5@5 ~@27",
AY: "~ e5 d5 c5", AZ: "b4", BA: "a4@3 g4", BB: "e4 ~", BC: "d5@3 f#5", BD: "e5 ~", BE: "e5 b4 e5 g5", BF: "c5@3 ~",
// … 339 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.