0:00/0:00
// Birdland — Weather Report
// 138 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: 932 stray notes after a silence of more than 6 bars (from bar 1220) are dropped
// note: Full arrangement: all 197 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(138/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 · electric guitar jazz
const electric_guitar_jazz = note("<~@63 A B@2 C@2 D@2 ~@127>".pickRestart({
A: "[a4,c5] [c5,d5] b4@2 c5 ~ [a#3,c#4]@2 [b3,d4]@2 d3 ~ e3 ~ f#3@2", B: "[g3 ~ g3 ~ [g3,b3]@27 ~]/2",
C: "[g4@7 ~ [g3,g4]@5 ~ [g3,g4]@18]/2", D: "[[g3,g4]@8 [g3,g4]@6 [g3,g4]@15 ~@3]/2",
})).s("gm_electric_guitar_jazz").gain(0.38)
// other · trumpet
const trumpet = note("<~@23 A@6 B C D@3 ~@113 E@6 B C F@2 ~@40>".pickRestart({
A: "[~@14 a#4@6 a4 ~ a4 ~@7 a4@6 g4 ~ g4 ~@7 a4@6 f4 ~ f4 ~@7 a4@6 g4 ~ g4 ~@7 a4@6 g4 ~ g4 ~@7 a#4 ~]/6",
B: "~ a4@3", C: "~@2 g4 ~ a4 ~ a#4 ~ b4 ~@3 g4 ~@3", D: "[a#4 ~@3 a4@10 g4@34]/3",
E: "[~@14 a#4@6 a4 ~ a4 ~@7 a4@6 g4 ~ g4 ~@7 a4@5 ~ f4 ~ f4 ~@7 a4@6 g4 ~ g4 ~@7 a4@6 g4 ~ g4 ~@7 a#4 ~]/6",
F: "[a#4 ~@3 a4@10 g4@18]/2",
})).s("gm_trumpet").gain(0.32)
// other · lead 3 calliope
const lead_3_calliope = note("<~@69 A@4 B@4 C@4 D@4 E@4 F@4 G@5 ~@61 A@4 B@4 C@4 H@4 I@4 J@12 K@4 L@2>".pickRestart({
A: "[~@15 b5@5 d6 ~@3 g5 ~@5 g5@6 b5 ~@3 g5 ~@5 d6@16 ~@2]/4",
B: "[c6@3 b5@2 ~ a5 ~@3 g5 ~@3 b5@6 d6@2 ~@2 g5@2 ~@4 a5@5 b5 ~@4 g5@2 ~@4 d6@16 ~@2]/4",
C: "[d6@3 e6@2 ~ b5 ~@3 g5@2 ~@2 b5@6 d6@3 ~ g5@2 ~@4 a5@6 b5@2 ~@2 g5@2 ~@4 d6@16 ~@2]/4",
D: "[c6@2 b5@2 ~@2 a5@2 ~@2 g5@2 ~@2 b5@6 d6@2 ~@2 g5@3 ~@3 a5@6 b5@2 ~@2 g5@2 ~@5 d6@15 ~@2]/4",
E: "[d6@3 e6@2 ~ b5 ~@3 g5@2 ~@6 g5 ~@2 g5 ~@2 g6 ~@5 g5@6 ~@2 g5@2 e6@7 d6@17, ~@7 b5@3 d6 ~@7 b5@2 ~@12]/4",
F: "[c6@3 b5@3 a5@2 ~@2 g5@3 ~@5 g5@2 d6@2 g5@2 g6@3 ~@3 g5@5 b5@3 g5@2 e6@3 ~ e6@3 d6@16 ~, ~@14 b5@7 ~@22 g5@2 ~@19]/4",
G: "[c6@3 b5@2 ~ a5@2 ~@2 g5@2 ~@7 g2@56 ~@5, ~@14 g5@61 ~@5]/5",
H: "[c6@2 b5@2 ~@2 a5@2 ~@2 g5@2 ~@2 b5@6 d6@2 ~@2 g5@3 ~@3 a5@6 b5@2 ~@2 g5@3 ~@4 d6@15 ~@2]/4",
I: "[d6@3 e6@2 ~ b5 ~@3 g5@2 ~@2 b5@4 g5 ~@2 g5 ~@2 g6 ~@5 g5@6 ~@3 e6@8 d6@17, ~@10 d6 ~@7 b5@2 ~@12, ~@19 g5 ~@12]/4",
J: "[c6@3 b5@3 a5@2 ~@2 g5@3 ~ b5@4 g5 ~@2 g5 ~@2 g6 ~@5 g5@6 ~@2 g5@2 e6@7 d6@17, ~@10 d6 ~@7 b5@2 ~@12]/4",
K: "[c6@3 b5@3 a5@2 ~@2 g5@3 ~ b5@4 g5 ~@2 g5 ~@2 g6 ~@5 g5@6 ~@3 e6@8 d6@17, ~@10 d6 ~@7 b5@2 ~@12, ~@19 g5 ~@12]/4",
L: "c6 ~@15",
})).s("gm_lead_3_calliope").gain(0.29).pan(0.2)
// bass · electric bass finger
const bass = note(`<
~@8 A B C D E@3 ~ F G H I J@2 K L@2 M@3 N O P Q@2 R S T U V W X Y Z AA AB AC@4 AD@2 AE@3 AF AG AH AI@4 AJ@8 AK AL AM
AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BG BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY
BZ@2 CA CB@2 CC@2 CD CE CF@2 CG CH CI@2 CJ@2 CK@5 A B C D E@3 ~ F G CL I CM@2 K CN@2 CO@3 CP O CQ CR@6 AN AO AP AQ AR
AS AT AU AV AW AX AY AZ BA CS BC BD BE BF BC BD BE BF BC BD BE BF BC BD BE BF BC BD CT CU ~
>`.pickRestart({
A: "~@2 a3@7 g3@3 e3@2 ~@2", B: "~@4 e3@3 ~ g3@2 ~ a3 ~ a3@2 ~", C: "~@2 a3@6 g3@3 e3@2 ~ d3@2", D: "~ g3@14 ~",
E: "[~@8 g3@4 d3 ~ g3@6 e3@3 ~ g3@2 ~@2 a3 ~@2 a3@10 g3@3 e3@2 d3 ~]/3", F: "~ a3@3 ~ a3@2 ~ g3@3 e3@2 ~@3",
G: "~@4 e3@3 ~ g3@3 ~ a3 ~@3", H: "~@8 g3@4 e3@2 d3 ~", I: "~ g3@7",
J: "[~@2 a3@6 g3@4 e3@2 g3@6 e3@2 ~@2 g3@2 ~@2 a3 ~ a3@2]/2", K: "~@2 a3@5 g3@4 e3@2 ~ d3@2",
L: "[~@2 b1@9 ~@3 g1@11 ~ a1 ~@5]/2", M: "[~@10 a#1@2 c2 ~ d2@7 ~ g1 ~@3 a#1 ~@3 c2@11 ~ a1 ~ a#1 ~ b1@2]/3",
N: "~@2 d2 ~ e2 ~ g2@7 ~ c2 ~", O: "~@2 d2 ~ d#2@11 ~", P: "~@6 a1@2 ~@6 b1 ~",
Q: "[~@12 e1 ~ g1@5 ~ g2@2 ~ g2 g2@2 ~@2 g2@2 ~@2]/2", R: "g1@2 g2 ~ e2 ~@3", S: "g1@2 ~ g1 g2@2 ~ g2 ~@8",
T: "g1 ~@6 g1!3 ~ g1 ~@4", U: "~@12 g1 ~@2 g1", V: "~ g1 ~ g1 ~ g1 ~@2 g1 ~@4 g1 ~@2", W: "g1 ~@10 g1 ~ g1 ~@2",
X: "g1 ~@6 g1!3 ~@5 g1", Y: "~ g1 ~@2 g1 ~@4 g1 ~@2 g1 ~@2 g1", Z: "~ g1 ~@7 g1 ~@2 g1 ~@3", AA: "~@7 g1!2 ~@6 g1",
AB: "~@4 g1 ~@3 a1@3 ~@5", AC: "[~@30 c2@33 ~, ~ b2@15 ~@16]/4", AD: "[d2@31 ~]/2",
AE: "[~@8 [c2,c3]@15 ~@15 g2@10, ~@30 g1@17 ~]/3", AF: "~@4 g2@3 ~ g1@3 ~ g2@3 ~", AG: "g1@3 ~ g2@3 ~ g1@3 ~ g2@3 ~",
AH: "~@4 f2@3 ~@5 d2@3 d2", AI: "[g1@3 ~ g2@9 ~ e2@7 ~ d2 ~@5 b1@36]/4",
AJ: "[~@18 g2 ~ e2 ~@5 e2@2 f2 ~@3 g2 ~@3 b3@27 ~ g2 ~ g2 ~@45 g2 ~@14 g2, ~@3 b1@61]/8", AK: "g2!2 ~@14",
AL: "~@11 g2 g2@3 ~", AM: "g1@3 ~ b2 ~@3 [e2,e3]@3 ~@5", AN: "b2@3 ~ [c2,c3]@3 ~ [d2,d3]@3 ~ f#2@3 ~",
AO: "[g1,g2]@3 ~ [d#2,d#3]@3 ~ [e2,e3]@3 ~ [b1,b2]@3 ~", AP: "a2@3 ~ b2@3 ~ c3@3 ~ [d2,d3]@3 ~",
AQ: "a1@3 ~ b2@3 ~ [e2,e3]@3 ~ a#2@3 ~", AR: "b2@3 ~ c3@3 ~ d3@3 ~ [g2,g3]@3 ~",
AS: "[c3,c4]@3 ~ [c3,c4]@3 c4!3 ~ c2 [c3,c4]@4", AT: "[c3,c4]@3 c4 [a2,a3]@3 ~ e3@3 ~ [c2,d3]@3 ~",
AU: "~@4 b1@3 ~ e2@3 ~ a#1@3 ~", AV: "a1@3 ~ b1@3 ~@9", AW: "g1@3 ~@5 e2@3 ~ b1@3 ~", AX: "~@12 d2@3 ~",
AY: "g1@3 ~ b1@3 ~ e2@3 ~ a#1@3 ~", AZ: "a1@3 ~ b1@3 ~ c2@3 ~@5", BA: "c3 a2 ~ g2 e2 c2 ~ b1 [g1,a1] ~@2 e1@5",
BB: "g1 ~ a1 ~@3 c2@2 ~@2 d2 ~@3 g2 ~", BC: "~@4 b1@3 ~ e2 ~@2 a1 ~@4", BD: "~@4 c2@3 ~@9", BE: "~@8 e2@3 ~ a#1@3 ~",
BF: "~@4 b1@3 ~@5 d2@3 ~", BG: "~@8 e2@3 ~@5", BH: "~@4 c#2@3 ~ c2@3 ~@5", BI: "a1@3 ~@7 d2 ~ g2 ~@3",
BJ: "g1@3 ~@4 g1 ~@8", BK: "~@3 g1 ~@3 g2 ~ g1 ~ g1 ~ g1 ~@2", BL: "g1@3 g1 ~@4 g1 ~@2 g1 g2 ~@2 g2",
BM: "g2 ~@3 g2 ~@3 g2 ~@2 g2!3 ~ g2", BN: "~ g1 ~ g1 g2 ~@7 g2 ~@3", BO: "g1 ~@3 g2 ~@3 g1 ~@3 g2 ~@3",
BP: "g1 ~@3 g2 ~@3 g1 ~@3 g2 ~@2 g2", BQ: "g1 ~@3 g2 ~@7 g2 ~@2 g2", BR: "~@8 g2 ~@3 g2 ~@3",
BS: "g2 ~@3 g2 ~@3 g2 ~@3 g2 ~@3", BT: "g2 ~@3 g2 ~@2 g2!3 ~ g2!2 ~@3", BU: "g2 ~@2 g2!2 ~@2 g2!3 ~@2 g2 ~@3",
BV: "g2 ~@2 g2!3 ~ g2!3 ~@2 g2!2 ~@2", BW: "~ g2 ~ g2 ~ g2 ~@3 g2 ~@6", BX: "~@9 g2 ~ g2 ~ g2 ~ g2",
BY: "~ g2 ~ g2!3 ~ g2!3 ~ g2!3 ~ g2", BZ: "g2!2 ~ g2!3 ~ g2!3 ~ g2!3 ~ g2", CA: "~ g2 ~ g2!3 ~ g2!2 ~@2 g2!2 ~@2 g2",
CB: "[g2 ~@11 d2 ~ g2@5 ~@5 f2@3 ~ e2@3 ~]/2", CC: "[d#2@3 ~ d2@3 ~ c#2@3 ~ c2 ~ g2@6 ~@8 e2@3 ~]/2",
CD: "d#2@3 ~ d2@3 ~@5 c2 ~ g2@2", CE: "~@2 f#2@3 ~ b1@2 f2@2 e2@4 a2@2",
CF: "[~@2 d2@3 ~ g2@2 c#2@2 ~@2 c2 ~ g2@6 f#2@3 ~ b1@3 ~ e2@3 ~, ~@10 c3@5 ~@17]/2",
CG: "a2@3 ~ d2@3 ~ g2@3 ~ c3@3 ~", CH: "g2 g1 ~ g2 ~@8 e1@3 ~",
CI: "[d#2@3 ~ d2@3 ~@5 c2 ~ g2@5 ~@5 f2@3 ~ e2@3 ~]/2",
CJ: "[d#2@3 ~ d2@3 ~ [d#2,a2] ~@3 a#2 ~ [f2,b2]@5 ~ e2@3 ~ [d#2,a2]@3 ~ d2@3 ~]/2", // D#dim Fdim D#dim
CK: "[[c#2,g2]@3 ~ [c2,f#2]@3 ~ [b1,f2]@3 ~ [a#1,e2] ~ [b1,f2]@26 b2@2 ~@2 [c3,f#3] ~ [b2,f3]@14 ~@2 [b2,f3]@18, ~@40 f3 ~@39]/5", // C#dim Cdim Bdim A#dim Bdim Cdim Bdim
CL: "~@8 g3@3 ~ e3@2 d3 ~", CM: "[~@2 a3@6 g3@4 e3@2 g3@6 e3@2 ~@2 g3@2 ~ a3 ~@2 a3@2]/2",
CN: "[~@2 b1@9 ~@3 g1@12 a1@2 ~@4]/2", CO: "[~@10 a#1@2 c2 ~ d2@7 ~ g1@2 ~@2 a#1 ~@3 c2@11 ~ a1 ~ a#1 ~ b1@2]/3",
CP: "~@2 d2@2 e2 ~ g2@7 ~ c2@2", CQ: "~@6 a1 ~@7 b1 ~",
CR: "[~@12 e1 ~@19 g2 ~@14 g2 g2!2 ~@25 g2 g2@3 ~@5 [b1,b2] ~@3 [e2,e3]@3 ~@5, ~@7 g1@35 ~@6]/6", // B E
CS: "g1 ~ a1 ~@3 c2 ~@3 d2 ~@3 g2 ~", CT: "~@8 e2@3 ~@2 a#1@3", CU: "e2 f#2 ~ g2 ~ a1 ~ [g1,g2]",
})).s("gm_electric_bass_finger").gain(0.06)
// bass · electric bass finger · soft notes
const bass_soft = note(`<
~@8 A@2 ~@2 B ~@2 C D@3 ~@4 E F@2 ~@4 G H I J K L M N O P Q R S T@3 U@2 V@2 W X ~ Y ~ Z ~ AA ~@3 AB AC@2 AD@2 AE AF AG
AH AI AJ ~ AK AL AM AN AO Y AP AQ AR ~ AS AT ~ AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR
~@2 BS BT ~@5 BU ~@2 BV BW BX BY BZ ~@5 A@2 ~@2 B ~@2 C D@3 ~@4 E CA@2 ~@4 G H AE AF AG AH AI AJ ~ AK AL AM AN AO CB
AP AQ AR ~ AS AT ~ AU AV AW AX CC AV AW AX CC AV AW AX CC AV AW AX CC AV AW CD ~
>`.pickRestart({
A: "[~@7 g3@3 ~@6]/2", B: "~@2 a3@7 ~@7", C: "~@2 a#2@11 ~@3", D: "[~@14 g3@7 ~@9 a3@10 ~@8]/3", E: "~ a#2@13 ~@2",
F: "[~@7 a#1@5 ~@4]/2", G: "~@2 g1 ~@7 a#1 ~@5", H: "~ c2@5 ~@2", I: "~@11 g2 ~@3 g2", J: "~@7 g2 ~@3 e2 d2@2 ~ d2",
K: "~@8 g2@2 ~ g2 g2@2 ~ g2", L: "~@12 g1!2 ~ g1", M: "g1!2 ~ g1!3 ~ g1!3 ~ g1 ~ g1 ~@2",
N: "g1 ~@3 g1 ~@2 g1 ~ g1 ~ g1!2 ~@2 g1", O: "~ g1 ~ g1!3 ~ g1!3 ~@2 g1 ~@2 g1", P: "~ g1 ~ g1 ~ g1 ~@5 g1!3 ~@2",
Q: "g1 ~@2 g1 ~ g1 ~@2 g1 ~@2 g1 ~ g1 ~@2", R: "g1 ~@2 g1!3 ~ g1!2 ~@2 g1 ~ g1 ~@2",
S: "g1!2 ~ g1!3 ~@3 g1 ~ g1!3 ~@2", T: "[g1!2 ~ g1 ~ g1 ~ g1 ~@4 a#1 ~ b1@31 ~@3]/3", U: "[~ c3@15]/2",
V: "[~ d3@15]/2", W: "[e2,e3]@7 ~@9", X: "~@10 g1 ~ g1 ~@3", Y: "g1@3 ~@13", Z: "g2!2 ~ g2 ~@3 f2 e2@3 e2 ~@4",
AA: "~@5 a#1 ~@2", AB: "~@6 e1@3 ~@5 f#2 ~", AC: "[~@4 g2@27 ~]/2", AD: "[~@4 g3@27 ~]/2",
AE: "g2!2 ~ g2!3 ~ g2!3 ~ g2!3 ~ g2", AF: "~ g2 ~ g2!3 ~ g2!3 ~ g2!3 ~@2", AG: "~@3 g2!3 ~ g2!3 ~ g2!3 ~ g2",
AH: "g2!2 ~ g2!3 ~ g2!3 ~@6", AI: "g2@3 ~@9 [a#1,a#2]@3 ~", AJ: "b1@3 ~@9 f#1@3 ~", AK: "~@4 b1@3 ~ c2@3 ~@5",
AL: "[g1,g2]@3 ~ b1@3 ~@5 a#1@3 ~", AM: "b1@3 ~@5 d2@3 ~@5", AN: "~@7 c3!3 ~ c3 ~@4", AO: "~@3 c3 ~@4 e2@3 ~ d2@3 ~",
AP: "~@8 c2@3 ~@5", AQ: "~@4 d#2@3 ~@9", AR: "a1@3 ~ b1@3 ~ c2@3 ~@5", AS: "~@12 g2@3 ~", AT: "~@9 g1 ~@6",
AU: "g2 ~ g2@2 ~@8 a#1@4", AV: "b1@3 ~@5 c#2@3 ~ f#1@3 ~", AW: "b1@3 ~ d#2@3 ~@9", AX: "a1@3 ~@5 c2@3 ~@5",
AY: "g2 ~ g2@2 ~@8 d#2@3 ~", AZ: "d2@3 ~@9 f#1@3 ~", BA: "b1@3 ~ b1@3 ~@5 e2@3 ~", BB: "~@4 b1@3 ~ c2 ~@7",
BC: "~@3 g1 g1@3 ~ g1@3 ~ g1@3 g1", BD: "g1@3 ~ g2@3 ~ g1 ~@3 g1 ~@2 g1", BE: "~@4 g1@3 ~@2 g1 ~@3 g2 ~@2",
BF: "~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~@6", BG: "g1 ~@6 g2 g1 ~@2 g1 ~ g2 ~ g2",
BH: "~ g1 ~ g1 ~ g2 ~ g2 ~ g1 ~ g1 ~ g2 ~ g2", BI: "~ g1 ~ g1 ~ g2 ~ g2 ~ g1 ~ g1 ~ g2 ~@2",
BJ: "~ g1 ~ g1 ~ g2 ~ g2 g1!2 ~ g1 ~ g2 ~@2", BK: "g2!2 ~ g2!3 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2",
BL: "~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2", BM: "~ g2 ~ g2 ~ g2 ~@7 g2 ~ g2", BN: "~ g2 ~@3 g2 ~@7 g2 ~@2",
BO: "~ g2 ~@14", BP: "g2 ~@3 g2 ~@2 g2!2 ~@2 g2!3 ~ g2", BQ: "g2!2 ~ g2!3 ~ g2!2 ~@3 g2 ~@3", BR: "g2 ~@15",
BS: "~@9 g2 ~@3 g2 ~@2", BT: "~ g2 ~ g2 f2@3 ~ e2@3 ~@5", BU: "d#2@3 ~@13", BV: "~@4 f#1@3 ~ f1@3 ~@5",
BW: "~@8 c#2@3 ~@5", BX: "~@4 f#2@3 ~@9", BY: "~@12 e2 ~@3", BZ: "~@4 a#2@3 ~@5 g#2@3 ~", CA: "[~@14 a#1@9 ~@9]/2",
CB: "g1 ~@3", CC: "g2 ~ g2 ~@9 a#1@4", CD: "e1@2 f#1@2 ~@2 g1@2 ~@2 a2@3 ~@3",
})).s("gm_electric_bass_finger").gain(0.03)
// chords · brass section
const brass_section = note(`<
~@23 A@3 B@3 C D E ~@4 F@2 G@2 H@2 I@2 J@2 K@2 L@2 M@2 N O@3 P Q@5 ~@10 R S@4 T@4 U@3 V W@4 X@4 Y@8 Z AA AB@3 AC AD ~
AE AF AG@4 AH@2 AI@2 AJ@2 AK@2 AL@2 AM@2 AN@3 AO@2 ~@15 AP@6 C AQ AR ~@6 R AS@4 T@4 AT@3 V AU@4 AV@8 AW@4 AX@4 AY ~
>`.pickRestart({
A: "[~@14 [d4,g4,a#4]@6 [b3,c4,a4] ~ [c4,f4] ~@7 [c4,f4,a4]@5 ~ [a#3,d#4,g4] ~ [a#3,d#4]@2 ~@6 [c4,f4,a4]@2, ~@20 f4@2 a4@2 ~@14 g4 ~@9]/3", // Gm F F5 F D# D#5 F
B: "[~@2 [f4,a4] ~ [d4,f4] ~ [a3,d4]@2 ~@6 [c4,f4,a4]@5 ~ [a#3,d#4,g4] ~ [a#3,g4] ~@7 [c4,f4,a4]@6 [b3,e4,g4] ~ [b3,e4,g4] ~@7 [d4,a#4] ~, ~@2 c4@2 a3@2 f4 ~@15 d#4@2 ~@22 g4@2]/3", // F Dm D5 F D# F Em Gm
C: "~@4 [c4,f4,a4]@3 ~@9", // F
D: "~@2 [e4,g4] ~ [c4,f4,a4] ~ a#4@2 [d4,g4] ~@3 [b3,e4,g4] ~@3, ~@2 b3@2 ~@2 f#4 ~ b4@2 ~@6", // Em F G5 Em
E: "[d4,g4,a#4] ~@3 [c4,f4,a4]@8 ~@4", F: "[b4@2 ~@6 b4@2 c5@2 d5 ~ f5@6 d5 ~@3 c5 ~@6 c5]/2",
G: "[~@4 c5 ~@5 c5 ~ d5 ~ f5@6 d5 ~@3 c5 ~@5 b4 ~]/2",
H: "[~@4 b4 ~@7 d5@2 f5@6 d5 ~@3 c5 ~@5 c5 ~, ~@11 c5@2 ~@19]/2",
I: "[~@4 c5 ~@6 c5@2 d5@2 f5@5 d5 ~@3 c5 ~@5 b4 ~]/2", J: "[~@4 b4 ~@5 c5 ~ d5@2 f5@6 d5 ~@3 c5 ~@3 b4 ~@2 c5]/2",
K: "[~@4 c5 ~@5 c5@2 d5@2 f5@6 d5 ~@3 c5 ~@5 b4 ~]/2", L: "[~@4 b4 ~@5 c5 ~ d5@2 f5@5 ~ d5 ~@3 c5 ~@6 c5]/2",
M: "[~@4 c5 ~@5 c5 ~ d5@2 f5@6 d5 ~@3 c5 ~@7]/2", N: "b4@2 ~ b4@3 ~ b4", O: "[c5@3 ~ b4 ~ d5@39 ~@3]/3",
P: "b4@5 ~ b4@6 ~@2 b4 ~", Q: "[c5@4 b4 ~ d5 ~@5 f5@68]/5", R: "[a4,d5]@15 ~",
S: "[[e4,g4,a4,c5] ~ [d4,g4,b4]@2 ~@2 [c4,e4,a4]@2 ~@2 [c4,e4]@2 ~@2 [b3,d4]@6 e4@3 ~ [b3,d4,g4]@5 ~ [c4,e4,g4,a4]@6 b4 ~@3 [a3,c4,e4,g4] ~@5 [g4,b4,d5]@18, ~@2 e4 ~@3 g4 ~@3 g4 ~@53]/4", // Am7 G Am C Bm G Am7 G
T: "[[g4,b4,d5] ~ [a4,c5] ~@3 [c4,g4,b4]@2 ~@2 [c4,g4]@2 ~@2 d4@6 e4 ~ d4@2 g4 ~@5 g4@6 b4@3 ~@7 [a4,d5]@14 g#4@4, ~@2 e5@2 ~@2 e4 ~@3 e4 ~@53]/4", // G Am Cmaj7 C5 D5
U: "[[g4,c5] ~ [d4,b4]@2 ~@2 e4@2 ~@2 e4@2 ~@2 d4@6 e4 ~ d4@2 g4 ~@5 [e4,g4,a4]@6 b4 ~@3 g4 ~@7, ~@2 g4 ~@3 a4 ~@3 g4 ~@37]/3", // C5 G A7
V: "[g4,b4,d5]@11 ~@5", // G
W: "[[g4,b4,d5] ~ [a4,c5] ~@3 g4@2 ~@2 [c4,e4]@2 ~@2 [g4,b4]@6 [g4,b4,d5] ~@3 [b4,d5,g5] ~@5 [d4,g4]@6 [g4,b4] ~@3 e5 ~@5 [g4,a4,d5]@14 ~@4, ~@2 e5@2 ~@2 b4 ~@3 g4 ~@53]/4", // G Am C G G5 G Gsus2
X: "[[e4,a4,c5] ~ [d4,g4]@2 ~@2 a4@2 ~@2 g4@2 ~@2 [d4,g4,b4]@6 [g4,b4,d5] ~@3 [b4,d5,g5] ~@5 [d4,g4]@6 [g4,b4] ~@3 [g4,a#4,e5] ~@5 [b4,d5]@14 ~@4, ~@2 b4 ~@3 e4 ~@3 e4 ~@53]/4", // Am G5 G G5 G Edim Bm
Y: "[[e4,a4,c5] ~ [g4,b4] ~@3 a4@2 ~@2 [c4,g4]@2 ~@2 [g2,g3]@114, ~@2 d4@2 ~@2 e4 ~@3 e4 ~@117]/8", // Am G C5 G
Z: "~@12 d2 ~ e2 ~", AA: "g2 ~@3 a2 ~@3 a#2 ~ b2@2 d2 ~ e2 ~",
AB: "[g2 ~ g2 ~@3 g2 ~@3 e2 ~@3 g2@21 ~ d3 ~@7 d2 ~ e2@2]/3", AC: "g2 ~@3 a2 ~@3 a#2 ~ b2 ~ d2 ~ e2 ~",
AD: "g2 ~ g2 ~@3 g2 ~@3 e2@2 ~@4", AE: "~@4 d3 ~ a#2@5 ~ d2 ~ e2 ~", AF: "g2 ~@5 a2 ~ a#2 ~ b2@2 d2 ~ d2 ~",
AG: "[g2 ~ g2 ~@3 g2 ~ e2 ~ a#2 ~ g2@23 ~@11 [b3,f4]@6 e4@3 ~ a3@3 ~ d4@3 ~]/4", // Bdim
AH: "[[g3,c#4]@3 ~ c4@3 ~ [f3,b3]@3 ~@3 [b3,f4]@6 e4@3 ~ a3@3 ~ d4@3 ~]/2", // Gdim Fdim Bdim
AI: "[g3@3 ~ c4@3 ~ [f3,b3]@3 ~@3 [b3,f4]@5 ~ e4@3 ~ [a3,d#4]@3 ~ d4@3 ~]/2", // Fdim Bdim Adim
AJ: "[[g3,c#4]@3 ~ c4@3 ~ [f3,b3]@3 ~@3 [b3,f4]@6 e4@3 ~@5 d4@3 ~]/2", // Gdim Fdim Bdim
AK: "[g3@3 ~ c4@3 ~ [f3,b3]@3 ~@3 [b3,f4]@5 ~ e4@3 ~@5 d4@3 ~]/2", // Fdim Bdim
AL: "[[g3,c#4]@3 ~ c4@3 ~ [f3,b3]@3 ~@3 b3@5 ~ e3@3 ~ a3@3 ~@5]/2", // Gdim Fdim
AM: "[g3@3 ~ c3@3 ~ [b2,f3]@3 ~ e3 ~ [b2,f3]@6 e3@3 ~ a2@3 ~ d3@3 ~]/2", // Bdim
AN: "[~@4 [f#2,c3]@3 ~ [f2,b2]@3 ~ a#2 ~ b2@25 ~@9]/3", AO: "[~ d4@7]/2",
AP: "[~@14 [d4,g4,a#4]@6 [b3,c4,a4] ~ [c4,f4] ~@7 [c4,f4,a4]@5 ~ [a#3,d#4,g4] ~ [a#3,d#4]@2 ~@6 [c4,f4,a4]@4 [f4,a4] ~ [d4,f4] ~ [a3,d4]@2 ~@6 [c4,f4,a4]@5 ~ [a#3,d#4,g4] ~ [d#4,g4] ~@7 [c4,f4,a4]@6 [b3,e4,g4] ~ [b3,e4,g4] ~@7 [d4,a#4] ~, ~@20 f4@2 a4@2 ~@14 g4 ~@11 c4@2 a3@2 f4 ~@15 a#3@2 ~@22 g4@2]/6", // Gm F F5 F D# D#5 F Dm …
AQ: "~@2 [e4,g4] ~ [c4,f4,a4] ~ a#4@2 [d4,b4]@2 ~@2 [b3,e4,g4] ~@3, ~@2 b3@2 ~@2 f#4 ~ g4 ~@7", // Em F G Em
AR: "[d4,a#4] ~@3 [c4,f4,a4]@8 ~@4, g4 ~@7", // Gm F
AS: "[[e4,g4,a4,c5] ~ [d4,e4,g4,b4]@2 ~@2 [c4,e4,a4]@2 ~@2 [c4,e4,g4]@2 ~@2 [b3,d4]@6 e4@3 ~ [b3,d4,g4]@5 ~ [c4,e4,g4,a4]@6 b4 ~@3 [a3,c4,e4,g4] ~@5 [g4,b4,d5]@18, ~@6 g4 ~@57]/4", // Am7 Em7 Am C Bm G Am7 G
AT: "[[g4,c5] ~ [d4,b4]@2 ~@2 e4@2 ~@2 [e4,g4]@2 ~@2 d4@6 e4 ~ d4@2 g4 ~@5 [e4,g4,a4]@6 b4 ~@3 g4 ~@7, ~@2 g4 ~@3 a4 ~@41]/3", // C5 G Em A7
AU: "[[g4,b4,d5] ~ [a4,c5] ~@3 [g4,b4] ~@3 [e4,g4] ~@3 [g4,b4]@6 [g4,b4,d5] ~@3 [b4,d5,g5] ~@5 [d4,g4]@6 [g4,b4] ~@3 e5 ~@5 [g4,a4,d5]@14 ~@4, ~ e5 ~@3 c4 ~@26]/4", // G Am G Em G G5 G Gsus2
AV: "[[e4,a4,c5] ~ [d4,g4]@2 ~@2 a4@2 ~@2 g4@2 ~@2 [d4,g4,b4]@6 [g4,b4,d5] ~@3 [b4,d5,g5] ~@5 [d4,g4]@6 [g4,b4] ~@3 e5 ~@5 [g4,a4,d5]@14 ~@4, ~@2 b4 ~@3 e4 ~@3 e4 ~@53]/4", // Am G5 G G5 G Gsus2
AW: "[[e4,a4,c5] ~ [d4,g4]@2 ~@2 [e4,a4] ~@3 g4@2 ~@2 [d4,g4,b4]@6 [g4,b4,d5] ~@3 [b4,d5,g5] ~@5 [d4,g4]@6 [g4,b4] ~@3 e5 ~@5 [g4,a4,d5]@14 ~@4, ~@2 b4 ~@7 e4 ~@53]/4", // Am G5 A5 G G5 G Gsus2
AX: "[[e4,a4,c5] ~ [d4,g4]@2 ~@2 a4@2 ~@2 g4@2 ~@2 [d4,g4,b4]@6 [g4,b4,d5] ~@3 [d5,g5] ~@5 [d4,g4]@6 [g4,b4] ~@3 e5 ~@5 [g4,a4,d5]@14 ~@4, ~@2 b4 ~@3 e4 ~@3 e4 ~@13 b4@2 ~@38]/4", // Am G5 G G5 G Gsus2
AY: "c5@2 [b4,d5,b5]@2 ~@2 [e5,c6]@2 ~@2 [f#5,d6]@3 ~ [g5,g6]@2, ~@6 a4 ~@3 g4 ~@3 g4 ~", // Bm C D G
})).s("gm_brass_section").gain(0.17)
// chords · brass section · soft notes
const brass_section_soft = note(`<
~@30 A ~@41 B ~@2 C@2 D ~ E ~ F ~@2 G H@3 ~ I J@3 K ~@9 L ~ M ~ N ~@2 O ~@2 P Q R Q S T R U V U W@2 X Y Z ~ AA@2 ~@23
A ~@7 AB ~@2 C@2 D ~ E ~ F ~@2 AC H@3 ~ I AD@2 ~ I AD@2 ~ I AD@2 ~ I AD@2 ~@3
>`.pickRestart({
A: "~@3 c#4 ~@4", B: "f#4", C: "[~@7 e4@9]/2", D: "~@5 a3 ~@2", E: "~@8 g4@5 ~@3", F: "d4 ~@15", G: "e4@3 ~",
H: "[~@6 e4@2 ~@6 d4@6 ~@10 b3@6 e4 ~@3 [g4,a#4] ~@7]/3", I: "~@3 c4 ~ c4 ~@2", J: "[~@14 b3@6 e4 ~@9 a4@14 ~@4]/3",
K: "~@3 c4 ~@4", L: "~@12 a#2 ~@3", M: "~@6 a#2@5 ~@5", N: "~@12 a#2 ~ g2 ~", O: "~@7 e2", P: "~@4 d3 ~ a#2@3 ~@7",
Q: "~@4 a#3@3 ~ d#4@3 ~ g#3@3 ~", R: "~@4 f#3@3 ~@9", S: "c#4@3 ~ f#3@3 ~@9", T: "~@4 a#3@3 ~@5 g#3@3 ~",
U: "~@4 a#3@3 ~ [a3,d#4]@3 ~ g#3@3 ~", V: "c#4@4 f#3@3 ~@9",
W: "[~@4 f#3@3 ~@5 a#3 ~ f3@6 a#3@3 ~ d#3@4 [d3,g#3]@3 ~]/2", X: "c#3@3 ~ f#3@3 ~@9", Y: "~@4 a#2@4 d#3@3 ~ g#2@3 ~",
Z: "[g2,c#3]@3 ~@13", AA: "[~@8 f4@11 ~@13]/2", AB: "f#4@15 ~", AC: "e4@11 ~@5",
AD: "[~@14 b3@6 e4 ~@3 [g4,a#4] ~@7]/2", // Gm
})).s("gm_brass_section").gain(0.11)
// other · piano
const piano = note("<~@61 A B C D@2 ~@35 E F G@3 H I@3 J K@3 ~@83>".pickRestart({
A: "~@12 [a3,c4,f4] ~ [c#4,f#4] ~, ~@7 a#3", B: "[d4,g4] ~@15, b3 ~@7",
C: "[a4,c5] [c5,d5] b4@2 c5 ~ a#3@2 b3@2 d3 ~ e3 ~ f#3@2, ~@6 c#4 ~ d4 ~@7", D: "[g3 ~ g3 ~ [g3,b3]@27 ~]/2",
E: "~@12 [d2,d4] ~ e2@2, ~@14 e4 ~", F: "[g2,g4] ~@3 [a2,a4] ~@3 [a#2,a#4] ~ b2@2 [d2,d4] ~ [e2,e4] ~, ~@10 b4 ~@5",
G: "[[g2,g4] ~ [g2,g4] ~@3 g4@2 ~@2 e2@2 [a#2,a#4] ~ [g2,g4]@21 ~ [d3,d5] ~ [a#2,a#4] ~@5 [d2,d4] ~ e4@2, ~@6 g2 ~@3 e4 ~@35 e2 ~]/3", // G A# G D A# D
H: "[g2,g4] ~@3 [a2,a4] ~@3 [a#2,a#4] ~ [b2,b4] ~ [d2,d4] ~ e4@2, ~@14 e2 ~", // G A A# B D
I: "[[g2,g4] ~ [g2,g4] ~@3 [g2,g4] ~@3 e2@2 [a#2,a#4] ~ [g2,g4]@21 ~ [d3,d5] ~ [a#2,a#4]@5 ~ [d2,d4] ~ e4@2, ~@10 e4 ~@35 e2 ~]/3", // G A# G D A# D
J: "[g2,g4] ~@3 [a2,a4] ~@3 [a#2,a#4] ~ b2@2 [d2,d4] ~ e4@2, ~@10 b4 ~@3 e2 ~", // G A A# D
K: "[[g2,g4] ~ g2@2 ~@2 g2@2 ~@2 e2@2 [a#2,a#4] ~ [g2,g4]@22 [d3,d5] ~ [a#2,a#4]@2 ~@8, ~@2 g4 ~@3 g4 ~@3 e4 ~@37]/3", // G A# G D A#
})).s("gm_piano").gain(0.19)
// chords · brass section
const brass_section_2 = note(`<
~@23 A@3 B@3 C D E ~@4 F@2 G@2 H@2 I@2 J@2 K@2 L@2 M@2 N O@3 P Q@5 ~@10 R S@4 T@4 U@3 V W@4 X@4 Y@8 Z AA AB@3 AC AD ~
AE AF AG@4 AH@2 AI@2 AJ@2 AK@2 AL@2 AM@2 AN@3 AO@2 ~@15 AP@6 C AQ AR ~@6 R AS@4 T@4 AT@3 V AU@4 AV@8 AW@4 AX@4 AY ~
>`.pickRestart({
// … 117 more lines
More by Weather Report
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.