0:00/0:00
// Small Town Boy — Bronski Beat
// 134 bpm, 8/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: duplicate parts dropped: ch 12 "Bass 2" acoustic bass (copy of ch 1 "Bass" fretless bass)
// note: Full arrangement: all 86 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(134/8)
// 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 · fretless bass · "Bass"
const bass = note(`<
A B C D E@2 F@2 G 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 BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE ~
>`.pickRestart({
A: "~@15 c2@2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~@2 bb1@2 ~ bb2@2 ~",
B: "bb1@2 ~ bb2@2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~@2 bb2@2 ~ f2@2 ~ f3@2 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~@2 f2@2 ~ f3@2 ~ eb2@2",
C: "~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~@2 eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~@2 c2@2 ~ c3@2 ~@2 c2@2 ~",
D: "c3@2 ~ bb1@2 ~ bb2@2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ f2@2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~@2 f2@2 ~ f3@2",
E: "[~ f2@2 ~ f3@2 ~@2 eb2@2 ~ eb3@2 ~ eb2@2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~@2 d2@2 ~ d3@2 ~ c2@2 ~ c3@2 ~@2 c2@2 ~ c3@2 ~ c2@2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~@2 f2@2 ~ f3@2 ~ f2@2 ~]/2",
F: "[~ f3@2 ~ f2@2 ~ f3@2 ~@2 f2@2 ~ f3@2 ~ eb2@2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~@2 eb3@2 ~ d2@2 ~ d3@2 ~@2 c2@2 ~ c3@2 ~ c2@2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~@2]/2",
G: "f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~@2 eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
H: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 c2@2 ~ c3 ~@2 bb1 ~@2 bb2@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
I: "~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ d2@2 ~ d3@2",
J: "~ c2 ~@2 c3 ~@2 c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
K: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ eb2 ~@2 eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 d2@2 ~ d3@2",
L: "~ c2 ~@2 c3@2 ~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1 ~@2 bb2@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2 ~",
M: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ eb2 ~@2 eb3@2 ~ d2@2 ~ d3@2",
N: "~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2@2",
O: "~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
P: "~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2 ~@2 bb1@2 ~ bb2@2",
Q: "~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 d2@2 ~ d3 ~",
R: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
S: "~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ d2 ~@2 d3@2",
T: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2@2",
U: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
V: "~ c2 ~@2 c3@2 ~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
W: "~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
X: "~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
Y: "~ f2 ~@2 f3 ~@2 f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
Z: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ bb1 ~@2 bb2@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
AA: "~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ d2@2 ~ d3 ~",
AB: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ bb1@2 ~ bb2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2@2",
AC: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ f2 ~@2 f3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
AD: "~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1 ~@2 bb2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2 ~@2 bb1@2 ~ bb2@2",
AE: "~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~ d2@2 ~ d3 ~",
AF: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2",
AG: "~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ eb2@2 ~ eb3 ~@2 eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~ d2 ~@2 d3@2",
AH: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2",
AI: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 d2@2 ~ d3@2",
AJ: "~ c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 bb1 ~@2 bb2@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2 ~",
AK: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2 ~@2 f3 ~@2 f2@2 ~ f3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3 ~@2 d2@2 ~ d3@2",
AL: "~ c2 ~@2 c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2 ~",
AM: "~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ eb2 ~@2 eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
AN: "~ c2 ~@2 c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2 ~@2 bb1@2 ~ bb2@2",
AO: "~ f2@2 ~ f3@2 ~ f2 ~@2 f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ d2@2 ~ d3 ~",
AP: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ bb1@2 ~ bb2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
AQ: "~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ d2 ~@2 d3@2",
AR: "~ c2 ~@2 c3@2 ~ c2 ~@2 c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2 ~@2 bb1@2 ~ bb2@2",
AS: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2 ~@2 f3@2 ~ eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~ d2@2 ~ d3 ~",
AT: "~ c2 ~@2 c3@2 ~ c2 ~@2 c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2",
AU: "~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ d2 ~@2 d3@2",
AV: "~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2 ~",
AW: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ eb2 ~@2 eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 d2@2 ~ d3@2",
AX: "~ c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~",
AY: "~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2 ~@2 f3 ~@2 ab1@2 ~ ab2@2 ~ ab1@2 ~ ab2@2 ~ ab1 ~@2 ab2@2 ~ bb1@2 ~ bb2@2",
AZ: "~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3 ~",
BA: "~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ ab1@2 ~ ab2@2 ~ ab1@2 ~ ab2 ~@2 ab1@2 ~ ab2@2 ~ bb1@2 ~ bb2@2",
BB: "~ c2 ~@2 c3@2 ~ c2@2 ~ c3 ~@2 c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2",
BC: "~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 ab1@2 ~ ab2@2 ~ ab1 ~@2 ab2 ~@2 ab1@2 ~ ab2@2 ~ bb1@2 ~ bb2@2",
BD: "~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2",
BE: "~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ ab1@2 ~ ab2 ~@2 ab1@2 ~ ab2 ~@2 ab1@2 ~ ab2@2 ~ bb1 ~@2 bb2 ~",
BF: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
BG: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2 ~@2 f3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ d2 ~@2 d3@2",
BH: "~ c2@2 ~ c3@2 ~ c2 ~@2 c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
BI: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ f2 ~@2 f3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ d2@2 ~ d3@2",
BJ: "~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2 ~@2 c3@2 ~ bb1 ~@2 bb2 ~@2 bb1@2 ~ bb2 ~@2 bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2@2",
BK: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ eb2 ~@2 eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
BL: "~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
BM: "~ f2@2 ~ f3@2 ~ f2 ~@2 f3@2 ~ f2 ~@2 f3@2 ~ f2@2 ~ f3 ~@2 eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ d2@2 ~ d3@2",
BN: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1@2 ~ bb2 ~@2 bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2 ~",
BO: "~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
BP: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2 ~@2 bb1 ~@2 bb2@2",
BQ: "~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~ d2@2 ~ d3 ~",
BR: "~ c2 ~@2 c3@2 ~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2",
BS: "~ f2@2 ~ f3 ~@2 f2 ~@2 f3@2 ~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ eb2@2 ~ eb3@2 ~ d2 ~@2 d3@2",
BT: "~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
BU: "~ f2 ~@2 f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ eb2@2 ~ eb3 ~@2 eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3 ~@2 d2 ~@2 d3@2",
BV: "~ c2@2 ~ c3@2 ~ c2 ~@2 c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2 ~",
BW: "~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ f2 ~@2 f3 ~@2 f2@2 ~ f3 ~@2 eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ eb2 ~@2 eb3@2 ~ d2@2 ~ d3@2",
BX: "~ c2@2 ~ c3 ~@2 c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2@2",
BY: "~ f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
BZ: "~ c2@2 ~ c3@2 ~ c2@2 ~ c3@2 ~ c2 ~@2 c3 ~@2 c2 ~@2 c3 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2",
CA: "~ f2 ~@2 f3 ~@2 f2@2 ~ f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 eb2@2 ~ eb3 ~@2 eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3@2 ~ d2@2 ~ d3@2",
CB: "~ c2 ~@2 c3@2 ~ c2@2 ~ c3 ~@2 c2 ~@2 c3 ~@2 c2@2 ~ c3@2 ~ bb1 ~@2 bb2@2 ~ bb1 ~@2 bb2 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2",
CC: "~ f2 ~@2 f3 ~@2 f2@2 ~ f3@2 ~ f2@2 ~ f3 ~@2 f2 ~@2 f3@2 ~ eb2 ~@2 eb3@2 ~ eb2@2 ~ eb3 ~@2 eb2@2 ~ eb3 ~@2 d2@2 ~ d3@2",
CD: "~ c2 ~@2 c3@2 ~ c2 ~@2 c3@2 ~ c2@2 ~ c3@2 ~ c2@2 ~ c3 ~@2 bb1 ~@2 bb2 ~@2 bb1 ~@2 bb2@2 ~ bb1@2 ~ bb2@2 ~ bb1@2 ~ bb2 ~",
CE: "~ f2 ~@2 f3@2 ~ f2 ~@2 f3@2 ~ f2 ~@2 f3@2 ~ f2@2 ~ f3@2 ~ eb2@2 ~ eb3 ~@2 eb2 ~@2 eb3@2 ~ eb2 ~@2 eb3 ~@2 d2@2 ~ d3@2",
})).s("gm_fretless_bass").gain(0.3).pan(0)
// other · orchestral harp · "Hi Harp"
const orchestral_harp = note(`<
~@2 A B C@2 D@2 E ~@4 F G H@2 ~@4 I@2 ~@6 J@2 K@2 ~@30 L M@2 G ~@4 N@2 O@2 P Q R@2 F S T@2 U V ~
>`.pickRestart({
A: "~@28 c5@3 eb5@4 ~@3 c5@3 eb5@4 ~@3", B: "eb5@4 ~@2 c5@4 d5@4 ~@2 c5@4 d5@4 ~@2 d5@4 ~@3 c5@3 bb4@4 ~@3 c5@4 ~",
C: "[~@5 c5@4 ~@2 bb4@3 c5@4 ~@6 c5@4 ~@9 c5@4 eb5@4 ~@2 c5@4 eb5@4 ~@2 eb5@4 ~@3 c5@3 d5@4 ~@3 c5@3 d5@4 ~@2 d5@4 ~@3 c5@3 f5@3]/2",
D: "[~@4 c5@3 f5@4 ~@3 f5@4 ~@3 c5@3 eb5@4 ~@2 c5@4 eb5@4 ~@2 d5@4 ~@3 c5@3 eb5@4 ~@3 c5@3 eb5@4 ~@2 eb5@4 ~@3 c5@3 d5@4 ~@3 c5@3 d5@4 ~@2 d5@4]/2",
E: "~@3 c5@3 bb4@4 ~@2 c5@4 ~@2 c5@3 bb4@4 ~@3 bb4@3 c5@3 ~@6 bb4@3 c5@3 c5 ~",
F: "~@4 c5@3 eb5@3 ~@3 c5@3 eb5@3 ~@3 eb5@3 ~@3 c5@3 d5@3 ~@3 c5@3 d5@4 ~@2 d5@2",
G: "~@4 c5@3 f5@3 ~@3 c5@3 f5@3 ~@3 f5@3 ~@3 c5@3 eb5@3 ~@3 c5@3 eb5@4 ~@2 d5@2",
H: "[~@4 c5@3 eb5@3 ~@3 c5@3 eb5@4 ~@2 eb5@3 ~@3 c5@3 d5@4 ~@2 c5@3 d5@4 ~@2 d5@4 ~@2 c5@3 f5@3 ~@3 c5@3 f5@3 ~@3 f5@4 ~@2 c5@3 eb5@3 ~@3 c5@3 eb5@3 ~@3 d5@2]/2",
I: "[~@4 c5@3 eb5@4 ~@2 c5@3 eb5@3 ~@3 eb5@3 ~@3 c5@3 d5@4 ~@2 c5@3 d5@3 ~@3 d5@4 ~@2 c5@3 f5@3 ~@3 c5@3 f5@3 ~@3 f5@4 ~@2 c5@3 eb5@3 ~@3 c5@3 eb5@3 ~@3 d5@2]/2",
J: "[~@4 c5@3 eb5@4 ~@2 c5@3 eb5@4 ~@2 eb5@4 ~@2 c5@3 d5@4 ~@2 c5@3 d5@4 ~@2 d5@4 ~@2 c5@3 f5@4 ~@2 c5@3 f5@4 ~@2 f5@4 ~@2 c5@3 eb5@4 ~@2 c5@3 eb5@4 ~@2 d5@2]/2",
K: "[~@4 c5@3 eb5@4 ~@2 c5@3 eb5@3 ~@3 eb5@4 ~@2 c5@3 d5@4 ~@2 c5@3 d5@3 ~@3 d5@4 ~@2 c5@3 f5@3 ~@3 c5@3 f5@3 ~@3 f5@3 ~@3 c5@3 eb5@3 ~@3 c5@3 eb5@3 ~@3 d5@2]/2",
L: "~@4 c5@3 eb5@3 ~@3 c5@3 eb5@4 ~@2 eb5@4 ~@2 c5@3 d5@4 ~@2 c5@3 d5@4 ~@2 d5@2",
M: "[~@4 c5@3 f5@4 ~@2 c5@3 f5@3 ~@3 f5@4 ~@2 c5@3 eb5@3 ~@3 c5@3 eb5@3 ~@3 d5@4 ~@2 c5@3 eb5@4 ~@2 c5@3 eb5@3 ~@3 eb5@3 ~@3 c5@3 d5@3 ~@3 c5@3 d5@3 ~@3 d5@2]/2",
N: "[~@4 c5@3 eb5@3 ~@3 c5@3 eb5@4 ~@2 eb5@3 ~@3 c5@3 d5@3 ~@3 c5@3 d5@3 ~@3 d5@4 ~@2 c5@3 f5@4 ~@2 c5@3 f5@4 ~@2 f5@4 ~@2 c5@3 eb5@3 ~@3 c5@3 eb5@4 ~@2 d5@2]/2",
O: "[~@4 c5@3 eb5@4 ~@2 c5@3 eb5@4 ~@2 eb5@4 ~@2 c5@3 d5@4 ~@2 c5@3 d5@3 ~@3 d5@4 ~@2 c5@3 f5@3 ~@3 c5@3 f5@3 ~@3 f5@4 ~@2 c5@3 eb5@3 ~@3 c5@3 eb5@3 ~@3 d5@2]/2",
P: "~@4 c5@3 eb5@3 ~@3 c5@3 eb5@4 ~@2 eb5@3 ~@3 c5@3 d5@4 ~@2 c5@3 d5@4 ~@2 d5@2",
Q: "~@4 c5@3 f5@3 ~@3 c5@3 f5@4 ~@2 f5@3 ~@3 c5@3 eb5@4 ~@2 c5@3 eb5@4 ~@2 d5@2",
R: "[~@4 c5@3 eb5@3 ~@3 c5@3 eb5@4 ~@2 eb5@4 ~@2 c5@3 d5@4 ~@2 c5@3 d5@3 ~@3 d5@4 ~@2 c5@3 f5@4 ~@2 c5@3 f5@3 ~@3 f5@4 ~@2 c5@3 eb5@3 ~@3 c5@3 eb5@3 ~@3 d5@2]/2",
S: "~@4 c5@3 f5@4 ~@2 c5@3 f5@4 ~@2 f5@3 ~@3 c5@3 eb5@3 ~@3 c5@3 eb5@4 ~@2 d5@2",
T: "[~@4 c5@3 eb5@4 ~@2 c5@3 eb5@3 ~@3 eb5@4 ~@2 c5@3 d5@4 ~@2 c5@3 d5@4 ~@2 d5@4 ~@2 c5@3 f5@4 ~@2 c5@3 f5@4 ~@2 f5@3 ~@3 c5@3 eb5@4 ~@2 c5@3 eb5@3 ~@3 d5@2]/2",
U: "~@4 c5@3 eb5@3 ~@3 c5@3 eb5@3 ~@3 eb5@4 ~@2 c5@3 d5@3 ~@3 c5@3 d5@3 ~@3 d5@2",
V: "~@4 c5@3 f5@3 ~@3 c5@3 f5@4 ~@2 f5@4 ~@2 c5@3 eb5@3 ~@3 c5@3 eb5@3 ~@3 d5@2",
})).s("gm_orchestral_harp").gain(0.25).pan(0.3)
// other · string ensemble 2 · "Hi Strings"
const string_ensemble_2 = note("<~@2 A B C@4 D@2 ~@76>".pickRestart({
A: "~@25 c6@18 ~@5", B: "~ bb5@18 ~@9 f5@18 ~@2",
C: "[~@6 eb5@18 ~@8 c6@18 ~@9 bb5@18 ~@8 f5@18 ~@9 eb5@18 ~@8 c6@18 ~@10 bb5@18 ~@8]/4",
D: "[f6@17 ~@6 eb6@16 ~@7 c6@8 ~@42, ~@41 d6@8 ~@47]/2",
})).s("gm_string_ensemble_2").gain(0.41)
// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
~@15 A B ~@4 C D ~@6 A E F D ~@4 A G A H A D A E F D I D I G ~@8 C D A D I G A D ~@4 A D C D I D J G A D A H A D ~
>`.pickRestart({
A: "[eb4,g4]@3 ~ [d4,f4]@3 ~", B: "~ ab4@17 ~@7 [eb4,g4]@17 ~@6, f4@3 ~@5", C: "[eb4,g4]@17 ~@7 [d4,f4]@17 ~@7",
D: "[f4,ab4]@3 ~ [eb4,g4]@3 ~", E: "[f4,ab4]@18 ~@6 [eb4,g4]@17 ~@7", F: "[eb4,g4]@17 ~@7 [d4,f4]@18 ~@6",
G: "[f4,ab4]@17 ~@7 [eb4,g4]@18 ~@6", H: "[f4,ab4]@17 ~@7 [eb4,g4]@17 ~@7", I: "[eb4,g4]@18 ~@6 [d4,f4]@17 ~@7",
J: "~ g4@17 ~@6 [d4,f4]@17 ~@7, eb4@3 ~@5", // Dm
})).s("gm_string_ensemble_1").gain(0.3).pan(0.6)
// other · xylophone · "Block"
const xylophone = note(`<
~@51
[~@4 g6@2 ~ f6@2 ~ g6@2 ~ bb6@2 ~@2 bb6@2 ~@9 g6@2 ~ f6@2 ~ g6@2 ~ bb6@2 ~@2 bb6@2 ~@5, ~@8 c7 ~@11 c7 ~@3]!12
~@23
>`).s("gm_xylophone").gain(0.46)
// other · tuba · "Mid Synth"
const tuba = note("<~@47 A B C D ~@26 E F G H I J K L ~>".pickRestart({
A: "~@4 c5 ~@2 bb4 ~@2 c5 ~@2 eb5@2 ~ f5@6 c5@3 ~@3 c5@2 ~ bb4@2 ~ c5@2 ~ eb5 ~@2 f5@7 ~",
B: "~@4 c5 ~@2 bb4 ~@2 c5 ~@2 eb5 ~@2 f5@6 eb5@4 ~@2 gb5@3 f5@3 eb5@3 gb5@2 f5@2 eb5@7",
C: "~@4 c5@2 ~ bb4@2 ~ c5@2 ~ eb5@2 ~ f5@6 c5@3 ~@3 c5@2 ~ bb4 ~@2 c5 ~@2 eb5 ~@2 f5@7 ~",
D: "~@4 c5 ~@2 bb4@2 ~ c5@2 ~ eb5@2 ~ f5@6 eb5@4 ~@2 gb5@3 f5@3 eb5@3 gb5@2 f5@2 eb5@7",
E: "~@4 c5 ~@2 bb4 ~@2 c5@2 ~ eb5@2 ~ f5@6 c5@3 ~@3 c5@2 ~ bb4 ~@2 c5 ~@2 eb5@2 ~ f5@7 ~",
F: "~@4 c5@2 ~ bb4@2 ~ c5 ~@2 eb5 ~@2 f5@6 eb5@4 ~@2 gb5@3 f5@3 eb5@3 gb5@2 f5@2 eb5@7",
G: "~@4 c5 ~@2 bb4@2 ~ c5@2 ~ eb5@2 ~ f5@6 c5@3 ~@3 c5@2 ~ bb4@2 ~ c5@2 ~ eb5@2 ~ f5@7 ~",
H: "~@4 c5@2 ~ bb4@2 ~ c5 ~@2 eb5@2 ~ f5@6 eb5@4 ~@2 gb5@3 f5@3 eb5@3 gb5@2 f5@2 eb5@7",
I: "~@4 c5 ~@2 bb4@2 ~ c5@2 ~ eb5 ~@2 f5@6 c5@3 ~@3 c5@2 ~ bb4 ~@2 c5 ~@2 eb5 ~@2 f5@7 ~",
J: "~@4 c5 ~@2 bb4 ~@2 c5 ~@2 eb5@2 ~ f5@6 eb5@4 ~@2 gb5@3 f5@3 eb5@3 gb5@2 f5@2 eb5@7",
K: "~@4 c5@2 ~ bb4@2 ~ c5@2 ~ eb5 ~@2 f5@6 c5@3 ~@3 c5 ~@2 bb4 ~@2 c5@2 ~ eb5@2 ~ f5@7 ~",
L: "~@4 c5 ~@2 bb4 ~@2 c5@2 ~ eb5@2 ~ f5@6 eb5@4 ~@2 gb5@3 f5@3 eb5@3 gb5@2 f5@2 eb5@7",
})).s("gm_tuba").gain(0.3).pan(0.8)
// drums · kick
const kick = s("bd").struct("<~@9 A B A B A B A B C@12 A@38 C@6 A@12 ~>".pickRestart({
A: "~ x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@4", B: "~ x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@2 x ~",
C: "~ x ~@11 x ~@5 x ~@5 x ~@11 x ~@10",
})).gain(0.4)
// drums · snare
const snare = s("sd").struct(`<
~@8 A B@3 C B D B@2 ~@4 E F E@5 G B@3 H B@3 D B@3 H B H B@3 D B D B H B@15 I ~@3 J B@5 D B D B H B C B H ~
>`.pickRestart({
A: "~@31 x ~@2 x ~@5 x ~@2 x ~@2 x!2", B: "~@7 x ~@11 x ~@11 x ~@11 x ~@4", C: "~@7 x ~@11 x ~@11 x ~@11 x ~@2 x!2",
D: "~@7 x ~@11 x ~@11 x ~@11 x ~@2 x ~", E: "~@13 x ~@23 x ~@10", F: "~@13 x ~@23 x!2 ~@9",
G: "~@13 x ~@17 x ~@8 x ~@2 x ~@2 x!2", H: "~@7 x ~@11 x ~@11 x ~@8 x ~@2 x ~@2 x!2",
I: "~@7 x ~@11 x ~@11 x ~@11 x!2 ~@3", J: "~@43 x ~@2 x ~",
})).gain(0.4)
// drums · clap
const clap = s("cp").struct("<~@52 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@19>".pickRestart({
A: "~@40 x!2 ~ x!2 ~ x ~",
})).gain(0.25)
// drums · clap · soft notes
const clap_soft = s("cp").struct("<~@52 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@19>".pickRestart({
A: "~@47 x",
})).gain(0.15)
// drums · hihat
const hihat = s("hh").struct("<~@9 A B A B A B A B C@4 A@64 ~>".pickRestart({
A: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@5 x ~",
B: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@4",
C: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
})).gain(0.2)
// … 31 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.