0:00/0:00
// West Side Story: Medley — Bernstein Leonard
// 48 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 2 "Ac. Bass" named as a bass, played on electric bass finger (its piano patch is not one); ch 3 "String 2" named as a string part, played on string ensemble 1 (its piano patch is not one); ch 4 "String 1" named as a string part, played on string ensemble 1 (its piano patch is not one)
// note: 206 stray notes after a silence of more than 6 bars (from bar 119) are dropped
// note: Full arrangement: all 112 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(48/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.
// bass · electric bass finger · "Ac. Bass"
const bass = note(`<
A@4 B@2 C D E F G H I J K L M N@2 O P Q R S T U V W@2 X Y@3 Z AA@3 ~@2 AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP@2
AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD@4 BE@7 BF@2 BG@2 BH@7 ~ BI BJ BK BL BM BN BO BP BQ BR BS ~ BT BU BV BW BX@4
~
>`.pickRestart({
A: "[~@23 f1@17 ~ f1!2 ~ g#1@16 d2@10 ~ c#2@10 ~ c2@8 d#2@2 c3@2 ~ g#2@2 ~ d#2@2 c2@2 ~ e2@21 d#2 ~ d#3 ~]/4",
B: "[d#2 ~ d#2 ~ d#3 ~ d#2!2 ~ d#3 ~ d#2 ~ d#2 ~ d#3 ~ d#2 ~ g#2@6 d#2 ~@4 g#2@6 d#2 ~@5 g#2 ~@5 d#2 ~@4 a#1 ~@5 d#2 ~@4]/2",
C: "~ f2 ~@5 d#2 ~@4 a#1 ~@5 d#2 ~@5 g#2 ~@5 d#2 ~", D: "~@4 g#2 ~@4 d#2 ~ d#3 ~ d#2 ~ g#2@6 d#2 ~@5 g#2@5",
E: "d#2 ~@5 g#2 ~@5 d#2 ~@5 a#1 ~@4 d#2 ~@5 f2 ~@2", F: "~@3 d#2 ~@5 a#1 ~@4 d#2 ~@5 g#2 ~@5 d#2 ~@5",
G: "g#2 ~@4 g#1 ~@3 g#2 ~ c#2 ~@9 g#2 ~ c#2 ~@6 c#2 ~",
H: "a#1 ~ c#2 ~ c#2 ~@5 c#3 ~ c#2 ~ g#2 ~@6 g#2 ~ g#1 ~ g1 ~@5 g1", I: "~@5 c2 ~@5 b1 ~@4 a#1 ~@5 a#1 ~@5 d#2 ~@3",
J: "~@4 d#2@3 g#2@6 d#2@2 ~@4 g#2@6 d#2 ~@4 g#2@2", K: "~@4 d#2@2 ~@4 a#1@2 ~@4 d#2 ~@4 f2@6 d#2@5",
L: "~ a#1@2 c2@2 c#2@2 d#2@5 g#2@2 d#2@2 g#2@2 d#2@2 g#2@2 d#2@2 g#2@2 d#2@2 g#2@2 d#2@2", M: "g#2@2 d#2@2 g#2 ~@27",
N: "[~@3 c2@5]/2", O: "f2@2 ~@4 c3@2 ~@3 c2@2 ~ f2@2 ~@4 c3@2 ~@3 c2@2 ~@2 e2@2 ~",
P: "~@2 c3@2 ~@3 e2@2 ~@2 f2@2 ~@3 c3@2 ~@4 c2@2 ~ g2@2 ~@3 c3@2",
Q: "~@4 c2@2 ~ f2@2 ~@4 c3@2 ~@3 c2@2 ~@2 f2@2 ~@3 b2@2 c3@2 ~",
R: "c2@2 ~@2 f2@2 ~@3 b2@2 c3@2 ~ f2@2 ~@2 e2@2 ~@3 b2@2 c3@2 ~@2 e2@2 ~",
S: "d2@2 ~@4 a2@2 ~@3 a1@2 ~ d2@2 ~@4 a2@2 ~@3 a1@2 ~@2 e2@2 ~",
T: "~@2 e3@2 ~@3 e2@2 ~@2 a#1@2 ~@3 a#2@2 ~@4 a#1@2 ~ a#1@2 ~@3 a#2@2",
U: "~@4 a#1@2 ~ a1@2 ~@4 a2@2 ~@3 a1@2 ~@2 c2@2 ~@3 c3@2 ~@3",
V: "c2@2 ~@2 g1@2 ~@3 d2@2 ~@3 g2@2 ~@2 d#2@2 ~@3 d#3@2 ~@4 d#2@2 ~",
W: "[c2@17 f2@2 ~@3 c3@2 ~@4 c2@2 ~ f2@2 ~@4 c3@2 ~@3 c2@2 ~@2 e2@2 ~@3 b2@2 c3@2 ~ e2@2 ~@2 f2@2 ~@2]/2",
X: "~ c3@2 ~@3 c2@2 ~@2 g2@2 ~@3 c3@2 ~@4 c2@2 ~ f2@2 ~@4 c3@2",
Y: "[~@3 c2@2 ~ f2@2 ~@4 b2@2 c3@2 ~ c2@2 ~@2 f2@2 ~@3 b2@2 c3@2 ~ c2@2 ~@2 e2@2 ~@3 b2@2 c3@2 ~@2 e2@2 ~ d2@2 ~@3 a2@2 ~@4 a1@2 ~ d2@2 ~@4 a2@2 ~@3 a1@2 ~@2 e2@2 ~@3 e3@2 ~@3 e2@2 ~@2 a#1@2 ~@2]/3",
Z: "~ a#2@2 ~@3 a#1@2 ~@2 a#1@2 ~@3 a#2@2 ~@4 a#1@2 ~ a1@2 ~@4 a2@2",
AA: "[~@3 a1@2 ~ a1@2 ~@4 a2@2 ~@3 a1@2 ~@2 g1@2 ~@3 d2@2 ~@3 g2@2 ~@2 d#2@11 ~@4 c2@17 f2@17 ~@12]/3",
AB: "~@11 c2 ~ g1 ~ c2 ~ g1 ~ c2 ~@2 g1 ~ c2 ~ g1 ~ c2 ~ g1 ~",
AC: "~ c2 ~ g1 ~ c2 ~ g1 ~ c2 ~ g1 ~@2 c2 ~ g1 ~ c2 ~ g1 ~ c2 ~@2 g1 ~ c2 ~ g1 ~ c2",
AD: "~ g1 ~ c2 ~@2 g1 ~ c2 ~ g1 ~ c2 ~ g1 ~@2 f2 ~ c2 ~ f2 ~ c2 ~ f2 ~ c2 ~@2 f2 ~",
AE: "c2 ~ f2 ~ c2 ~ f2 ~@2 c2 ~ f2 ~ c2 ~ f2 ~ c2 ~ g1 ~@2 c2 ~ g1 ~ c2 ~ g1 ~ c2 ~",
AF: "~ g1 ~ c2 ~ g1 ~ c2 ~ g1 ~ c2 ~@2 g1 ~ c2 ~ g1 ~ c2 ~ g1 ~@2 c2 ~ g1 ~ c2 ~ g1",
AG: "~ c2 ~ g1 ~@2 c2 ~ g1 ~ c2 ~ g1 ~ c2 ~@2 g1 ~ c2 ~ g1 ~ g2 ~ d2 ~ g2 ~@2 d2 ~",
AH: "g2 ~ d2 ~ g2 ~ d2 ~@2 g2 ~ d2 ~ g2 ~ d2 ~ g2 ~ d2 ~@2 g2 ~ d2 ~ a1 ~ d2 ~ a1 ~",
AI: "~ d2 ~ a1 ~ d2 ~ a1 ~ a2 ~ e2 ~@2 a2 ~ e2 ~ a2 ~ e2 ~ a2 ~@2 e2 ~ a2 ~ d2 ~ a2",
AJ: "~ d2 ~ a2 ~@2 d2 ~ a2 ~ d2 ~ a2 ~ e2 ~@2 a2 ~ e2 ~ a2 ~ e2 ~ a2 ~ e2 ~@2 a2 ~",
AK: "d2 ~ a2 ~ d2 ~ a2 ~@2 d2 ~ a2 ~ d2 ~ e2 ~ a1 ~ e2 ~@2 a1 ~ d2 ~ a1 ~ d2 ~ a1 ~",
AL: "~ g2 ~ d2 ~ g2 ~ d2 ~ g2 ~ d2 ~@2 e2 ~ d2 ~ c2 ~ g1 ~ c2 ~@2 g1 ~ c2 ~ g1 ~ c2",
AM: "~ g1 ~ c2 ~@2 g1 ~ c2 ~ g1 ~ c2 ~ g1 ~@2 c2 ~ g1 ~ c2 ~ g1 ~ c2 ~ g1 ~@2 c2 ~",
AN: "g1 ~ c2 ~ g1 ~ c2 ~@2 g1 ~ c2 ~ g1 ~ c2 ~ g1 ~ c2 ~@2 g1 ~ c#2 ~ g#1 ~ c#2 ~ g#1 ~",
AO: "~ c#2 ~ g#1 ~ c#2 ~ g#1 ~ g#2 a2 a#2 ~ b2 c3@12 ~@3 c2@3",
AP: "[~ c#2@4 ~ d#2@4 f2@39 a#1 ~@5 f2 ~@3 f1 ~@2 a#1 ~]/2",
AQ: "~@4 f2 ~@3 f1 ~@2 a#1 ~@6 f2 ~@2 f1 ~@2 a#1 ~@6 a#2",
AR: "~@2 a#1 ~@2 a#2 ~@6 f2 ~@2 f1 ~@2 a#1 ~@6 a#2 ~@2 a#1 ~@2 a#1",
AS: "~@6 a#2 ~@2 a2 ~@2 g2 ~@6 g1 ~@2 g2 ~@2 a2 ~@6",
AT: "a1 ~@2 a2 ~@2 g#2 ~@6 g#1 ~@2 g#2 ~@2 c#2 ~@6 g#2 ~@2 g#1 ~@2",
AU: "c#2 ~@6 c#3 ~@2 c#2 ~@2 c#2 ~@6 g#2 ~@2 c#2 ~@2 f#2 ~@5",
AV: "~ f#2 ~@2 f2 ~@2 d#2 ~@6 d#2 ~@2 c#2 ~@2 c2 ~@6 d#2 ~@2 c2 ~",
AW: "~ f2 ~@6 f1 ~@2 f2 ~@2 d#2 ~@6 d#3 ~@2 d#2 ~@2 c#2 ~@4",
AX: "~@2 c#3 ~@2 c#2 ~@2 c#2 ~@6 c#3 ~@2 c#2 ~@2 c2 ~@6 c2 ~@2 c#2",
AY: "~@2 d#2 ~@6 d#3 ~@2 d#2 ~@2 e2 ~@6 e3 ~@2 e2 ~@2 c#2 ~@3",
AZ: "~@3 c#3 ~@2 c#2 ~@2 c2 ~@6 c3 ~@2 c2 ~@2 f#2 ~@6 f2 ~@2",
BA: "f2 ~@2 a#1 ~@6 a#2 ~@2 a#1 ~@2 a#1 ~@6 a#2 ~@2 a#1 ~@2 a#2 ~@2",
BB: "~@4 a#2 ~@2 a2 ~@2 g2 ~@6 g2 ~@2 g2 ~@2 d2 ~@6 d3 ~",
BC: "~ d2 ~@2 c2 ~@6 c3 ~@2 c2 ~@3 a#1 ~@5 a#2 ~@2 f2 ~@3 a#1", BD: "[~@5 a#2 ~@2 f2 ~@3 a#2@29 a2@32 d2@43 g2@12]/4",
BE: "[~ e2@13 f#2@13 ~ g2@13 e2@13 b1@13 f2@13 e2@13 d2@13 c2@13 f#2@13 e2@13 a1@13 d2@13 ~ c2@13 d2@13 g2@25 ~]/7",
BF: "[g2@13 e2@13 f#2@13 g2@13 e2@12]/2", BG: "[~ b1@13 f2@13 ~ e2@13 d2@13 c2@10]/2",
BH: "[~@3 f#2@13 a1@13 b1@12 ~ a1@13 e2@13 a2@13 f2@13 d2@13 ~ c2@13 d2@13 g2@65 ~@25]/7", BI: "~@29 c2 ~ c3",
BJ: "~@3 f#2 ~@3 c2 ~@3 f#1 ~ c2 ~@4 a1 ~@5 c2 ~ [e2,g2] ~ a1 ~ c2 f2", // Em
BK: "~ b2 ~@3 f2 ~@3 b1 ~@4 c2 f2 ~@6 b1 ~@3 b2 ~ c3 b2 f2 ~",
BL: "f2 c2 ~ c2 ~ f2 ~ f2 ~ c2 ~ c2 ~@2 f2 ~ f2 ~ c2 ~ c2 ~ f1 ~ f1 ~ c2 ~@2 c2 ~ f1",
BM: "~ f1 ~ g1 ~ g1 ~ c2 ~ c2 ~ g2 ~@2 g2 ~ c3 ~ c2 ~ c3 ~ c2 ~ f2 ~ f2 ~@2 g2 ~ g2",
BN: "~ g1 ~ g2 ~ c2 ~ c3 ~@3 f#2 ~@4 c2 ~@3 f#1 c2 ~@4 a1 ~@5",
BO: "c2 ~ g2 e2 a1 ~ c2 f2 ~ b2 ~@4 f2 ~@3 b1 ~@3 c2 ~ f2 ~@6 b1",
BP: "~@2 b2 ~ c3 b2 f2 ~@2 [c2,f2] ~ c2 ~@2 f2 ~ f2 ~ c2 ~ c2 ~ f2 ~ f2 ~ b1 ~@2 b1 ~ b2", // F5
BQ: "~ b1 ~ g#1 ~ g#1 ~ g#2 ~ g#1 ~ g1 ~@2 a1 ~ c2 ~ e2 ~ g2 ~ g1 ~ g2 ~ g1 ~@2 c2 ~@2", BR: "~@31 d2",
BS: "~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 c2@2 ~ c2@14", BT: "~@24 g#2 ~@3 d#2 ~@2 g#2",
BU: "~@2 d#2 ~ g#2 ~@2 g#2 ~@2 d#2 ~@3 g#2 ~ d#2 ~ g#2 ~@2 g#2 ~@2 d#2 ~@3 g#2 ~ d#2 ~",
BV: "g#2 ~@2 g#2 ~@2 d#2 ~@3 g#2 ~ d#2 ~ g#2 ~@2 g#2 ~@2 d#2 ~@3 g#2 ~ d#2 ~@2 g#2 ~ g#2",
BW: "~@2 d#2 ~@3 g#2 ~ d#2 ~@2 g#2 ~ g#2 ~@3 d#2 ~@2 g#2 ~ d#2 ~@2 g#2 ~ g#2 ~@3 d#2",
BX: "[~@2 g#2 ~@3 d#2 ~@3 g#1@67 ~@3 g#1@32 ~@16]/4",
})).s("gm_electric_bass_finger").gain(0.3)
// chords · string ensemble 1 · "String 2"
const string_ensemble_1 = note(`<
A B@2 C ~@2 D@2 E@3 ~@5 F@3 G@2 H@2 I@2 J@2 K@7 L M@2 ~@2 N O@2 ~ P Q ~ R@3 S@4 ~@2 T U@3 V W X@4 Y Z@2 AA ~@2 AB AC@7
AD@2 AE@2 AF@7 AG@2 AH AI ~ AJ AK@2 AL AM@2 AN AO AP ~ AQ AR AS@4 ~
>`.pickRestart({
A: "~@9 e4 f4@4 e4 f4",
B: "[g4@2 ~ f4@2 g4@2 e4@2 ~ f4@8 ~ f4@2 g4@2 e4@2 ~ g4@2 [f4,g#4]@8 [g#4,c5]@2 ~ [g4,a#4]@9 ~@2 a#4@5 g#4@5 g4@4, ~@2 e4@2 ~@14 e4@2 ~@5 f4@2 ~@37]/2", // Fm G# Gm
C: "~@2 f4@5 g4@5 f#4@5 ~ f4@5 e4@5 ~@4", D: "[~@3 g#3@2 c4@2 c4@4 f4 f4@2 c#4@4 c#4@2 a#3@2 g3@2 d#3@20 ~@20]/2",
E: "[~@31 g#3@2 c4@2 c4@4 f4@2 f4@2 c#4@3 c#4@2 a#3@2 g3@2 g#3@20 ~@24]/3",
F: "[~@20 [f#3,a#3]@18 [f3,g#3]@18 [c4,e4,g4]@31 ~@9]/3", // F# Fm C
G: "[[f4,a4]@14 [f4,a4]@7 ~ [f4,a4]@7 [e4,g4]@12 [e4,g4]@2 g4@2 ~ e4@2 d4@2 [c4,e4]@5 [e4,g4]@2 [d4,f4]@5 [a#3,d4]@2, ~@43 c4@7 ~@14, ~@45 f4@2 ~@17]/2", // F Em C Em Dm A#
H: "[[a#3,d4]@7 [c4,e4]@12 ~ f4@2 [f4,a4]@14 [f4,a4]@7 [f4,a4]@7 [g4,b4]@12 [g4,b4]@2]/2", // A# C F G
I: "[[a4,c5]@3 ~ [f4,a4]@3 [a4,c5]@5 ~ [a4,c5] [a4,c5]@3 ~ [f4,a4]@3 ~ [a4,c5]@7 [b4,e5]@10 [b4,e5]@3 ~ [a#4,d5]@2 [f4,c5]@9 ~ [d4,d5]@2 [c4,c5]@2 ~ [a#3,a#4]@2 [c4,c5]@2, ~@27 [a#4,e5] ~@4]/2", // Am F Am F Am E5 A# F5 …
J: "[[a#4,d5]@3 ~ [f4,c5]@3 [a4,c5]@2 [e4,a4]@7 ~ [e4,a4]@2 [e4,b4]@2 ~ [g4,c5]@2 [d#4,g4]@5 [g4,c5]@2 [d#4,g4]@5 [g4,b4]@2 [a#3,d4]@8 [a#3,d4]@3 ~ [c#4,f4]@2 [g3,c#4]@10 [g3,g4] ~, ~@7 [a#4,d5] ~@56]/2", // A# F5 Am A5 E5 C5 D# C5 …
K: "[[a#3,c#4]@17 [a3,c4]@14 [f4,a4]@7 [f4,a4]@7 ~ [e4,g4]@12 [e4,g4]@2 g4@2 ~ e4@2 d4@2 [c4,e4]@5 [e4,g4]@2 [d4,f4]@5 [a#3,d4]@2 [a#3,d4]@7 [c4,e4]@12 ~ f4 [f4,a4]@14 ~ [f4,a4]@7 [f4,a4]@7 [g4,b4]@12 [g4,b4]@2 [a4,c5]@3 ~ [f4,a4]@3 [a4,c5]@5 ~ [a4,c5] [a4,c5]@3 ~ [f4,a4]@3 [a4,c5]@7 ~ [b4,e5]@10 [e4,g4,b4,e5]@3 ~ [d4,f4]@2 [c4,e4]@8 [e4,g4]@2 [d4,f4]@2 e4@2 d4@2 ~ e4@2 [d4,f4]@3 ~ [c4,f4]@3 [c4,e4]@2 [a3,c4]@6, f4@31 ~@29 c4@7 ~@157, ~@62 f4@2 ~@138 f4@7 ~@15]/7", // A#m Am F Em C Em Dm A# …
L: "~@2 c4@2 [a3,d4]@2 [c4,d#4]@2 ~ [d4,d#4]@2 [c4,d#4]@2 ~ [c4,d#4]@2 [d4,d#4]@2 [c4,d#4]@2 ~@2 g3@8 ~@2, ~@2 e4@4 ~@15 [b3,d4]@2 ~@9", // D5 Cm D#maj7 Cm D#maj7 Cm Bm
M: "[~@18 [g3,a#3,c#4]@17 [f3,a3,c4]@17 ~@12]/2", N: "~@11 e3@4 f#3@4 g3@4 ~ f#3@4 e3@4",
O: "[~ f#3@4 g3@4 f#3@4 ~ e3@4 f#3@4 g3@4 ~ f#3@4 [g3,c4,e4]@4 [f3,d4,f4]@4 ~ [f#3,d#4,f#4]@4 [g3,e4,g4]@4 ~@16]/2", // C Dm D#m C
P: "~@3 e3@4 f#3@4 g3@4 ~ f#3@4 e3@4 ~ f#3@4 g3@3",
Q: "~ f#3@4 ~ [g3,c4,e4]@4 [f3,d4,f4]@4 [f#3,d#4,f#4]@4 ~ [g3,e4,g4]@4 ~@9", // C Dm D#m C
R: "[~@9 [g#3,c#4]@4 ~ [g3,c4]@4 [g3,b3]@4 [g#3,c#4]@4 ~ [g3,c4]@4 [f#3,b3]@4 [f3,a#3]@4 ~ [f#3,b3]@4 [g#3,c#4]@4 ~ [g3,c4]@4 [g3,b3]@4 [g#3,c#4]@4 ~ [g3,c4]@4 [f#3,b3]@4 [f3,a#3]@4 ~ [f#3,b3]@4 g3@4 e3@4 ~ [f3,c4]@4 [f#3,d4]@4, ~@79 c4@9 ~@8]/3", // C#5 C5 G C#5 C5 B5 A#5 B5 …
S: "[~ [a3,d4]@4 [a#3,d#4]@4 [b3,e4]@4 ~ [c4,f4]@4 [e3,c4,e4]@4 [f#3,d4,f#4]@4 ~ [g3,e4,g4]@4 [f#3,d4]@4 e3@4 ~ f#3@4 g3@4 ~ f#3@4 e3@4 f#3@4 ~ g3@4 f#3@4 [g3,c4,e4]@4 ~ [f3,d4,f4]@4 [f#3,d#4,f#4]@4 [g3,e4,g4]@4 ~ [g3,g4] [g#3,g#4] [c#4,c#5] [b3,b4]@14 [f#4,b4,d5] [g4,c5,d#5] [g#4,c#5,e5] ~ [a4,d5,f5] [a#4,d#5,f#5]@8 ~@10, ~@31 f#4@2 ~@95]/4", // D5 D#5 E5 F5 C D C D …
T: "~@8 f3@3 a#3@10 d3@3 c3@8",
U: "[~@2 g3@3 f3@3 d3@3 ~ a#3@3 d3@3 c3@10 g3@3 f3@3 d3@3 ~ a#3@3 c4@3 d4@6 ~ a#3@3 d4@3 c4@22 ~ c4@3 c#4@10 f3@3]/3",
V: "d#3@10 a#3@3 g#3@3 f3@3 ~ c#4@3 f4@3 d#4@6", W: "~ c#4@3 d#4@3 f4@6 ~ c#4@3 d#4@3 f4@6 ~ c#4@3 d#4@2",
X: "[~ f4@19 ~ c3 [f3,a3] c4 f4 a4 [c5,f5] [f#5,a#5,c#6]@10 [f5,a#5,c#6]@3 [d#5,f#5,a#5]@3 ~ [c5,f#5,a#5]@3 [c#5,f#5,a#5]@3 [d#5,f#5,a#5]@3 [f5,f#5,a#5]@3 ~ [d#5,f#5,a#5]@6 [c#5,f#5,a#5]@3 [c5,f#5,a#5]@3 ~ [a4,c5,f#5]@3 [a#4,c5,f#5]@3 [c5,d#5,f#5]@3 [d#5,e5,g#5]@3 ~ [c#5,e5,g#5]@6 [c5,e5,g#5]@3 a#4@3 ~ g4@3 g#4@3 a#4@3 g5@6 ~@14 a5@3, ~@92 [c#5,e5]@13 [c5,e5]@13 [c5,d#5]@10, ~@112 a#5@13 ~@3]/4", // F F5 F# A#m D#m Cm7b5 F# D#m …
Y: "[c5,d#5,a5]@3 [a#4,d5,f5]@10 [d4,f4,a#4]@3 [c4,e4,g4]@10 [g4,c5,e5]@3 [f4,d5]@3", // Adim A# C Dm
Z: "[~ [d4,f4,a#4]@3 a#4@3 c5@3 [d5,g5,a#5]@6 ~ [a#4,d5,g5]@3 [d5,g5,a#5]@3 [a5,d6]@13 ~ a#5@6 a#5@3 g5@3 ~ [f5,a#5,d6]@14, ~@4 [d5,f5]@6 ~@13 f5@19 ~ [f5,d#6]@6 ~@15, ~@18 d#6@3 ~@11]/2", // A# Gm D5 A# Dm F7
AA: "~@2 [d5,f5,a#5]@3 [a#4,d5,f5]@3 [f4,a#4,d5]@3 ~ [d4,f4,a#4]@3 ~@17", AB: "~@5 [g2,d3]@3",
AC: "[~ [e2,c3]@13 f#2@13 ~ g2@13 [e2,e3]@13 [b1,f#3]@13 [f2,a3]@13 [e2,g3]@13 d2@13 c2@13 [f#2,a3]@13 [e2,g3]@13 a1@13 d2@13 ~ c2@13 ~@8 a#3@4 ~ b3@8 d4@4 ~ c4@13, ~@14 d3@26 ~@53 g3@26 ~@26 f3@26 ~ a3@22 ~@30, ~@185 d2@13 g2@25 ~]/7", // C E B5 F Em F#m Em
AD: "[[g2,d3]@13 [e2,c3]@13 f#2@13 g2@13 [e2,e3]@12, ~@13 d3@13 ~@6]/2", // G5 C E
AE: "[~ [b1,f#3]@13 [f2,a3]@13 ~ [e2,g3]@13 d2@13 c2@10, ~@41 g3@23]/2", // B5 F Em
AF: "[~@3 [f#2,a3]@13 [a1,f3]@13 ~ b1@12 [a1,a3]@13 [e2,b3]@13 [a2,a3]@13 [f2,a3]@13 [d2,f3]@13 ~ c2@13 ~@8 a#3@4 ~ [g2,g3]@65 ~@17 c5 ~ f#5@6, ~@29 g3@13 ~@66 a3@22 ~@94, ~@121 d2@13 ~@90]/7", // F#m Dm A E5 A F Dm G
AG: "[~@9 [f#5,g5] ~ c5 ~@14 c4 ~ f#4@14 ~ [f#4,g4] ~ c4 ~@15 c4 f#4 ~]/2", // Gmaj7
AH: "~ g4 c4 ~@2 c4 f#4 ~@2 [f#4,g4] ~ c4 ~@4 [a#3,c#4,e4,a4] ~ [c#4,e4,g4,c5]@3 [a#3,c#4,e4,a4]@9 ~ f4", // Gmaj7 A C A
AI: "b4 ~@2 c5 f4 ~@2 f4 ~ b4 ~ [b4,c5] ~ f4 ~@4 [d#4,f#4,a4,d5] ~ [d#4,f#4,a4,d5]@2 [c4,d#4,f#4,b4] ~ [d#4,f#4,a4,d5]@2 [d#4,f#4,a4,d5]@6, ~@26 [c4,b4] ~@5", // Cmaj7 D Cdim D Cmaj7
AJ: "~@31 [a#4,f5]", // A#5
AK: "[[d5,a#5] ~ [b4,g5]@3 c4 f#4 ~@2 g4 ~ c4 ~@2 c4 f#4 ~ g4 f#4 c4 ~@4 [a#3,c#4,e4,a4] ~ [c#4,e4,g4,c5]@3 ~ [a#3,c#4,e4,a4]@9 f4 ~ b4 ~ c5 ~ f4 ~@2 f4 b4 ~ c5 b4 f4 ~@4 [d#4,f#4,a4,d5] ~@2 [d#4,f#4,a4,d5]@2 [c4,d#4,f#4,b4]]/2", // Gm Em A C A D Cdim
AL: "[d#4,f#4,a4,d5]@2 [c4,d#4,f#4,b4] [d#4,f#4,a4,d5]@6 ~@23", // D Cdim D
AM: "[[g#4,g#5] [b4,b5] [d#5,d#6] ~ [g#4,g#5]@6 ~@8 g4 [c5,e5] [g4,g5]@7 ~ [c5,c6] ~ f#5@5 ~ g5 f#5 c5 ~@8 f#4@5 ~ g4 f#4 ~ c4 ~@6 g5]/2", // G# B D# G# C G C
AN: "~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5 ~@2 g5!2 ~@16", AO: "d#5 [d#5,f5]!31", AP: "[d#5,f5]!25 ~@7",
AQ: "~@17 [g#4,c5,d#5]!3 [c5,d#5,g#5]!2 ~ [c5,d#5,g#5] [g#4,c#5,f5] ~ [f4,g#4,c#5] ~@2 [c#4,f4,g#4] ~ [g#4,c5,d#5]", // G# C# G#
AR: "[g#4,c5,d#5]!2 [c5,d#5,g#5] ~ [c5,d#5,g#5]!2 [d#5,g5,a#5] ~ [a#4,d#5,g5] ~@2 [g4,a#4,d#5] ~ [b4,d#5,f#5]!3 ~ [d#5,f#5,b5]!3 [d#5,f#5,a#5] ~ [a#4,c#5,f#5] ~@2 [f#4,a#4,c#5] ~ [e4,g#4,b4]!3 ~ [g#4,b4,e5]", // G# D# B D#m F# E
AS: "[[g#4,b4,e5]!2 [e4,g#4,b4] [b3,e4,g#4] ~ [e4,g#4,b4] [g#4,b4,e5] [e4,g#4,b4] [g#4,b4,e5] ~ g#2@70 g#2@32 ~@16]/4", // E
})).s("gm_string_ensemble_1").gain(0.35).pan(0.7)
// chords · string ensemble 1 · "String 1"
const string_ensemble_1_2 = note(`<
A B@2 C D@2 ~ E F ~@4 G@2 ~ H@3 ~@13 I@6 ~@4 J K@2 ~@3 L@8 ~@28 M@8 N@8 O@2 P Q@8 ~
>`.pickRestart({
A: "~@9 e5 f5@4 e5 f5",
B: "[g5@2 ~ f5@2 g5@2 e5@2 ~ f5@8 ~ f5@2 g5@2 e5@2 ~ g5@2 [f5,g#5]@8 [g#5,c6]@2 ~ [g5,a#5]@9 ~@2 a#5@5 g#5@5 g5@4, ~@2 e5@2 ~@14 e5@2 ~@5 f5@2 ~@37]/2", // Fm G# Gm
C: "~@2 f5@5 g5@5 f#5@5 ~ f5@5 e5@5 ~@4",
D: "[~@15 [g4,a#4,d#5]@2 [a#4,d#5,g5] ~ [c5,d#5,g#5] [d#5,g#5,c6]@5 ~@2 [b4,d#5] [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@5 ~@2 [g4,b4,d#5]@2 [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@3 [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@3 ~ [d#5,d#6]@7 ~@4, ~@27 g4@2 ~@23 [g#4,g#5]@2 ~@10]/2", // D# G# B Baug G# Gaug Baug G# …
E: "~@11 [g4,b4,d#5]@2 [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@5 ~@2 [g4,b4,d#5]@2 [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@4", // Gaug Baug G# Gaug Baug G#
F: "~@2 [g4,b4,d#5]@2 [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@3 [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@3 [g#4,g#5]@2 [d#5,d#6]@7 ~@7", // Gaug Baug G# Baug G# D#
G: "[~@4 [b4,d#5] [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@5 ~@2 [g4,b4,d#5]@2 [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@5 ~@2 [b4,d#5] [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@3 [b4,d#5,g5]@2 [c5,d#5,g#5] [d#5,g#5,c6]@3 [g#4,g#5]@2 [d#5,d#6]@7 ~@15, ~@4 g4@2 ~@21 g4@2 ~@35]/2", // B Baug G# Gaug Baug G# B Baug …
H: "[~@29 [c5,c6]@2 [c#5,c#6]@8 ~@8 [c5,c6]@2 ~ [c#5,c#6]@6 [c6,e6]@31 ~@9]/3", // C C# C C# C
I: "[~@24 c-1@4 ~@2 f#6@17 ~@34 f#6@106 ~@5, ~@24 e5@61 ~@107, ~@28 c-1@5 ~@159]/6", J: "~@5 f#6@10 ~@17",
K: "[~@4 f#6@57 ~@3]/2",
L: "[~@17 [a#4,e5,g5] [c5,d5,e5,f5] [c5,e5] ~ [a#4,d5] [c5,e5] ~ [a#4,d5,f5]@2 [c5,e5]@2 [a4,c5,e5] [e4,a4,c5]@4 ~ [a4,c5] [a4,d5] ~ [c5,d#5] [g4,d5] ~ [g4,c5] [c5,d#5] ~ [g4,d5] [g4,c5] ~ [g4,b4,d5] [b3,d4,g4]@5 [g3,g4]@2 [a#3,a#4] [f3,f4]@5 ~@3 [c3,f4]@17 ~ [f4,a4,b4] [f4,a4,c5] [f4,a4,d5] ~ [f4,a4,b4] [f4,a4,c5] ~ [f4,b4,d5] [g#4,c5,d#5]@9 [f#4,a#4,d#5]@9 ~@6 [f5,a5,b5] [f5,a5,c6]@5 ~@137, ~@15 f#6@241]/8", // Edim Dm7 C A# C A# C Am …
M: "[~@15 c4 f4 a4 c5 f5 a5 c6 f6 ~@13 f6@4 ~ d#6@4 c6@4 c#6@4 ~ d#6@4 f6@4 ~ d#6@8 c#6@4 ~ c6@4 a5@4 a#5@4 ~ c6@4 d#6@4 c#6@8 ~ c6@4 ~ a#5@4 g5@4 g#5@4 ~ a#5@4 c6@30 ~ c6@4 a#5@8 d5@2 ~ c5@6 g5@2 f5@2 d5@2 a#5@2 ~ c6@2 d6@4 a#5@2 d6@2 f6@13 f6@4 f6@11 d6@2 a#5@2 f5@2 d5 ~@22, ~@23 f#6@205 ~@28]/8",
N: "[~@29 b3@6 c4@6 [a3,d4]@6 ~ [g3,b3]@6 [g3,b3]@6 ~ [b3,d4]@6 [c4,f4]@6 [c4,g4]@6 ~ [b3,d4]@6 [c4,e4]@6 ~ [d4,a4]@6 [c4,g4]@6 c4@6 ~ a#3@6 [e4,a4]@6 ~ [d4,f#4]@6 d4@4 f#4@2 e4@6 ~ b3@6 c4@6 ~ [f#3,a3]@6 [g3,b3]@6 [g3,b3]@6 ~ [b3,d4]@6 f4@6 ~ g4@6 [b3,d4]@6 [c4,e4]@6 ~ [d4,a4]@6 [c4,f4]@6 ~ [d4,g4]@6 [c4,e4]@6 [e4,g4]@6 ~ [c4,e4]@6 c4@6 ~ a#3@3, ~@29 g3@13 ~@63 f4@13 ~@13 g4@13 g3@13 ~@25 c4@13 ~@51 f4@10]/8", // D5 G Bm F5 C5 Bm C D5 …
O: "[~@3 [e4,a4]@6 [d4,f#4]@6 ~ [b3,d4]@6 [c4,e4]@6 ~ [a3,c4]@6 [c4,e4]@6 [b3,d4]@6 ~@17]/2", P: "~@14 c6@2 ~ f#6@15",
Q: "[~@9 g6 ~@3 c6 ~@25 c5@2 f#5@23 ~@2 g5 f#5@2 c5 ~@186, ~@5 f#6@123]/8",
})).s("gm_string_ensemble_1").gain(0.35).pan(0.3)
// drums · kick
const kick = s("bd").struct(`<
A B ~ C D E F G H I J K L M E F N ~@10 O P Q R S P Q R ~@4 T U V W U V W U V W U V W X ~ Y Z AA AB AC AD AE AF AG AH
AI AJ AK AL AM ~@22 AN AO AP AO AP AO AP AO AP AO AQ ~ AR AS AT AU AV ~ AW ~@2
>`.pickRestart({
A: "~@23 x ~@8", B: "~@3 x ~@4", C: "~@7 x", D: "~@2 x ~@4 x ~@5 x ~@5 x ~@5 x ~@4 x ~",
E: "~@4 x ~@5 x ~@5 x ~@4 x ~@5 x ~@4", F: "~ x ~@5 x ~@4 x ~@5 x ~@5 x ~@5 x ~",
G: "~@4 x ~@4 x ~@5 x ~@5 x ~@5 x ~@4", H: "x ~@5 x ~@5 x ~@5 x ~@4 x ~@5 x ~@2",
I: "~@3 x ~@5 x ~@4 x ~@5 x ~@5 x ~@5", J: "x ~@4 x ~@5 x ~@9 x ~ x ~@6 x ~",
K: "x ~ x ~@7 x ~ x ~ x ~@6 x ~ x ~ x ~@5 x", L: "~@5 x ~@5 x ~@16 x ~@3", M: "~@7 x ~@5 x ~@5 x ~@5 x ~@4 x ~",
N: "~ x ~@6", O: "~@17 x ~@10 x ~@2 x", P: "~@5 x ~ x ~@4 x ~ x ~", Q: "~@6 x ~@3 x ~@10 x ~@2 x ~@7",
R: "~@3 x ~@2 x ~@10 x ~@3 x ~@9 x", S: "~@3 x ~@10 x ~@2 x ~@10 x ~@2 x",
T: "~@11 x ~ x ~ x ~ x ~ x ~@2 x ~ x ~ x ~ x ~ x ~",
U: "~ x ~ x ~ x ~ x ~ x ~ x ~@2 x ~ x ~ x ~ x ~ x ~@2 x ~ x ~ x ~ x",
V: "~ x ~ x ~@2 x ~ x ~ x ~ x ~ x ~@2 x ~ x ~ x ~ x ~ x ~ x ~@2 x ~",
W: "x ~ x ~ x ~ x ~@2 x ~ x ~ x ~ x ~ x ~ x ~@2 x ~ x ~ x ~ x ~ x ~", X: "~ x ~ x ~ x ~ x ~ x ~ x ~@2 x ~@17",
Y: "~@17 x ~@9 x ~@2 x ~", Z: "~@8 x ~@2 x ~@9 x ~@2 x ~@7", AA: "~@2 x ~@2 x ~@9 x ~@2 x ~@9 x ~@2 x",
AB: "~@9 x ~@2 x ~@9 x ~@2 x ~@6", AC: "~@3 x ~@2 x ~@9 x ~@2 x ~@9 x ~@2", AD: "x ~@9 x ~@2 x ~@9 x ~@2 x ~@5",
AE: "~@4 x ~@2 x ~@9 x ~@2 x ~@9 x ~", AF: "~ x ~@9 x ~@2 x ~@9 x ~@2 x ~@4", AG: "~@5 x ~@2 x ~@9 x ~@2 x ~@9 x",
AH: "~@2 x ~@9 x ~@2 x ~@9 x ~@2 x ~@3", AI: "~@6 x ~@2 x ~@9 x ~@2 x ~@9", AJ: "x ~@2 x ~@9 x ~@2 x ~@9 x ~@2 x ~@2",
AK: "~@7 x ~@2 x ~@9 x ~@2 x ~@8", AL: "~ x ~@2 x ~@9 x ~@3 x ~@8 x ~@3 x", AM: "~ x ~@2", AN: "~@29 x ~@2",
AO: "~ x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x", AP: "~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@4 x ~@2",
AQ: "~ x ~ x ~ x ~ x ~ x ~ x ~@2 x!2 ~@16", AR: "~@24 x ~@3 x ~@2 x",
AS: "~@2 x ~ x ~@2 x ~@2 x ~@3 x ~ x ~ x ~@2 x ~@2 x ~@3 x ~ x ~",
AT: "x ~@2 x ~@2 x ~@3 x ~ x ~ x ~@2 x ~@2 x ~@3 x ~ x ~@2 x ~ x",
AU: "~@2 x ~@3 x ~ x ~@2 x ~ x ~@3 x ~@2 x ~ x ~@2 x ~ x ~@3 x", AV: "~ x ~ x ~ x ~@10",
AW: "~@5 x ~@2 x ~ x ~@2 x ~@2 x ~@15",
})).gain(0.2)
// drums · snare
const snare = s("sd").struct("<~@3 A B C D E F G H I J K L D M ~@35 N ~@46 O P Q ~ R S T U V ~ W ~@2>".pickRestart({
A: "~@14 x!2", B: "x ~@3 x ~ x ~@2 x ~ x ~ x ~@7 x ~ x ~@3 x!2 ~@3",
C: "x ~ x ~@3 x ~ x ~@3 x ~ x ~@3 x ~ x ~@2 x ~ x ~@6", D: "~@3 x ~ x ~@3 x ~ x ~@2 x ~ x ~@3 x ~ x ~@3 x ~ x ~@3",
E: "x ~ x ~@2 x ~ x ~@3 x ~ x ~@3 x ~ x ~@3 x ~ x ~@2 x ~ x ~", F: "~@2 x ~ x ~@3 x ~ x ~@3 x ~ x ~@3 x!2 ~@9 x",
G: "~ x ~@3 x ~ x ~@3 x!2 ~@3 x ~ x ~@3 x ~ x ~@3 x ~ x ~", H: "~@2 x ~ x ~@2 x ~ x ~ x ~@9 x ~ x ~@6 x ~",
I: "x ~ x ~@7 x ~ x ~ x ~@6 x ~ x ~ x ~@5 x", J: "~@5 x ~@5 x ~@8 x!9 ~@3",
K: "~@9 x ~ x ~@3 x ~ x ~@3 x ~ x ~@3 x!2 ~@3", L: "x ~ x ~@3 x ~ x ~@3 x ~ x ~@8 x ~ x ~@3 x ~ x", M: "x ~ x!3 ~@27",
N: "~@7 x ~@8", O: "~@31 x", P: "~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x!4",
Q: "~ x ~ x ~ x ~ x ~ x ~ x ~@2 x!2 ~@16", R: "~@26 x!2 ~ x!2 ~",
S: "~ x!5 ~@2 x!2 ~ x!2 ~@2 x!5 ~@2 x!2 ~ x!2 ~@2 x!3", T: "x ~ x ~ x!2 ~ x ~ x ~ x!4 ~ x ~ x!2 ~ x ~ x ~ x!6 ~",
U: "x!2 ~@2 x!2 ~ x!6 ~ x!2 ~@2 x!2 ~ x!2 ~ x!3 ~ x!2 ~@2", V: "x!4 ~ x!4 ~ x ~@21",
W: "~@5 x ~@2 x ~ x ~@2 x ~@2 x ~@15",
})).gain(0.2)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@12 [~@16 x!4 ~@12] ~@99>").gain(0.1)
// drums · tambourine
// … 96 more lines
More by Bernstein Leonard
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.