0:00/0:00
// Romeo and Juliet — Emerson, Lake & Palmer
// 88 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 4 "BASS&LEAD" named as a bass, played on electric bass finger (its lead 2 sawtooth patch is not one)
// note: Full arrangement: all 48 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(88/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.
// other · guitar harmonics · "GTHARMONIC"
const guitar_harmonics = note("<~@30 A B C D E F G H ~@10>".pickRestart({
A: "f1@3 ~ f1@4 f1@4 f1@4", B: "g#1@4 g#1@4 f2@7 ~", C: "[f2,c3]@3 ~ [f2,c3]@4 [f2,c3]@4 [d#2,a#2]@2 [c2,g2]@2",
D: "[a#1,f2] [a#1,f2]@2 [g#1,d#2] [f1,c2]@2 [f2,f3] [d#2,d#3]", // A#5 G#5 F5 F D#
E: "[c2,c3]@3 ~ [c2,c3]@3 ~ [c2,c3]@3 ~ [c2,c3]@2 [d2,d3]@2", // C D
F: "[d#2,d#3]@2 [f2,f3]@2 [g2,g3]@2 [g#2,g#3]@2 [g2,g3]@3 ~ g3@2 g#3@2", G: "a#3 c4 d4 d#4 f4 g4 g#4 a#4",
H: "b4@15 ~",
})).s("gm_guitar_harmonics").gain(0.45)
// other · glockenspiel · "GLOCKENSPL"
const glockenspiel = note("<~@20 A@4 ~@4 B@2 ~@7 C D ~@8 E>".pickRestart({
A: "[d6,d7] ~ [d6,d7] ~ [d6,d7] ~ [d6,d7] ~", B: "[~ e5@3]/2", C: "b6 g6 e6 c6 a5 f#5 d#5 b4", D: "e5@3 ~@13",
E: "~@4 e6 ~@3 e6 ~@7",
})).s("gm_glockenspiel").gain(0.3)
// bass · lead 8 bass lead · "BASS&LEAD"
const bass = note("<A@6 B@2 C@2 D E A@2 B@2 F@2 G ~@5 H@2 I@2 J@2 K@4 L M N ~@11>".pickRestart({
A: "e2@7 ~ g2@7 ~", B: "d3@7 ~ b2@7 ~", C: "f#2@7 ~ g2@7 ~", D: "[d2,d3] [c#2,c#3]", E: "[c2,c3] [b1,b2]",
F: "a#2@7 ~ b2@7 ~", G: "d2@3 ~", H: "c3@3 ~ a2@3 ~", I: "g#2@3 ~ a2@3 ~", J: "g2/2",
K: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~", L: "d#2 d2", M: "c2 a#1", N: "g#1 g1",
})).s("gm_lead_8_bass_lead").gain(0.45)
// bass · electric bass finger · "BASS&LEAD"
const bass_2 = note(`<
~@37
[~@5 a1 g1 f#1]
[e1@3 ~ g1@3 ~]!4
[d2@3 ~ b1@3 ~]!2
[f#1@3 ~ g1@3 ~]!2
[d2@7 ~ c#2@7 ~]
[c2 ~@3 b2@2 ~@2 e2@2 ~@6]
>`).s("gm_electric_bass_finger").gain(0.45)
// bass · piano · "A.PIANO 1"
const bass_3 = note("<A@6 B@2 C@2 D E A@2 B@2 F@2 G ~@5 H@2 I@2 J@2 ~@4 K L M N A@4 B@2 C@2 O P>".pickRestart({
A: "[e1,e2]@3 ~@5 g1@3 ~@5", B: "[d2,d3]@3 ~@5 b1@3 ~@5", C: "f#1@3 ~@5 g1@3 ~@5", D: "d2@3 ~@5 c#2@3 ~@5",
E: "c2@3 ~@5 b1@3 ~@5", F: "a#1@3 ~@5 b1@3 ~@5", G: "d2@3 ~", H: "c2@3 ~@5 [a1,a2]@3 ~@5",
I: "g#1@3 ~@5 [a1,a2]@3 ~@5", J: "g2/2", K: "d#2 ~ g2 ~ c3 ~ g2 ~ d2!2 f2 ~ b2 ~ f2 ~",
L: "c2 ~ d#2!2 g#2 ~ d#2 ~ a#1 ~ d2!2 g2 ~ d2 ~", M: "g#1 ~ c2!2 f2 ~ c2!2 g1 ~ a#1!2 d#2 ~ a#1!2", N: "a#1 ~@15",
O: "d2 ~@7 c#2 ~@7", P: "c#2 ~@3 b1@2 ~@2 [e1,e2]@2 ~@6",
})).s("gm_piano").gain(0.54)
// chords · percussive organ · "ORGAN 2"
const percussive_organ = note("<A@6 B@2 C@2 D E A@2 B@2 F@2 G ~@5 H@2 I@2 J ~ K@2 L@2 ~@4 M N O ~@5 P ~>".pickRestart({
A: "~@4 [b3,g4,b4]@3 ~@5 [b3,g4,b4]@3 ~", B: "~@4 [f#4,b4,f#5]@3 ~@5 [f#4,b4,f#5]@3 ~",
C: "~@4 [d4,a4,c#5]@3 ~@5 [d4,g4,a#4]@3 ~", D: "[f4,b4,f5,b5] ~@7 [e4,a#4,e5,a#5] ~@7",
E: "[e4,a4,e5,a5] ~@7 [d#4,a#4,d#5,a#5] ~@7", F: "~@4 [f#4,c#5,f5]@3 ~@5 [f#4,b4,d5]@3 ~", G: "[b3,f4,b4,f5] ~@15",
H: "~@4 [e4,a4,e5]@3 ~@5 [e4,a4,e5]@3 ~", I: "~@4 [e4,b4,d#5]@3 ~@5 [e4,a4,c5]@3 ~", J: "[e4,g4,b4,e5,b5] ~@15",
K: "[~@4 [f4,f5]@27 ~]/2", L: "[[c5,c6]@31 ~]/2", M: "~@6 [b4,e5]!10",
N: "[b4,e5]!4 ~ a#4 [g4,a4] [e4,f#4] [d#4,e4] [f#4,g4] [g4,a4] [e4,f#4] [d#4,e4] [b3,d#4] [e4,f#4] [f#4,g4], ~@2 b4 ~@5", // E5 Gsus2 Esus2 Emaj7 Gmaj7 Gsus2 Esus2 Emaj7 …
O: "e4 ~@3", P: "[f4,b4,f5,b5] [e4,a#4,e5,a#5]",
})).s("gm_percussive_organ").gain(0.17)
// other · pad poly · "POLYSYNTH"
const pad_poly = note("<~@19 A B ~@9 C@2 D E ~@3 F G ~@9>".pickRestart({
A: "d5@2 ~ a4 f4@2 ~ a4 f4@2 ~ d4 a3@2 ~ f3", B: "d3 ~@15", C: "f4 ~ g#4 ~ c5 ~ f5 ~ g#5 ~ f5 ~ c5 ~ g#4 ~",
D: "c5 ~ f5 ~ g#5 ~ c6 ~ f6 ~ c6 ~ g#5 ~ f5 ~", E: "g#5 ~ c6 ~ f6 ~ g#6 ~ b6 ~@3 c7 ~@3",
F: "b6 ~ g6 ~ e6 ~ c6 ~ a5 ~ f#5 ~ d#5 ~ b4 ~", G: "e4 ~@15",
})).s("gm_pad_poly").gain(0.22)
// chords · synth strings 1 · "+SYN STR 3"
const synth_strings_1 = note("<~@29 A ~@2 B@2 ~@3 C D@4 E@2 F@2 G H>".pickRestart({
A: "g4 e4", B: "[[c6,f6,g6]@31 ~]/2", C: "~@8 c5 ~ a4 ~ f#4 ~ d#4 ~", D: "~@4 [b3,g4,b4]@3 ~@5 [b3,g4,b4]@3 ~",
E: "~@4 [f#4,b4,f#5]@3 ~@5 [f#4,b4,f#5]@3 ~", F: "~@4 [d4,a4,c#5]@3 ~@5 [d4,g4,a#4]@3 ~",
G: "[f3,b3,f4,b4] ~@7 [e3,a#3,e4,a#4] ~@7", // Fdim Edim
H: "[e3,a3,e4,a4] ~@3 [b2,g3,g4,c5,d#5,g5]@2 ~@2 [g3,e4,g4,b4,e5,g5]@2 ~@6", // A5 Cm Em
})).s("gm_synth_strings_1").gain(0.22)
// other · pizzicato strings · "PIZZICATO"
const pizzicato_strings = note("<~@20 A B C D ~@13 E F ~@9>".pickRestart({
A: "[d3,d5]@3 ~ [d3,d5]@3 ~ [d3,d5]@3 ~ [d3,d5] ~ [e3,e5] ~", // D E
B: "[f3,f5] ~ [g3,g5] ~ [a3,a5] ~ [a#3,a#5] ~ [a3,a5]@3 ~ [a3,a5] ~ [a#3,a#5] ~", // F G A A# A A#
C: "[c4,c6] ~ [d4,d6] ~ [e4,e6] ~ [f4,f6] ~ [e4,e6] ~ [d4,d6] ~ [c4,c6] ~ [d4,d6] ~", // C D E F E D C D
D: "[c4,c6] ~ [a#3,a#5] ~ [a3,a5] ~ [g3,g5] ~ [f3,f5] ~ [e3,e5] ~ [d3,d5] ~ [c3,c5] ~", // C A# A G F E D C
E: "~@4 g4 ~ e4 ~ a4 ~ f#4 ~ d#4 ~ b3 ~", F: "e3 ~@15",
})).s("gm_pizzicato_strings").gain(0.45)
// other · synth drum
const synth_drum = note("<A@2 B A ~@8 A C B D B A ~@6 B D A C ~@2 A@6 E ~ A D A B@2 C B A ~@2>".pickRestart({
A: "~@6 c5 ~", B: "~@12 c5 ~@3", C: "~@12 c5!2 ~@2", D: "~@12 c5@2 c5!2", E: "~@10 c5 ~ c5@2 c5 ~",
})).s("gm_synth_drum").gain(0.29)
// chords · pizzicato strings · "PIZZICATO" · D5 G
const pizzicato_strings_2 = note(`<
~@20
[[a5,d6] ~@3 [a5,d6] ~@3 [a5,d6] ~@3 [a5,d6] ~@3]!4
~@12
[[g4,g5]@3 ~ [g4,g5]@3 ~ [g4,g5]@3 ~ [g4,g5]@3 ~]
[[g4,g5] ~@15]
~@10
>`).s("gm_pizzicato_strings").gain(0.3)
// chords · pizzicato strings · "PIZZICATO" · soft notes · D5
const pizzicato_strings_soft = note("<~@20 [~@2 [a5,d6] ~@3 [a5,d6] ~@3 [a5,d6] ~@3 [a5,d6] ~]!4 ~@24>")
.s("gm_pizzicato_strings").gain(0.15)
// drums · kick
const kick = s("bd").struct("<A B A C A B A B A@3 D A B A B A@2 D ~@5 A B A B D ~@8 E A B A@3 B A@3 F>".pickRestart({
A: "x!2", B: "x ~@3 x!2 ~@2", C: "x ~@7 x ~ x ~@4 x", D: "x", E: "x ~@4 x!3", F: "~ x!2 ~",
})).gain(0.45)
// drums · snare
const snare = s("sd").struct("<A@9 B ~@2 A B A C A@2 ~@5 D A C A B ~@2 A@6 E ~ A C A@3 B A@2 ~@2>".pickRestart({
A: "~ x ~ x", B: "~@4 x ~@7 x!2 ~@2", C: "~@4 x ~@7 x ~ x!2", D: "~@12 x!4", E: "~@2 x ~@2 x!3",
})).gain(0.45)
// drums · low tom
const low_tom = s("lt").struct("<~@11 A ~@7 B C ~@2 D ~@5 B E@6 F ~@11>".pickRestart({
A: "~@7 x ~@3 x!5", B: "~@12 x!4", C: "x", D: "~@8 x!4 ~@4", E: "x!2 ~ x!3 ~ x", F: "x!2 ~ x!2 ~@3",
})).gain(0.3)
// drums · low tom · soft notes
const low_tom_soft = s("lt").struct("<~@11 A ~@7 B ~@3 C ~@5 B ~@18>".pickRestart({
A: "~@8 x!3 ~@5", B: "~@8 x!4 ~@4", C: "~@4 x!4 ~@8",
})).gain(0.1)
// drums · hihat
const hihat = s("hh").struct("<~@24 [~ x!7] [x!8] [x!4 ~@2 x!2] [x!8] ~@20>").gain(0.25)
// drums · crash
const crash = s("cr").struct(`<
A ~ A ~ A ~ A ~ A@2 B A@2 ~ A ~ A@3 ~@5 A ~ C ~ A ~ A ~ A ~ A ~ A D A ~ A ~ A ~ A@2 B E
>`.pickRestart({
A: "x", B: "x!2", C: "~ x", D: "~@5 x!3", E: "~ x!2 ~",
})).gain(0.3)
// drums · tambourine
const tambourine = s("tb").struct("<A@10 ~@2 A@6 ~@6 A@4 ~@2 A@7 ~ A@8 ~@2>".pickRestart({
A: "~ x ~@2",
})).gain(0.35)
// drums · congas
const congas = s("conga:33").struct("<~@4 [~@3 x]!6 ~@38>").gain(1.43)
stack(
guitar_harmonics, glockenspiel, bass, bass_2, bass_3, percussive_organ, pad_poly, synth_strings_1, pizzicato_strings,
synth_drum, pizzicato_strings_2, pizzicato_strings_soft, kick, snare, low_tom, low_tom_soft, hihat, crash, tambourine,
congas
)
More by Emerson, Lake & Palmer
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.