0:00/0:00
// Jump Jive an Wail — The Brian Setzer Orchestra
// 176 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 136 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(176/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 · clarinet
const clarinet = note(`<
A@4 ~@2 A@2 ~@2 A@2 ~@2 A@2 B C B C D E B C F G@2 H ~@14 A@2 ~@2 A@2 ~ I@3 B C B C D E B C F J@2 ~@2 K ~ K ~ L ~ K ~ M
N O P ~ Q@2 ~@2 Q R S T U@2 V W V W X Y V W Z AA@2 ~ V W V W X Y V W Z AA@2 ~ V W V W X Y V W Z AA@2 ~ V W V W X Y V W
AB@2 AC AD
>`.pickRestart({
A: "~@3 a4 ~@3 a3 ~@3 a4 f#4@3 e4", B: "~@3 [e4,c#5] ~@4 [e4,c#5]@4 [e4,c#5]@4",
C: "~@3 [e4,c#5] ~@3 [e4,c#5] [e4,c#5]@3 [e4,c#5] [e4,c#5]@3 [e4,c#5]", D: "~@3 [f#4,c5] ~@4 [f#4,c5]@4 [f#4,c5]@4",
E: "~@3 [f#4,c5] ~@3 [f#4,c5] [f#4,c5]@3 [f#4,c5] [f#4,c5]@3 [f#4,c5]", F: "~@3 [g#4,d5] ~@4 [g#4,d5]@4 [g#4,d5]@4",
G: "[~@3 [f#4,c5] ~@3 [f#4,c5] [f#4,c5]@4 [f#4,c5]@3 [e4,c#5]@5 ~@3 a3@5 ~@3 a4]/2", H: "a4@4 ~@3 a5@5 ~@4",
I: "[~@15 [c#4,e4]@5 ~@3 [d#4,g4]@5 ~@3 [d4,f#4]@5 ~@3 [c#4,f4]@5 ~@4]/3", // C#m D# D C#
J: "[~@3 [f#4,c5] ~@3 [f#4,c5] [f#4,c5]@4 [f#4,c5]@3 [e4,c#5]@5 ~@12]/2", K: "~@3 [g4,e5] ~@3 [g4,e5]@5 ~@4",
L: "~@3 [c5,f#5] ~@3 [c5,f#5]@5 ~@4", M: "~@11 [a3,a4] [c#4,c#5] [e4,e5] ~ [f#4,f#5]", N: "[a4,a5]@4 ~@3 [f#4,f#5]@9",
O: "[g4,g5]@3 [f4,f5] [d4,d5]@3 [c4,c5]@4 [f4,f5] [g4,g5]@4", P: "[a#4,a#5] ~@3",
Q: "~@3 a#4 ~@3 a#3 ~@3 a#4 g4@3 f4", R: "~@3 a#4 ~@3 a#3 ~@3 [c#4,g#4]@5", S: "[c4,g4] ~@3", T: "[d5,f5] ~@3",
U: "[~@3 f4 g4@2 a#4 ~ f4@3 g4 ~@3 c5 c#5@2 ~ d5 a#4@3 f4 [d#4,a#4]@4 [d4,d5]@4, a#4@6 ~ a#4@5 a#4@6 a#4@2 ~@12]/2", // D#5 D
V: "~@3 [f4,d5] ~@4 [f4,d5]@4 [f4,d5]@4", W: "~@3 [f4,d5] ~@3 [f4,d5] [f4,d5]@3 [f4,d5] [f4,d5]@3 [f4,d5]",
X: "~@3 [g4,c#5] ~@4 [g4,c#5]@4 [g4,c#5]@4", Y: "~@3 [g4,c#5] ~@3 [g4,c#5] [g4,c#5]@3 [g4,c#5] [g4,c#5]@3 [g4,c#5]",
Z: "~@3 [a4,d#5] ~@4 [a4,d#5]@4 [a4,d#5]@4", AA: "[~@3 [g4,c#5] ~@3 [g4,c#5] [g4,c#5]@4 [g4,c#5]@3 [f4,d5]@5 ~@12]/2",
AB: "~@3 g4@5 [d#4,g4]@2 ~ g4 ~@4, ~ a#4@3 ~ a#4 ~@2", // D#
AC: "[a#3,a#4] ~@3 [a#3,a#4] [c4,c5] ~ [d4,d5] [f4,f5] ~@2 [d#4,d#5] [a#3,a#4] ~@2 [c4,c5]", // A# C D F D# A# C
AD: "[d4,d5] ~ [f4,f5] [g#4,a#5]@5", // D F G#sus2
})).s("gm_clarinet").gain(0.26)
// other · flute
const flute = note(`<
~@4 A B ~@2 A B ~ C D E@2 F G H G H G H G H I J@3 ~@12 K L ~@2 K L ~@2 M E@2 F G H G H G H G H I N@2 ~@2 O ~ O ~ P ~ O
~ Q R S T U ~@2 V U ~ W X Y Z@2 AA AB AA AB AA AB AA AB AC AD@2 ~ AA AB AA AB AA AB AA AB AC AD@2 ~ AA AB AA AB AA AB
AA AB AC AD@2 ~ AA AB AA AB AA AB AA AB AE@2 AF AG
>`.pickRestart({
A: "e5@4 e5@3 e5@4 e5 ~@3 e5", B: "e5@3 e5 ~@3 d5 ~@3 a4 b4@3 c#5", C: "~@11 e5 e5@3 e5",
D: "e5@3 e5@4 d5@4 d5 d5@3 d5", E: "[e5@3 e5 d5@4 c5@4 a4@3 a4@5 ~@12]/2", F: "~@11 a5 a5@3 a5",
G: "~@3 a5 ~@4 a5@4 a5@4", H: "~@3 a5 ~@3 a5 a5@3 a5 a5@3 a5", I: "~@3 b5 ~@4 b5@4 b5@4",
J: "[~@3 a5 ~@3 a5 a5@4 a5@3 a5@5 ~@3 a4@5 ~@3 a5@5 ~@3 a5@5 ~@4, ~@19 a6@3 ~@2]/3", K: "e5@3 e5 e5@3 e5 e5@4 e5@4",
L: "e5@3 e5 d5@3 d5 ~@3 a4 b4@3 c#5", M: "e5@3 e5 e5@3 e5 d5@4 d5@4", N: "[~@3 a5 ~@3 a5 a5@4 a5@3 a5@5 ~@12]/2",
O: "~@3 [a5,c#6] ~@3 [a5,c#6]@5 ~@4", P: "~@3 [a5,d6] ~@3 [a5,d6]@5 ~@4", Q: "~@11 a4 c#5 e5 ~ f#5",
R: "a5@4 ~@3 f#5@9", S: "g5@3 f5 g5@3 f5@4 f5 g5@4", T: "a#5@4 f5@3 f5@5 f5@3 f5",
U: "~@3 f5 d#5@3 d#5 ~@3 a#4 c5@3 d5", V: "f5@4 f5@3 f5@5 f5@3 f5", W: "~@11 g5@5", X: "a#5 ~@3", Y: "d6 ~@3",
Z: "[a#5@3 a#5@3 a#5@3 a#5@3 a#5@2 d6@2]/2", AA: "~@3 a#5 ~@4 a#5@4 a#5@4", AB: "~@3 a#5 ~@3 a#5 a#5@3 a#5 a#5@3 a#5",
AC: "~@3 c6 ~@4 c6@4 c6@4", AD: "[~@3 a#5 ~@3 a#5 a#5@4 a#5@3 a#5@5 ~@12]/2", AE: "~@3 a#5@5 g5@3 f5 ~@4",
AF: "a#5 ~@3 a#5 c6 ~ d6 f6 ~@2 d#6 a#5 ~@2 c6", AG: "d6@2 ~@2 f6@3 [a#5,a#6]@9",
})).s("gm_flute").gain(0.26)
// other · trombone
const trombone = note(`<
A@4 ~@2 A@2 ~@2 A@2 ~@2 A@2 B C B C D E B C F G@3 H@3 I J K H I L M H I ~@2 A@2 ~@2 A@2 ~ N@3 B C B C D E B C F O@2
~@2 P ~ P ~ Q ~ P ~ R S T U V W X Y@2 W Z AA AB AC@2 AD AE AD AE AF AG AD AE AH AI@2 AJ AK AL AK AL Y AM AK AN AO AP
AQ AR AS AT AS AT AU@2 AS AT AV AW AX AY AZ BA AZ BA BB@2 AZ BA BC BD BE BF
>`.pickRestart({
A: "~@3 [a3,a4] ~@3 [a2,a3] ~@3 [a3,a4] [f#3,f#4]@3 [e3,e4]", B: "a3@3 e3 c#4@4 [e3,e4]@4 [e3,f#4]@4",
C: "g4@3 e3 f#4@3 e3 [e3,e4]@3 e3 [e3,c#4]@3 e3", D: "d4@3 f#3 f#4@4 [f#3,a4]@4 [f#3,b4]@4",
E: "c5@3 f#3 b4@3 f#3 [f#3,a4]@3 f#3 [f#3,f#4]@3 f#3", F: "b3@3 g#3 c#4@4 [g#3,d4]@4 [g#3,d#4]@4",
G: "[e4@3 f#3 d4@3 f#3 [f#3,c#4]@4 [f#3,b3]@3 [e3,a3]@5 ~@3 [a2,a4]@5 ~@3 a3@5 ~@3 a3 a3@4 ~@4, ~@39 a4@5 ~@4]/3", // F#5 B5 A5 A
H: "a3 c#4 e4 f#4", I: "g4 f#4 e4 c#4", J: "d4 f#4 a4 b4", K: "c5 b4 a4 f#4", L: "b3 c#4 d4 d#4", M: "e4 d4 c#4 b3",
N: "[~@15 a3@5 ~@3 c4@5 ~@3 b3@5 ~@3 a#3@5 ~@4]/3",
O: "[e4@3 f#3 d4@3 f#3 [f#3,c#4]@4 [f#3,b3]@3 ~ a3@4 ~@12, ~@15 e3@5 ~@12]/2", P: "~@3 [e3,a3] ~@3 [e3,a3]@5 ~@4",
Q: "~@3 [f#3,d4] ~@3 [f#3,d4]@5 ~@4", R: "~@11 e3 f#3@4", S: "a3@4 a3@3 ~ c4@3 f#3 [a3,c4]@4, ~@7 a3@4 ~@5",
T: "[a3,c4]@4 c4@4 f4@3 f3 [g3,f4]@4", U: "[f3,a#3]@4 [f3,d4]@3 ~ f4@4 [f3,g4]@3 f3, ~@7 f3@5 ~@4",
V: "g#4@3 f3 [d#3,g4]@3 d#3 f4@3 a#2 [c3,d4]@3 d3", W: "a#3@3 a#3 d4@3 a#2 f4@3 a#3 [g3,g4]@3 f3",
X: "g#4@3 a#3 g4@3 a#2 f4@3 a#3 [g3,d4]@3 f3", Y: "d#4 g4 a#4 g4", Z: "g#4@3 a#3 g4@3 a#2 f4@3 ~ d4@4, ~@11 c#4@5",
AA: "c4 ~@3", AB: "[d4,f4] ~@3",
AC: "[[a#3,g4]@6 ~ f#4@5 [a#3,c4]@6 ~ f#4@5 [a#3,f4]@4 [c4,d4]@4, ~@3 a#3@3 ~@3 a#3@3 ~@4]/2", // D# A#sus2 A#5 Csus2
AD: "~@3 f3 ~@4 f3@4 f3@4", AE: "~@3 f3 ~@3 f3 f3@3 f3 f3@3 f3", AF: "~@3 g3 ~@4 g3@4 g3@4",
AG: "~@3 g3 ~@3 g3 g3@3 g3 g3@3 g3", AH: "~@3 a3 ~@4 a3@4 a3@4",
AI: "[~@3 g3 ~@3 g3 g3@4 g3@3 ~ a#4@4 a4@4 g4@4 d4@4, ~@15 f3@5 ~@12]/2", AJ: "c4 d#4 f4 a4", AK: "a#3 d4 f4 g4",
AL: "g#4@4 g4@4 f4@3 f3 [g3,d4]@3 a#3", AM: "d#4@4 g4@4 a#4@3 f3 [g3,g4]@3 a#3",
AN: "g#4@4 g4@4 f4@3 f3 [g3,d4]@3 c4", AO: "c4 d4 d#4 e4", AP: "f4 d#4 d4 c4", AQ: "a#3@4 a#3@3 [f3,f4] g3@4 g3@4",
AR: "c4@4 c4@3 [f3,f4] f4@4 f4@4", AS: "a#3@4 d4@3 [f3,f4] f4@4 g4@4", AT: "g#4@4 g4@3 [f3,f4] f4@4 d4@4",
AU: "d#4@4 g4@3 [f3,f4] a#4@4 g4@4", AV: "c4@4 d4@3 [f3,f4] d#4@4 e4@4", AW: "f4@4 d#4@3 [f3,f4] d4@4 c4@4",
AX: "a#3@3 [f3,f4] a#3@4 g3@3 [f3,f4] g3@4", AY: "c4@3 [f3,f4] c4@4 f4@3 [f3,f4] f4@4",
AZ: "a#3@3 [f3,f4] d4@4 f4@3 [f3,f4] g4@4", BA: "g#4@3 [f3,f4] g4@4 f4@3 [f3,f4] d4@4",
BB: "d#4@3 [f3,f4] g4@4 a#4@3 [f3,f4] g4@4", BC: "c4@3 ~ d4@4 [c3,d#4]@3 f3 e4@4, ~@3 f3@5 ~@8",
BD: "f4@3 ~ d#4@4 [c3,d4]@3 f3 c4@4, ~@3 f3@5 ~@8", BE: "a#3 ~@3 a#3 c4 ~ d4 f4 ~@2 d#4 a#3 ~@2 c4",
BF: "d4@2 ~@2 f4@3 [a#3,a#4]@9", // A#
})).s("gm_trombone").gain(0.26)
// chords · trumpet
const trumpet = note(`<
~@4 A B ~@2 A B ~ C D E@2 F G H G H I J G H K L@3 M@2 N@6 O@2 P Q R S ~@2 R S ~@2 T E@2 F G H G H I J G H U V@2 ~@2 W
~ W ~ X ~ W ~ Y Z AA AB AC ~@2 AD AC ~ AE AF AG AH@2 AI AJ AI AJ AK AL AI AJ AM AN@2 ~ AI AO AI AO AK AP AI AQ AM AR@2
AS AT AU AT AU AV AW AT AU AX AY@2 AZ BA BB BA BB BC BD BA BB BE@2 BF BG
>`.pickRestart({
A: "e4@4 e4@3 e4@4 e4 ~@3 e4", B: "e4@3 e4 ~@3 d4 ~@3 a3 b3@3 c#4", C: "~@11 e4 e4@3 e4",
D: "e4@3 e4@4 d4@4 d4 d4@3 d4", E: "[e4@3 e4 d4@4 c4@4 a3@3 a3@5 ~@12]/2", F: "~@4 c5@7 c5 c5@3 c5",
G: "~@3 [e4,c#5] ~@4 [e4,c#5]@4 [e4,c#5]@4", H: "~@3 [e4,c#5] ~@3 [e4,c#5] [e4,c#5]@3 [e4,c#5] [e4,c#5]@3 [e4,c#5]",
I: "~@3 [f#4,c5] ~@4 [f#4,c5]@4 [f#4,c5]@4", J: "~@3 [f#4,c5] ~@3 [f#4,c5] [f#4,c5]@3 [f#4,c5] [f#4,c5]@3 [f#4,c5]",
K: "~@3 [g#4,d5] ~@4 [g#4,d5]@4 [g#4,d5]@4", // G#dim
L: "[~@3 [f#4,c5] ~@3 [f#4,c5] [f#4,c5]@4 [f#4,c5]@3 [e4,c#5]@5 ~@3 a3@5 ~@3 a4@5 ~@3 [a4,a5]@4 a3 c#4 e4 ~ f#4]/3", // F#dim C#m A
M: "[a4@4 a4@3 a4 g4@4 e4@8 ~@7 a3 c#4 e4 ~ f#4]/2",
N: "[a4@4 a4@3 a4 g4@4 e4@8 ~@8 c5@3 c5@5 a4@3 a4@5 g4@3 g4@5 e4@3 e4 ~@3 c5 ~@3 c5@5 a4@3 g4 a4@3 g4 e4@3 e4@4 a4 e4@3 d4 c4@3 a3 ~@4]/6",
O: "[~@12 g4@16 e4@3 f#4]/2", P: "g4@3 a4 g4@3 f#4 e4@3 a3 c4@3 d4", Q: "d#4@3 e4@5 d4@3 c4 a3@3 a3",
R: "e4@3 e4 e4@3 e4 e4@4 e4@4", S: "e4@3 e4 d4@3 d4 ~@3 a3 b3@3 c#4", T: "e4@3 e4 e4@3 e4 d4@4 d4@4",
U: "~@3 [g#3,b3,g#4] ~@3 [f#3,a3] [g#3,b3,g#4]@4 g#4@3 a4", // G#m F#m G#m
V: "[~@3 f#4 a4@3 f#4 f#4@3 a5 f#4@3 f#5 a5@4 ~@12, ~@15 e4@5 ~@12]/2", W: "~@3 a4 ~@3 a4@5 ~@4, ~ c#5 ~ c#5@3 ~@2",
X: "~@3 a4 ~@3 a4@5 ~@4, ~ d5 ~ d5@3 ~@2", Y: "~@11 [a3,a4] [c#4,c#5] [e4,e5] ~ [f#4,f#5]",
Z: "[a4,a5]@4 ~@3 [f#4,f#5]@9", AA: "[g4,g5]@3 [f4,f5] [d4,g5]@3 [c4,f5]@4 [f4,f5] [g4,g5]@4",
AB: "[a#4,a#5]@4 [f4,f5]@3 [f4,f5]@5 [f4,f5]@3 [f4,f5]", // A# F
AC: "~@3 [f4,f5] [d#4,d#5]@3 [d#4,d#5] ~@3 [a#3,a#4] [c4,c5]@3 [d4,d5]", // F D# A# C D
AD: "[f4,f5]@4 [f4,f5]@3 [f4,f5]@5 [f4,f5]@3 [f4,f5]", AE: "~@11 [g4,g5]@5", AF: "[a#4,a#5] ~@3", AG: "[d5,d6] ~@3",
AH: "[[a#4,a#5]@6 a#4 [a#4,a#5]@5 [a#4,a#5]@6 a#4 [a#4,a#5]@5 [a#4,a#5]@4 [d5,d6]@4]/2", // A# D
AI: "~@3 [f4,d5] ~@4 [f4,d5]@4 [f4,d5]@4", AJ: "~@3 [f4,d5] ~@3 [f4,d5] [f4,d5]@3 [f4,d5] [f4,d5]@3 [f4,d5]",
AK: "~@3 [g4,c#5] ~@4 [g4,c#5]@4 [g4,c#5]@4", AL: "~@3 [g4,c#5] ~@3 [g4,c#5] [g4,c#5]@3 [g4,c#5] [g4,c#5]@3 [g4,c#5]",
AM: "~@3 [a4,d#5] ~@4 [a4,d#5]@4 [a4,d#5]@4", // Adim
AN: "[~@3 [g4,c#5] ~@3 [g4,c#5] [g4,c#5]@4 [g4,c#5]@3 [f4,d5]@5 ~@12]/2", // Gdim Dm
AO: "~@3 [f4,d5] ~@3 [f4,d5] [f4,d5]@3 [f4,d5,f5] [f4,d5,g5]@3 [f4,d5,a#5]", // Dm G7 A#
AP: "~@3 [g4,c#5] ~@3 [g4,c#5] [g4,c#5]@3 [g4,c#5,f5] [g4,c#5,g5]@3 [g4,c#5,a#5]", // Gdim Gm7b5 Gdim
AQ: "~@3 [f4,d5] ~@3 [f4,d5] [f4,d5]@3 [f4,d5,f5] [f4,d5,g5]@3 [f4,d5,c6]", // Dm G7 Dm7
AR: "[~@3 [g4,c#5] ~@3 [g4,c#5] [g4,c#5]@4 [g4,c#5]@3 [f4,d5]@5 ~@11 c#6, ~@15 a#5 ~@16]/2", AS: "~@15 a#5",
AT: "~@3 [f4,d5] ~@4 [f4,d5]@4 [f4,d5]@3 c#6", AU: "~@3 [f4,d5] ~@3 [f4,d5] [f4,d5]@3 [f4,d5] [f4,d5]@3 [f4,d5,a#5]",
AV: "~@3 [g4,c#5] ~@4 [g4,c#5]@4 [g4,c#5]@3 c#6", // Gdim
AW: "~@3 [g4,c#5] ~@3 [g4,c#5] [g4,c#5]@3 [g4,c#5] [g4,c#5]@3 [g4,c#5,a#5]", // Gdim
AX: "~@3 [a4,d#5] ~@4 [a4,d#5]@4 [a4,d#5]@3 c#6", // Adim
AY: "[~@3 [g4,c#5] ~@3 [g4,c#5] [g4,c#5]@4 [g4,c#5]@3 [f4,d5]@5 ~@3 a#5 ~@7 a#5, ~@15 a#5 ~@16]/2", // Gdim Dm
AZ: "~@7 c#6 ~@7 a#5", BA: "~@3 [f4,d5] ~@3 a#5 [f4,d5]@4 [f4,d5]@3 a#5",
BB: "~@3 [f4,d5] ~@3 [f4,d5,c#6] [f4,d5]@3 [f4,d5] [f4,d5]@3 [f4,d5,a#5]", // Dm C# Dm A#
BC: "~@3 [g4,c#5] ~@3 a#5 [g4,c#5]@4 [g4,c#5]@3 a#5", // Gdim
BD: "~@3 [g4,c#5] ~@3 [g4,c#5,c#6] [g4,c#5]@3 [g4,c#5] [g4,c#5]@3 [g4,c#5,a#5]", // Gdim
BE: "~@3 [g4,a#4,a#5]@5 [d#4,g4,g5]@3 [g4,a#4,f5] ~@4", // Gm D# Gm7
BF: "[a#3,a#4] ~@3 [a#3,a#4] [c4,c5] ~ [d4,d5] [f4,f5] ~@2 [d#4,d#5] [a#3,a#4] ~@2 [c4,c5]", // A# C D F D# A# C
BG: "[d4,d5] ~ [d4,f5] [f4,a#5]@5", // D Dm A#5
})).s("gm_trumpet").gain(0.26)
// other · french horn
const french_horn = note(`<
A@4 B C ~@2 B C ~ D E F@2 ~ G H G H I J G H K L@3 ~@12 M N ~@2 M N ~@2 O F@2 ~ G H G H I J G H K P@2 ~@2 Q ~ Q ~ Q ~ Q
~ R S T U V ~@2 U V ~ W X Y Z AA K AB K AB G H K AB AC AD@2 ~@2 AE ~ AE ~ AE ~ AF ~ AG AH AG AH AG AH AG AH AG AH AG
AH AG AI AJ AI AJ AI AJ AI AJ AI AJ AK@2 AL AM
>`.pickRestart({
A: "~@3 a4 ~@3 a3 ~@3 a4 f#4@3 e4", B: "e4@4 e4@3 e4@4 e4 ~@3 e4", C: "e4@3 e4 ~@3 d4 ~@3 a3 b3@3 c#4",
D: "~@11 e4 e4@3 e4", E: "e4@3 e4@4 d4@4 d4 d4@3 d4", F: "[e4@3 e4 d4@4 c4@4 a3@3 a3@5 ~@12]/2",
G: "~@3 c#4 ~@4 c#4@4 c#4@4", H: "~@3 c#4 ~@3 c#4 c#4@3 c#4 c#4@3 c#4", I: "~@3 c4 ~@4 c4@4 c4@4",
J: "~@3 c4 ~@3 c4 c4@3 c4 c4@3 c4", K: "~@3 d4 ~@4 d4@4 d4@4",
L: "[~@3 c4 ~@3 c4 c4@4 c4@3 c#4@5 ~@11 a3@5 ~@3 a4@5 ~@4]/3", M: "e4@3 e4 e4@3 e4 e4@4 e4@4",
N: "e4@3 e4 d4@3 d4 ~@3 a3 b3@3 c#4", O: "e4@3 e4 e4@3 e4 d4@4 d4@4", P: "[~@3 c4 ~@3 c4 c4@4 c4@3 c#4@5 ~@12]/2",
Q: "~@3 a4 ~@3 a4@5 ~@4", R: "~@11 a3 c#4 e4 ~ f#4", S: "a4@4 ~@3 f#4@9", T: "g4@3 f4 d4@3 c4@4 f4 g4@4",
U: "f4@4 f4@3 f4@5 f4@3 f4", V: "~@3 f4 d#4@3 d#4 ~@3 a#3 c4@3 d4", W: "~@11 g#4@5", X: "g4 ~@3", Y: "f4 ~@3",
Z: "a#3@3 f3 g3@3 a#3 f3@3 g3 a#3@3 c4", AA: "c#4@3 d4 a#3@3 f3 d#3@4 d3@4", AB: "~@3 d4 ~@3 d4 d4@3 d4 d4@3 d4",
AC: "~@3 d#4 ~@4 d#4@4 d#4@4", AD: "[~@3 c#4 ~@3 c#4 c#4@4 c#4@3 d4@5 ~@12]/2", AE: "~@11 f4 g4@3 a#4",
AF: "~@11 f4 g4@3 c5", AG: "~@15 a#4", AH: "~@15 c#5", AI: "~@7 a#4 ~@7 a#4", AJ: "~@7 c#5 ~@7 a#4",
AK: "~@3 a#4@5 g4@3 f4 ~@4", AL: "a#3 ~@3 a#3 c4 ~ d4 f4 ~@2 d#4 a#3 ~@2 c4", AM: "d4 ~ f4 a#4@5",
})).s("gm_french_horn").gain(0.26)
// other · alto sax
const alto_sax = note(`<
A@4 ~@2 A@2 ~@2 A@2 ~@2 A@2 B C B C B C B C D E@3 ~@14 A@2 ~@2 A@2 ~ F@3 B C B C B C B C G H I ~@2 J ~ J ~ K ~ J ~ L M
N O ~ P@2 ~@2 P Q R S T U V W V W V W V W X Y@2 ~ Z@8 ~@2 AA AB AA AB AA AB AA AB AA AB AA AB AC@10 AD@2 AE AF
>`.pickRestart({
A: "~@3 a4 ~@3 a3 ~@3 a4 f#4@3 e4", B: "~@3 a4 ~@4 a4@4 a4@4", C: "~@3 a4 ~@3 a4 a4@3 a4 a4@3 a4",
D: "~@3 b4 ~@4 b4@4 b4@4", E: "[~@3 a4 ~@3 a4 a4@4 a4@3 a4@5 ~@11 a3@5 ~@3 a4@5 ~@4]/3",
F: "[~@15 e4@5 ~@3 g4@5 ~@3 f#4@5 ~@3 f4@5 ~@4]/3", G: "~@3 [g#3,b3] ~@3 [f#3,a3] [g#3,b3]@4 ~@3 a3",
H: "~@3 f#3 a3@4 ~@3 a4 ~@3 f#4", I: "a4 ~@3", J: "~@3 e4 ~@3 e4@5 ~@4", K: "~@3 f#4 ~@3 f#4@5 ~@4",
L: "~@11 a3 c#4 e4 ~ f#4", M: "a4@3 g#4 g4@3 f#4@4 f#4 f#4@4", N: "g4@3 g4 g4@3 f4@4 f4 g4@4", O: "a#4 ~@3",
P: "~@3 a#4 ~@3 a#3 ~@3 a#4 g4@3 f4", Q: "~@3 a#4 ~@3 a#3 ~@3 g#4@5", R: "f4@4 f4@4 d#4@3 d#4 d#4@3 d#4",
S: "f4@4 d#4@3 d#4 c#4@4 a#3@3 a#3", T: "a#3@3 f3 g3@3 a#3 f3@3 g3 a#3@3 c4", U: "c#4@3 d4 a#3@3 f3 d#3@4 d3@4",
V: "~@3 a#4 ~@4 a#4@4 a#4@4", W: "~@3 a#4 ~@3 a#4 a#4@3 a#4 a#4@3 a#4", X: "~@3 c5 ~@4 c5@4 c5@4",
Y: "[~@3 a#4 ~@3 a#4 a#4@4 a#4@3 a#4@5 ~@12]/2", Z: "~@3 a#4 ~@3 g4 a#4@4 g4@4", AA: "~@7 a#4 ~@8", AB: "~@7 c#5 ~@8",
AC: "~@3 c#5 ~@7 c#5 ~@4", AD: "~@3 [g4,a#4]@5 [d#4,g4]@3 [g4,a#4] ~@4",
AE: "a#3 ~@3 a#3 c4 ~ d4 f4 ~@2 d#4 a#3 ~@2 c4", AF: "d4@2 ~@2 [c4,f4]@3 [d4,a#4]@9",
})).s("gm_alto_sax").gain(0.26)
// bass · tuba
const bass = note(`<
A B A B A@3 B C D A B E F A B A B A B C D A B E G@2 ~ A@3 B C D A B E F A B A@3 B C D A B E H@3 A B A B C D A B E F I
~@2 J ~ J ~ K ~ J ~ L M N O P O P Q@2 O P R S T@2 ~@10 U V O P O P Q@2 O P W X Y N O P O P Q@2 O P W X Y N O P O P Q@2
O P W X Z AA
>`.pickRestart({
A: "a1 c#2 e2 f#2", B: "g2 f#2 e2 c#2", C: "d2 f#2 a2 b2", D: "c3 b2 a2 f#2", E: "b1 c#2 d2 d#2", F: "e2 d2 c#2 b1",
G: "[e2@4 d2@4 c#2@4 b1@3 a1@5 ~@3 a2@5 ~@4]/2", H: "[e2@4 d2@4 c#2@4 b1@3 a1@5 ~@3 c2@5 ~@3 b1@5 ~@3 a#1@5 ~@4]/3",
I: "a1 ~@3", J: "~@3 a1 ~@3 a1@5 ~@4", K: "~@3 d2 ~@3 d2@5 ~@4", L: "~@11 e1 f#1@4", M: "a1!2 c2!2", N: "c2!2 f2!2",
O: "a#1 d2 f2 g2", P: "g#2 g2 f2 d2", Q: "d#2 g2 a#2 g2", R: "c2 ~@3", S: "f2 ~@3",
T: "[g2@7 f#2@5 c2@7 f#2@5 f2@4 c2@4]/2", U: "a#2 a2 g2 d2", V: "c2 d#2 f2 a2", W: "c2 d2 d#2 e2", X: "f2 d#2 d2 c2",
Y: "a#1!2 g1!2", Z: "a#1 ~@3 a#1 c2 ~ d2 f2 ~@2 d#2 a#1 ~@2 c2", AA: "d2@2 ~@2 f2@3 [a#1,a#2]@9",
})).s("gm_tuba").gain(0.26)
// chords · xylophone
const xylophone = note(`<
~@4 A B ~@2 A B ~ C D E@2 ~ F G F G H I F G J K@3 ~@12 L M ~@2 L M ~@2 N E@2 ~ F G F G H I F G J O@2 ~@2 P ~ P ~ Q ~ P
~ R S T U V ~@2 W V ~ X Y Z AA AB AC AD AC AD AE AF AC AD AG AH@2 ~@2 AI ~ AI ~ AI ~ AJ ~ AK AL AK AL AK AL AK AL AK
AL AK AL AK AM AN AM AN AM AN AM AN AM AN AO@2 AP AQ
>`.pickRestart({
A: "e5@4 e5@3 e5@4 e5 ~@3 e5", B: "e5@3 e5 ~@3 d5 ~@3 a4 b4@3 c#5", C: "~@11 e5 e5@3 e5",
D: "e5@3 e5@4 d5@4 d5 d5@3 d5", E: "[e5@3 e5 d5@4 c5@4 a4@3 a4@5 ~@12]/2", F: "~@3 [e4,a4] ~@4 [e4,a4]@4 [e4,a4]@4",
G: "~@3 [e4,a4] ~@3 [e4,a4] [e4,a4]@3 [e4,a4] [e4,a4]@3 [e4,a4]", H: "~@3 [f#4,a4] ~@4 [f#4,a4]@4 [f#4,a4]@4",
I: "~@3 [f#4,a4] ~@3 [f#4,a4] [f#4,a4]@3 [f#4,a4] [f#4,a4]@3 [f#4,a4]", J: "~@3 [g#4,b4] ~@4 [g#4,b4]@4 [g#4,b4]@4",
K: "[~@3 [f#4,a4] ~@3 [f#4,a4] [f#4,a4]@4 [f#4,a4]@3 a4@5 ~@11 a3@5 ~@3 a4@5 ~@4]/3", L: "e5@3 e5 e5@3 e5 e5@4 e5@4",
M: "e5@3 e5 d5@3 d5 ~@3 a4 b4@3 c#5", N: "e5@3 e5 e5@3 e5 d5@4 d5@4",
O: "[~@3 [f#4,a4] ~@3 [f#4,a4] [f#4,a4]@4 [f#4,a4]@3 [e4,a4]@5 ~@12]/2", P: "~@3 [a4,c#5] ~@3 [a4,c#5]@5 ~@4",
Q: "~@3 [a4,d5] ~@3 [a4,d5]@5 ~@4", R: "~@11 a3 c#4 e4 ~ f#4", S: "a4@3 g#4 g4@3 f#4@4 f#4 f#4@4",
T: "g4@3 g4 f#4@3 f4@4 f4 g4@4", U: "a#4@4 f4@3 f4@5 f4@3 f4", V: "~@3 f4 d#4@3 d#4 ~@3 a#3 c4@3 d4",
W: "f4@4 f4@3 f4@5 f4@3 f4", X: "~@11 [c#4,g4]@5", Y: "[c4,a#4] ~@3", Z: "[f4,d5] ~@3",
AA: "a#4@3 f4 g4@3 a#4 f4@3 g4 a#4@3 c5", AB: "c#5@3 d5 a#4@3 f4 d#4@4 d4@4",
// … 68 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.