0:00/0:00
// Stoney End — Barbra Streisand
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 94 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · piano · "A.PIANO 1"
const piano = note(`<
A@5 B C D@2 E@2 F G H I J K@5 L@4 M N O@2 P@4 Q@2 R S T U V@4 W@5 X Y Z AA@2 AB@2 AC@2 AD AE AF AG AH AI AJ@3 AK AL@2
AM AN AO AP AQ@6 AR AS@4 AT@3 AU AV@5 ~
>`.pickRestart({
A: "[~@14 [d5,d6] ~@7 [c5,c6] ~@16 [e5,e6], ~@7 [f3,a3,c4,e4]@8 [g4,g5]@8 [g4,g5]@8 [g4,g5]@7 [d5,d6]@2, ~@26 [e5,e6]@5 ~ [e3,g3,b3,d4]@15 ~ [d3,f3,a3,c4]@16 [f3,a3,c4]@16, ~@42 [d5,d6]@5 ~@11 [a4,a5]@6 ~@8 [a4,a5]@7 ~, ~@30 [c5,c6]@2 ~@5 [c5,c6]@3]/5", // D C E Fmaj7 G D E Em7 …
B: "[f3,a3,c4,e4,c5,c6]", C: "~@2 e4@2 [e4,b4] ~ [d4,b4]@2 ~@2 [c#4,a4]@6, [g3,a3]@2 c#5 ~@5",
D: "[[c4,d4,f4,a4]@2 ~@2 [d4,f4,a4]@3 ~ d4 ~ [d3,d4,f4,a4]@4 [d4,g4]@4 g3@2 b3 ~ [g3,b3]@2 [g2,g3] ~ [e4,g4]@2 [d#4,g4]@2 d4@2, [d3,a3]@6 ~@4 a3 ~@3 g2@10 ~@2 [g2,g3]@4 ~@2, ~@4 c4 ~@2 c4@2 ~ c4@2 ~@2 b3@2 ~@2 b3 ~ [d4,g4]@4 ~@2 d#4 ~@3 g3 ~]/2", // Dm7 Dm G5 G Em D# D5 G …
E: "[[c3,c4,g4]@4 g3 ~@2 a3 [g2,a3,c4,f4,a4] ~ [g2,g3,c4,f4,a4]@2 a3 ~ c3@4 ~@2 [c4,e4]@2 a3@2 ~@2 a3@2 a3@2 e3@2, ~@4 [c4,e4,g4]@4 ~@2 a3 ~@3 [c4,e4,g4]@6 ~@2 e3@8 ~@2, ~@3 c3 ~@3 g3 ~ [c3,g3]@2 a2@5, ~@11 [c#4,e4,g4]@3 [c#4,e4,g4]@2]/2", // C5 F C C5 C#dim
F: "[d4,e4,g4,b4]@3 ~ [e4,g4,b4]@3 ~ e4 ~ [e3,d4,e4,g4,b4]@6, e3 ~, ~@4 d4 ~@11", // Em7 Em Em7
G: "[e4,c#5]@2 [a3,c5]@2 ~@2 [a3,d4,b4]@3 ~ [a3,c#4,a4]@6, a3 ~ d#4 ~@13", // C#m Am Bm7 A
H: "~@2 d3@2 a3@2 [d3,a3]@2 ~@2 [b3,d4,e4,g4] ~@3 e3 ~, d2@4 e2@3 ~, ~@2 d4 ~ [c4,d4,f4]@5 ~ e3@2 [b3,d4,e4,g4]@4", // D5 Em7 Dm7 Em7
I: "~@2 [c4,e4,f4,a4] ~ c4@2 c4@2 ~@2 [d#4,f#4,a4] ~ c4@2 f#3@2, f2@6 f3 ~ f#2@8, ~@2 f3@2 [e4,f4,a4]@5 ~ f#3@2 [d#4,f#4,a4]@4", // Fmaj7 D#dim Fmaj7 D#dim
J: "~@2 f4 ~ [c4,f4,a4]@2 ~@2 g2@2 g2@2 [g2,g3,c4,f4,a4]@2 g2 ~, g2 ~, ~ g3@2 [g3,f4,a4]@3 ~@2", // F Dm
K: "[[g2,g3]@2 ~@10 [d4,d5]@2 ~@2 [e4,g4]@4 ~@2 c3@2 [g2,b3,d4,g4]@2 ~@2 g3@2 f3@3 ~@3 [a3,c4,f4]@3 ~ [e2,e3,g3,b3,e4] ~ [e2,e3,g3,b3,e4]@4 d3@3 ~@3 [a3,c4,f4]@2 d3 a3 [g2,a3,c4,f4] ~ [g2,a3,c4,f4]@4 c3@4 ~@10 [d4,d5]@2 [c4,c5]@2, b3@10 [d#4,d#5]@4 [c4,c5]@6 [c4,e4,g4]@4 ~@6 [a3,c4,f4]@6 ~@10 [a3,c4,f4]@6 ~@10 g4@8 [a4,a5]@2 [g4,g5]@2 [d#4,d#5]@5 ~, d4@8 [g4,g5]@6 ~@20 f3@4 ~@12 d3@4 ~@8 c4@2 ~@4 [c5,c6]@11 ~, g4@4 [g4,g5]@2 [a4,a5]@8 ~@48 e4@17 ~, ~@2 [g2,g3]@12 c3@8 ~@4 [g2,b3,d4,g4]@4 f2@9 ~@7 d2@9 ~@11 c3@13 ~]/5", // G D Em G F Em F D …
L: "[c3@2 ~@2 [c4,e4,g4,c5]@4 [g2,d4,b4] ~@3 g3@2 f3@4 ~@2 [c4,e4,a4]@3 ~ [e3,d4] ~ [e2,e3,b3,d4,g4]@3 ~ d3@3 ~@3 [a3,c4,f4]@2 d3 ~ e2 ~ [e2,e3,b3,d4,g4]@4 d3@4 ~@2 [a3,c4,f4]@2 d3 ~ [e2,b3,d4,g4] ~ [e2,e3,b3,d4,g4]@6, ~@2 c3@4 ~@4 [g2,d4,g4,b4]@4 f2@9 ~@7 d2@9 ~@7 d2@9 ~@9, ~@7 [c4,e4,a4]@3 ~@5 [a3,c4,f4]@3 ~@5 [a3,c4,f4]@3 ~@6, ~@9 f3@2 ~@6 d3@2 ~@6 d3@2 ~@5]/4", // C G Am E7 Em7 F Em7 F …
M: "a4@3 ~@4 f3, f2, [c4,e4]@3 [c4,e4,a4], f3@5 f3@2 ~, ~@3 a4@3 ~@2", // C Am
N: "[e3,d4,g4]@6 e3@4 ~@2 [b3,d4,g4]@3 ~, e2@15 ~, b3 ~@2 [b3,d4,g4]@3 ~@2, ~@10 e3@5 ~", // Em7 G
O: "[[f3,c4,e4,a4]@4 e4@3 ~@3 [f3,c4,e4,a4]@4 [a3,c#4]@3 ~@3 [e4,c#5]@2 [e3,d4,b4]@4 e3@4 e3@2, f2@11 ~@3 [e3,g4]@8 ~@10, ~@7 e4@3 ~@3 [c#4,a4]@3]/2", // Fmaj7 A C#m E7 Em F#m
P: "[[c4,d4,f4,a4]@3 ~ [c4,d4,f4,a4]@3 ~@3 [d3,d4,f4,a4]@4 [g2,g4]@6 [g2,g3,g4,e5]@2 [g3,f#4,d#5]@3 ~ [f4,d5]@4 ~@2 c3@4 [e4,g4,c5]@3 ~ [g2,f4,a4] ~ [g2,g3,c4,f4,a4]@3 ~ [c3,c4]@3 ~ [c3,c4]@3 ~ [c#4,e4,g4]@4 e3@2 [a3,c#4,e4,g4]@2 e3 ~, d3@8 ~@2 c4 ~@3 [b3,d4]@2 ~@6 g2@9 ~@23 a2@9 ~, ~@26 g3@3 ~ [e4,c5]@5 ~@11 [e4,g4]@6 ~@2 [e3,a3]@3 ~ a3 ~@5]/4", // Dm7 Dm G C Cm Dm C Dm …
Q: "[[b3,d4,e4,g4]@3 ~ [d4,e4,g4]@3 b3 d4 ~ [e3,d4,e4,g4]@3 ~ a3@3 ~ a3@4 [c#4,g4]@4 ~@2 [a3,c#4,e4,g4]@3 ~, e3@4 b3 ~@5 b3 ~@3 a2@17 ~, ~@14 [e3,e4]@9 ~@3 e3@5 ~, ~@14 [c#4,g4]@7 ~ a3@3 ~@7]/2", // Em7 C#dim A7 E C#dim
R: "d2 ~ [d3,a3,d4,f4]@3 ~ [d3,d4,f4] ~ [e2,e3,e4,g4] ~ [e2,e3,e4,g4]@4 [e3,b3,e4] ~, ~@2 d2@4 ~@4 b3@3 ~@3", // Dm Em E5
S: "[f2,f3,c4,e4,a4] ~ [f3,c4,e4,a4]@4 f3@2 [f#2,f#3,c4,f#4,a4] ~ [f#2,f#3,c4,f#4,a4]@4 f#2@2, ~ f2@3 ~@4", // Fmaj7 F#dim
T: "[g2,g3,f4,a4] ~ [g2,g3] ~ [g2,g3,a4]@2 [g2,g3,f4]@2 [g2,g3,c4,f4,a4]@2 [g2,g3,c4,f4,a4]@2 [g2,g3,c4,f4,a4]@2 [g2,g3,c4,f4,a4]@2", // Dm G Gsus2 G7 F
U: "[g2,g3,b3] ~ [g2,g3,b3,f4,g4]@2 [g2,g3]@2 ~@6 [d#4,d#5]@2 [d4,d5] ~, [f4,g4] ~ [b3,f4]@5 ~, ~@4 g4@4 [g4,g5]@3 [g4,g5]@3 ~@2, ~@3 [g2,g3]@4 ~, ~@9 [a4,a5]@5 ~@2", // G G7 G D# D Fsus2 Bdim G …
V: "[[e4,g4,c5]@4 [e4,g4,c5]@3 [c3,e4] [d4,g4,b4] ~@3 g3@2 ~@6 [c4,e4,a4]@3 ~ [e2,e4,g4] ~ [e2,e3,b3,e4,g4]@4 [a3,d4,f4]@4 ~@2 [a3,d4,f4]@2 d3 a3 [g2,a3,c4,f4] ~ [g2,a3,c4,f4]@4 c3@4 ~@2 [g4,g5]@2 [a4,a5] ~@5 [d4,d5]@2 [c4,c5]@2, c3@7 ~ g2@6 f2@9 ~@7 d2@9 ~@11 c3@5 ~@9, ~@10 [d4,g4,b4]@4 [c4,e4,a4]@6 ~@26 [c4,e4]@9 ~@3 [d#4,d#5]@5 ~, ~@18 f3@5 ~@7 d3@3 ~ d3@4 ~@8 g4@6 ~@4 [g4,g5]@7 ~]/4", // C G Am Em Dm F G A …
W: "[~@2 g3@2 [c4,e4,g4,c5]@3 [g3,c4] ~@2 [g3,d4,g4,b4]@4 [c4,e4,a4]@4 ~@2 [c4,e4,a4]@3 f3 [e3,b3,d4,e4,g4] ~ [e3,b3,d4,g4]@4 [a3,c4,f4]@4 ~@2 [a3,c4,f4]@3 d3 [e3,b3,d4,g4] ~ [e3,b3,d4,g4]@4 [a3,c4,f4]@4 d3@2 a3 ~ d3@2 [e3,b3,d4,g4] ~ [e3,b3,d4,g4]@5 ~ [c4,f4,a4,c5,e5]@16, c3@8 ~@6 f3@3 ~ f3@5 ~@7 d3@3 ~ d3@5 ~@7 d3@3 ~@3 [c4,f4]@4 ~@7 f3@17]/5", // C C5 G Am Em7 F Em7 F …
X: "[g4,b4,d5]", Y: "[f4,a4,c5,e5]", Z: "[e4,g4,b4,d5]@7 ~",
AA: "[e4@10 e4@4 g4@3 ~@11 [a4,c#5]@3 ~, [f3,a3,a4,c5]@7 e4@8 ~, ~@14 [g3,a3,c#4]@12 [g3,a3,c#4]@5 ~, ~@7 [a4,c#5]@4 [a4,c#5]@3 ~@2, ~@18 g4@13 ~]/2", // A F A7 A
AB: "[[f4,a4,c5,d5]@4 f4@3 ~@3 d4@4 ~@6 [g4,e5]@2 [g3,f#4,d#5]@3 ~ [g3,f4,d5]@6, [f3,a3,c4]@7 [g3,d4,b4]@4 ~@5, d4@4 f4@2 ~ g4@3 ~@6, ~@2 d5@5 ~@9, ~@2 [a4,c5]@4 ~@3 b3@2 ~@5]/2", // Dm7 C Cm G7 F G Am
AC: "[[e4,c5]@4 [e4,g4,c5]@4 g3 ~ [g3,c4,f4,a4]@3 ~ g3@4 ~@2 [e4,g4]@2 [a3,c#4,e4,a4]@4 ~@2 [e4,a4]@3 ~, [g3,c4]@7 ~@7 c4@8 ~@4 [a3,c#4]@4 ~@2, ~@7 [e4,g4]@3 ~@6, ~@18 g3@4 g3@9 ~]/2", // C F Em A A5 C5 A Em
AD: "[g3,b3]@2 ~@2 b3@6 b3@5 ~, [g4,b4] ~@3 [g3,e4,g4,b4]@11 ~", // G Em
AE: "c#6@2 [d#5,c6]@2 ~@2 [e4,d5,b5]@2 ~@2 [g3,c#4,e4,c#5,a5]@5 ~, [g3,c#4] ~, e5 ~@15", // Cm E7 A7 Gdim
AF: "[d2,c4]@2 a3@2 ~@2 [d3,a3]@2 [b3,d4,g4] ~ e3@4 [e3,b3]@2, ~ [d2,c4,f4]@3 e2@4, ~@5 [d4,g4]@3, ~@5 b3 ~@2", // D7 D5 G E5 Dm7 G5
AG: "[c4,e4,a4] ~ f3@4 [f3,c4]@2 [f#2,f#3,c4,d#4,f#4] ~ [f#2,f#3,d#4,f#4,a4]@4 f#3 ~, f2 ~, ~ [e4,a4]@3 ~@4, ~ c4 ~@3 c4 ~@2", // Am F5 Cdim D#dim A5
AH: "[g2,g3] ~ [g3,f4] ~ [g2,g3,c4,f4,a4]@2 [g2,g3,c4,f4,a4]@2 [g2,g3,c4,f4,a4]@2 [g2,g3,c4,f4,a4]@2 [g2,g3]@2 [g2,g3]@2, ~@3 [c4,f4,a4]", // G G7 F G F
AI: "[g4,g5] ~@3 [c5,c6]@2 [d5,d6] [d#5,d#6]@2 [d5,d6] [c5,c6]@2 [d5,d6] ~ [c5,c6]@2, [g2,g3]@15 ~, ~ [a4,a5]@2 ~@5", // G C D D# D C D C …
AJ: "[[c3,c4,e4,g4]@4 [c4,e4,g4]@3 c3 [g2,b3,d4,g4] ~ [g2,b3,d4,g4]@4 ~@6 [a3,c4,e4]@3 f3 [e2,g3,b3,d4] ~ [e2,e3,g3,b3,d4]@4 [f3,a3,c4]@4 d3@2 [f3,a3,c4]@2 d3 ~ [g2,a3,c4,f4] ~ g2@4 g2 ~, ~@14 f2@9 ~@7 d2@9 ~@9, ~@7 [a3,c4,e4]@3 ~@11 [a3,c4,f4]@3, ~@18 f3@5 ~@7 d3@3 ~@15]/3", // C G Am Em7 F Am F
AK: "~@8 [g5,g6]@2 [c4,d#5,d#6] [d5,d6] c5@2 [d5,d6]@2, c3@11 ~@5, [g5,g6]@6 [c4,d6,d7]@5 ~@5, ~@2 [a5,a6]@9 ~@5, ~@4 [c6,c7]@7 ~ c6 ~@3", // G Cm D G Csus2 A C
AL: "[~@2 c4@2 [e4,g4,c5]@3 [g3,e4] [g2,d4,g4,b4] ~ [g2,g3,d4,g4,b4]@4 f3@4 f3@2 [c4,e4,a4]@3 f3 [e2,e3,b3,e4,g4] ~ [e2,e3,b3,e4,g4]@6, c3@4 ~@3 f2@5 ~@4, [c5,c6]@2 ~@5 [c4,e4,a4]@3 ~@6]/2", // C G Am Em C Am
AM: "[d2,d3,a3,d4] [e2,e3,b3,e4,g4]", AN: "[f#2,d4,f#4,a4], f#3@3 ~", AO: "[d2,d3,c4,f4,a4]@7 ~",
AP: "f4@4 f3@5 ~ [f3,f4,a4,c5,e5]@5 ~, [a4,c5,e5]@9 ~@7, f2@3 ~@13", // Fmaj7 Am
AQ: "[[e4,g4]@4 ~@3 e4 ~@2 [e2,e4,g4,b4,d5]@2 e3 ~@7 f4@4 ~@2 [f3,f4]@3 ~ [e4,g4,b4,d5]@4 e3@2 [e4,g4,b4,d5]@2 e3 ~ [d2,d3,f4,a4,c5,e5]@2 ~ [d2,d3,f4,a4,e5]@3 [e4,g4,c5]@6 [e4,g4,c5]@3 d4 [g2,g3,d4,g4,b4] ~ [g2,g3,d4,g4,b4]@4 f3@4 ~@2 [c4,e4,a4]@3 c4 [e2,e3,e4,g4,b4] ~ [e2,e3,e4,g4,b4]@4 d3@4 ~@2 [d4,f4,a4]@3 c4 [g2,c4,f4,a4] ~ g3@4 g3@2, [e2,b4]@9 ~@5 f2@15 ~ e2@9 ~@23 f2@9 ~@7 d2@9 ~@3 [g2,c4,f4,a4]@6, ~@4 e3@5 ~@5 [f4,a4,c5,e5]@6 [a4,c5,e5]@9 ~@14 c5@2 ~@17 [c4,e4,a4]@6 ~@10 [d4,f4,a4]@6 ~@12, ~@18 f3@6 ~@22 [c3,c4]@9 ~@11 f3@5 ~@11 d3@5 ~@9]/6", // Em Em7 F Em7 Dm7 Dm C G …
AR: "a6 ~ [c4,g5,g6]@2 [d#5,d#6]@2 [c4,d5,d6] ~ [c3,c5,c6]@2 [g4,g5] ~ [c3,d#4,d#5]@2 [g3,d4,d5] ~, [c3,a5]@4 c3 ~@5 c4@5 ~", // C5 D# Csus2 C G Cm G5 F
AS: "[[g3,c4,c5]@4 [c4,e4,g4,c5]@3 c4 [g2,d4,g4,b4] ~ [g2,g3,d4,g4,b4]@3 ~ [f2,f3]@4 ~@2 [e4,a4,c5]@2 f3 e4 [e2,e3,e4,g4,b4] ~ [e2,e3,e4,g4,b4]@4 [c4,f4,a4]@4 ~@2 [c4,f4,a4]@2 d3 c4 [g2,c4,f4,a4] ~ [g2,g3,c4,f4,a4]@4 c3@4 c3@2 [c3,c4] [c5,c6] ~ [c5,c6]@2 [c5,c6]@3 [c3,c5,c6]@2 [c3,c4,c5,c6]@2, c3@6 ~@8 c4@9 ~@7 d3@3 ~ d3@4 ~@15 c3@7 ~@4, ~@14 [e4,a4]@6 ~@26 [c4,e4,g4]@7 c4@4 c4@5 ~@2, ~@18 [f2,f3]@5 ~@7 d2@9 ~@25]/4", // C5 C G F Am Em F C …
AT: "[[e4,g4,c5]@3 ~ [e4,g4,c5]@2 c4 d4 [g2,g3,d4,g4,b4] ~ [g2,g3,d4,g4,b4]@4 [f2,f3]@4 ~@2 [c4,e4,a4]@2 f3 b3 [e2,e3,b3,e4,g4] ~ [e2,e3,b3,e4,g4]@4 [a3,d4,f4]@4 ~@2 [a3,d4,f4]@3 c4 [g2,g3,c4,f4,a4] ~ [g2,c4,f4,a4]@6, [c3,c4]@7 ~@7 [c4,e4,a4]@6 ~@10 d3@3 ~ d3@5 ~@3 g3@4 ~@2, ~@18 f3@4 ~@8 d2@9 ~@9]/3", // C G F Am Em Dm F C …
AU: "[c3,a5,a6]@2 [c4,g5,g6]@2 [d#5,d#6]@2 [c3,d5,d6] [c4,c5,c6] ~ [c4,g4] ~@2 [d#4,d#5] ~ [d4,d5] ~, ~@7 c3@5 ~@4, ~@9 g5@2 ~@5", // F C5 D# Csus2 C C5 D# D
AV: "[[g3,c4,c5]@4 [c4,e4,g4,c5]@3 c4 [f2,g2,d4,g4,b4] ~ [g2,g3,d4,g4,b4]@3 ~ [c4,e4,a4]@4 f3@2 [c4,e4,a4]@2 f3 c4 [e2,e3,e4,g4,b4] ~ [e2,e3,e4,g4,b4]@3 ~ [d4,f4,a4]@4 ~@2 [d4,f4,a4]@2 d3 ~ [g2,g3,c4,f4,a4] ~ [g2,g3,c4,f4,a4]@4 c3@4 [c3,c4]@2 [c3,c4] [c3,c4,a4,a5]@2 [c3,c4]@2 [c3,c4,c5,c6]@3 [c3,c4,c5,c6] ~ [c3,c4,c5]@2 [c3,c4,e5,g5]@15 ~, c3@8 ~@6 f2@9 ~@7 d2@9 ~@7 g4@6 [g4,g5]@3 [c5,c6] ~@6 c6@18, ~@14 f3@3 ~@13 d3@3 ~ d3@4 ~@8 e4@9 ~@25, ~@23 c4 ~@16]/5", // C5 C G7 G Am Em Dm F …
})).s("gm_piano").gain(0.38).pan(0.7)
// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
~@6 A B C ~ D E ~ F G H ~@2 I ~@2 J K L ~@2 M N ~ O P Q R S T U V W ~@2 X ~@6 Y@4 ~ Z AA ~ AB ~ AC ~ AD AE AF ~@5 AG ~
AH ~ AI AJ AK ~@9 AL ~ AM AN ~@3 AO AP AQ ~
>`.pickRestart({
A: "c#4 ~@3", B: "~@6 c4 ~", C: "~@7 g4", D: "~@2 g4 ~@4 a3", E: "~@7 d4@2 ~@7", F: "~@2 [a3,c4,f4] ~@13",
G: "~@10 c4 ~@3 c4@2", H: "~@2 [c4,a4] ~@3 c4@6 ~@4", I: "~@6 f3 ~@9", J: "~@6 c3@2 g4 ~@7",
K: "~@6 f3 ~ [e2,b3,g4] ~@7", L: "~@8 [b3,d4,g4] ~@7", M: "~@2 b3 ~@5", N: "~@4 [c4,a4]@2 f3@2 [c4,e4] ~@7",
O: "~@8 d4 ~@3 c4@2 ~@2, ~@7 c4@2 ~@7", P: "~@2 g3@2 ~@9 g3@2 ~", Q: "~@8 c4 ~@7", R: "~@4 [e4,g4] ~@11",
S: "~@8 b3 ~@3 b3 ~@3", T: "~@6 e4@5 ~@5", U: "[a3,d4,f4] ~@5 a3 ~ b3 ~@5 g4 ~",
V: "~@3 [c4,e4,a4] ~@3 [f#3,c4,f#4,a4]", W: "c4 ~ [c4,f4,a4] ~ [c4,f4]@2 [c4,a4]@2 ~@8", X: "~@8 b3 ~@7",
Y: "[~@16 [b3,e4]@15 ~ c4@15 ~ b3@15 ~, ~@15 e3@16 f3@16 e3@15 ~@2]/4", Z: "~@14 e4 ~", AA: "~@6 [f4,a4,c5] ~",
AB: "~@8 [c4,f4,a4] ~@7", AC: "e4 ~@15", AD: "[a3,f4] ~@7", AE: "~@14 c4 ~", AF: "[c4,f4] ~ [g2,c4] ~@13",
AG: "~ c4 ~@2", AH: "f4 ~", AI: "d4@7 ~", AJ: "~@8 f4 ~@7, ~@4 f2@11 ~", AK: "~@6 g4@3 ~@7, d5 ~", AL: "~@4 c5 ~@11",
AM: "~@2 f2@5 ~@9", AN: "~@7 g3", AO: "~@7 c4 ~@8", AP: "~@11 a5 ~@4", AQ: "c5",
})).s("gm_piano").gain(0.22).pan(0.7)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
A@2 B C D E F G@2 H@2 I@2 J K L@2 M N@3 O P@3 Q B R@2 S T U@2 V@2 W X Y@2 Z AA AB AC AD AE@3 AF@2 AG@2 AH@2 AI@2 AJ@2
AK@2 W X Y@2 Z AA AB AC AL AM AN AO AP AQ AR AS@2 Z AA AB AC AT AU AB AC Z AA AB AC AT AU AB AC AV ~
>`.pickRestart({
A: "[~@14 f2@7 ~ f2 ~ f2@7 ~]/2", B: "e2@5 ~ e2 ~ e2@5 ~ e2 ~", C: "d2@5 ~ d2 ~ d2@5 ~ c2 ~",
D: "g1@6 g2@3 ~ g2 ~ g2 ~ g2 ~", E: "f2@3 ~ f2@3 d2 c2 ~ d2@4 f2@2", F: "e2@5 ~ e2@4 a1@4 c#2@2",
G: "[d2@5 ~ d3@2 d2@2 f2@2 f#2@2 g2@4 d2@2 g1@2 g2@3 ~ g2 ~ g2 ~ g2 ~]/2",
H: "[c2@3 ~ c2@2 ~ c2 g1 ~ g1 ~ g2@2 c2@4 e1@2 g1@2 a1@3 ~ a1@2 a2@3 ~]/2",
I: "[e2@5 ~ b2@2 e2@2 g2@2 g#2@2 a2@8 a1@2 b1@2 e2@4 a1@2]/2", J: "d2 d2@2 d2 e2 e2@2 e2",
K: "f2@2 f2@3 ~ f2@2 f#2@2 f#2@3 ~ f#2@2", L: "[g2@3 ~ g2@2 ~ g2 d2 ~ d2@3 ~ g1@4 a1@4 a#1@3 ~ a#1@2 b1 ~ b1 ~]/2",
M: "c2@4 c3@2 ~ c3 g2@2 g2@4 f2@2",
N: "[~ f2 c2@2 d2@2 f2@2 e2@2 e2@3 ~ d2@4 a2@2 f2@2 g1 ~ g1@2 g2@3 ~ c2@4 c3@2 g2@2 c3@3 c3 c3@2 c3@2 c3@2]/3",
O: "c2@3 ~ c3@2 ~ c3 g2@2 g2@4 f2@2",
P: "[~ f2 c2@2 d2@2 f2@2 e2@2 e2@4 d2@4 a2@2 f2@2 d2@2 e2@2 e2@4 d2@9 ~ e2@2 e2@5 ~]/3", Q: "f2@5 ~ f2 ~ f2@5 ~ f2 ~",
R: "[f2@5 ~ f2@2 c2@2 d2@2 f2@2 e2@4 e1@3 ~ a1@4 c#2@4 e2@2]/2", S: "d2@3 d3 d2 f2 f#2 g2", T: "~ g1 d2 g2@5",
U: "[c2@2 e1@2 f1@2 g1 ~ g1@6 c2@4 e2@2 g2@2 a2@2 a2@2 a1@2 a2@2 a1@2]/2",
V: "[e2@3 ~ e2@3 b2 e2@2 g2@2 g#2@2 a2@4 a1@4 b1@4 c2@4 c#2@2]/2", W: "d2@4 d3 d2 d2@2 e2 ~ e2@4 e2@2",
X: "f2 ~ f2@3 ~ f2@2 f#2 ~ f#2@3 ~ f#2@2", Y: "[g2@4 g2@2 ~ g2 d2 ~ d2@4 g1@4 g#1@4 a1@4 a#1@4 b1@2]/2",
Z: "c3@3 ~ c3@2 ~ c3 g2!2 g2@4 f2@2", AA: "~ f2 c2@2 f1@3 ~ e1@2 b1@2 e2@2 d2@2", AB: "~ a2 f2@2 d1@4 g1 ~ g1@4 c2@2",
AC: "~ e2 e2@2 f2@2 f#2@3 f#2@3 g2@2 g2@2", AD: "c2 ~ c2@2 c3 g2 g1@2 g2@2 g2@3 ~ f2@2",
AE: "[~ c2 a1@2 d2@2 c2@2 e2@2 b2@2 e2@2 d2@4 a2@2 f2@2 d2@2 e2@2 b2@2 e2@2 d2@4 a2@2 d2@4 e2@2 e2@3 ~ e2@2]/3",
AF: "[f2@3 ~ f2@2 ~ f2 c2 ~ f1@2 c2 ~ e1@5 ~ b1@2 e2@3 ~ e2@4 c2@2]/2",
AG: "[f2@3 ~ c3@2 f3@3 ~ f2@4 e2@6 b2@2 e3@4 b2@2 e2@4, ~@4 b2 ~@27]/2",
AH: "[f2@5 ~ f2 c2 f1@2 c2@2 f2@2 e2@4 e1@2 f#1@2 g1@4 a1@6]/2",
AI: "[d2@6 d3@2 d2@2 f2@2 f#2@2 g2@4 g1@2 d2@2 g2@7 ~ b1@2]/2", AJ: "[c2 e1 f1 g1@2 c2 g1 c1@2 d2 e2 a2@2 e2 a2@2]/2",
AK: "[e2@3 e2@2 g2 g#2 a2@2 a1@3 b1@2 c#2 e2]/2", AL: "c2@3 ~ c2@2 ~ c2 g2!2 g2@3 ~ f2@2",
AM: "~@2 f2 ~ f2@4 e2 ~ e2@6", AN: "d2@8 e2@5 ~ e2@2", AO: "f#2", AP: "d2@11 ~@5",
AQ: "f2@3 ~ f2@2 ~ f2 c2@2 d2@4 f2@2", AR: "e2@4 b2 ~ g2@3 ~ e2@4 f2@2",
AS: "[~ f2 a1@2 a#1@2 b1@2 c2@2 d2@2 f2@2 e2@4 e2@2 e2@2 d2@3 ~ d2@2 d2@4]/2", AT: "c2@3 ~ c2@2 ~ c2 g1!2 g1@4 f1@2",
AU: "~ f1 c1@2 f1@3 ~ e1@2 b1@2 e2@2 d2@2", AV: "c1@15 ~",
})).s("gm_electric_bass_finger").gain(0.49).pan(0.4)
// other · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
~@17 A@8 B C ~@2 D@2 E@2 F@2 G H@3 I@8 B J B J ~@2 D@2 E@2 F@2 G H@3 K@6 L@2 M N O P@5 Q@8 R@6 ~
>`.pickRestart({
A: "[[c4,c5,c6]@8 [b3,b4,b5]@6 [a3,a4,a5]@10 [g3,g4,g5]@6 [a3,a4,a5]@10 [d4,d5,d6]@6 [c4,c5,c6]@26 [b3,b4,b5]@5 ~ a4@10 [b4,b5]@6 [a3,a4,a5]@10 [b3,b4,b5]@6 [a3,a4,a5]@10 [b4,b5]@4 [g5,g6]@4, ~@77 [a3,a5]@11 ~@40]/8", // C B A G A D C B …
B: "[e5,e6]", C: "[d5,d6]@7 ~", D: "[a3@7 b3@5 c4@2 d4@2]/2", E: "[e4@4 f4@3 g4@4 a4@5]/2", F: "e4/2",
G: "[f3,a3] [g3,b3]", H: "[c4@16 ~@16 b3@15 ~, a3@2 ~, ~@16 d4@31 ~]/3",
I: "[[c4,c5,c6]@8 [b3,b4,b5]@6 [a3,a4,a5]@10 [g3,g4,g5]@6 [a3,a4,a5]@10 [d4,d5,d6]@6 [c4,c5,c6]@26 [b3,b4,b5]@5 ~ a4@10 [b3,b4,b5]@6 [a3,a4,a5]@10 [b3,b4,b5]@6 [a3,a4,a5]@10 [b4,b5]@4 [g5,g6]@4, ~@77 [a3,a5]@11 ~@40]/8", // C B A G A D C B …
J: "[d5,d6]", // D
K: "[[c4,c5,c6]@8 [b3,b4,b5]@6 [a3,a4,a5]@10 [g3,g4,g5]@6 [a3,a4,a5]@10 [d4,d5,d6]@6 [c4,c5,c6]@26 [b3,b4,b5]@5 ~ a4@10 [b3,b4,b5]@8, ~@77 [a3,a5]@11 ~@8]/6", // C B A G A D C B …
L: "[c6 ~ f#3@2, ~ d6@3]/2", M: "c6@3 ~", N: "[a5,c6]", O: "[g5,b5]",
P: "[[a5,c6]@14 [g5,b5]@9 ~ [e5,e6]@2 ~ [f5,f6]@2 ~ [g5,g6]@16 [c5,c6]@10 [b4,b5]@6 [c5,c6]@10 [d5,d6]@6 [e5,e6]@2]/5", // Am G E F G C B C …
Q: "[~@8 [e5,e6]@3 [f5,f6]@3 [g5,g6]@16 [c5,c6]@10 [b4,b5]@6 [c5,c6]@10 [d5,d6]@6 [c5,c6]@10 [e5,e6]@3 [f5,f6]@3 [g5,g6]@15 ~ [c5,c6]@10 [b4,b5]@6 [c5,c6]@10 [d5,d6]@6 [e5,e6]@2]/8", // E F G C B C D C …
R: "[~@8 [e5,e6]@3 [f5,f6]@3 [g5,g6]@15 ~ [c5,c6]@10 [b4,b5]@6 [c5,c6]@10 [d5,d6]@6 [c5,c6]@34]/6", // E F G C B C D C
})).s("gm_string_ensemble_2").gain(0.44).pan(0.4)
// other · string ensemble 2 · "SLOWSTRING" · soft notes
const string_ensemble_2_soft = note("<~@22 A ~@46 B@2 C ~@22>".pickRestart({
A: "~@4 b3@3 ~", B: "[[f3,d4,a4,c5]@8 [g3,e4,b4]@8 [d4,a4]@15 ~, ~ d5@3]/2", C: "[f3,d4,a4,c5]@3 ~",
})).s("gm_string_ensemble_2").gain(0.22).pan(0.4)
// other · brass section · "BRASS 1"
const brass_section = note(`<
~@13 A B C D E F E F E G ~@2 H@3 ~@4 I ~@2 A J ~@2 E F E F E G ~@2 K@5 ~@3 L@2 ~@2 M N ~@2 E F E F E G ~@4 O@3 P Q R@2
P Q S@3 T S@3 U V@2 ~@2
>`.pickRestart({
A: "[f3,a3,d4] [g3,b3,e4]", B: "[a3,c4,f4]@8 [a3,c4,d#4,f#4]@7 ~", C: "~ [d3,d4]", D: "[g3,g4]@13 ~@3",
E: "~@2 [g3,g4]@3 [e3,e4] [g3,g4] [e3,e4]", F: "[g3,g4]@2 [g3,g4]@3 ~ [g3,g4]@2 [a3,a4]@2 ~@6",
G: "[g3,g4] [a3,a4]@2 [c4,c5]@2 [d4,d5] ~@2", // G A C D
H: "[[g3,g4]@2 [a3,a4]@4 [c4,c5]@4 [d4,d5]@3 ~ [d4,d5]@4 [e4,e5]@2 [d4,d5]@2 [c4,c5]@2 [a3,a4]@2 [g3,g4]@4 [f3,a3,e4,c5]@14 ~@4]/3", // G A C D E D C A …
I: "~@4 g4@2 ~@4 [a4,a5] ~@5, ~@4 g5 ~@11", J: "[a3,c4,f4] [a3,c4,d#4,f#4]",
K: "[[g3,g4]@2 [a3,a4]@4 [c4,c5]@4 [d4,d5]@3 ~ [d4,d5]@4 [e4,e5]@2 [d4,d5]@2 [c4,c5]@2 [a3,a4]@2 [g3,g4]@4 [f3,a3,e4,c5]@14 ~@2 [d4,d5]@4 [e4,e5]@2 [d4,d5]@2 [c4,c5]@2 [a3,a4]@2 [g3,g4]@4 [f3,a3,e4,c5]@13 ~@5]/5", // G A C D E D C A …
L: "[~@14 [g4,g5]@6 [g4,g5] ~@3 [a4,a5]@2 [a4,a5] ~@5]/2", M: "[f3,a3,d4]@7 ~ [g3,b3,e4]@8",
N: "[a3,c4,f4]@7 ~ [a3,c4,d#4,f#4]@8", // F Adim
O: "[~@14 [f4,a4,e5]@6 [f4,a4,e5]@3 ~ [f4,a4,e5]@2 [f4,a4,e5] ~@3 [e4,g4,d5]@5 ~ [e4,g4,d5]@4 [e4,g4,c5]@2 [e4,g4,c5] ~@5]/3", // Fmaj7 Em7 C
P: "[g3,g4] [e3,e4] [g3,g4] [e3,e4] g4 [g3,g4]@2 [a3,a4], ~@8 g3 ~@7", // G E G E G A
Q: "~ [c4,c5] [a3,a4] [g3,g4] [a3,a4] [g3,g4] [e3,e4] [g3,g4]", // C A G A G E G
R: "[~ [c4,c5] [a3,a4] [g3,g4] [a3,a4] [g3,g4] [e3,e4] [g3,g4]@4 [a3,a4] ~@4]/2", // C A G A G E G A
S: "[~ [c4,c5] [a3,a4] [g3,g4] [a3,a4] [g3,g4] [e3,e4] [g3,g4]@4 [a3,a4] ~@3 [g3,g4]@2 [e3,e4] [g3,g4] [e3,e4] [g3,g4] [g3,g4]@2 [a3,a4]]/3", // C A G A G E G A …
T: "~ c4 [a3,a4] [g3,g4] [a3,a4] [g3,g4] [e3,e4] [g3,g4], ~@2 c5 ~@13", // A G A G E G
U: "~@2 [c4,c5]@2 [a3,a4]@2 [g3,g4]@2 [a3,a4]@2 [g3,g4]@2 [e3,e4]@2 [g3,g4] ~", // C A G A G E G
V: "[~@2 [c4,c5]@2 [a3,a4]@2 [g3,g4]@2 [a3,a4]@2 [g3,g4]@2 [e3,e4]@2 [g3,g4]@7 ~ [c4,c5] ~@9]/2", // C A G A G E G C
})).s("gm_brass_section").gain(0.38).pan(0.2)
// drums · kick
const kick = s("bd").struct(`<
A B C@2 D C E F G E H F I C J K ~ F L@2 M N O P ~ J@5 K Q R Q ~ C J ~@2 S L T U N L@2 U C@4 J C E V Q W C X C J K ~ N
P Y U N Y Z K@2 C@2 K AA S L T U N L@2 U S L T U N L@2 U K ~
>`.pickRestart({
A: "~@5 x ~ x", B: "~@3 x!2 ~@2 x", C: "x ~@2 x!2 ~@2 x", D: "x ~@2 x!2 ~ x ~", E: "x ~@2 x!3 ~ x",
F: "x ~@3 x!2 ~ x", G: "~ x ~ x!3 ~@2", H: "~ x ~ x ~ x ~ x", I: "~ x ~ x!3 ~ x", J: "x ~@2 x!2 ~@3", K: "x",
L: "~ x!2 ~@3 x ~ x ~@2 x ~@2 x ~", M: "~ x ~@6", N: "x!2 ~@2 x!2 ~ x", O: "~ x!2 ~@3 x ~ x ~ x ~@3 x ~",
P: "~ x!2 ~@5 x ~ x ~@3 x ~", Q: "x ~@3 x ~@2 x", R: "~@2 x ~@8 x ~@4", S: "x ~ x ~@4 x!2 ~ x ~@3 x ~",
T: "~ x ~ x ~@2 x ~ x ~@2 x ~@4", U: "~ x ~ x ~@12", V: "x!2 ~@2 x ~@2 x", W: "~ x ~@2 x ~@2 x", X: "~ x ~@2 x ~@3",
Y: "~ x!2 ~@5 x ~ x ~@5", Z: "x!2", AA: "~@7 x",
})).gain(0.49)
// drums · rim
const rim = s("rim").struct("<~ A@3 B A@3 B A@3 B A@2 ~@10 A@2 ~@20 A@7 B ~@17 A@2 B ~@19>".pickRestart({
A: "~ x ~ x", B: "~ x ~@2",
})).gain(0.49)
// drums · snare
const snare = s("sd").struct(`<
A ~@3 B ~@3 C ~@3 D ~ E F G H@3 I J H J K ~@2 H@3 L J M N O H P Q R H@2 S T J H@2 U ~@7 D V H V W H S X Y J@2 Z AA J@2
~@5 AB AC H@2 S T J H@2 U H@2 S T J H@2 U ~@2
>`.pickRestart({
A: "~ x", B: "~@10 x!2 ~@2 x ~", C: "~@12 x!4", D: "~@3 x", E: "~@14 x!2", F: "~@2 x ~ x ~ x!2 ~ x!2 ~ x!2 ~ x",
G: "x ~@6 x ~ x ~@6", H: "~ x ~ x", I: "~@4 x!2 ~ x!3 ~@6", J: "~@4 x ~@2 x ~@4 x ~@3",
K: "~ x ~ x!2 ~@2 x!2 ~ x ~@5", L: "~@4 x ~@2 x!4 ~@5", M: "~@4 x ~ x ~@3 x ~ x!3 ~", N: "~@4 x ~@4 x!4 ~@3",
O: "~@2 x ~ x!2 ~ x!2 ~ x!2 ~@4", P: "~@4 x ~@7 x ~@2 x", Q: "x ~@2 x!5", R: "x!2 ~ x!2 ~@3 x ~@2 x ~@3 x",
S: "~@2 x ~@3 x!2", T: "x ~@3 x!6 ~@6", U: "~@2 x ~ x ~ x!6 ~@4", V: "~@4 x ~@6 x!2 ~@3", W: "~@4 x ~@6 x!4 ~",
X: "x ~@7 x ~ x ~ x ~ x!2", Y: "~ x!2 ~ x ~ x!2 ~ x ~@6", Z: "~@2 x!2 ~@2 x!2", AA: "~@2 x ~ x ~ x!2 ~ x!3 ~@4",
AB: "~@4 x!4", AC: "x!2 ~ x!2 ~ x!4 ~@6",
})).gain(0.49)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@30 A B ~ C D ~@2 E ~@16 B ~@5 B F ~@12 A ~@19>".pickRestart({
A: "~@3 x ~@4", B: "~@11 x ~@4", C: "~@7 x ~@8", D: "~@9 x ~@6", E: "~ x!2 ~@5", F: "~@2 x!2 ~@4",
})).gain(0.22)
// drums · low tom
const low_tom = s("lt").struct(`<
A ~@15 B ~@3 B ~@9 B ~@6 C D ~@3 E ~@3 F ~@14 G ~@12 H ~@4 E ~@3 F ~@3 E ~@3 F ~@2
>`.pickRestart({
A: "~@3 x", B: "~@14 x!2", C: "~@2 x!6", D: "~@5 x ~@7 x!2 ~", E: "~@7 x", F: "~@15 x", G: "~@4 x!3 ~", H: "~@4 x!4",
})).gain(0.44)
// drums · low tom · soft notes
// … 89 more lines
More by Barbra Streisand
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.