0:00/0:00
// Time — Pink Floyd
// 121 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 12 "organ" named as an organ, played on drawbar organ (its brass section patch is not one); ch 11 "digitbello1rw" named as a mallet, played on tubular bells (its acoustic guitar steel patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 5 "electic piano" piano (copy of ch 11 "digitbello1rw" tubular bells)
// note: Full arrangement: all 193 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(121/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, A@4 for four bars: edit a riff to change every repeat.
// chords · piano · "electric piano"
const piano = note(`<
~@44 A B C D E F G H I J K L M N O P Q@2 R@2 S@2 T@2 U@2 V@2 W@2 X@2 Y@2 Z AA AB N AC AD AE B C AF AG N AH AI AJ AK AL
AM AN N AO AP AQ AR AS AT AU N AV AW AX@2 AY@2 AZ@2 BA@2 BB@2 BC@2 BD@2 BE@2 BF J K AM BG N BH AD BI J AL AM BG N BJ
BK BL@2 BM@2 BN@2 BO@2 BP@2 BQ@2 BR@2 BS BT BU@2 BV BW BX@2 BY@2 BZ@2 CA@2 CB@2 CC@2 CD@2 CE@2 CF@2 CG@2 CH@2 CI@2
CJ@2 CK CL CM@2 ~@3
>`.pickRestart({
A: "f#2@2 f#3@2 [a3,c#4,f#4]@2 ~@2 [a3,c#4,f#4] ~ [c#4,f#4]@2 ~@2 f#2@2, ~@10 a3 ~@5", // F#m F#5
B: "[a3,c#4,f#4]@6 ~@2 [c#4,f#4]@2 f#3 ~ a3 ~ [a3,c#4,f#4]@2", // F#m F#5 F#m
C: "~@2 a2 ~ [a3,e4] ~ a3 ~ a2 ~ [a3,d4,e4] ~@3 a2 ~, ~@2 c#4 ~@5", // A5 Asus4
D: "[a3,c#4,e4]@7 ~ [c4,c#4,e4]@2 a2 ~@2 d#4 a3@2, ~@6 [b3,e4] ~", // A C E5
E: "~@2 e3@2 [g#3,e4] ~ g#3 ~@3 [a3,e4] ~ a3 ~ e3 ~, e2@2 b3 ~@2 b3 ~@2", // C#m A5
F: "[g#3,b3,e4]@7 ~ [b3,e4]@2 e3 ~ g#3 ~ [b3,e4]@2", // E E5
G: "f#2@2 f#3@2 [f#4,a4]@2 c#3 ~ [f#4,a4]@2 [c#4,b4] ~@2 c#4 c#3 ~, ~@4 c#4 ~@3 c#4 ~ f#4@2 ~@4", // F#m C#7
H: "[a3,c#4,f#4]@7 ~ [b3,e4,g#4]@8", // F#m E
I: "f#2@2 ~ f#3 [a3,c#4] ~@3 [a3,c#4,f#4] ~ [c#4,f#4] a3 ~ a3 f#2@2, ~@2 f#4 ~@5", // A F#m F#5
J: "[a3,c#4,f#4]@6 ~@2 [c#4,f#4]@2 f#3 ~ a3 ~ [c#4,f#4] ~", // F#m F#5
K: "~@2 a2 ~ c#4@2 a3 ~@3 [a3,d4,e4] ~@3 a2 ~, ~@4 e4 ~@11", // Asus4
L: "[a3,c#4,e4]@7 ~ [c#4,e4]@2 a2 ~ [b3,e4]@2 a3@2, ~@8 [c4,d#4] ~@7", // A C#m E5 Cm
M: "~@2 e3@2 [d#4,e4] ~ g#3 ~@3 [a3,e4] ~ a3 ~ e3 ~, e2@2 b3 ~@2 b3 ~@2", // Emaj7 A5
N: "[g#3,b3,e4]@6 ~@2 [b3,e4]@2 e3 ~ g#3 ~ [b3,e4]@2", // E E5
O: "f#2@2 f#3@2 [c#4,f#4,a4]@2 ~@2 [c#4,f#4,a4] ~ [c#4,b4] ~@3 c#3 ~, ~@5 f#4 ~@2", // F#m C#7
P: "[a3,c#4,f#4]@5 ~@3 [b3,e4,g#4]@8", Q: "[c#4@11 ~ f#4@2 f#4@2, [d3,a3], [f#4,c#5]@3 c#5, a4@9 ~@2 c#4@5]/2",
R: "[~@7 e4, e3, c#5@5 c#5@3, g#4@9 ~@3 e4 g#4@3, e4@7 c#4@9]/2",
S: "[[f#4,a4,c#5]@12 [f#4,a4,c#5]@10 ~@2 [a4,c#5]@2 a4 [f#4,c#5] ~@4, a3@7 ~, ~@11 c#4@3 ~@2, ~@24 e4 ~@7]/2", // F#m A F#5
T: "[~@7 g#4, g#4@11 c#5@2 e4@3, e4@5 e5@3, c#5@9 g#5@7, ~@7 e5 c#6@8]/2",
U: "[~ a4@7 a4@6 ~@14 f#4@4, [d3,f#3], a3@17 c#4@7 f#4@4 ~@4, f#4@6 ~@2 a4@2 f#4 a4@2 a4@2 ~, c#5 ~ c#5!2]/2", // D
V: "[[g#4,c#5]@4 g#4@3 g#4 ~@3 g#4 ~@2 e4@2, e3, e4@3 ~ g#4 e4@2 ~, ~ c#5 c#5 [g#4,c#5], ~@9 c#4@4 c#4@3]/2", // C#5
W: "[[f#4,b4]@2 [f#4,b4]@2 [f#4,b4]@2 ~ d4, [d3,b3], f#3@13 ~@3, d4@3 ~@3 [f#4,b4]@2]/2", // B5 G B5
X: "[[g#4,b4]@2 [g#4,b4]@2 ~@3 e4, e3, e4@10 e4@3 b3@3, g#3@9 g#3@2 g#3@5, ~@2 [g#4,b4]!2]/2", // G#m
Y: "[[a3,c#4,f#4]@7 ~ [c#4,f#4]@2 f#3@10 ~@6 f#3 ~ a3 ~ [c#4,f#4] ~, f#2@13 ~@3]/2", // F#m F#5
Z: "~@2 a2 ~ c#4@2 ~ a3 a2 ~ [a3,e4] ~@3 a2 ~, ~@4 e4 ~@5 d4@2 ~@4", // A5
AA: "[a3,c#4,e4]@6 a2@2 [c#4,e4]@2 a2 ~ [b3,e4]@2 a3@2, ~@8 c4 ~@7", // A C#m E5
AB: "~@2 e3@2 [b3,e4]@2 ~@4 [a3,e4] ~@2 a3 e3 ~, e2@4 g#3 ~@5 b3@2 ~@4", // E5 A5
AC: "f#2@2 f#3@2 [c#4,f#4,a4]@2 c#3 ~ [c#4,f#4] ~ [c#4,b4] ~@3 c#3 ~, ~@4 a4 f#4 ~@2", AD: "[a3,c#4,f#4] [b3,e4,g#4]",
AE: "f#2@2 f#3@2 [a3,c#4,f#4]@2 ~@2 [a3,c#4,f#4] ~ [a3,c#4] f#4 ~@2 c#3 ~", // F#m A
AF: "[a3,c#4,e4]@6 a2 ~ [c4,c#4,e4]@2 a2 ~@3 a3@2, ~@3 [b3,e4]", // A C E5
AG: "~@2 e3@2 [b3,e4]@2 g#3 ~@3 [b3,e4]@2 ~@2 e3 ~, e2@4 g#3 ~@5 a3 ~@5", // E5
AH: "~@2 f#3@2 [c#4,f#4,a4]@2 ~@2 [c#4,a4]@2 ~ [f#4,b4]@2 ~ c#3 ~, f#2@4 ~@4 f#4 ~@2 c#4 ~@4", // F#m B5
AI: "[a3,c#4,f#4]@6 ~@2 [g#3,b3,e4]@5 ~ [g#3,b3,e4] ~", // F#m E
AJ: "~@2 f#3@2 [c#4,f#4,a4]@2 c#3 ~ [c#4,f#4,a4] ~ [c#4,f#4] ~@3 c#3 ~, f#2@2 ~@3 a4 ~@2", // F#m F#5
AK: "[c#4,f#4,a4]@6 ~@2 [f#4,a4]@2 f#3 ~ c#4 ~ [f#4,a4]@2, ~@14 c#4 ~", // F#m
AL: "~@2 a2 ~ [a3,e4] ~ a3 ~@3 [a3,d4,e4] ~@3 a2 ~, ~@2 c#4 ~@5", // A5 Asus4
AM: "[a3,c#4,e4]@6 a2 ~ [c#4,e4]@2 a2 ~ [b3,e4]@2 a3@2, ~@8 c4 ~@7", // A C#m E5
AN: "~@2 e3@2 [b3,e4]@2 ~@4 [a3,b3,e4] ~@2 a3 e3@2, e2@4 [g#3,c4] ~@11", // E5 Asus2 G#
AO: "~@2 f#3@2 [f#4,a4]@2 c#3 ~ [c#4,f#4] ~ [c#4,b4] ~ c#4 ~ c#3 ~, f#2@4 c#4 ~@3 a4@2 f#4@2 ~@4", // F#m F#5 C#7
AP: "[a3,c#4,f#4]@7 ~ [b3,e4]@5 ~ [b3,e4] ~", // F#m E5
AQ: "~@2 f#3@2 [a3,f#4] ~ c#3@2 [c4,e4] ~@2 f#3 [b3,e4]@2 a3@2, f#2@2 c#4 ~@5", // D C E5
AR: "~@2 f#2@2 [a3,c#4,f#4] ~@3 [c#4,f#4]@2 f#3 ~ a3 ~ c#4@2, ~@8 d#4 ~@5 f#4 ~", // F#m F#5
AS: "~@2 a2 ~ [c#4,d#4,e4] ~ a3 ~ a2 ~ [a3,d4,e4] ~@3 a2 ~", // C#m Asus4
AT: "[a3,e4]@2 ~@4 a2 ~ [c#4,e4]@2 a2 ~ [b3,e4]@2 a3@2, c#4@4 ~@4 [c4,d#4] ~@7", // A5 C#m E5 Cm
AU: "~@2 e3@2 b3@2 g#3 ~@3 [a3,e4] ~@3 e3 ~, e2@3 ~@5, ~@4 e4 ~@5 b3@2 ~@4", // A5
AV: "~@2 f#3@2 [f#4,a4]@2 c#3 ~ [c#4,f#4,a4] ~ [c#4,b4] ~@3 c#3 ~, f#2@4 c#4 ~@5 f#4@2 ~@4", // F#m C#7
AW: "[a3,c#4,f#4] [g#3,b3,e4]", // F#m E
AX: "[~@24 [e4,c#5]@2 f#4 ~@5, d3@7 ~, c#5 f#4@2 ~, f#4@3 c#4@3 c#5 a4@5 ~@4, ~@2 a3@9 c#4@3 ~@2]/2", // C#m
AY: "[~@9 g#4@2 ~@3 e4@2, [e3,g#3,c#4]@8 c#5@3 g#4 [e4,c#5] g#4@3, e4@7 e5@9, g#4@3 g#5@5, c#5@5 c#6@11]/2", // C#m
AZ: "[[f#4,c#5]@18 [f#4,c#5]@4 ~@2 [a4,c#5]@2 ~ [f#4,c#5] ~@4, [d3,f#3]@7 ~, [a3,a4]@22 [a3,c#4]@7 ~@3, c#4@16 ~@8 e4 ~@7]/2", // F#5 A F#5 D A
BA: "[~@13 e4@3, [e3,c#5], [e4,g#4]@25 g#4@7, ~@3 g#5@5, ~@7 e5@9]/2", // C#m E
BB: "[~ c#5@16 ~ [f#4,a4] ~@5 [e4,a4] ~ [f#4,a4,c#5] ~@5, d3@27 ~@5, [f#4,a4]@17 ~@7 c#5@2 ~@6, ~ [f#3,a3]@27 ~@4, ~ c#4@20 ~ c#4@6 ~@4]/2", // F#m A5 F#m
BC: "[g#4@3 ~@4 e4, [e3,c#4], c#5@11 c#5@5, g#3@8 ~ e4@4 g#4@3, e4@3 g#4@2 ~ g#3@2]/2", // C#m
BD: "[[f#4,b4]@9 f#4@13 ~@4 f#3@6, [d3,b3], f#3@13 ~@3, d4@6 ~@5 f#4@5, ~@9 b4@7 ~@8 b4@8]/2", // B5 G
BE: "[[g#4,b4]@9 ~@6 c#4, [e3,b3], g#3@11 g#3@5, e4@7 ~@2 b4@7, ~@9 g#4@3 e4 g#4@3]/2", // G#m E5
BF: "~@2 f#3@2 [a3,c#4,f#4]@2 ~@2 [a3,c#4,f#4] ~ [a3,c#4,f#4] ~@3 f#2 ~, f#2@5 ~@11", // F#m
BG: "~@2 e3@2 [g#3,e4] ~@5 [a3,b3,e4] ~@3 e3 ~, e2@2 b3 ~@5", // C#m Asus2
BH: "~@2 f#3@2 [f#4,a4]@2 c#3 ~ [c#4,f#4,a4] ~ f#4@2 c#4 ~ c#3@2, f#2@4 c#4 ~@5 b4 ~@5", // F#m
BI: "~@2 f#3@2 [a3,c#4,f#4]@2 c#3 ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~@3 c#3 ~, f#2 ~@3", // F#m
BJ: "~@2 f#3@2 [f#4,a4]@2 ~@2 [c#4,f#4,a4] ~ f#4@2 ~@2 c#3 ~, f#2@4 c#4 ~@5 b4 ~@5", // F#m
BK: "[f#2,a3,c#4,f#4] [b3,e4,g#4]", // F#m E
BL: "[a4@12 ~@6 c#4@4 ~@2 [a4,c#5]@2 [f#4,a4,c#5] ~@5, [d3,f#3,a3]@7 ~, c#4@9 ~@2 c#4@3 ~@2, [f#4,c#5]@15 ~@9 e4 ~@7, ~@12 a4@11 ~@9]/2", // A F#m D F#5
BM: "[~@15 e4, [e3,g#3,c#4]@7 g#4, e4@9 c#5@2 e4 g#4 c#5@3, g#4@7 g#5@9, c#5@3 c#6@5]/2", // C#m
BN: "[[f#4,a4,c#5]@18 [f#4,a4,c#5] ~@5 [a4,c#5]@2 [f#4,a4,c#5] ~@5, [d3,f#3,a3]@7 ~, c#4@8 ~@3 c#4@3 ~@2, ~@24 e4 ~@7]/2", // F#m A F#m D
BO: "[~@10 g#4@2 ~ e4@3, [e3,g#3,c#4,c#5], e4@9 e4@2 ~@5, g#4@7 g#4@3 ~@2 g#4@4, ~@5 g#5@11]/2", // C#m
BP: "[c#5@14 ~@4 a4@6 [e4,a4] ~ a4@2 ~@4, [d3,f#3,a3]@7 ~, c#4@8 c#4@3 ~@5, a4@6 ~ c#5@5 c#5 ~@3, f#4@10 ~@16 f#4 ~@5]/2", // A5 D
BQ: "[~@15 g#4, e3@11 g#4@2 g#3 e4@2, e4@5 c#5@3, g#3 g#5, [g#4,c#5]@7 c#6@9]/2", // C#5
BR: "[[f#4,b4]!2 b4@2, [d3,f#3,b3], d4@3 ~@5]/2", BS: "b4", BT: "[b2,f4,a4,c5]",
BU: "[[e2,g3,b3,d4,e4]@23 ~ [d4,f#4,b4]@2 ~ [d4,g4,b4] ~@4]/2", BV: "[a3,c#4,e4]",
BW: "~@2 [c4,e4] ~@3 g3 ~@5 g3 ~ b2@2, ~@2 c#4@2 ~@4 [b3,e4]@7 ~", // C E5
BX: "[~@22 b3@2 [d4,f#4,b4]@2 [d4,g4,b4] ~@5, e4@7 d5@5 ~@4, b3@3 g4@3 ~@2, d4@5 d4@7 ~@4, ~ [e2,g3]@23 ~@8]/2", // Bm G Em
BY: "[~@15 b2, [a3,c#4,e4]@13 g4@3, ~@7 d6@9, ~@9 a5@7, ~@3 a4]/2", // A
BZ: "[[e2,e3,g3,b3,d4,e4]@22 a3 ~ [f#4,b4]@2 [d4,g4,b4] ~@5, ~@24 d4 ~@7]/2", // Em7 B5 G
CA: "[[a3,c#4,e4]@22 f3 ~ [c#4,e4]@4 [b3,e4]@2 b2@2, ~@24 c4 ~@7]/2", // A C#m E5
CB: "[~@18 a4@4 b3 ~ [d4,f#4] ~ [d4,g4,b4] ~@5, [e2,g3,b3,e4]@14 d5@9 ~ b4@2 ~@6, d4@10 d4@13 ~@9, ~@8 e3@15 ~@9, ~@12 g4@11 ~@9]/2", // D G Em
CC: "[~@15 b2, [a3,c#4]@11 c#5 b4 a4 e4@2, e4@9 a5@7, ~@7 c#6@9, ~ b5]/2", // A
CD: "[~ [e2,e3,g3]@22 ~ [d4,f#4,b4]@2 [d4,g4,b4] ~@5, [b3,d4,e4]@23 ~@9]/2", // Em Bm G E7
CE: "[e4@5 ~@10 b2, c#4@13 a4@3, a3@2 ~ a4@3 c#5@2, ~@7 e5@9, ~@8 b4 c#5@2 b4@5]/2",
CF: "[[e2,e3,g3,b3,d4,e4]@23 ~ [d4,f#4,b4]@2 [d4,b4] g4 ~@4]/2", // Em7 Bm G
CG: "[a3@5 ~@6 a4@5, c#4@5 b4@3, e4@3 ~ e5@4, ~@5 a3@11, ~@9 c#5@7]/2",
CH: "[[e4,g4,b4]@14 ~@10 [e4,a4]@2 [c4,e4,b4] ~@5, c3@7 ~, c4@18 c4@6 c4 ~@7, b3@7 e4@3 ~ b3@3 ~@2, ~@7 b4@5 ~@4]/2", // Em A5 Cmaj7
CI: "[[d4,f#4]@4 d4@6 ~@5 f3, [b2,b3], ~@4 f#4@9 f#4@3, ~@3 g4, ~@7 d4]/2", // D B
CJ: "[[f3,c4]@5 ~@6 g4@5, [f2,a3], e4@7 ~@2 c5@7, ~@5 f3@11, ~@5 a4@3]/2", CK: "[g2,g3,b3,d4]",
CL: "~ [d3,a3,c4]@7 ~ [d#3,a3]@7, f4 [c4,d#4]", CM: "[~ [b2,b3,d4]@31, f#4]/2",
})).s("gm_piano").gain(0.54)
// chords · piano · "electric piano" · soft notes
const piano_soft = note(`<
~@44 A ~ B C ~@6 D C ~@4 E@2 F@2 G@2 H@2 I@2 J@4 K@2 B ~@3 L ~ M ~ A ~ B N B ~ O A ~@2 B P Q N ~ A R S B T U ~ M ~ V@2
~ W ~ X Y@3 Z AA@2 AB@2 AC@2 AD AE B ~ AF ~@3 AG ~ AH ~ AI ~ A ~ AJ@2 AK AL ~ AM AN@4 AO@2 AP@2 AQ ~@2 AR ~@2 AS@2 ~
AT ~ AU ~@4 AV@2 ~ AW AX@2 ~ AY AZ@2 BA@2 ~ BB BC@2 ~@7
>`.pickRestart({
A: "~@6 c#3 ~@9", B: "~@13 a3 ~@2", C: "~@7 a2 ~@8", D: "~@4 d#4 ~@11", E: "[~@18 a4@9 a4@5, f#3]/2",
F: "[~@9 g#4@4 ~@3, ~@5 g#3@11, ~@2 e4 ~]/2", G: "[[d3,f#3]@7 ~, c#4@11 ~@5]/2",
H: "[~@15 c#5, e3, ~@5 g#3@11, ~@3 c#4@5]/2", I: "[~@7 a4 ~@7 a4, c#4@17 ~ a3@14, ~ c#5 ~@2, ~@6 f#4@4 ~@3 c#4@3]/2",
J: "[~@12 e4@8 ~@10 f#4@2 ~@12 d4@9 ~@8 g#3@3, ~@10 g#3@23 ~@20 d4@7 ~@4, ~@29 f#3@3]/4", K: "[b3@13 ~@3]/2",
L: "~@6 g#3 ~@9", M: "~@12 c#4 ~@3", N: "~@8 d#4 ~@7", O: "~@7 c#3 ~@5 c#4 ~@2", P: "d#4 ~@15", Q: "~@8 e3 ~@7",
R: "~@10 c#4 ~@5", S: "~@6 f#2 ~@9", T: "~@3 [a3,e4] ~@12", U: "~@12 a3 ~@3",
V: "[~@5 a4@2 ~@4 a3@3 ~@2, ~ f#3@13 ~@2, ~@2 c#5 ~]/2", W: "~@15 f#3", X: "c#4@6 ~@5 a4 ~@4",
Y: "[~@10 c#4@23 ~@15, ~@8 g#3@25 ~@15]/3", Z: "~@2 c#5 ~@5 a#4 ~@7",
AA: "[~@10 g#4@3 ~@2 f#3, ~@7 e4@2 ~@7, ~@2 g#3 ~]/2", AB: "[~@5 d4@2 d4, ~@12 d4@9 ~@11, ~@2 b4 ~]/2",
AC: "[~@7 e4@2 ~@6 f#3, ~@7 e4]/2", AD: "~@7 c#3 ~@5 a3 ~@2", AE: "~@9 d#4 ~@6", AF: "~@6 g#3 ~@6 a3 ~@2",
AG: "~@9 d#4 ~@3 a3 ~@2", AH: "~@8 a2 ~@7", AI: "~@7 g#3 ~@4 a3 ~@3",
AJ: "[~@20 f#4@3 ~@9, ~@7 f#4@3 ~@6, ~@15 c#5@8 ~@9]/2", AK: "~@5 e5@3", AL: "~ g#4 ~@2, e5", AM: "c#4 ~@3",
AN: "[~@22 e4@4 ~@20 f#4@6 ~@4 a#4 ~ c#5 ~@5, ~@12 e5@21 ~@9 f#4@4 ~@6 f#4@4 ~@8, ~@44 a4@6 ~@4 c#4@7 ~@3]/4",
AO: "c#4/2", AP: "[~@21 d4@11, ~@12 d4@9 ~@11, ~ f#4]/2", AQ: "~ [d3,f#3,b3,d4,f#4]@15", AR: "~@7 b3 ~@8",
AS: "[~@9 e3@15 ~@8]/2", AT: "~@3 d5@5, ~@5 g5@11", AU: "~@10 f#4 ~@3 g3 ~", AV: "[~@5 e5 e5@10]/2",
AW: "~@6 b3 ~@7 g3 ~", AX: "[~@5 e4@11, ~ a3@3]/2", AY: "~@14 g3 ~", AZ: "[~@7 a4@4 ~@5, ~@3 e4@5]/2",
BA: "[~@5 e4 ~@2, ~@7 g4@5 ~@4, ~@8 b3@3 ~@5]/2", BB: "~@2 d4 d4@3 ~@2", BC: "[~@8 g4@3 ~@5, ~@11 c4@21, ~@7 e4@9]/2",
})).s("gm_piano").gain(0.23)
// other · pad halo · "stringsynth 2"
const pad_halo = note("<~@4 A@4 B@4 A@4 B@4 A@4 B@8 C@4 A@4 B@4 ~@149>".pickRestart({
A: "e1/4", B: "f#1/4", C: "a1/4",
})).s("gm_pad_halo").gain(0.65)
// bass · lead 2 sawtooth · "saw wave"
const bass = note(`<
~@4 A@4 B@4 A@4 B@4 A@4 B@8 C@4 A@4 D@2 E@2 F@2 ~@2 G@2 H@4 ~@2 I@2 J@2 K@2 L@2 M@2 L@2 N@2 O@2 P Q I@2 ~@2 L@2 R@2
J@4 L@2 I@2 S@2 J@2 L@2 I@2 J@4 L@2 T@2 J@2 U@2 L@2 M@2 L@2 V@2 W@2 P X I@2 J@2 L@2 I@2 Y@2 J@2 L@2 I@2 J@2 N@2 L@2
N@2 Z@2 N@2 AA@2 AB@2 ~@39
>`.pickRestart({
A: "e1/4", B: "f#1/4", C: "a1/4", D: "f#1/2", E: "[f#1@29 ~@3]/2", F: "[f#1@27 ~ [f#1,f#2]@3 ~, f#2@3 ~]/2",
G: "[e2, e1@15 ~]/2", H: "[f#1,f#2]/4", I: "[e1,e2]/2", J: "[f#1,f#2]/2", K: "[~ d1, [d2,d3]]/2", L: "[a1,a2]/2",
M: "[d1,d2,d3]/2", N: "[d2,d3]/2", O: "[[c#2,c#3]@7 [c2,c3]]/2", P: "[b1,b2]",
Q: "[a1,a2]@8 [g#1,g#2]@2 [b1,a2]@2 [g#1,g#2]@2 f#2 ~", R: "[[e1,e2]@23 ~ [e1,e2] ~ [e1,e2]@6]/2",
S: "[[f#1,f#2]@7 [e1,e2]]/2", T: "[[e1,e2]@23 ~ [e1,e2]@8]/2", U: "[~ d2@31]/2", V: "[d3, d1@13 ~@3]/2",
W: "[[c#2,c#3]@23 ~ [c#2,c#3]@4 [c2,c3]@4]/2", X: "[a1,a2]@8 g#2@2 [b1,b2]@2 g#2@2 f#2 ~", Y: "[[f#1,f#2]@31 ~]/2",
Z: "[a1@13 ~ a1 ~ a1@16, a2]/2", AA: "[c#2,c#3]/2", AB: "[b1,b2]/2",
})).s("gm_lead_2_sawtooth").gain(0.22)
// bass · lead 2 sawtooth · "saw wave" · soft notes
const bass_soft = note("<~@46 A@2 ~@6 A@2 ~@17 B ~@34 C@2 ~@6 D ~@4 E ~@71>".pickRestart({
A: "[a1,a2]/2", B: "~@14 f#1 ~", C: "[~ [d1,d3]@31]/2", D: "c#3 ~@15", E: "~@8 g#1@2 ~@2 g#1@2 f#1 ~",
})).s("gm_lead_2_sawtooth").gain(0.13)
// bass · fretless bass · "bass"
const bass_2 = note(`<
~@44 A B C D E F@2 G A H C D E I J@2 K L M N K L M N K L O P Q R S T A B C D E F@2 G A H C D E I J@2 A B C D E F@2 G A
H C D E I J@2 U L M N K L M N K L O P Q R S V A H C D E F@2 G A H C D E I J@2 K L M N K L M N K L O P Q W Q X@2 Y M Z
AA AB AC AD@2 AE M AF AG AE M AH@2 Y M AI@2 Y AJ AK AL AM Q AN M AO AP AQ AR@3 ~@2
>`.pickRestart({
A: "f#2@3 ~@11 e2 ~", B: "f#2 ~@3 e2 f#2 g#2 a2", C: "~@8 a1@2 e2@2 ~@2 e2 ~", D: "a2@2 ~@4 e2 ~ a2 ~ a2@2 ~@2 a2 ~",
E: "e2@3 ~@5 e2@2 ~@4 d2 ~", F: "[e2@2 ~@6 d2 ~ e2@2 ~@2 f#2@5 ~@5 f#2 ~ c#2 ~@3 c#2 ~]/2", G: "f#1@3 ~ c#2 f#2 ~@2",
H: "f#2 ~@3 e2 f#2 g2 a2", I: "e2@2 ~@4 d2 ~ e2@2 ~@4 e2 ~",
J: "[f#2@2 ~@6 f#2 ~ c#2 ~@3 f#1@7 ~ f#1 ~ c#2 ~ f#2@5 ~]/2", K: "d2@15 ~", L: "d2 ~@3 d2@11 ~", M: "a1@15 ~",
N: "a1@2 ~@2 a1@11 ~", O: "c#2@15 ~", P: "c#2@2 ~@2 c#2@11 ~", Q: "b1@15 ~", R: "b1@8 b1@3 ~ a1 ~ f#1@2",
S: "e1@15 ~", T: "e1@2 e1@3 ~ e1@3 ~ e1 ~ e1 ~@3", U: "d2@12 ~@2 d2 ~", V: "e1@3 ~ e1@3 ~ e1 ~ e1 ~@5",
W: "b1 ~@3 b1@10 ~@2", X: "[~ e2, b1@3 ~]/2", Y: "e2 ~@3 e2@12", Z: "a1 ~ a1@4 a2@2", AA: "e2",
AB: "e3@2 d3@2 b2@2 a2 ~@5 g2@4, e2 ~@3 e2@6 e2@5 ~", AC: "a2@8 ~@6 [a2,b2] ~, a1",
AD: "[a2 ~ a1@2 ~@2 a1@6 ~@4 e2@14 [b1,e2] ~, ~@6 a2@3 ~@7]/2", AE: "e2 ~@3 e2@6 b2@5 ~", AF: "a1@2 ~@2 a1@7 ~ a2@4",
AG: "e2@7 b1, ~@14 e2 ~", AH: "[~@2 c#2@2 ~@2 c#2@4 d2@4 ~@2 e2@15 ~, ~@7 d#2@2 ~@7]/2",
AI: "[a1@2 ~@2 a1@4 a2@3 ~@5 e2@15 ~, ~@6 b2@3 ~@7]/2", AJ: "a1@7 ~", AK: "a1 ~ a2@2 g2@3 ~ f#2@2 ~@2 e2@4", AL: "c2",
AM: "c2@2 ~@2 c2@11 ~", AN: "b1 ~@3 b1@12", AO: "a1 ~ a1@6", AP: "g1", AQ: "d2 d#2", AR: "[b1@11 ~@5]/3",
})).s("gm_fretless_bass").gain(0.57)
// chords · drawbar organ · "organ"
const drawbar_organ = note(`<
~@10 A@2 B ~@2 C D@4 E@4 F@4 G@4 H@8 I@6 J K L@2 M@2 N@2 J O P@2 N@2 Q@2 R@2 S@2 T U Q@2 V@2 W@2 X@2 N@2 Y@2 Z@2 N@4
AA@2 AB@2 N@2 AC@2 AD@2 AE@2 AF@2 N@2 Y@2 AE@2 N@2 AG@2 AH@2 AI@2 AJ@2 Q@2 AK@2 W@2 AL@2 N@2 J AM AN AO AF@2 AP AQ AR
AS L@2 N@2 Q@2 T U Q@2 T AT AU@2 AV@2 AW@3 AX AY@2 AZ@2 BA@2 BB@2 BC@4 BD@2 BE@2 BF@2 BG BH BI@6 BJ@4 BK BL BM@5
>`.pickRestart({
A: "f#5/2", B: "e5@9 ~@7", C: "g#4", D: "[[a4,c#5], f#5@59 ~@5]/4", E: "[~@7 g#5, [g#4,b4,e5]]/4",
F: "[~ a3, [f#5,a5]@63 ~, [a4,c#5] ~, ~ f#4@2 ~, ~@3 c#4@4 ~]/4", G: "[[c#5,f#5]@63 ~]/4",
H: "[~@16 a5@37 ~@11 e5@16 ~@32 d5@16, e4@73 ~@23 g#4@32, [c#5,e5]@65 ~@15 e5@32 ~@16, [a3,c#4]@63 ~ [g#3,b3,g#4]@32 ~@8 g#5@24, a4@53 ~@11 b4@24 b4@32 ~@8]/8", // C#m A G#m
I: "[a5@24 ~@29 f1@2 [e1,f1,g1] ~@6 [g2,a2,b2,c3,a4] [c1,f3,g3,a3,b3,c4] [g1,a1,b1,b3] ~@7 [a3,c#4,f#4]@23 ~, f#5@61 [f2,d4,e4,f4,g4]@2 e3@2 ~@31, [a3,c#4,f#4,a4,c#5] c#5 ~, ~@24 a5@18 ~@9 f2@5 [c1,d1,e1,f1,g1]@2 [c2,d2]@2 [a1,c3,d3,a3,b3,c4]@2 d3@2 [a3,c#4,f#4]@8 ~@24, ~@53 b2@4 b1@2 [c1,c#1,d1,e1,f1,a2,b2]@4 ~@33]/6", // Em Cmaj7 F G F#m Em7 F#m C …
J: "[a3,c#4,e4]@15 ~", K: "[a3,d4,e4] ~ [a3,c#4,e4] ~@3 [b3,e4]@4 a3 ~ [a3,c#4,e4] ~@3, ~@6 a3@3 ~@7, ~@6 d#4 ~@9",
L: "[[g#3,b3,e4]@24 [g#3,b3,e4] ~ [b3,e4]@2 ~@4, ~@26 g#3 ~@5]/2", M: "[[a3,c#4,f#4]@23 ~ [g#3,b3,e4]@7 ~]/2",
N: "[a3,c#4,f#4]/2", O: "[a3,d4,e4] ~ [a3,c#4,e4] ~@3 [b3,e4]@4 a3 ~ [a3,c#4,d#4,e4] ~@3, ~@6 a3 ~@9",
P: "[~@4 [g#3,b3,e4]@2 ~@2 [g#3,b3,e4]@15 ~ [g#3,b3,d4,e4] ~ [g#3,b3,d4,e4]@2 ~@4]/2", Q: "[a3,d4,f#4]/2",
R: "[~ d#4 ~@14 g#3@16, [c#4,e4], a3 ~]/2", S: "[~@3 a4@5, [a3,d4,f#4]]/2", T: "[a3,c#4,e4]",
U: "~ g#4, g#3, ~@3 c#4@13, ~@5 e4@11", V: "[~ g#3@5 [g#3,c#4,e4]@2, e4@3 ~, ~ c#4@11 ~@4]/2",
W: "[~@3 a4, [f#3,b3,d4], ~ f#4]/2", X: "[~ [g#4,b4,d5,e5], [g#3,b3,d4,e4]]/2", Y: "[[a3,c#4,e4]@31 ~]/2",
Z: "[[g#3,b3,e4]@24 [g#3,b3,e4] ~ [g#3,b3,e4]@5 ~]/2", AA: "[c#4@5 ~@2 a4@9, a3, e4@3 e4@5, ~@5 c#4@11]/2",
AB: "[[g#3,b3,e4]@24 [g#3,b3,d4,e4] ~ [g#3,b3,d4,e4]@6]/2", AC: "[~@9 a4@7, [a3,c#4,f#4]]/2",
AD: "[c#4@9 c#4 ~ e3@5, e4, a3@5 a3@3]/2", AE: "[[g#3,b3,e4]@12 [g#3,b3,e4] [g#3,b3,e4]@3]/2",
AF: "[[a3,c#4,f#4]@3 [g#3,b3,e4]]/2", AG: "[~ a3@7, f#4, ~ d4@15]/2", AH: "[~@3 g#4, [a3,c#4], e4@3 ~, ~ g#3]/2",
AI: "[~@13 d4@3, a3@27 ~@5, d4@25 ~@7, f#4@23 ~ f#4@8, ~@5 a4@11]/2", AJ: "[g#3@3 ~@5 g#3@8, e4, b3@3 ~@11 c#4@18]/2",
AK: "[[c#4,e4]@3 [g#3,c#4,e4]]/2", // C#m
AL: "[~@15 g3 [g#4,b4,d5,e5]@16, [g#3,b3,d4,e4]@16 g3 ~@15, ~@12 [e2,f2]@5 ~@15, ~@13 [a2,b2]@4 ~@15, ~@14 d3 [e3,f3]@2 ~@15]/2", // E7 Fmaj7 Asus2 Fmaj7
// … 199 more lines
More by Pink Floyd
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.