0:00/0:00
// Who Knows What Tomorrow May Bring — Traffic
// 84 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 68 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(84/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 · rock organ · "ORGAN 3"
const rock_organ = note(`<
~ A B C@2 D E F G H@2 I@2 J@2 K L M N O@4 P Q R S T@2 U@2 V W K L M X Y Z AA@2 AB AC AD AE AF AG@5 AH AI AJ AK AL AM
AN AO AP AQ@7 ~
>`.pickRestart({
A: "~@6 [db6,db7] ~@3 bb6 ~ f6 ~@3", B: "~@2 db6@6 ~@4 g6 e6 db6 ~, ~@6 gb6 ~",
C: "[~@6 [db6,db7] ~@3 bb6 ~ f6 ~ eb6 db6@3 ~@6 g6 e6 db6 ~ gb6 ~@3, ~@12 gb6 ~@3]/2", // Db
D: "e6 f6 db7 ~@7 f6 ~ db7 bb6 ~ e6", E: "~@2 db6@4 bb5 ~ [gb6,g6] e6 db6 ~ gb6 ~ e6 ~",
F: "db6 ~ db6 ~@9 ab5 bb5 db6 e6", G: "db6!2 ~@10 [gb6,g6] e6 db6 ~", H: "[~@16 g5@15 ~, ~ [a5,db6,e6]@7]/2",
I: "[[f5,a5,c6,eb6]@31 ~]/2", J: "[[f5,ab5,bb5,d6]@7 ~]/2", K: "[f5,a5,c6]", L: "[db5,e5,a5]", M: "[d5,f5,bb5]",
N: "[eb5,b5] [gb5,b5] [eb5,gb5,b5] ~@5, gb5 ~ eb5 ~@13", // Abm B5 B
O: "[~@5 f6 [b6,c7,db7] ~@3 bb6 db6 f6 db6 eb6 db6@3 ~@4 db6 ~ [gb6,g6] e6 db6 ~ gb6 ~ f6@4 db7 ~@5 ab6 bb6 db7 e7 ~ db7 eb7 db7@3 ~@6 [gb6,g6] e6 db6 ~ b5 ab5 gb5 ~, ~@30 e6 ~@33]/4", // Gmaj7
P: "e5 f5 db6 ~@9 ab5 bb5 db6 e6", Q: "db6 ~@5 ab5 bb5 db6 ~ db6 ~ ab5 bb5 db6 e6",
R: "db6 ~ db7 ~@2 bb6 ~@4 [e6,f6] ~ db6 eb6 db6 ~", S: "db6 ~@5 [f6,ab6,bb6,b6] ~@3 e6 ~ b5 ab5 ~@2",
T: "~ [e5,a5,db6]@3", U: "~ [f5,a5,c6]@3", V: "~ [f5,bb5,d6]@3", W: "~@4 [f5,bb5,d6]@11 ~",
X: "[eb5,gb5] ~ [gb5,b5]@2 [eb5,gb5,b5]@2 ~@10, b5@2 eb5 ~@13", Y: "~@6 [db6,db7] ~@3 bb6 ~@3 [e6,f6] ~",
Z: "db6 eb6 db6@3 ~@3 [gb6,g6] e6 db6 ~ b5 ab5 gb5 ~", // Gmaj7
AA: "[[e5,f5] ~ db6 ~@5 ab5 bb5 db6 e6 ~ db6 eb6 db6@2 ~@5 [gb6,g6] e6 ~ b5 ab5 gb5 e5 ~ gb5 ~]/2", // Fmaj7 Gmaj7
AB: "[e5,f5] ~ db6 ~@7 ab5 bb5 db6 e6@3", AC: "db6 eb6 db6 ~@7 [ab6,b6]!2 ~@4",
AD: "~@2 b6 ~ [gb6,g6] e6 db6 ~ db6@2 e6 db6 ~ eb6 ~@2", AE: "db6@2 ~@4 e6 gb6 [g6,ab6,b6] [ab6,b6]!7",
AF: "[g6,ab6,b6] ~ [g6,ab6,b6] ~@6 db6 [g6,ab6,b6] ~ [gb6,g6] e6 db6 ~", // G Gmaj7
AG: "[db6!2 ~@2 db7 bb6 ~@4 g6 ~@43 g6 [e6,gb6] db6@2 ab6@11 b6 ab6 gb6 e6 ~ gb6 e6 db6 b5 ab5 gb5, ~@10 ab6@48 g6 ~@21]/5", // Esus2
AH: "f5@2 db6 ~@5 ab5 b5 db6 e6 ~@4, e5 ~@15", AI: "~@2 b6 [g6,ab6] ~ gb6 ~ e6 ~ db6 b5 ab5 gb5 e5 ~@2",
AJ: "~@2 db6 ~ bb5 db6 ~ bb5 ~ e5 ~ db5 ~ eb5 db5 ~", AK: "~@2 e5 ~ e5!2 ~@4 [ab5,b5]!2 gb5 ~@3",
AL: "~ ab5 g5 [db5,e5,gb5] g5 [gb5,g5] [db5,e5] ~ [gb5,g5] [db5,e5] ab5 [gb5,g5] e5 [db5,ab5] [gb5,g5] [db5,e5], ~@4 ab5@2 ~ ab5@2 ~@7", // Gb7 Gmaj7 Dbm Gmaj7 Dbm Gmaj7 Db5 Gmaj7 …
AM: "g5 [e5,gb5,g5] db5 [g5,ab5]!2 db5 [g5,ab5] [e5,gb5,g5] db5 [e5,g5] [gb5,g5] [db5,e5] g5 [gb5,g5] [db5,e5] ~, ab5@2 ~@7 ab5@2 ~ ab5@2 ~@2", // Em Abmaj7 Em Gmaj7 Dbm Gmaj7 Dbm
AN: "[db6,eb6,e6] [db6,e6] ~ [db6,e6] ~@12", AO: "~@3 db6 b6 ~@2 [g6,ab6] ~ gb6 ~ e6 db6 b5 ab5 gb5",
AP: "[e5,f5] ~ db6 ~ db6 e6 ~@4 [g6,ab6] b6 [gb6,g6] e6 db6 ~", // Fmaj7 Abmaj7 Gmaj7
AQ: "[[g6,ab6] b6 [gb6,g6] e6 db6 ~ [g6,ab6] b6 ab6 [e6,gb6,g6] db6 ~ [g6,ab6] b6 [gb6,g6] e6 ~@6 ab6@12 ab6@4 ab6@4 ab6@4 ab6@4 ab6@3 b6 ab6@3 b6 ab6@3 b6 ab6@3 b6 ab6@3 b6 ab6@3 b6 ab6 gb6 e6 ~ ab6@3 b6 ab6 gb6 e6 ~ ab6@3 ~ ab6 gb6 e6 db6 [db6,ab6]@18, ~@15 db6@61 ~ db6@8 db6@8 ~@19, ~@22 g6 ~@11 g6 ~@3 g6 ~@3 g6 ~@3 g6 ~@3 g6 ~@3 g6 ~@3 g6 ~@3 g6 ~@3 g6 ~@3 g6 ~@7 g6 ~@7 g6 ~@2 b6@2 ~@21]/7", // Abmaj7 Gmaj7 Abmaj7 Em Abmaj7 Gmaj7 Db5
})).s("gm_rock_organ").gain(0.38).pan(0.2)
// bass · fretless bass · "FRETLESS"
const bass = note(`<
A B C B D E D B F G@2 H I J K L M N O P Q R S T U V W X Y Z AA AB 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 BF BG ~
>`.pickRestart({
A: "~@8 b1@4 c2@3 c2", B: "db2@2 db2 ~@4 ab1 db2@2 db2 ~@4 db2", C: "gb2@2 gb2 ~@4 gb2 b1 ~@2 b1 c2 ~@2 c2",
D: "gb2 ~ gb2 ~@4 gb2 b1 ~@2 b1 c2 ~@2 c2", E: "db2 ~ db2 ~@4 ab1 db2 ~ db2 ~@4 db2",
F: "gb2@2 gb2 ~@4 gb2 b1 ~@2 b1 bb1@2 ~ bb1", G: "a1!2 ~@2 a1!2 ~@2", H: "f1!2 ~@2 f1!2 ~@2",
I: "f1@2 f1@2 ~@4 f1@2 f1!2 c2@2 b1@2", J: "bb1@2 bb1@2 ~@3 f1 bb1@2 bb1@2 ~@3 f1",
K: "bb1@2 bb1@2 ~@3 f1 bb1@2 c2@2 d2@2 f2@2", L: "f1!8", M: "a1!8",
N: "bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1 ~", O: "b1 ~ b1 ~ b1 ~@3 b1@4 c2@3 c2",
P: "db2@2 db2@2 ~@3 ab1 db2@2 db2@2 ~ ab1 db2 bb1", Q: "gb1 ~ gb1@2 ~@3 db2 b1@2 ~ b1 c2@2 ~ c2",
R: "db2@2 db2@2 ~@3 ab1 db2@2 db2@2 ~@3 db2", S: "gb1@2 gb1@2 ~@3 db2 b1@2 ~ b1 c2@2 ~ c2",
T: "db2@2 db2 ~@2 eb2 f2 ab2 db3@2 db3@2 ~ db2 ab2 g2", U: "gb2@2 gb2@2 ~@2 db2 c2 b1@2 ~ b1 c2@2 ~ c2",
V: "db2@2 db2@2 ~@3 ab1 db2@2 db2 ~@2 ab1 db2 g1", W: "gb1@2 gb1@2 ~@2 db2 c2 b1@2 ~ b1 bb1 ~@2 bb1",
X: "a1@2 a1@2 a1 ~@2 e1 a1@2 e1 g1 ~ g1 a1 e1", Y: "a1@2 a1@2 ~@3 e1 a1@2 a1!2 ~ a1!2 ~",
Z: "f1@2 f1 ~ f1@2 ~ c2 f2@2 f1 c2@2 c2 eb2@2", AA: "f1@2 f1@2 f1@2 ~ c2 f2!2 ~ c2 ~ c2 b1@2",
AB: "bb1@2 bb1@2 ~@3 f1 bb1!2 ~ f1 ~ f1 ab1 ~", AC: "bb1@2 bb1@2 ~@3 f1 bb1 ~ bb1@2 bb1 f2 g2@2",
AD: "f1 ~ f1@2 f1@2 f1 c2 f2@2 f2@2 c2@2 f1@2", AE: "a1@2 a1@2 a1@2 a1@2 a1@2 a1@2 a1 ~ a1@2",
AF: "bb1 ~ bb1@2 bb1@2 bb1@2 bb1 ~ bb1@2 bb1 ~ bb1@2", AG: "b1@2 b1@2 b1@2 ~@2 b1@3 ~ c2@3 c2",
AH: "db2@2 db2@2 ~@3 ab1 db2 ~ db2 ~@2 db2 ab1 g1", AI: "gb1@2 gb1 ~@2 db2 ~ c2 b1@2 ~ b1 c2@2 ~ c2",
AJ: "db2@2 db2 ~@2 eb2 f2 ab2 db3 ab2 db3@2 ab2 db2 ~ db2", AK: "gb2@2 gb2@2 ~ gb2 db2 c2 b1@2 ~ b1 c2@2 ~ c2",
AL: "db2@2 db2@2 ~@2 f1 gb1 ~ gb1 ab1@2 db2 bb1 ab1 g1", AM: "gb1@2 gb1@2 ~@3 gb1 b1!2 ~ b1 c2@2 c2@2",
AN: "db2@2 db2 ~@2 f2 ab2 bb2 db3 bb2 db3@2 bb2 ab2 f2 eb2", AO: "gb2@2 gb2 ~ gb2@2 ~@2 b1 gb1 ~ b1 c2!2 ~ c2",
AP: "db2@2 db2 ~@2 f2 ab2 bb2 db3 bb2 db3 db2 ab2@2 g2@2", AQ: "gb2@2 bb1 b1 ~ c2 db2@2 gb2!2 ~ gb2 g2!2 ~ g2",
AR: "ab2 ~ ab2 ~@3 db2 b1 db2!2 ab1!2 db2@2 ab1@2", AS: "gb1@2 gb1 ~@4 gb1 b1!2 ~ b1 c2!2 ~ c2",
AT: "db2@2 db2 ~@2 f2 ab2 b2 db3 f3@3 db3 b2 ab2@2", AU: "gb2@2 gb2 ~ gb2@2 ~ gb2 b1!2 ~ b1 c2!2 ~ c2",
AV: "db2@2 db2 ~@3 f1 ab1 ~ ab1 b1@2 db2@2 ab1@2", AW: "gb1@2 gb1 db2 gb2@2 ~@2 b1!2 ~ b1 c2!2 ~ c2",
AX: "db2@2 db2 ~@2 ab1 b1 db2 ab2 db3@2 db2 ab2 db2 g2@2", AY: "gb2@2 bb1 db2 ~ eb2@2 gb2 b1@2 b1!2 c2 c2@2 c2",
AZ: "db2@2 db2 ~ ab2 bb2 b2 ab2 ~ db2!2 ab2@2 db2 g2@2", BA: "gb2@2 gb2@2 gb2 db2 gb2@2 b1!2 ~ b1 c2!2 ~ c2",
BB: "db2@2 db2@2 ab2 bb2 b2!2 ~ ab2 ab2@2 db3 b2 ab2 ~", BC: "~@2 f2@2 e2@2 e2@2 b1!2 b1@2 c2!2 c2@2",
BD: "db2 ~ db2@2 ab2 bb2 b2 ab2 db2@2 ~ db2 ab2@2 g2@2", BE: "gb2 bb1 ~ b1 ~ c2 db2 ~ b1!4 c2!4",
BF: "db2@2 db2@2 db2 ~ f1 gb1 ~ gb1 ab1 ~ db2 ab1!2 g1", BG: "gb1@2 gb1@2 bb1 db2!2 ~ b1!4 c2!4",
BH: "db2 ~ db2@2 ~ db2 ab2 b2 ~ ab2 db2!2 ab2@2 g2@2", BI: "gb2 bb1@3 b1 db2!2 ~ [b1,gb2]!4 [c2,g2]!4",
})).s("gm_fretless_bass").gain(0.44)
// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note(`<
A B C D E F G@2 H I J K@2 L@2 M N O P Q R@2 S T U V W X@6 Y Z AA AB AC AD AE AF AG AH AI AJ AK@2 AL@2 AM AN AO AP AQ@2
AR@2 AS@2 AT AU AV@4 AW@2 ~
>`.pickRestart({
A: "~@2 [b2,gb3] [c3,g3]", B: "[db3,ab3]@4 [f4,f5] ~@3 [db3,ab3]@2 [db3,ab3]@2 ~ [f4,f5] ~@2, ~@6 ab3 ~",
C: "gb3@2 gb3@2 ~ e4 ~@2 [b2,gb3]@4 [c3,g3]@3 g3, bb3@2 [gb3,bb3,e4] ~@5", // B5 C5 Gb7
D: "~@2 [ab3,b3]@2 ~ [f4,f5] ~@6 f4 f5 ~@2, db3@3 ~@5, ~@2 ab3 ~ ab3@3 ~", // Abm F
E: "~@2 gb3@2 ~ gb4 ~@2 [b2,gb3]@4 [c3,g3]@3 g3, [bb3,e4]@2 gb3 ~@5", // B5 C5 Bbdim
F: "ab3@2 ~@2 f4 f5 ~@2 ab3@2 [db3,ab3]@2 ~ [f4,f5] ~ bb3, db3@3 ~@3 [db3,ab3] ~, ~@2 [ab3,b3]@4 ~ b3@5 ~@4", // Db5 F Db5 Abm
G: "[[gb3,bb3]@2 [gb3,bb3]@2 ~ gb4 ~ gb3 [b2,gb3]@4 [c3,g3]@3 ~ ab3@2 ab3@2 ~ f5 ~ b3 ab3@2 ab3@2 ~ [b3,f4,f5] ~@2, ~@4 [gb3,bb3]@2 ~@9 db3@7 ~@4 db3@4 ~@2, ~@16 f4@4 [ab3,b3]@2 ~ f4@5 [ab3,b3]@2 ~@2]/2", // Gb B5 C5 Bdim Gb Abm
H: "[gb3,bb3]@2 ~@2 [bb3,e4,gb4]@2 ~@2 [gb3,eb4,gb4,eb5]@2 ~ f3 [bb2,f3,d4,f4,d5]@2 ~ e3, ~@2 gb3@4 ~ [b2,gb3]@2 ~@7", // Gb Gb7 Ebm Bb B5
I: "~@2 e4@2 db5 ~@2 [e3,db4] e3@2 ~ db5 [db4,e4,db5] ~@2 [e3,g3,db4], a2@5 ~@3 a2@5 ~@3, ~@10 [e3,db4,e4]@3 ~@3", // Dbm Dbdim Dbm
J: "~@3 e4 [db4,e4,db5] ~@2 e3 ~@3 db4 [db4,e4,db5] ~@3, a2@5 ~@3 [a2,e3]@2 [a2,e3]@3 ~@3, e3@2 e3@3 ~@11, ~ db4@3 ~@5 db4@2 ~@5", // Dbm A5
K: "[~@3 [eb4,a4] eb4@3 ~@4 a4 eb4 a3@2 a3 a3@2 ~ [eb4,a4] [eb4,a4]@3 [eb4,a4] ~ g4@2 [eb4,g4] [eb4,g4]@4, [c3,eb3]@7 eb4@3 [eb4,a4]@2 ~ eb4@5 a3@6 a3@7 ~, ~@2 a3@5 a3@6 ~@3 c3@8 ~@8, ~@4 a4@6 ~@2 a4@7 ~@5 eb4@3 ~@5, ~@8 [c3,eb3]@8 eb3@15 ~]/2", // Ebdim Eb Cm Ebdim Cm
L: "[f3@2 ~ [d4,f4] f4@3 ~ [f3,ab3]@2 ~ [d4,f4] [ab3,d4,f4]@3 d4 [f3,ab3,d4]@2 ~ [f4,d5] [ab3,d4,f4,d5]@3 ~ [f3,ab3]@2 d4 [d4,f4,d5] f4 f4@2 ~, bb2 bb2, ~@4 [d4,d5]@6 f3@4 ~ f4@4 ~@4 f4@3 f3@6, ~@12 d5@7 ~@7 ab3@2 [ab3,d4,d5]@4]/2", // Dm Fm Dm Ddim Dm Ddim Fm Dm …
M: "[f2,f3] ~@3 b3 c4 f4 c4 ab3 g3 f3 d3 f3@3 ~", N: "c4 db4 e4 a4 ab4@2 g4 e4 g4 e4 d4 a3 d4 c4 a3 g3",
O: "[db4,d4] ~ bb4 ~ eb5@2 db5 bb4!2 ab4 bb4@2 bb4 ab4 f4 ~, ~ f4@2 ~@13", // Dmaj7
P: "[eb4,gb4,b4] ~ [eb4,gb4,b4] ~ [eb4,gb4,b4] ~@3 [b2,gb3]@4 [c3,g3]@3 g3", // B B5 C5
Q: "ab3@2 ~@2 f4 f5 ~ [ab3,f5] [db3,ab3]@2 [db3,ab3]@2 [db3,ab3,f4] [f4,f5] ~ ab3, db3@3 ~@5, ~@2 ab3@4 ~ f4@5 ~@4", // Db Db5 Db F
R: "[[gb3,bb3]@2 gb3@2 [gb3,bb3]@2 ~ eb4!2 [eb4,eb5]@2 ~@2 [e4,e5]@2 ~ [db3,ab3]@2 ab3@2 ~ f5 ~ [ab3,b3] db3@2 db3@2 ~ [f4,ab4,f5] ~ [bb3,gb4], ~@8 [b2,gb3]@3 e4@2 ~@2 f4@5 [ab3,f4]@2 ~ f4@6 ~@3, ~@12 [c3,g3]@3 ~@3 db3@4 ~@2 ab3@4 [db3,ab3]@2 ~@2]/2", // Gb Eb E Db5 Abm Fm Ebm B5 …
S: "gb3@2 gb3@2 ~ [bb3,e4,gb4] ~@2 [b2,gb3]@4 [c3,g3]@3 ab3, [bb3,e4]@2 [gb3,bb3] ~@5", // Gb7 B5 C5 Bbdim Gb
T: "[ab3,f4]@4 ~ f5 ~ ab3 [db3,ab3]@2 ab3@2 [ab3,b3,f4] [b3,f4,ab4,f5] ~ db3, db3@3 ~@2 db3@2 ~, ~@4 [ab3,f4]@2 ~ f4@5 ~@4", // Db Db5 Fdim Db
U: "gb3@2 gb3@2 ~ [e4,gb4] ~@2 [b2,gb3]@2 [gb3,a3,eb4,gb4] ~@2 [bb3,e4,g4] [c3,g3,bb3,e4] ~, bb3@2 [gb3,bb3] ~@3 [c3,g3] ~", // Esus2 B5 Ebdim Edim C7 Gb C5
V: "[db3,ab3]@2 ~@2 f4 f5 ~@2 [db3,ab3]@2 ab3@2 [ab3,f4,ab4] [f4,f5] ~ ab3, ~@2 [db3,ab3]@4 ~ f4@5 ~@4, ~@5 db3@2 ~", // Db5 Db F Db5
W: "[gb3,bb3]@2 gb3@2 ~ [e4,gb4] ~@3 [eb4,eb5] ~@3 [d4,d5]@2 db4, ~@4 [gb3,bb3,e4,gb4]@2 ~@2 [b2,gb3,eb4]@2 ~@2 [bb2,f3]@3 ~", // Gb Esus2 Eb D Gb7 B Bb5
X: "[[e3,g3]@2 ~@2 [db4,e4,db5]@3 ~ a2 ~ [a2,e3]@2 ~ db4 [e3,db4] ~ e3@2 e3@2 [e3,db4,e4,db5]@3 ~ [a2,e3]@2 e3@2 [e3,db4] [db4,e4,db5] ~@2 c3@2 ~@2 [eb3,a3,eb4,a4]@3 ~@3 [eb3,a3]@2 ~@4 c3@2 ~@2 [a3,eb4]@3 ~ [f2,eb3]@3 [db4,db5] [a2,e3,db4,db5]@2 ~@2 f3@2 ~@2 d4@3 f3 f3@2 f3@2 ~@4 f3@2 ~@2 [d4,f4,d5]@3 f4 f3@2 f3@2 [f3,d4,f4] [d4,f4,d5] [bb2,f3,d4] ~, ~@2 [a2,e3]@5 [db4,e4,db5]@2 ~@3 a2@6 a2@6 ~@2 a2@4 ~@2 f2@8 [f2,c3]@8 f2@8 ~@22 f3@2 ~@2 f3@6 ~@8, ~@12 e3@2 ~@20 c3@6 ~@6 eb3@2 ~@2 c3@6 [c3,a3] ~@7 bb2@8 bb2@16 bb2@6 ~@2, ~@13 db5@7 ~@19 [eb3,a3]@3 ~@2 [eb3,a3]@3 a3@5 [eb3,a4]@5 ~@9 f3@4 ~ d4@3 ~@2 [f3,d4]@3 d4@5 ~@3 d4@3 ~@6, ~@13 e4@2 [db4,e4]@5 ~@3 [db4,e4,db5]@6 ~@2 [a3,eb4]@5 ~@3 [eb4,a4]@6 [eb4,a4]@7 ~@3 [a3,eb4]@2 ~@6 [d4,d5]@5 d5@9 d5@7 ~@3 d5@6 ~@3]/6", // Em Dbm A5 Dbm A5 Dbm Ebdim Adim …
Y: "~@4 b3 c4 f4 c4 bb3 ab3 f3 eb3 f3 ~ ab3 f3", Z: "c4 ~ e4 a4 [ab4,a4]@2 g4 e4 ~ e4 d4 a3 d4 c4 a3 ~, ~ db4@2 ~@13",
AA: "d4 f4 bb4 eb5 eb4 db4 eb4 db4 bb3@2 bb3 ab3 bb3@4",
AB: "[eb4,gb4,b4] ~ [eb4,gb4,b4] ~ [eb4,gb4,b4] ~@2 gb3 [b2,gb3]@4 [c3,g3]@3 ab3", // B B5 C5
AC: "[db3,ab3]@2 [db3,ab3]@2 [ab3,b3,f4] f5 ~ [ab3,b3,f4] [ab3,b3,f4]@2 ~ [ab4,f5] [f4,ab4,f5] [f4,f5] ~@2, ~@4 db3@3 ~, ~@5 [ab3,b3]@2 ~, ~@5 f4 ~@2", // Db5 Fdim Db Fm F Abm
AD: "[gb3,bb3]@2 [gb3,bb3]@2 [gb3,bb3,gb4] [bb3,e4,gb4] ~ [gb3,a3,eb4] eb4@2 eb4 ~@3 [c3,g3,e4,g4] ~, ~@4 [b2,gb3]@2 [c3,g3] ~, ~@8 a3 ~@4 [e4,e5]@2 ~", // Gb Gb7 Ebdim C B5 C5 E
AE: "[db3,ab3]@2 ab3@2 [ab3,b3,f4] [f4,f5] ~ [ab3,b3] [db3,ab3]@2 ab3@2 ~ [f4,ab4,f5] ~@2, ~@2 db3@4 ~ f4@5 [ab3,b3,f4]@2 ~@2, ~@5 db3@2 ~", // Db5 Fdim F Abm Db5 Fm Fdim
AF: "[gb3,bb3]@2 gb3@2 ~ [e4,gb4] ~ eb4 [a3,eb4]@2 [eb4,eb5]@2 [c3,g3,e4] [g3,bb3,e5]@2 [b3,f4], e4@4 [gb3,bb3,e4]@2 ~@2 gb3@4 ~ e4 ~@2", // Gb Esus2 Adim Eb C Edim Bdim Gb7
AG: "[db3,ab3]@2 ab3@2 [ab3,b3,f4] f5 ~ [b3,f4]@2 ~@2 [ab4,f5] [ab3,b3,f4,ab4,f5] f5 ~@2, b3@4 ~@3 ab3 ~ f5@2 ~@5, ~ db3@2 ~@2 [ab3,f4] ~@2", // Db5 Fdim Bdim Db Fdim Db
AH: "[gb3,bb3]@2 [gb3,bb3]@2 [gb3,bb3,e4,gb4]!2 ~ [gb3,a3,eb4] [b2,gb3,a3]@2 [gb3,a3] ~@2 bb3 [c3,g3,bb3]@2, ~@6 [c3,g3] ~", // Gb Gb7 Ebdim B7 Gbm C7 C5
AI: "[db3,ab3]@2 [db3,ab3]@2 [db3,ab3,b3] [ab3,f4,f5] ~ [b3,f4]@3 [ab3,b3]@2 [ab3,b3,f4,ab4] [f4,f5] ~@2, [b3,f4]@4 ~@3 ab4@5 ~@4, ~@5 db3@2 ~", // Db5 Db7 Db Bdim Abm Fdim F Bdim
AJ: "[gb3,bb3]@2 [gb3,bb3]@2 [gb3,bb3,gb4]@2 ~@2 a3 [a3,eb4,gb4] ~ [gb3,a3,eb4] [g3,e4,g4] [c3,g3,e4,g4]@2 [db3,g3], ~@7 b4@4 ~@5, ~@7 gb4@2 ~@3 bb3@3 ~, ~@2 [b2,gb3] ~", // Gb Ebdim C Dbdim B5
AK: "[[db3,ab3]@4 [ab3,b3,f4] f5 ~@4 [db3,ab3]@2 [db3,ab3,b3,f4] [f4,f5] ~ bb3 [gb3,bb3]@2 [gb3,bb3]@2 [gb3,bb3,e4] [e4,gb4] ~ [eb4,gb4] eb5 eb5@2 [b2,gb3,eb4] [g3,e4] [e4,e5] ~ [e4,e5], f4@3 ~@4 [ab4,f5]@6 ~@19, ~@7 b3@4 ~@18 g3@2 ~, ~@8 ab3@2 ~@14 [b2,gb3,eb4]@3 ~ c3@4, ~@9 f4@3 ~@3 e4@5 ~@12]/2", // Db5 Fdim Db5 Db7 F Gb Gb7 Esus2 …
AL: "[[db3,ab3]@2 [db3,ab3]@2 [ab3,f4] f5 ~ ab3 [db3,ab3]@2 [db3,ab3]@2 ~ [f4,f5] ~@2 gb3@2 ~@3 gb4 ~ [gb3,a3] ~ eb5 ~ [b2,gb3,eb5] [e4,e5] [bb3,e4,e5]@2 [c3,g3], ~@7 [b3,f4]@5 [db3,ab3,b3,f4]@2 ~ bb3@5 [bb3,e4,gb4]@2 ~ eb4@4 ~@5, ~@18 gb3@4 ~ gb4@2 ~@7, ~@24 [b2,gb3]@3 ~ [c3,g3]@3 ~]/2", // Db5 Db Db5 F Gbm B E Bbdim …
AM: "ab3@2 ab3@2 [ab3,b3,f4] f5 ~@2 [db3,ab3]@2 [db3,ab3]@2 ~ [f4,f5] ~ [gb3,bb3,e4], db3@5 ~@2 f5@6 ~@3, ~@7 b3@4 ~ [db3,ab3,b3,f4]@2 ~@2, ~@7 ab4@2 ~@7", // Fdim Db5 F Gb7 Db7
AN: "gb3@2 gb3@2 ~ [e4,gb4] ~ [a3,eb4,gb4] eb4 [eb4,gb4]@2 [b2,gb3] ~ [e4,g4,e5]@2 [c3,g3,bb3], bb3@4 [gb3,bb3,e4]@2 ~@2 [b2,gb3]@3 ~ [g3,e4]@2 ~@2", // Esus2 Ebdim Ebm B5 Em C7 Gb7 B5 …
AO: "ab3@2 ab3@2 ab3 f5 ~ ab3 ab3@2 [ab3,b3]@2 ~ f5 ~ [bb3,e4,gb4], db3@6 ~ b3@3 ~@2 [ab3,b3,f4,ab4]@2 ~@2, f4@4 ~@3 f4@5 ~@4, ~@4 db3@3 ~", // Abm Gb7 Fdim
AP: "[gb3,bb3]@2 [gb3,bb3]@2 ~ gb4 ~@2 [gb3,eb4]@2 [gb3,eb4]@2 [c3,g3]@2 [g3,bb3,e4] ~, ~@4 gb3@3 b4@2 ~@7, ~@4 [bb3,e4]@2 ~ gb4@4 ~@5, ~@2 [b2,a3] ~", // Gb Ebm C5 Edim Bbdim B7
AQ: "[[db3,ab3,b3]@2 [db3,ab3,b3]@2 [ab3,b3,f4] f5 ~ [b3,f4] [ab3,b3]@2 [db3,ab3,b3]@2 ~ [f4,f5] ~ e4 [gb3,bb3,e4]@2 [gb3,bb3]@2 [gb3,bb3,e4,gb4]@2 ab3 [eb4,gb4] [b2,a3,eb4]@3 [b2,gb3,eb4] e4 ~@2 [c3,g3], ~@7 [ab4,f5]@6 ~@2 gb4@5 ~@4 gb4 ~@4 [g4,e5]@2 ~, ~@8 f4@4 [db3,ab3,b3]@2 ~@9 gb3@4 ~ g3@2 e4@2]/2", // Db7 Fdim Bdim Abm Db7 F Gb7 Gb …
AR: "[ab3@2 [ab3,b3]@2 ~ f5 ~@2 [db3,ab3]@2 ab3@2 ~ f5 [db3,ab3] bb3 [gb3,bb3]@2 [gb3,bb3]@2 [gb3,bb3,e4,gb4]@2 ~ gb4 [gb3,eb4] ~@2 a3 [c3,g3,bb3,e4] bb3 [c3,g3,bb3] g3, db3@3 ~@2 db3@2 ~@5 [b2,a3,gb4]@2 ~@2, ~@4 [ab3,b3,f4]@2 ~ [f4,ab4]@5 [ab3,b3,f4,ab4]@2 ~ [e4,gb4]@5 ~@5 [gb3,eb4]@2 ~@2 [e4,g4]@3, ~@13 gb3 ~@2]/2", // Abm Db5 Gb Gb7 Ebm C7 B7 Fdim …
AS: "[ab3@2 [ab3,b3]@2 ~ f5 ~ [b3,ab4] [ab3,b3]@2 ~@3 f5 ~@2 [gb3,bb3]@2 [gb3,bb3]@2 [gb3,bb3,e4,gb4]@2 ~ [gb3,gb4] [gb3,a3] [gb3,a3,eb5]@2 [eb4,b4] c5 [bb3,g4,c5]@2 e5, db3@4 [ab3,b3,f4,ab4]@2 ~ f4@3 [ab3,b3,f4,ab4]@2 [ab3,b3,f4,ab4]@2 ~@18, ~@4 db3@3 ~@5 b2@2 [c3,g3,e4]@2, ~@11 [ab4,f5]@2 ~@2 gb4@5 ~@3 eb4@4 ~@5]/2", // Abm E Abm Gb Gb7 Gb Gbm Ebdim …
AT: "[db3,ab3,b3]@2 [db3,ab3]@2 [ab3,b3,f4] f5 ~ ab3!2 ~ [ab3,b3]@2 ~ [ab4,f5] ~ [bb3,e4,gb4], ~@2 b3 ~@4 f4@5 ~@4, ~@7 b3@3 ~@2 [ab3,b3,f4,ab4]@2 ~@2, ~@8 db3@5 ~@3", // Db7 Db5 Fdim Abm Db Gb7 Fdim
AU: "[gb3,bb3,e4]@2 [gb3,bb3]@2 [gb3,bb3,e4,gb4]@2 [gb3,bb3,e4] ~ [b2,gb3,eb4] gb3 [gb3,eb4]!2 [g3,bb3,e4] e5!2 [c3,g3,bb3], ~@7 b4@2 b2@3 c3@3 ~, ~@13 [g3,e4]@3", // Gb7 Gb Gb7 B Ebm Edim C7 C
AV: "[[ab3,b3]@2 [ab3,b3]@2 [db3,ab3,b3,f4] f5 ~ [ab3,f5]@3 ab3@2 ~ f5 ~ [bb3,e4] [gb3,bb3]@2 [gb3,bb3]@2 ~ gb4 ~ [eb4,gb4,b4] [a3,eb4] [eb4,eb5]@2 [b2,gb3,eb4] ~@3 e4, db3@4 ~@3 [b3,f4]@5 [ab3,b3,f4]@2 ~ gb4@5 ~@8 g3@2 g3@2, ~@10 db3@4 ~@6 [gb3,bb3,e4,gb4]@2 ~@2 [b2,gb3]@3 ~ [c3,e4]@4, ~@29 e5@3]/2", // Abm Db7 Db Bbdim Gb B Adim Eb …
AW: "[~@2 f4@2 [db3,ab3,b3] f5 ~ [ab3,b3] db3@2 ~@2 [ab3,b3,f4,ab4] [f4,ab4,f5] eb3 ~ gb3@2 [gb3,bb3]@2 [gb3,bb3,e4,gb4]@2 [gb3,bb3,e4] ~@3 [b2,gb3,a3] [b2,gb3,a3,eb4] ~@3 [e4,g4,e5], [db3,ab3]@4 ~@3 f4@5 ~@3 e4@5 ~@5 eb5@3 ~ e5@2 ~, ~@8 [ab3,b3]@4 ~@3 bb3@3 ~@10 g3@2 g3@2, ~@5 db3@2 ~@5 [b2,gb3,a3] ~ [c3,e4]@2]/2", // Db7 Abm Fdim Fm Gb Gb7 B7 Em …
})).s("gm_electric_guitar_jazz").gain(0.25).pan(0.9)
// chords · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note(`<
~ A B C D E ~ F ~ G H I ~ J K ~@3 L M N O P Q R S T U V W X ~@3 Y ~ Z AA AB AC AD AE AF AG@2 AH AI O AJ AK AL AM AN AO
AP ~ AQ AR@2 AS AT AU AV AU AV AW AX ~
>`.pickRestart({
A: "~@7 b3@3 ~@2 b3@2 ~@2, ~@7 ab3 ~@8", B: "e4@2 gb4 ~@5", C: "ab3@2 ~@2 f4@2 ~ b3 [db3,b3]@2 db3@2 b3 ~@2 eb3",
D: "gb3 ~ bb3 ~@5, gb4 ~@15", E: "~@2 f4@2 ~@3 ab3 ~@4 b3@2 ~@2", F: "~@7 ab3 ~@8", G: "~@7 a2 ~@2 db5 ~@4 a2",
H: "~@7 a2 g3@2 ~@6", I: "~ a3 ~@14", J: "~ [ab3,d4] ~@5 f3", K: "~ ab3 ~@6", L: "~@8 eb4 ~@7", M: "~@15 eb3",
N: "e4@4 e4@2 ~@5 e5@2 ~@2 db3", O: "~@15 gb3", P: "gb4@5 db4 ~@10", Q: "~@12 ab4 ~@3", R: "gb4@2 e4 ~@5",
S: "b3@2 ~@5 ab3 ~@8", T: "~@11 d4@2 ~@3", U: "a2@2 ~@10 db4 ab3!2 ~", V: "ab3@2 ~@5 a3 ~@4 e4 a3 ~ eb3",
W: "eb3 ~@3", X: "~ eb3 ~@6", Y: "~@8 g4 ~@7", Z: "~@8 [a3,eb4]@3 ~ e4@3 ~", AA: "~@10 ab4 ~@5",
AB: "~@4 e4 ~@3 gb4@2 a3 ~@5", AC: "~@2 b3 ~@5 b3@4 ab4@2 ~@2", AD: "~@4 gb4@2 ~ b3 ~@4 bb3 ~ c3 ~",
AE: "~@4 ab3 b3 ~@2", AF: "[e4,gb4]@4 ~@3 b2 ~@8",
AG: "[~@4 f4 ~@2 ab3@3 ~@2 f5 ~@2 bb3 e4@4 e4@2 ~ [gb3,a3] ~@4 c3 ~@3, ~@15 gb4@5 ~@3 eb4@2 ~@7]/2", // Gbm
AH: "~@3 f4 ~@3 ab3 db3@2 ~@6", AI: "c3@2 ~@2 gb4 db3 ~ b2 ~@8", AJ: "~@12 [bb3,g4] ~@2 bb3",
AK: "~@2 b3@2 ~@3 ab3 ~@8, f4 ~@3", AL: "~@4 gb4@2 ~ gb3 ~@8", AM: "~@4 [b3,f5] ~@11", AN: "~@6 f4 ~@5 c5 ~@3",
AO: "~@4 [ab4,f5] ~@7 f4@2 ~ [ab3,bb3]", AP: "~@7 a3 ~@2 eb5@2 c3@3 ~", AQ: "~@7 [gb3,a3,eb4] ~@4 g4 ~@3",
AR: "[~@7 ab3 ~@6 ab3 e4@5 ~@3 b2 ~@4 bb3 ~@3, ~@15 bb3 ~@16]/2", AS: "~@4 f5 ~@9 db3 ~",
AT: "~@9 eb4 ~@6, ~@7 gb4@4 ~@5", AU: "~@4 db3 ~ ab4 ~", AV: "~@7 [gb3,a3] ~@8", AW: "~ f5@4 ~@11",
AX: "~@4 eb4 ~@2 bb3",
})).s("gm_electric_guitar_jazz").gain(0.11).pan(0.9)
// drums · kick
const kick = s("bd").struct(`<
A B C B C B C B C D@6 E@3 F B C B C B C B C G@3 H D@2 E@3 F B C B C B C B I B I B I B I B J B J B K B C B L B L B L B
L ~
>`.pickRestart({
A: "~@8 x ~@3 x ~@2 x", B: "x ~ x ~@4 x!2 ~ x ~@4 x", C: "x ~ x ~@4 x!2 ~@2 x!2 ~@2 x",
D: "x ~ x ~@4 x!2 ~ x ~@2 x ~ x", E: "x!8", F: "x ~ x ~ x ~@3 x ~@3 x ~@2 x", G: "x ~ x ~@2 x ~ x!2 ~ x ~@4 x",
H: "x ~ x ~@2 x ~ x!2 ~ x ~@2 x ~ x", I: "x ~ x ~@5 x!2 ~ x!3 ~ x", J: "x ~ x ~@4 x!2 ~@3 x ~@3",
K: "x ~ x ~@4 x!2 ~@2 x!3 ~ x", L: "x ~ x ~@4 x!9",
})).gain(0.49)
// drums · snare
const snare = s("sd").struct("<~ A@14 B C D E A@11 F A@2 G D@2 E A@7 H A I A I A H A@9 J A J A J A J ~>".pickRestart({
A: "~ x ~ x", B: "x!2 ~@5 x", C: "x ~ x ~ x ~ x ~ x ~ x ~ x!2 ~@2", D: "x ~ x ~ x ~ x ~ x ~ x ~ x!3 ~", E: "x!3 ~@5",
F: "~@2 x ~@3 x!2", G: "x!8", H: "~@4 x ~@2 x!2 ~@7", I: "~ x!2 ~", J: "~@4 x ~@3 x!8",
})).gain(0.44)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@15 [~@2 x!5 ~] [~@7 x] ~@29 [~@7 x ~@8] ~ [~@7 x ~@8] ~@19>").gain(0.27)
// drums · hihat
const hihat = s("hh").struct("<~ A@15 B@2 C A@15 B@2 C A@7 C D C D C D C D A D A D A@3 D E D E D E D E ~>".pickRestart({
A: "x!8", B: "x ~ x ~ x ~ x ~ x ~ x ~ x!3 ~", C: "x!3 ~@5", D: "~ x!7", E: "x!5 ~@3",
})).gain(0.22)
// drums · crash
const crash = s("cr").struct("<~@45 A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~@2>".pickRestart({
A: "x",
})).gain(0.33)
// drums · shaker
const shaker = s("sh").struct("<~ [x!16]!17 [x!3 ~@5] [x!16]!17 [x!3 ~@5] [x!16]!30 ~>").gain(0.27)
stack(rock_organ, bass, electric_guitar_jazz, electric_guitar_jazz_2, kick, snare, snare_soft, hihat, crash, shaker)
More by Traffic
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.