0:00/0:00
// Guinnevere — Crosby, Stills, Nash & Young
// 114 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 6/8 at bar 33, 4/4 at bar 36, 6/8 at bar 37, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: duplicate parts dropped: ch 4 "guitar 2" electric guitar jazz (copy of ch 3 "guitar 1" acoustic guitar nylon)
// note: Full arrangement: all 111 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(114/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 · acoustic guitar nylon · "Graham Nash - Harmony"
const acoustic_guitar_nylon = note(`<
~@16 A@4 B@4 ~ C D E F@2 G@2 ~@4 H@4 I@2 ~@3 J@2 K@2 L@2 M@2 ~ N O P Q@4 ~@4 R@6 ~@7 S@3 ~@3 T@2 U@2 V@2 W@2 ~ X@2 Y@4
Z@2 ~@3 AA@7
>`.pickRestart({
A: "[~@2 c#5 b4 c#5@20 ~@6 d5@4 g4@4 g4@18 ~@8]/4", B: "[~@4 g4@2 b4@16 e4@2 g4@4 a4@2 a4@4 f#4 e4 e4@16 ~@12]/4",
C: "c5@2 d5@4 c5@6 ~@2 d5 c5", D: "a#4@2 a#4@2 ~@10 c5 a#4", E: "a4@2 a4 a4@2 a4 ~ a4", F: "[b4 b4@15]/2",
G: "[~ a4@2 b4 a4@10 ~@2]/2", H: "[~ [d5,f#5]@22 [c#5,e5]@3 [b4,d5]@3 [a4,c#5]@3]/4", I: "[[g4,b4] b4@4 ~@3]/2",
J: "[~@6 c#5 b4 c#5@20 ~@4]/2", K: "[~ d5@2 g4@2 g4@9 ~@2]/2", L: "[~@4 g4 b4@8 e4 g4@2]/2",
M: "[a4@2 a4@4 f#4 e4 e4@16 ~@8]/2", N: "~@2 c5 d5@2 c5@3", O: "~@2 d5 c5 a#4@2 a#4@2 ~@8",
P: "~@2 c5 a#4 a4@4 a4@2 a4@4 a4@2", Q: "[~ a4 b4 b4@15 ~ a4@2 b4 a4@10]/4",
R: "[~@3 [d5,f#5]@22 [c#5,e5]@3 [b4,d5]@3 [a4,c#5]@3 [g4,b4]@2 b4@8 ~@4]/6", S: "[~@4 f#5@3 e5@11 ~@6]/3",
T: "[~@10 [c#5,e5] [b4,d5] [c#5,e5]@20]/2", U: "[~@3 [d5,f#5]@2 [g4,b4]@2 [g4,b4]@9]/2",
V: "[~@6 [g4,a4] [b4,d5]@8 [e4,a4]]/2", // Gsus2 Bm A5
W: "[[g4,b4]@4 [a4,c#5]@2 [a4,c#5]@4 ~ e4 [e4,b4]@16 ~@4, ~@5 [f#4,b4] ~@10]/2", // G A E5 B5
X: "[~@8 [c5,e5]@2 [d5,f5]@4 [c5,e5]@6 ~@2 [d5,f5] [c5,e5] [a#4,d5]@2 [a#4,d5]@2 ~@4]/2", // C Dm C Dm C A#
Y: "[~@6 [c5,e5] [a#4,d5] [a4,c5]@4 [a4,c5]@2 [a4,c5]@4 [a4,c5]@2 ~@2 [a4,c5]@2 [b4,d5]@2 [b4,d5]@30 ~@2 [a4,c#5]@4 [b4,c#5]@2]/4", // C A# Am Bm A Bsus2
Z: "[[a4,c#5]@5 ~@3]/2", // A
AA: "[~@5 [d5,f#5]@22 [c#5,e5]@3 [d5,f#5] ~@2 [a4,c#5]@3 [g4,b4]@2 b4@16 ~@2, ~@30 b4@3 ~@23, ~@31 d5@2 ~@23, ~@16 f#5@11 ~]/7", // D C#m D A G
})).s("gm_acoustic_guitar_nylon").gain(0.54)
// chords · acoustic guitar nylon · "guitar 1"
const acoustic_guitar_nylon_2 = note(`<
A B A B C@2 D@3 E@2 F G H I@2 H I@5 J@2 K L M N O I@3 P@3 Q@7 R S@2 R S@6 T U@2 V W X Y S@2 Z AA AB@2 AC AD@3 AE@7
AF@8 AG@8 AH@8 AI@2 AJ@4 AC AK@4
>`.pickRestart({
A: "d4@2 g3 d4@2 g3 d4 a3, e2@3 f#3@3 g#3@2", B: "d4 a3 g3 d4@2 g3 d4 a3, g2@3 f#3@3 g#3@2",
C: "[d4!2 c#4 d4!2 c#4 d4 ~@2 e4 ~@2 d4!2 c#4 b3, b2@3 a3@5 b2@3 a3@5, ~@7 d4@2 ~ c#4@2 ~@4]/2",
D: "[d4 a3 ~@3 b3 d4 ~@2 d4 a3 b3 d4 a3 b3 ~@3 b3 b3@2 b3 d4 a3, g3@3 g3@5 a2@4 ~@3 d4@3 ~@6, ~@2 b3@2 ~@3 a3@2 ~@3 g3@4 f#3@3 b2@5]/3",
E: "[b3@2 d3 b3 a3@2 b3@2 d4@2 a3@2 b3@2 ~@2 d3@2 ~@2 a3@2 d3 a3@3 a3@2 d4@2 a3@2, ~@3 f#3@13 ~@2 e3@4 ~ e3@9, ~@7 d4@3 ~@6]/2",
F: "[d3,a3] a3 a3@2 a3@2 [d3,d4] a3@3 a3@2 d3@2 e3@2, ~ e3@5 ~ e3@5 d4@4", // D5 D
G: "d4@4 a3@2 b2 ~@3 g3@2 d3@2 e3@2, e2@3 a3@2 ~ d4@2, ~@7 c#3@5 ~@4",
H: "d4@2 a3@2 g3@2 b2 ~@3 g3@2 d3@2 e3@2, e2@3 d4@2 ~ d4@2, ~@7 c#3@5 ~@4",
I: "d4 a3 g3 ~ a3 g3 d3 e3, e2@3 [b2,d4] ~@4, ~@7 c#3@5 d4@4", // Bm
J: "[d4 a3 g3 ~ a3 g3 d3 e3 ~ a3 g3 ~ a3 g3 d3 e3, e2@3 [b2,d4] ~@4 e2@3 [b2,d4] ~@4, ~@7 c#3@5 d4@6 ~@5 c#3@5 d4@4]/2", // Bm
K: "f4 c4 a#3 g4@2 a#3 f4 c4, g2@3 g3@5", L: "f4 c4 a#3 f4 c4 a#3 f4 c4, f3@3 f3@3 f3@2",
M: "f4 c4 a#3 f4 c4 a#3 f4 c4, e3@3 e3@3 e3@2", N: "d3@3 d3@3 g2@2",
O: "~@4 g3@2 b2 ~@3 g3@2 d4@4, e2@3 d4@2 ~@3, ~@7 c#3@5 ~@4",
P: "[~ c4 ~ d4 c4 g3 ~ a#3 g3 d4 a#3 g3 ~ c4 ~ d4 c4 g3 ~ a#3 g3 d4@2 g3, g3@2 g3@3 ~ f3@6 g3@2 g3@3 ~ f3@6]/3",
Q: "[g3@2 a3@2 g3@2 f#3@2 a3@2 g3@2 e3@2 a3@2 ~@2 [b2,d3]@2 ~@4 d3@4 g3@2 a3@2 g3@2 f#3@2 a3@2 g3@2 e3@2 a3@2 ~@2 [b2,d3]@2 ~@4 d3@4 g3@2 a3@2 g3@2 f#3@2 a3@2 g3@2 e3@2 a3@2 ~@2 [b2,d3]@2 ~@4 d3@4 [e3,b3,d4]@16 d4@4 a3@2 b2 ~@3 g3@2, b2@6 a2@6 g2@6 ~@2 c#3@4 ~@4 b2@6 a2@6 g2@6 ~@2 c#3@4 ~@4 b2@6 a2@6 g2@6 ~@2 c#3@4 ~@20 e2@6 ~ c#3@5, ~@8 g3@3 g3@3 ~@8 g3@3 g3@3 ~@8 g3@3 g3@3 ~@11 a3@2 ~]/7", // Bm E7
R: "d3@2 e3@2 d4@2 a3@2 g3@2 b2 ~@3 g3@2, d4@2 e2@3 d4@2 ~, ~@11 c#3@5",
S: "d3 e3 d4 a3 g3 ~ a3 g3, d4@2 e2@3 [b2,d4] ~@2, ~@11 c#3@5", // Bm
T: "d3 e3 ~ a3 g3 ~ a3 g3, d4@6 ~@5 c#3@5, ~@2 e2@3 [b2,d4] ~@2", // Bm
U: "[d3 e3 f4 c4 a#3 g4@2 a#3 f4 c4 f4 c4 a#3 f4 c4 a#3, d4@2 g2@3 g3@5 f3@3 f3@3]/2",
V: "f4 c4 f4 c4 a#3 f4 c4 a#3, f3@2 e3@3 e3@3", W: "f4 c4 d3@3 d3@3, e3 ~@3",
X: "g2@4 ~@4 g3@2 b2 ~@3 g3@2, ~@2 e2@3 d4@2 ~, ~@11 c#3@5",
Y: "d4@2 d4 a3 g3 ~ a3 g3, ~@2 e2@3 [b2,d4] ~@2, ~@11 c#3@5", Z: "d3 e3 ~ c4 ~ d4 c4 g3, d4@2 g3@2 g3@3 ~",
AA: "~ a#3 g3 d4 a#3 g3 ~ c4, f3@3 g3",
AB: "[~ d4 c4 g3 ~ a#3 g3 d4@2 g3!2 a3 g3 f#3 a3 g3, g3@3 ~ f3@6 b2@3 a2@3]/2",
AC: "e3 a3 ~ [b2,d3] ~@2 d3@2, g2@3 ~ c#3@2 ~@2, ~@2 g3@3 g3@3", // Bm
AD: "[g3 a3 g3 f#3 a3 g3 e3 a3 ~ [b2,d3] ~@2 d3@2 g3 a3 g3 f#3 a3 g3 e3 a3 ~ [b2,d3], b2@3 a2@3 g2@3 ~ c#3@2 ~@2 b2@3 a2@3 g2@3 ~, ~@8 g3@3 g3@3 ~@8 g3@2]/3", // Bm
AE: "[~@2 d3@2 [e3,b3,d4]@8 d4 a3 c#4 d4 a3 c#4 [a3,d4] a3 d4 a3 c#4 d4 a3 c#4 [a3,d4] a3 d4 a3 c#4 d4 a3 c#4 [a3,d4] a3 d4 a3 c#4 d4 a3 c#4 [a3,d4] a3 d4 a3 c#4 d4 a3 c#4 [a3,d4] a3 d4 a3 c#4 [f#3,d4], c#3@2 ~@10 b2@3 ~@5 b2@3 ~@5 b2@3 ~@5 b2@3 ~@5 b2@3 ~@5 b2@3 ~, ~ g3@3 ~@11 f#3@3 ~@5 f#3@3 ~@5 f#3@3 ~@5 f#3@3 ~@5 f#3@3 ~@6]/7", // E7 D5 D
AF: "[a3@2 c#4@2 [a3,d4]@2 a3@2 d4@2 a3@2 ~@4 a3@2 b3@2 d4@2 a3@2 d4@2 a3@2 b3@2 d4@2 a3@2 b3@2 d4@4 d4@2 a3@2 c#4@2 d4@2 a3@2 c#4@2 [a3,d4]@2 a3@2 d4@2 a3@2 c#4@2 d4@2 a3@2 c#4@2 [a3,d4]@2 ~@6 g3@2 b2 ~@3 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 b2 ~@3 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 ~@2 a3@2 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 ~ c#3, ~@8 a2@6 e3@10 g3@16 b2@6 ~@10 b2@6 ~@10 e2@6 ~ c#3@5 ~@4 e2@6 ~ c#3@5 ~@4 e2@6 [b2,d4]@2 ~@8 e2@7 ~, ~@12 b3@4 ~@30 f#3@6 ~@10 f#3@6 ~@2 a3@6 ~@2 d4@4 ~@2 d4@4 ~@6 d4@4 ~@2 d4@4 ~@7 c#3@5 d4@4 ~@6 d3@2]/8", // D5 Bm
AG: "[a3@2 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 b2 ~@3 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 ~@2 a3@2 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 ~@2 a3@2 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 ~@2 a3@2 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 ~@2 a3@2 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 ~@2 a3@2 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 ~@2 a3@2 g3@2 d3@2 e3@2 ~@2 a3@2 g3@2 ~ c#3, ~@4 d4@4 e2@6 d4@4 ~@2 d4@4 ~@7 c#3@5 d4@4 ~@7 c#3@5 d4@4 ~@7 c#3@5 d4@4 ~@7 c#3@5 d4@4 ~@7 c#3@5 d4@4 ~@7 c#3@5 d4@6 ~@6, ~@15 c#3@5 ~@4 e2@6 [b2,d4]@2 ~@8 e2@6 [b2,d4]@2 ~@8 e2@6 [b2,d4]@2 ~@8 e2@6 [b2,d4]@2 ~@8 e2@6 [b2,d4]@2 ~@8 e2@6 [b2,d4]@2 ~@8 e2@6 [b2,d4]@2]/8", // Bm
AH: "[a3@2 g3@2 d3@2 e3@2 f4@2 c4@2 a#3@2 g4@4 a#3@2 f4@2 c4@2 f4@2 c4@2 a#3@2 f4@2 c4@2 a#3@2 f4@2 c4@2 f4@2 c4@2 a#3@2 f4@2 c4@2 a#3@2 f4@2 c4@2 d3@6 d3@6 g2@4 ~@4 g3@2 b2 ~@3 g3@2 d4@4 d4@2 a3@2 g3@2 ~@2 a3@2 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 ~@2 a3@2 g3@2 d3@2 e3@2 d4@2 a3@2 g3@2 ~ c#3, ~@4 d4@4 g2@6 g3@10 f3@6 f3@6 f3@4 e3@6 e3@6 e3@4 ~@16 e2@6 d4@4 ~@13 c#3@5 d4@4 ~@7 c#3@5 d4@4 ~@8, ~@79 c#3@5 ~@4 e2@6 [b2,d4]@2 ~@8 e2@6 [b2,d4]@2 ~@8 e2@6 [b2,d4]@2]/8", // Bm
AI: "[a3 g3 d3 e3 ~ c4 ~ d4 c4 g3 ~ a#3 g3 d4 a#3 g3, ~@2 d4@2 g3@2 g3@3 ~ f3@6]/2",
AJ: "[~ c4 ~ d4 c4 g3 ~ a#3 g3 d4@2 g3!2 a3 g3 f#3 a3 g3 e3 a3 ~ [b2,d3] ~@2 d3@2 g3 a3 g3 f#3 a3 g3, g3@2 g3@3 ~ f3@6 b2@3 a2@3 g2@3 ~ c#3@2 ~@2 b2@3 a2@3, ~@20 g3@3 g3@3 ~@6]/4", // Bm
AK: "[g3 a3 g3 f#3 a3 g3 e3 a3 ~ [b2,d3] ~@2 d3@2 [e3,b3,d4]@16 ~@2, b2@3 a2@3 g2@3 ~ c#3@2 ~@20, ~@8 g3@3 g3@3 ~@18]/4", // Bm E7
})).s("gm_acoustic_guitar_nylon").gain(0.45)
// bass · acoustic bass · "bass"
const bass = note(`<
~@12 A@12 B C D E A@4 F@3 G@7 H@11 I J K L K H@3 I M@3 N O@2 P@8 Q@8 R@8 S@8 T@2 U@3 V B W@4
>`.pickRestart({
A: "e2@6 ~ e2", B: "g2@3 ~", C: "f2@3 ~", D: "e2@3 ~", E: "d2@3 ~", F: "[g2 f2 g2 f2]/3",
G: "[b2@3 a2@3 g2@4 d2@4 b2@3 a2@3 g2@8 b2@3 a2@3 ~@8 e2@6 ~@2 e2@6, ~@17 g2@8 ~@3]/7", H: "~ e2 e2@6",
I: "~ e2 g2@6", J: "~ f2@3", K: "~ e2@3", L: "~ d2@3", M: "[f2@2 g2@2 f2@2 b2 a2]/3", N: "g2 d2",
O: "[b2@3 a2@3 g2@8 b2@2]/2",
P: "[~ a2@3 ~@8 e2@6 ~@2 b2@3 b2@3 b2@2 b2@3 b2@3 b2@2 b2@3 b2@3 b2@2 b2@3 b2@3 b2@2 b2@3 b2@3 b2@2 b2@3 b2, ~ g2@4 ~@11]/8",
Q: "[~@2 b2@2 a2@3 a2@3 a2 ~ g2@8 b2@3 b2@3 b2@2 b2@3 b2@3 b2@2 e2@6 ~ e2 e2@6 ~ e2 e2@6 ~ e2 e2@4]/8",
R: "[~@3 e2 e2@6 ~ e2 e2@6 ~ e2 e2@6 ~ e2 e2@6 ~ e2 e2@6 ~ e2 e2@6 ~ e2 e2@6 ~ e2 e2@4]/8",
S: "[~@3 e2 g2@6 ~@2 f2@6 ~@2 g2@6 ~@2 f2@6 ~@2 e2@6 ~@2 e2@6 ~ e2 e2@6 ~ e2 e2@4]/8", T: "[~@3 e2 g2@6 f2@6]/2",
U: "[g2@2 f2@2 b2 a2 g2@2]/3", V: "~@2 b2@3 a2@3", W: "[b2@3 a2@3 ~@8 e2@16 ~@2, ~@3 g2@12 ~]/4",
})).s("gm_acoustic_bass").gain(0.11)
stack(acoustic_guitar_nylon, acoustic_guitar_nylon_2, bass)
More by Crosby, Stills, Nash & Young
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.