0:00/0:00
// Star Wars Theme Cantina Band (12" Disco mix) — Meco
// 123.5 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 118 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 29.
setcpm(123.5/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 · brass section · "Meco STAR WARS"
const brass_section = note(`<
A B C B D E@2 F@2 G H I J K@2 L@2 M@2 N@2 O@2 P@2 Q@2 R S T U V W X Y@2 Z@2 AA@2 AB@2 AC@2 ~@5 AD@4 AE@2 AF@2 ~@36
AG@2 AH@2 AI@2 AJ@2 AK@2 N@2 AI@2 AJ@2 AK@2 AL@4 AM@2 AN
>`.pickRestart({
A: "~@30 [f4,a4,c5,f5] ~", B: "[f4,a4,c5,f5]@15 ~", C: "[d4,g4,b4,d5]@4 ~@26 [f4,a4,c5,f5] ~",
D: "[d4,g4,b4,d5]@5 ~@23 [g#4,c#5,f5,g#5] ~ [g#4,c#5,f5,g#5] ~", // G C#
E: "[[g#4,c#5,f5,g#5]@46 ~@2 [g4,c5,e5,g5]@12 [c#5,f5,g#5]@2 [c5,g5] ~, ~@31 e5]/2", // C# C C# C5
F: "[[a4,c5,f5] [g4,d5]@30 ~, ~@2 b4@57 ~@5]/2", G: "[a4,c5,d5,g5]@11 ~ [a4,c5,d5,g5] ~ [a4,c5,d5,g5]@5 ~@13",
H: "[a4,c5,d5,g5]@10 ~@2 [a4,c5,d5,g5] ~ [a4,c5,d5,g5]@4 ~@14", // Am7
I: "[a4,c5,d5,g5]@10 ~@2 [a4,c5,d5,g5] ~ [a4,c5,g5]@4 ~@2 [f4,a4,c5,f5]@4 ~@2 [f#4,a#4,c#5,f#5]@4 ~@2, ~@7 d5 ~@8", // Am7 F F#
J: "[g4,b4,d5,g5]@5 ~@27", K: "[c5@16 ~ g5@30 ~ f5@5 ~ e5@5 d5@5]/2", L: "[c6@12 g5@34 ~@2 f5@5 ~ e5@5 d5@5]/2",
M: "[c6@12 g5@35 ~ f5@6 e5@5 f5@5]/2", N: "[~ d5@62 ~]/2", O: "[c5@16 g5@30 ~@2 f5@6 e5@5 ~ d5@4]/2",
P: "[c6@12 g5@33 ~@3 f5@6 e5@5 d5@5]/2", Q: "[c6@12 g5@34 ~@2 f5@6 e5@5 f5@4 ~]/2", R: "d5@27 ~@3 f3 ~",
S: "f3@14 ~@2 d3@3 ~@11 f3 ~", T: "f3@15 ~ d3@2 ~@12 [c#5,f5] ~, ~@15 g#5",
U: "[c#5,f5,g#5]@22 ~@2 [c5,e5,g5]@4 [c#5,f5,g#5] ~ [c5,e5,g5] ~", // C# C C# C
V: "[c5,f5] ~@3 [g4,b4,d5]@24 ~@2 [a#4,d5,f5] ~, a4 ~@15", W: "[a#4,d5,f5]@14 ~@2 [g4,b4,d5]@4 ~@10 [a#4,d5,f5] ~",
X: "[a#4,d5,f5]@7 ~ [g4,b4,d5]@2 ~@6", // A# G
Y: "[[g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5] ~ [c#5,f5,g5]@2 ~@4 [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5] ~ [c#5,f5,g5] ~ [c#5,f5,g5]@2 ~@4 [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5]@20 ~@2 g4@10 ~@2, ~@6 g#4 ~@9 g#4@2 g#4 ~@45]/2", // C# Gm7b5 C# Gm7b5 C#
Z: "[c5@16 ~ g5@30 ~@2 f5@5 e5@5 ~ d5@4]/2", AA: "[c6@12 ~ g5@34 ~@2 f5@5 e5@5 ~ d5@4]/2",
AB: "[c6@12 ~ g5@35 f5@6 e5@5 f5@5]/2", AC: "[d5@13 ~@3]/2",
AD: "[~@25 g5@4 ~@2 g5@2 c6@2 ~@2 [g5,a#5] ~@3 [f5,g#5]@6 [d#5,g5]@2 [d5,f5]@2 ~@2 c5@2 ~@2 [a#4,d5]@5 ~ g#4@2 [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5] ~ [f5,g5]@2 [g#4,c#5,f5,g5]@2 ~@4 [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5] ~ [g#4,c#5,g5]@2 ~@4 [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5] ~ [g#4,c#5,f5,g5]@22 ~@4 g4@7, ~@33 g#5 ~@19 d#5 ~@9 c5 ~@5 [g#4,c#5] ~@13 f5 ~@44]/4", // Gm Fm D# Dm A# C# Fsus2 C# …
AE: "[~ c5@15 ~ g5@30 ~@2 f5@4 ~ e5@5 d5@5]/2", AF: "[~ c6@62 ~]/2", AG: "[~@29 d5 ~ e5@2 f5@22 ~@2 e5@4 f5@2 e5]/2",
AH: "[~ d5@61 ~@2]/2", AI: "[~ c5@16 ~ g5@30 ~ f5@5 ~ e5@5 d5@4]/2", AJ: "[~ c6@12 g5@34 ~@2 f5@5 ~ e5@5 d5@4]/2",
AK: "[~ c6@12 g5@35 ~ f5@6 e5@5 f5@4]/2",
AL: "[~ [f4,a#4,d5]@53 ~@3 g4@3 ~@3 g4@2 c5@14 ~@2 g5@31 ~ f5@4 ~@2 e5@4 ~@2 d5@3]/4", AM: "[~ c6@31]/2",
AN: "~ [e5,g5,c6] ~ [e5,g5,c6] ~ [e5,g5] ~ [e5,g5,a5] ~@24, ~@5 c6@2 c6@2 ~@23", // C Em A7
})).s("gm_brass_section").gain(0.64)
// bass · electric bass finger
const bass = note(`<
A B@2 C@2 D E F G H I J K L M N O P Q R S T U P V W X Y Z AA AB AC Z AA AD@2 L M N O P Q AE AF AG AH AI@2 AJ AK AL@3
AM AN AO AP AQ ~@2 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 BS BT BU BV BW
BX@3 BY BZ CA CB CC CD CE CF CG CH CA CB CC CD CE CF CG CH AM AN AO AP CI
>`.pickRestart({
A: "~@30 [g0,g1] ~", B: "[[g0,g1]@51 ~ [f0,f1]@2 [f#0,f#1]@2 [g0,g1]@4 ~@2 [g0,g1]@2]/2",
C: "[[f0,f1]@24 ~@2 d#2 [e1,e2] [f1,f2]@2 ~ f1, ~@52 d#1 ~@9 f2 ~]/2", D: "[d#1,d#2]@13 ~ [d#1,d#2] [d1,d2]",
E: "[c1,c2]@15 ~ [d1,d2]@14 ~@2", F: "g1@5 ~ g1@2 a#1@4 g1@5 ~ a#1 ~ a#1@2 ~@2 g1@4 f1@2 ~@2",
G: "g1@5 ~ g1@2 a#1@4 g1@5 ~ a#1 ~ a#1@3 ~ g1@4 f1@3 ~", H: "g1@5 ~ g1@2 a#1@4 g1@4 ~@8 f1 ~ f1 ~ f#1 ~ f#1 ~",
I: "g1@4 ~@2 g1@2 a#1@4 g1@5 ~@7 f1 ~ f1 ~ f#1 ~ f#1 ~", J: "g1@5 ~ g1@2 a#1@4 g1@3 ~@5 [f0,f1]@5 ~ [f#0,f#1]@4 ~@2",
K: "[g0,g1] ~@7", L: "c2@4 ~@2 c2 ~ c2@2 ~@2 c2@3 ~ a1@6 ~@2 g1@6 ~@2",
M: "c2@4 ~@2 c2 ~ c2 ~@3 c2 ~@3 c2@7 ~ g1@4 a1@4", N: "c2@4 ~@2 c2 ~ c2 ~@3 c2@3 ~ a1@6 ~@2 g1@7 ~",
O: "c2@4 ~@2 c2 ~ c2@2 ~@2 c2@2 ~@2 c2@6 ~@2 c2@4 d2@3 ~", P: "c2@4 ~@2 c2 ~ c2@2 ~@2 c2@2 ~@2 a1@7 ~ g1@6 ~@2",
Q: "c2@4 ~@2 c2 ~ c2@2 ~@2 c2 ~@3 c2@4 g1@3 ~ c2@3 ~ b1@4", R: "a#1@4 f1@4 f#1 ~@3 g1@7 ~ e1@4 f1@2 ~@2 f#1 ~@3",
S: "g1@3 ~ e1@4 f1@4 f#1@4 g1@4 a1@4 a#1@4 b1@4", T: "c2@4 ~@2 c2 ~ c2@2 ~@2 c2@3 ~ a1@7 ~ g1@7 ~",
U: "c2@4 ~@2 c2 ~ c2 ~@3 c2 ~@3 c2@7 ~ g1@4 a1@3 ~", V: "c2@4 ~@2 c2 ~ c2@2 ~@2 c2 ~@3 c2@6 ~@2 c2@4 d2@4",
W: "c2@4 ~@2 c2 ~ c2@2 ~@2 c2@2 ~@2 a1@7 ~ g1@5 ~@3", X: "c2@4 ~@2 c2 ~ c2 ~@3 c2 ~@3 c2@4 g1@3 ~ c2@4 b1@4",
Y: "a#1@4 ~@2 a#1 ~ a#1@2 ~@2 g1@18 ~@2", Z: "f1@14 ~@2 g1@3 ~@13", AA: "f1@15 ~ g1@3 ~@13",
AB: "g#1@4 g#2@3 ~ e1@4 e2@3 ~ f1@4 f2@3 ~ f#1@4 f#2@3 ~",
AC: "g1@3 ~ g2@3 ~ g1@3 ~ g2@3 ~ g1@4 g2@3 ~ g1@3 ~ g2@3 ~",
AD: "[g1 ~ g1 ~ g1 ~ g1@2 ~@4 g1 ~ g1 ~ g1 ~ g1 ~@5 g1 ~ g1 ~ g1 ~ g1@19 ~@3 g1@9 ~@3]/2",
AE: "a#1@4 f1@4 f#1@3 ~ g1@8 e1@4 f1@4 f#1@3 ~", AF: "g1@4 e1@4 f1@4 f#1@4 g1@4 a1@4 ~ b1@7",
AG: "~ g1@4 ~@2 g1 ~ g1@2 ~@2 g1 ~@3 g1@10 ~@2 g1 ~@2", AH: "~ g1@9 ~@3 f1@2 f#1@2 g1@3 ~ f1 ~ f#1@2 g1@6 ~",
AI: "[~ g1@4 ~@2 g1 ~ g1@2 ~@2 g1 ~@3 g1@9 ~@3 f1@2 [f#1,g1]@3 ~@3 a#1@2 a1@2 g1@3 ~ f1@2 ~@2 g1@6 ~@2 g1@6 ~]/2", // Gmaj7
AJ: "~ f1@4 ~@2 f1 ~ f1 ~@3 f1 ~@3 f1@5 ~@3 f1@5 ~@2", AK: "~ f#1@5 ~@3 f#1@6 ~@2 g1@6 ~@2 g1@4 ~@2 g1",
AL: "[~ d1 ~@3 e1@2 ~@2 f1@4 ~@2 g1@2 g#1@2 ~@2 a#1 ~@3 c2@4 ~@2 c2@2 g1 ~ g1 ~ g1 ~ g1 ~@5 g1 ~ g1 ~ g1 ~ g1 ~@5 g1 ~ g1 ~ g1 ~ g1@23 ~@3 g1@7]/3",
AM: "~ c2@4 ~@2 c2 ~ c2 ~@3 c2 ~@3 c2@10 ~@2 c2@2 ~", AN: "~ a#1@15 ~ a#2@15",
AO: "~ a1@4 ~@2 a1 ~ a1 ~@3 a1 ~@3 a1@4 f2@4 c2@4 a1@3", AP: "~ g#1@9 ~@3 g#1 ~ g#1 ~ g#1@14 ~", AQ: "~ d1@4 ~@27",
AR: "~@25 a1@7", AS: "~ d2@5 ~@3 a1@4 ~@2 a1@2 d2@4 ~@2 d2@2 c2 ~ c2@5",
AT: "~ a#1@7 ~ f1@7 ~ a#1@4 ~@2 a#1@2 c2@4 c#2@3", AU: "~ d2@7 ~ a1@4 ~@2 a1@2 d2@4 ~@2 d2@2 c2 ~ c2@5",
AV: "~ a#1@7 ~ f1@4 ~@2 f1@2 a#1@2 ~@2 a#1@4 c2@4 c#2@3", AW: "~ d2@7 ~ e2@7 ~ f2@6 ~@2 e2@6 ~",
AX: "~ d2@7 ~ a1@8 b1 ~ b1@4 ~@2 c2@2 ~@2 c#2@2 ~", AY: "~ d2@6 ~@2 e2@6 ~@2 f2@6 ~@2 f#2@5 ~@2",
AZ: "~ g2@7 ~ b1@7 ~ c2@3 ~ e1@4 g1@4 a1@3", BA: "~ d2@7 ~ e2@6 ~@2 f2@7 ~ e2@6 ~", BB: "~ d2@7 ~ e2@7 ~ f2@7 ~ f1@7",
BC: "~ a#1@7 ~ b1@6 ~@2 c2@6 ~@2 d2@6 ~", BD: "~ g1@7 ~ c2@7 ~ f1@8 f2@6 ~",
BE: "~ d2@4 d3@2 ~@2 c#2@3 ~ c#3@2 ~@2 c2@4 c3@2 ~@2 b1@3 ~ b2@2 ~",
BF: "~ a#1@3 ~ a#2@2 ~@2 b1@3 ~ b2@2 ~@2 c2@4 c3@2 ~@2 c#2@3 ~ c#3@2 ~",
BG: "~ d2@4 d3@2 ~@2 c#2@3 ~ c#3@2 ~@2 c2@3 ~ c3@2 ~@2 b1@4 b2@2 ~",
BH: "~ a#1@3 ~ a#2@2 ~@2 b1@4 b2@2 ~@2 c2@4 c3@2 ~@2 c#2@3 ~ c#3@2 ~",
BI: "~ d2@4 d3@2 ~@2 c#2@3 ~ c#3@2 ~@2 c2@3 ~ c3@2 ~@2 b1@3 ~ b2@2 ~",
BJ: "~ a#1@3 ~ a#2@2 ~@2 b1@3 ~ b2@2 ~@2 c2@3 ~ c3@2 ~@2 c#2@3 ~ c#3@3",
BK: "~ d2@4 d3@2 ~@2 c#2@3 ~ c#3@2 ~@2 c2@4 c3@2 ~@2 b1@4 b2@2 ~",
BL: "~ a#1@7 ~ f1@4 ~@2 f1@2 a#1@2 ~@2 a#1@2 ~@2 c2@2 ~@2 c#2 ~@2", BM: "~ d2@7 ~ a1@7 ~ d2@6 ~@2 c2@7",
BN: "~ a#1@7 ~ f1@5 ~ f1@2 a#1 ~@3 a#1@4 c2@4 c#2@3", BO: "~ d2@8 a1@7 ~ d2@6 ~@2 c2@6 ~",
BP: "~ a#1@7 ~ f1@4 ~@2 f1@2 a#1 ~@3 a#1@3 ~ c2@4 c#2@2 ~",
BQ: "~ a1@4 ~@2 a1@2 c2@2 ~@2 a1@6 ~@2 g1@3 ~ e1@4 g1@2 ~",
BR: "~ a1@4 ~@2 a1@2 c2@2 ~@2 a1@6 ~@2 g1@2 ~@2 e1@3 ~ g1@2 ~",
BS: "~ a1@4 ~@2 a1@2 c2@3 ~ a1@6 ~@2 g1@4 e1@4 g1@2 ~", BT: "~ d2@4 ~@2 d2 ~ d2 ~@3 d2@2 ~@2 d2@2 ~@2 e2@7 ~ e1@3",
BU: "~ a1@4 ~@2 a1@2 c2@3 ~ a1@6 ~@2 c2@4 a1@4 g1@3", BV: "~ f1@5 ~ f1 ~ f1@2 ~@2 f1@6 ~@2 f1@2 ~@2 f1 ~@3 f1@3",
BW: "~ a1@7 ~ c2@4 d2@4 e2@15",
BX: "[~ c2@3 ~ a1@22 ~@2 a1@2 b1@2 c2@26 ~@2 a#1@2 a1@2 g1@4 g2@3 ~ e1@4 e2@3 ~ f1@4 f2@3 ~ f#1@3 ~ f#2@3]/3",
BY: "~ g1@24 d2@7", BZ: "~ g1@28 ~@3", CA: "~ c2@4 ~@2 c2 ~ c2@2 ~@2 c2@3 ~ a1@6 ~@2 g1@6 ~",
CB: "~ c2@4 ~@2 c2 ~ c2 ~@3 c2 ~@3 c2@7 ~ g1@4 a1@3", CC: "~ c2@4 ~@2 c2 ~ c2 ~@3 c2@3 ~ a1@6 ~@2 g1@7",
CD: "~ c2@4 ~@2 c2 ~ c2@2 ~@2 c2@2 ~@2 c2@6 ~@2 c2@4 d2@3", CE: "~ c2@4 ~@2 c2 ~ c2@2 ~@2 c2@2 ~@2 a1@7 ~ g1@6 ~",
CF: "~ c2@4 ~@2 c2 ~ c2@2 ~@2 c2 ~@3 c2@4 g1@3 ~ c2@3 ~ b1@3",
CG: "~ a#1@4 f1@4 f#1 ~@3 g1@7 ~ e1@4 f1@2 ~@2 f#1 ~@2", CH: "~ g1@3 ~ e1@4 f1@4 f#1@4 g1@4 a1@4 a#1@4 b1@3",
CI: "~ [c1,c2] ~ [c1,c2] ~ c2@2 [c1,c2] ~@24, ~@5 c1 ~@26", // C
})).s("gm_electric_bass_finger").gain(0.46)
// other · string ensemble 1
const string_ensemble_1 = note(`<
~ A@4 B@2 C@5 D E@4 F G@3 E@4 F G H ~@3 I J K ~@2 E@4 F G@2 L M N O P Q@2 R@3 S@2 T U@2 ~@25 V@2 ~@7 W X@3 Y Z@16 AA@5
>`.pickRestart({
A: "[g6@125 ~@2 c7, ~@125 a6@2 ~, ~@63 b6]/4", B: "[c#7@49 c7@15]/2", C: "[~ g6@144 ~@3 f6@5 ~ f#6@4 ~@2]/5",
D: "g6 ~@7", E: "c6 d6 e6 f6 g6 a6 a#6 b6 c7 b6 a#6 a6 g6 f6 e6 d6",
F: "c6 d6 e6 f6 g6 a6 a#6 b6 c7 b6 a6 g6 f6 e6 d6 c#6", G: "a#5 c6 d6 d#6 f6 g6 g#6 a6 a#6 a6 g#6 g6 f6 d#6 d6 c6",
H: "[f3,a#3,d4]@4 ~@2 [f3,a#3,d4] ~ [f3,a#3] ~@3 [d3,g3,b3]@17 ~@3, ~@4 d4 ~@11", // A# A#5 G
I: "a4 g4 a4 a#4 c5 a#4 c5 d5 d#5 d5 d#5 f5 g5 f5 g5 a5",
J: "a#5@2 c6@2 a#5@2 a5 ~ a#5@2 a5@2 g5@2 f5@2 g5@4 ~@10 a#5 ~",
K: "a#5@2 c6@2 a#5@2 a5 ~ a#5@2 a5@2 g5@2 f5@2 g5@3 ~@13", L: "[a#4,a#5]@21 ~@3 g4@5 ~ g4@2",
M: "a4@10 ~@2 a4@4 f5@4 e5@3 d5@4 ~ c5@2 ~@2", N: "c5@3 d5@3 e5@2 d5@3 ~ a4@3 ~ b4@7 ~ g4@5 ~ g4 ~",
O: "a4@5 ~ a4@2 f5@2 e5@2 d5@2 c5@2", P: "g5@5 ~@2 d5 ~ d5@14 ~@2 g4@4 ~ g4@2, ~@24 g5@4 ~@2 g5 ~",
Q: "[~ a5@10 ~ [a4,a5]@3 ~ f6@3 ~ e6@4 [d5,d6]@3 ~ c5@2 ~@2 c5@2 [d5,d6]@2 [e5,e6]@4 [d5,d6]@3 ~ [a4,a5]@3 ~ [b4,b5]@7 ~@9, a4@11 ~@4 f5@4 e5@4 ~@4 c6@2 ~@2 c6@3 ~@30]/2", // A D E D A B
R: "[~ g#5@2 ~@2 g5@2 ~@2 [f5,g#5]@6 [d#5,g5]@2 d5@2 ~@2 c5@2 ~@2 [a#4,d5]@5 ~ [g#4,c5]@2 [f4,f5]@2 [f#4,f#5]@2 [g4,g5]@2 [g#4,g#5]@2 [a4,a5]@2 [a#4,a#5]@2 [b4,b5]@2 [c5,c6]@2 [c#5,c#6]@2 [d5,d6]@2 [d#5,d#6]@2 [e5,e6]@2 [f5,f6]@2 [f#5,f#6]@2 [g5,g6]@2 [g#5,g#6]@26 [g4,b4,d5]@6 ~, ~ c6 ~@3 a#5 ~@11 f5 ~@3 d#5 ~@74]/3", // Fm D# A# G# F F# G G# …
S: "[~ [c5,c6]@16 [g5,g6]@30 ~@2 f6@4 ~@2 e6@4 [d5,d6]@4 ~, ~@47 f5@5 ~ e5@4 ~@7]/2", T: "~ [c6,c7]@31",
U: "[~ a#3@2 c4@2 d4@2 d#4@2 f4@2 g4@2 a4@2 a#4@2 c5@2 d5@2 d#5@2 f5@2 g5@2 a5@2 a#5@2 c6@2 [d6,f6,a6]@4 ~@27]/2", // Dm
V: "[~ [d3,d4]@8 [e3,e4]@16 [f3,f4]@16 [g3,g4]@16 [a3,a4]@4 [a#3,a#4]@3]/2", W: "~ [a3,c4,e4]@30 ~",
X: "[~ [c4,d#4,g4]@12 a#4 ~ c5@2 d5@8 a#4@2 ~@2 d6@2 e6@2 f6@23 ~ e6@4 f6@2 e6@2 d6 ~ e6 d6 ~ e6 d6 e6 ~ d6 e6 d6 e6 ~ d6 e6 d6 e6 ~ d6 e6 d6 ~ e6 d6 ~ e6 d6 e6 d6 ~]/3", // Cm
Y: "e6 d6 ~ e6 d6 e6 ~ d6 e6 d6 ~ e6 d6 ~ e6 d6 e6 ~ d6 e6 ~ d6 e6 d6@2 e6 d6 ~ e6 ~ e6 d6, ~@29 d6@2 ~",
Z: "[~ c6@2 d6@2 e6@2 f6@2 g6@2 a6@2 a#6@2 b6@2 c7@2 b6@2 a#6@2 a6@2 g6@2 f6@2 e6@2 d6@2 c6@2 d6@2 e6@2 f6@2 g6@2 a6@2 a#6@2 b6@2 c7@2 b6@2 a#6@2 a6@2 g6@2 f6@2 e6@2 d6@2 c6@2 d6@2 e6@2 f6@2 g6@2 a6@2 a#6@2 b6@2 c7@2 b6@2 a#6@2 a6@2 g6@2 f6@2 e6@2 d6@2 c6@2 d6@2 e6@2 f6@2 g6@2 a6@2 a#6@2 b6@2 c7@2 b6@2 a#6@2 a6@2 g6@2 f6@2 e6@2 d6@2 c6@2 d6@2 e6@2 f6@2 g6@2 a6@2 a#6@2 b6@2 c7@2 b6@2 a6@2 g6@2 f6@2 e6@2 d6@2 c#6@2 a#5@2 c6@2 d6@2 d#6@2 f6@2 g6@2 g#6@2 a6@2 a#6@2 a6@2 g#6@2 g6@2 f6@2 d#6@2 d6@2 c6@2 a#5@2 c6@2 d6@2 d#6@2 f6@2 g6@2 g#6@2 a6@2 a#6@2 a6@2 g#6@2 g6@2 f6@2 d#6@2 d6@2 c6@2 a#5@2 c6@2 d6@2 d#6@2 f6@2 g6@2 g#6@2 a6@2 a#6@2 a6@2 g#6@2 g6@2 f6@2 d#6@2 d6@2 c6]/8",
AA: "[~ [c5,c6]@2 [b4,b5]@2 [a4,a5]@2 [g4,g5]@2 [c5,c6]@2 b5@2 a5@2 [g4,g5]@2 [c5,c6]@2 [b4,b5]@2 [a4,a5]@2 [g4,g5]@2 [c5,c6]@2 [b4,b5]@2 [a4,a5]@2 [g4,g5]@2 [a#4,a#5]@2 [a4,a5]@2 [g4,g5]@2 [f4,f5]@2 [a#4,a#5]@2 [a4,a5]@2 [g4,g5]@2 [f4,f5]@2 [a#4,a#5]@2 [a4,a5]@2 [g4,g5]@2 [f4,f5]@2 [a#4,a#5]@2 [a4,a5]@2 [g4,g5]@2 [f4,f5]@2 [f5,f6]@2 [e5,e6]@2 [d5,d6]@2 [c5,c6]@2 f6@2 [e5,e6]@2 [d5,d6]@2 [c5,c6]@2 [f5,f6]@2 [e5,e6]@2 [d5,d6]@2 [c5,c6]@2 [f5,f6]@2 [e5,e6]@2 [d5,d6]@2 [c5,c6]@2 [c5,c6]@2 [a#4,a#5]@2 [c5,c6]@2 [d5,d6]@2 [d#5,d#6]@2 [d5,d6]@2 [d#5,d#6]@2 [f5,f6]@2 [g5,g6]@2 [f5,f6]@2 [g5,g6]@2 [g#5,g#6]@2 [a#5,a#6]@2 [a5,a6]@2 [a#5,a#6]@2 [b5,b6]@2 [c6,c7] ~ [c6,c7] ~ [c6,c7] ~ [c6,c7] ~@24]/5", // C B A G C G C B …
})).s("gm_string_ensemble_1").gain(0.35)
// chords · trombone
const trombone = note(`<
~@16 A ~@10 B C D E F G H I@2 ~@3 A ~@2 J@2 ~@5 K@2 L@2 M@2 N@2 ~@6 O@2 ~@9 P ~ Q ~@3 R ~ S ~ P ~@7 T@5 ~@3 U ~@7 U
~@4 V@2 W@2 X
>`.pickRestart({
A: "~ d5", B: "[f3,a#3,d4]@5 ~ [f3,a#3,d4] ~ [f3,a#3,d4]@2 ~@2 [d3,g3,b3]@18 [d3,g3] ~, ~@15 b3",
C: "[d3,f3,a#3]@14 ~@2 [d3,g3,b3]@3 ~@11 [d3,f3,a#3] ~", // A# G A#
D: "[d3,f3,a#3]@14 ~@2 [b2,d3,g3]@3 ~@11 [c#3,f3,g#3] ~, ~@16 c3 ~@15", // A# G C#
E: "[c#3,f3,g#3]@22 ~@2 [c3,e3,g3]@4 [c#3,f3,g#3] ~ [c3,e3,g3] ~", // C# C C# C
F: "[a2,f3]@2 ~@2 [g2,b2]@24 ~@2 [a#2,d3,f3] ~, c3 ~@3 d3@21 ~@7", // Dm G A#
G: "[a#2,d3,f3]@16 [g2,b2,d3]@3 ~@11 [a#2,d3,f3] ~", H: "[a#2,d3,f3]@15 ~ [g2,b2,d3]@3 ~@13",
I: "[[g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~@5 [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~@5 [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3]@19 ~@3 [g2,g3]@9 ~@3]/2", // C# G
J: "[a#4@63 ~, f4@55 ~@9]/2",
K: "[~@25 g3@4 ~@2 g3@2 [g#3,c4] ~@3 [g3,a#3] ~@3 [f3,g#3]@6 d#3@2 [d3,f3]@2 ~@2 [c3,d#3] ~@3 [a#2,d3]@6 [g#2,c3], ~@47 g3 ~@16]/2", // G# Gm Fm Dm Cm A# G#
L: "[~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3] ~@5 [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3] ~@5 [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3] ~ [g#2,c#3,f3,g3]@22 ~@4 [g2,g3]@6 ~, ~@7 g3@2 ~@10 g3@2 ~@43]/2", // C# G
M: "[~ [c3,e3,g3]@15 ~ [g3,e4]@30 ~@2 c4@4 ~ [e3,g3,c4]@4 ~@2 [d3,c4]@4, ~@16 c4@31 ~ [f3,g3]@4 ~@7 g3@4 ~]/2", // C D7 Fsus2
N: "[~ a4@32 g#4@30 ~, ~ [c4,f4]@61 ~@2]/2", O: "[~@9 a3@24 a#3@30 ~, ~@9 [f3,d4]@55]/2",
P: "~@13 c#4@4 d4@4 c#4@4 d4@2 ~@5", Q: "~@13 c#4@4 d4@4 c#4@3 ~@8",
R: "~@5 d4@2 ~@2 f4 ~@3 g4 ~@3 g#4 ~@3 g4 ~@3 f4@2 d4@3 ~@2", S: "~@13 c#4@4 d4@4 c#4@4 d4@3 ~@4",
T: "[~@29 g3@2 a3@2 [c3,a#3]@8 [c3,d#3,g3]@3 ~ a#3 ~@3 [g3,a#3,d4]@8 [d#3,g3]@3 ~ d4@2 e4@2 [g3,d4,f4]@22 ~@2 [g3,c4]@4 f4@2 e4@2 [g3,b3,d4]@61 ~@2, ~@57 a#3 ~@31 e4@3 ~@68]/5", // C7 Cm Gm D# G7 C5 G
U: "~@17 d5@15",
V: "[~ [c3,e3,g3]@15 ~ [g3,c4,e4]@31 ~ [f3,g3,c4]@4 ~@2 [e3,c4]@4 ~@2 [d3,c4]@3, ~@54 g3@3 ~@3 g3@4]/2", // C Fsus2 C D7
W: "[~@2 a4@31 g#4@30 ~, ~ [c4,f4]@61 ~@2]/2", X: "~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~@24",
})).s("gm_trombone").gain(0.25)
// chords · trombone · soft notes
const trombone_soft = note(`<
~@7 A B ~@4 C D E F G D H@2 I J K L M J N ~@8 O P E F Q D ~@2 R ~@31 S ~@14 T ~ U V ~@2 W X Y Z AA X AB@2 AC X Y Z AD
X AB@2 AE ~@4
>`.pickRestart({
A: "g2@3 ~@3 g2@2 a#2@2 ~@2 g2@4 ~@2 a#2 ~ a#2 ~@3 g2@2 ~@2 f2@2 ~@2",
B: "g2@4 ~@2 g2@2 a#2@2 ~@2 g2@4 ~@2 a#2 ~ a#2 ~@3 g2@2 ~@2 f2@2 ~@2", C: "[e4,g4]@15 ~ [b4,d5]@16",
D: "[a4,c5] [b4,d5]", E: "[e5,g5]@13 [b4,d5]@19", F: "[a4,c5] b4", G: "~ e5@11 [b4,d5]@20, g5@11 ~@21",
H: "[~ f4@63, a#4@63 ~]/2", I: "[e4,g4] [b4,d5]", J: "~ c5@15 [b4,d5]@16, a4 ~", K: "~ g5@11 ~ d5@19, e5@12 b4@19 ~",
L: "[a4,c5]@16 ~ d5@15, ~@16 b4@15 ~", M: "~ g5@11 ~ d5@19, e5@3 b4@5", N: "a#4@7 ~",
O: "~ g4@15 [b4,d5]@16, e4@15 ~@17", P: "~ a4@15 [b4,d5]@16, c5@17 ~@15", Q: "~ e5@11 ~ b4@19, g5@11 ~ d5@20",
R: "g4 ~", S: "~@25 d4@3 ~@4", T: "~ [a2,c3,e3]@8 [c3,e3,a3]@4 [e3,a3,c4]@4 [g#3,b3,e4]@12 ~@3",
U: "~ [d#3,g3]@6 ~@8 c4@2 ~@15", V: "~ a#3@22 ~@9", W: "~ [e4,g4]@15 ~ [b4,d5]@15", X: "~ [a4,c5]@16 [b4,d5]@15",
Y: "~ [e5,g5]@13 [b4,d5]@18", Z: "~ [a4,c5]@16 b4@15", AA: "~ [e5,g5]@12 [b4,d5]@19", AB: "[~ f4@31, ~ a#4@63]/2",
AC: "~ g4 g4@15 [b4,d5]@15, ~ e4@15 ~@16", AD: "~@2 e5@11 [b4,d5]@19, ~ g5@11 ~@20", AE: "~ g4@16 ~@15",
})).s("gm_trombone").gain(0.15)
// other · trombone
const trombone_2 = note(`<
~@13 A@2 B@2 C@2 D@2 E@2 F@2 G@2 H ~@8 A@2 I@2 J@2 K@2 ~ L M N O P ~@26 Q ~@8 R S T U V W ~@6 X@2 Y@2 Z@2 AA@2 X@2 Y@2
AB@2 AC@3 ~@4
>`.pickRestart({
A: "[~ c3@15 g3@30 ~@2 f3@6 e3@5 ~ d3@4]/2", B: "[~ c4@11 g3@33 ~@3 f3@6 e3@5 ~ d3@3 ~]/2",
C: "[c4@11 ~ g3@34 ~@2 f3@4 ~ e3@4 ~@2 f3@4 ~]/2", D: "[d3@61 ~@3]/2", E: "[c3@15 ~ g3@30 ~@2 f3@6 e3@5 ~ d3@4]/2",
F: "[~ c4@11 g3@34 ~@2 f3@6 e3@5 ~ d3@3 ~]/2", G: "[~ c4@11 g3@34 ~@2 f3@5 ~ e3@5 ~ f3@4]/2", H: "~ d3@27 ~@4",
I: "[~ c4@11 g3@33 ~@3 f3@6 ~ e3@5 ~ d3@3]/2", J: "[~ c4@11 ~ g3@34 ~ f3@4 ~@2 e3@4 ~ f3@4 ~]/2", K: "[d3@53 ~@11]/2",
L: "~ a3@15 ~ [d3,g3]@7 ~ [b2,d3]@7", M: "~ c3@15 ~ [f3,a3]@15", N: "~ a3@7 ~ [f3,a3]@8 [g3,b3]@14 ~",
O: "~ c3@15 ~ [f3,a3,c4]@15", P: "~@17 d3@13 ~@2", Q: "~@25 a3@2 ~@5",
R: "~ a2@4 ~@2 a2 ~ c3@2 ~@2 a2@6 ~@2 g2@3 ~ e2@2 ~@2 g2@2 ~",
S: "~ a2@4 ~@2 a2@2 c3@2 ~@2 a2@6 ~@2 g2@3 ~ e2@2 ~@2 g2 ~@2",
T: "~ a2@4 ~@2 a2@2 c3@2 ~@2 a2@5 ~@3 g2@3 ~ e2@2 ~@2 g2@2 ~", U: "~ d3@4 ~@2 d3 ~ d3 ~@3 d3@2 ~@2 d3@2 ~@2 e3@9 ~@2",
V: "~ a2@3 ~@3 a2@2 c3@2 ~@2 a2@6 ~@2 c3@2 ~@2 a2@2 ~@2 g2@2 ~", W: "~ f2@21 ~@10",
X: "[~@2 c3@15 g3@30 ~@2 f3@6 e3@5 ~ d3@3]/2", Y: "[~@2 c4@11 g3@33 ~@3 f3@6 e3@5 ~ d3@3]/2",
Z: "[~ c4@11 ~ g3@34 ~@2 f3@4 ~ e3@4 ~@2 f3@4]/2", AA: "[~ d3@61 ~@2]/2",
AB: "[~ c4@11 ~ g3@34 ~@2 f3@4 ~@2 e3@4 ~ f3@4]/2", AC: "[~ d3@55 ~ g3@4 ~@2 g3@2 ~@31]/3",
})).s("gm_trombone").gain(0.25)
// other · trombone · soft notes
const trombone_soft_2 = note("<~@44 A B C D E F ~@24 G ~ H ~@5 I ~ G ~@33>".pickRestart({
A: "~ [c3,f3,a3]@16 [f3,a3,c4]@15", B: "~ f3@16 b3@8 g3@7", C: "~ [f3,a3]@16 c4@15", D: "~ c4@6 ~@25",
E: "~ [f3,a3]@16 ~@15", F: "~ [f#3,a3]@16 g3@9 ~@6", G: "~@13 [f3,a3]@9 ~@3 [f3,a3]@3 ~@4",
H: "~@13 [f3,a3]@9 ~@3 f3@2 ~@5", I: "~@13 [f3,a3]@10 ~@2 [f3,a3]@3 ~@4",
})).s("gm_trombone").gain(0.14)
// other · synth drum
const synth_drum = note("<~@2 A ~ B@2 C ~@21 D E ~@2 F G ~@84>".pickRestart({
A: "~@7 a6@2 [e6,g6] ~@2 b5 f6@2 e6 a6 f6 ~ e6 a6 ~@2 a6 e6 ~@2 [b5,f6]@2 e6@2 ~, ~@6 a6 ~@3 b5 ~@5, ~@21 f6@4 ~ a6@2 ~@4", // Em Bdim
B: "[~@13 [a6,b6] g6 e6 ~ [a6,b6] g6 e6 [a6,b6] g6 ~ e6 b6 g6 ~ e6 g6@2 ~ [e6,b6] ~@32, ~@24 c6@2 ~ b6@2 ~@2 c6@2 ~@31]/2", // Asus2 E5
C: "~@12 c7 ~ [g6,a6] ~ c7@2 ~@2 c7 f6@2 ~ [f6,b6] ~@2 c7 ~@4, ~@21 b6 ~ c7@2 ~@7", D: "~@21 c6@2 a5@2 f5@2 ~@5",
E: "~@20 c5@2 a4@2 g4@3 ~@5", F: "~@11 a5 g5 ~@3, ~@21 [c6,d6]@2 ~@9", G: "~@10 f5 e5 c5 ~@3",
})).s("gm_synth_drum").gain(0.3)
// … 173 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.