0:00/0:00
// E-Mail My Heart — Britney Spears
// 72 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 21, 4/4 at bar 22, 2/4 at bar 44, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Full arrangement: all 65 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(72/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 · "Staff-3"
const piano = note("<A B A B ~@19 C D@3 ~@19 E F G H I J K L M N O P@3 Q@2 R@2 ~>".pickRestart({
A: "[c4,e4] g3 [c4,e4] g3 [c4,e4] g3 [c4,e4] g3", B: "[b3,e4] g3 [b3,e4] g3 [b3,d4] g3 [b3,d4] g3",
C: "~@4 [b3,e4] g3 [b3,e4] g3", // E5
D: "[[b3,d4]@2 g3@2 [b3,d4]@2 f3@2 [g#3,c4,d4,f4]@3 [g#3,c4,d4,f4]@3 [g3,c4,e4]@9 ~ [g#3,c4,d4,f4]@3 [g#3,c4,d4,f4]@3 [g3,c4,e4]@5 ~ c4@2 d4@2 ~@8]/3", // Bm Dm7b5 C Dm7b5 C
E: "[b3,e4] g3 [b3,e4] g3 [b3,d4] g3 [b3,d4] f3", F: "[g3,c4,e4] d4 e4 g4 c5 d5 e5 g5",
G: "e4!2 a4 e4 [c4,e4] e4 d4 c4, c4@7 ~@9", H: "[b3,e4,g#4]@2 e4@2 a4@2 b4@2 [e4,a4,c5]@3 ~ [d4,g4,b4]@3 ~",
I: "[c4,f4,b4] a4@2 g4 f4@2 e4 d4@2 e4 c4@3 ~ c4@2", J: "[g#3,c4,d4,g4]@2 f4@2 c4@2 [g#3,c4,d4,g4]@4 f4@3 ~ f4@2",
K: "[g3,c4,e4] c4!2 d4 [g3,d4] d4!2 e4", L: "[g3,c4,e4]@2 e4@2 e4@2 c4@2 [a3,c4,f4]@3 ~ g4@2 a4@2",
M: "[c4,e4] g4!2 c4 [a3,c4,f4] e4 d4 c4", N: "[a#3,f4] e4 d4@2 c4@2 [g3,c4,d4]@3 f4 e4@2 [g3,b3,d4]@3 ~",
O: "[e3,g3] c4!2 d4 [g3,d4] d4!2 e4", // Em G5
P: "[[g3,c4,e4]@2 e4@2 e4@2 c4@2 [a3,c4,f4]@3 g4 [c4,f4,g#4]@11 g3 g3@2 [g3,c4,e4]@13 ~ [b3,e4]@2 g3@2 [b3,e4]@2 g3@2]/3", // C F Fm C E5
Q: "[[b3,d4]@2 g3@2 [b3,d4]@2 g3@2 g3@2 [g3,c4,e4]@13 ~ [b3,e4]@2 g3@2 [b3,e4]@2 g3@2]/2", // Bm C E5
R: "[[b3,d4]@2 g3@2 [b3,d4]@2 g3@2 d4@2 c4@21 ~, ~@8 [e3,g3]@15 ~@9]/2", // Bm Em
})).s("gm_piano").gain(0.4)
// chords · music box · "Staff-3"
const music_box = note(`<
~@4 A B C D E F C G H I J K L M N O P Q@3 ~@2 R@3 S@4 T@2 U V@3 W X Y Z W AA AB ~@19
>`.pickRestart({
A: "[g3,c4,e4]@2 e4@2 e4@2 ~@2 [b3,d4]@2 [b3,d4,g4]@5 ~, ~@3 g4@2 ~@3", // C Bm G
B: "[g3,c4]@2 c4!3 d4 e4 [g3,c4,e4]@2 d4 c4@5 g3", C: "[f3,a3]@2 c4@2 c4@2 f4@2 [c4,e4]@2 d4@2 c4@3 e4",
D: "[a3,f4] e4 d4@2 c4@2 [f3,a#3,d4]@5 ~ [g3,c4]@2 d4@2", // Dm A# C5
E: "[g3,c4,e4]@2 e4@2 e4 ~@3 [b3,d4]@2 [b3,d4,g4]@3 ~ c4 a3, ~@5 a4@5 ~@6", // C Bm G
F: "[g3,c4] a3 c4@2 c4 d4 e4 [g3,c4,e4]@2 d4 c4@4 g3!2", G: "[a#3,f4] e4 d4@2 c4@2 [g3,c4,d4]@5 ~ [g3,b3]@3 ~",
H: "e4!2 a4 e4 [c4,e4] e4 d4 c4, c4@7 ~@9", I: "[b3,e4,g#4]@2 e4@2 a4@2 b4@2 [e4,a4,c5]@3 ~ [d4,g4,b4]@3 ~",
J: "[c4,f4,b4] a4@2 g4 f4@2 e4 d4@2 e4 c4@3 ~ c4@2", K: "[g#3,c4,d4,g4]@2 f4@2 c4@2 [g#3,c4,d4,g4]@4 f4@3 ~ f4@2",
L: "[g3,c4,e4] c4!2 d4 [g3,d4] d4!2 e4", M: "[g3,c4,e4]@2 e4@2 e4@2 c4@2 [a3,c4,f4]@3 ~ g4@2 a4@2",
N: "[c4,e4] g4!2 c4 [a3,c4,f4] e4 d4 c4", O: "[a#3,f4] e4 d4@2 c4@2 [g3,c4,d4]@3 f4 e4@2 [g3,b3,d4]@3 ~",
P: "[e3,g3] c4!2 d4 [g3,d4] d4!2 e4", // Em G5
Q: "[[g3,c4,e4]@2 e4@2 e4@2 c4@2 [a3,c4,f4]@3 g4 [c4,f4,g#4]@11 g3 g3@2 [g3,c4,e4]@13 ~@9]/3", // C F Fm C
R: "[~@8 [g3,c4,e4]@2 e4@2 e4@2 ~@2 [b3,d4]@2 [b3,d4,g4]@5 ~ [g3,c4]@2 c4!3 d4 e4 [g3,c4,e4]@2 d4 c4@5 g3 [f3,a3]@2 c4@2 c4@2 f4@2, ~@7 g4@2 ~@15]/3", // C Bm G C5 C F
S: "[[c4,e4]@2 d4@2 c4@3 e4 [a3,f4] e4 d4@2 c4@2 [f3,a#3,d4]@5 ~ [g3,c4]@2 d4@2 [g3,c4,e4]@2 e4@2 e4 ~@3 [b3,d4]@2 [b3,d4,g4]@3 ~ c4 a3 [g3,c4] a3 c4@2 c4 d4 e4 [g3,c4,e4]@2 d4 c4@4 g3!2 [f3,a3]@2 c4@2 c4@2 f4@2, ~@29 a4@5 ~@30]/4", // C Dm A# C5 C Bm G C5 …
T: "[[c4,e4]@2 d4@2 c4@3 e4 [a#3,f4] e4 d4@2 c4@2 [g3,c4,d4]@5 ~ [g3,b3]@3 ~ e4@2 e4@2 a4@2 e4@2, ~@24 c4@7 ~]/2", // C A#5 Gsus4 G
U: "[c4,e4] e4 d4 c4 [b3,e4,g#4] e4 a4 b4", // C E
V: "[[e4,a4,c5]@3 ~ [d4,g4,b4]@3 ~ [c4,f4,b4] a4@2 g4 f4@2 e4 d4@2 e4 c4@3 ~ c4@2 [g#3,c4,d4,g4]@2 f4@2 c4@2 [g#3,c4,d4,g4]@4 f4@3 ~ f4@2 [g3,c4,e4]@2 c4@2 c4@2 d4@2]/3", // Am G F G#maj7 C
W: "[g3,d4] d4!2 e4 [g3,c4,e4] e4!2 c4", X: "[a3,c4,f4]@3 ~ g4@2 a4@2 [c4,e4]@2 g4@2 g4@2 c4@2",
Y: "[a3,c4,f4]@2 e4@2 d4@2 c4@2 [a#3,f4] e4 d4@2 c4@2 [g3,c4,d4]@2", // F A#5 Gsus4
Z: "~ f4 e4@2 [g3,b3,d4]@3 ~ [e3,g3]@2 c4@2 c4@2 d4@2", AA: "[a3,c4,f4]@3 g4 [c4,f4,g#4]@11 g3",
AB: "g3@2 [g3,c4,e4]@13 ~", // C
})).s("gm_music_box").gain(0.4)
// chords · acoustic guitar steel · "Staff-4"
const acoustic_guitar_steel = note(`<
~@2 A B C D E F C D E G H I J K L M N O L P Q R S@3 T U V@2 T U W X Y Z AA AB AC AD AE AF AC AG A AH AI H I J K L M N
O L P Q R AJ AK AL@3
>`.pickRestart({
A: "[g3,c4,e4]@2 [g3,c4,e4]@5 ~ [g3,c4,e4]@2 [g3,c4,e4]@5 ~", // C
B: "[g3,b3,e4]@2 [g3,b3,e4]@5 ~ [g3,b3,d4]@2 [g3,b3,d4]@5 ~", // Em G
C: "[g3,c4,e4]@2 [g3,c4,e4]@5 ~ [b3,d4,g4]@2 [b3,d4,g4]@5 ~", // C G
D: "[g3,a3,c4]@2 [g3,a3,c4]@5 ~ [g3,c4,e4]@2 [g3,c4,e4]@5 ~", // Am7 C
E: "[f3,a3,c4]@2 [f3,a3,c4]@5 ~ [g3,c4,d4]@2 [g3,c4,d4]@5 ~", // F Gsus4
F: "[a3,f4]@2 [a3,f4]@3 ~ [f3,a#3,d4]@5 ~ [g3,c4]@2 d4@2", // Dm A# C5
G: "[a#3,f4]@2 [a#3,f4]@3 ~ [g3,c4,d4]@2 [g3,c4,d4]@3 ~ [g3,b3]@2 [g3,b3]@2", // A#5 Gsus4 G
H: "[a3,c4,e4]@2 [a3,c4,e4]@5 ~ [g3,c4,e4]@2 [g3,c4,e4]@5 ~", // Am C
I: "[b3,e4,g#4]@2 [b3,e4,g#4]@5 ~ [e4,a4,c5]@3 ~ [d4,g4,b4]@3 ~", J: "[c4,f4,b4]@7 ~ [c4,f4,b4]@7 ~",
K: "[g#3,c4,d4,g4]@2 [g#3,c4,d4,g4]@5 ~ [g#3,c4,d4,g4]@2 [g#3,c4,d4,g4]@5 ~", // G#maj7
L: "[g3,c4,e4]@7 [g3,c4,e4] [g3,b3,d4]@7 [g3,b3,d4]", // C G
M: "g3@3 ~ g3@3 [g3,a3,c4,e4] [a3,c4,f4]@7 [a3,c4,f4], [a3,c4,e4]@7 ~@9", // Am7 F Am
N: "[g3,c4,e4]@7 [g3,c4,e4] [a3,c4,f4]@7 [a3,c4,f4]", O: "[a#3,d4,f4]@7 [a#3,d4,f4] [g3,c4,d4]@7 [g3,c4,d4]",
P: "g3@3 ~ g3@3 [g3,a3,c4,e4] [a3,c4,f4]@2 [a3,c4,f4]@5 ~, [a3,c4,e4]@7 ~@9", // Am7 F Am
Q: "[c4,e4,g#4]@2 [c4,e4,g#4]@5 ~ [g3,c4,e4]@2 [g3,c4,e4]@5 ~", // Caug C
R: "[g3,c4,e4]@2 [g3,c4,e4]@5 ~ [g3,b3,e4]@2 [g3,b3,e4]@5 ~", // C Em
S: "[[g3,b3,e4]@2 [g3,b3,e4]@5 ~ [g#3,c4,d4,f4]@3 [g#3,c4,d4,f4]@3 [g3,c4,e4]@9 ~ [g#3,c4,d4,f4]@3 [g#3,c4,d4,f4]@3 [g3,c4,e4]@5 ~ c4@2 d4@2 [g3,c4,e4]@2 [g3,c4,e4]@5 ~]/3", // Em Dm7b5 C Dm7b5 C
T: "[b3,d4,g4]@2 [b3,d4,g4]@5 ~ [g3,a3,c4]@2 [g3,a3,c4]@5 ~", // G Am7
U: "[g3,c4,e4]@2 [g3,c4,e4]@5 ~ [f3,a3,c4]@2 [f3,a3,c4]@5 ~", // C F
V: "[[g3,c4,d4]@2 [g3,c4,d4]@5 ~ [a3,f4]@2 [a3,f4]@3 ~ [f3,a#3,d4]@5 ~ [g3,c4]@2 d4@2 [g3,c4,e4]@2 [g3,c4,e4]@5 ~]/2", // Gsus4 Dm A# C5 C
W: "[g3,c4,d4]@2 [g3,c4,d4]@5 ~ [a#3,f4]@2 [a#3,f4]@3 ~ [g3,c4,d4]@2", // Gsus4 A#5 Gsus4
X: "[g3,c4,d4]@3 ~ [g3,b3]@2 [g3,b3]@2 [a3,c4,e4]@2 [a3,c4,e4]@5 ~", // Gsus4 G Am
Y: "[g3,c4,e4]@2 [g3,c4,e4]@5 ~ [b3,e4,g#4]@2 [b3,e4,g#4]@5 ~", Z: "[e4,a4,c5]@3 ~ [d4,g4,b4]@3 ~ [c4,f4,b4]@7 ~",
AA: "[c4,f4,b4]@7 ~ [g#3,c4,d4,g4]@2 [g#3,c4,d4,g4]@5 ~", // F G#maj7
AB: "[g#3,c4,d4,g4]@2 [g#3,c4,d4,g4]@5 ~ [g3,c4,e4]@7 [g3,c4,e4]", // G#maj7 C
AC: "[g3,b3,d4]@7 [g3,b3,d4] g3@3 ~ g3@3 [g3,a3,c4,e4], ~@8 [a3,c4,e4]@7 ~", // G Am7 Am
AD: "[a3,c4,f4]@7 [a3,c4,f4] [g3,c4,e4]@7 [g3,c4,e4]", AE: "[a3,c4,f4]@7 [a3,c4,f4] [a#3,d4,f4]@7 [a#3,d4,f4]",
AF: "[g3,c4,d4]@7 [g3,c4,d4] [g3,c4,e4]@7 [g3,c4,e4]", // Gsus4 C
AG: "[a3,c4,f4]@2 [a3,c4,f4]@5 ~ [c4,e4,g#4]@2 [c4,e4,g#4]@5 ~", // F Caug
AH: "[g3,b3,e4]@2 [g3,b3,e4]@5 ~ [g3,b3,e4]@2 [g3,b3,e4]@5 ~", AI: "[g3,c4,e4]@7 [g3,c4,e4] [g3,c4,e4]@7 [g3,c4,e4]",
AJ: "[g3,b3,d4]@2 [g3,b3,d4]@5 ~ [c4,e4,g4]@2 [c4,e4,g4]@5 ~", // G C
AK: "[d4,e4,g4]@2 [d4,e4]@4 d4 e4 [g3,b3,e4]@2 [g3,b3,e4]@5 ~, ~@2 g4@3 ~@11", // Em7 Dsus2 Em
AL: "[[g3,b3,d4]@2 [g3,b3,d4]@5 ~ [a3,c4,f4]@2 [a3,c4,e4]@23 ~@15]/3", // G F Am
})).s("gm_acoustic_guitar_steel").gain(0.4)
stack(piano, music_box, acoustic_guitar_steel)
More by Britney Spears
... Baby One More TimeC minor · 93 bpm(You Drive Me) CrazyE♭ major · 100 bpmLuckyA minor · 100 bpmSometimesG major · 98 bpmDon't Go Knockin' on My DoorB♭ minor · 112 bpmDon't Let Me Be The Last To KnowE major · 120 bpmFrom the Bottom of My Broken HeartG major · 76 bpmI Love Rock 'n' RollE major · 94 bpm
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.