0:00/0:00
// It's Alright (Baby's Coming Back) — Eurythmics
// 96 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 87 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(96/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 · synth strings 2 · "SYN STR 2"
const synth_strings_2 = note(`<
~@2 A B C D A B C D A B C D A B C D E@8 A B C D A B C D E@8 A B C D E@16 A B C D A B C D A B C D A B C D A B C D A B C
F@2
>`.pickRestart({
A: "[db4,f4,ab4]", B: "[b3,eb4,ab4]", C: "[db4,gb4,bb4]", D: "[b3,e4]@3 [db4,f4]@5, ab4", E: "[bb3,eb4,gb4]/2",
F: "[[b3,e4]@3 [db4,f4]@11 ~@2, ab4@7 ~]/2", // E5 Db
})).s("gm_synth_strings_2").gain(0.25).pan(0.4)
// bass · synth bass 1 · "SYN BASS 1"
const bass = note("<A@18 B@8 A@8 B@8 A@4 B@16 A@23 C@2>".pickRestart({
A: "db2 ~ db2!2 db3@2 db2!2 ~ db2!3 db3@2 ~@2", B: "eb2 ~ eb2!2 eb3@2 eb2!2 ~ eb2!3 eb3@2 ~@2",
C: "[db2 ~ db2!2 db3@2 db2 db2@21 ~@4]/2",
})).s("gm_synth_bass_1").gain(0.38)
// other · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
~@2 A B C D A B C D A B C D A B C D E@8 A B C D A B C F E@8 A B C G H@2 I@2 E@2 J@2 H@2 I@2 K@2 L@2 M N O P A Q C R@2
S T S@5 U S T S@4 V@2
>`.pickRestart({
A: "db3@5 ~ db3@6 db3@3 ~", B: "b2@5 ~ b2@6 b2@4", C: "gb3@6 gb3@5 ~ gb3@3 ~", D: "e3 b2@2 db3@3 db3@2",
E: "[~ bb3 eb4 ab4 ~ gb4 ~ eb4@2 eb4 gb4 ab4 ~ bb4 db5 eb5@2 bb3 eb4 ab4 ~ gb4 ~ eb4@2 gb4 ab4 eb4 gb4 db5 bb4 ~]/2",
F: "ab3 b3!3 ~@2 db3@6 db3@4, e3 b2@2 ~@5, ~@2 eb4@4 db4 ~",
G: "e3@2 b2@4 ~@2 bb2 ab2 gb2 f2 gb2 f2 eb2 db2, ~@3 db3@3 db3@2",
H: "[~ bb3 eb4 ab4 ~ gb4 ~ eb4@2 eb4 gb4 ab4 ~ bb4 db5 eb5@2 bb3 eb4 ab4 ~ gb4 ~ eb4@2 gb4 ab4 eb4 gb4 db5 bb4 ~, eb2 ~@7]/2",
I: "[~ bb3 eb4 ab4 ~ gb4 ~ eb4@2 eb4 gb4 ab4 ~ bb4 db5 eb5@2 bb3 eb4 ab4 ~ gb4 ~ eb3 gb3 [f3,gb4] ab4 eb4 gb4 db5 bb4 ~, ~@11 bb2 ~ db3@2 ~, ~@23 eb4@2 ~@7]/2", // Gbmaj7
J: "[~ bb3 eb4 ab4 ~ gb4 ~ eb4@2 eb4 gb4 ab4 ~ bb4 db5 eb5@2 bb3 eb4 ab4 ~ gb4 ~@2 bb2 [ab2,gb4] [gb2,ab4] [f2,eb4] [gb2,gb4] [f2,db5] [eb2,bb4] db2, ~@23 eb4@2 ~@7]/2", // Ab7 Gbsus2 F7 Gb Db Eb5
K: "[~ bb3 eb4 ab4 ~ gb4 ~ eb4@2 eb4 gb4 ab4 ~ bb4 db5 ~@2 bb3 eb4 ab4 ~ gb4 ~ eb4@2 gb4 ab4 eb4 gb4 db5 bb4 ~, eb6@8 ~@7 eb5@2 ~@15, ~@2 eb6 ~]/2",
L: "[~ bb3 eb4 ab4 ~ gb4 ~ eb4@2 eb4 gb4 ab4 ~ bb4 db5 ~@2 bb3 eb4 ab4 ~ gb4 ~@2 bb2 [ab2,gb4] [gb2,ab4] [f2,eb4] [gb2,gb4] [f2,db5] [eb2,bb4] db2, eb6@8 ~@7 eb5@2 ~@6 eb4@2 ~@7, ~@8 eb6@5 ~@3]/2", // Ab7 Gbsus2 F7 Gb Db Eb5
M: "db3@5 db3@6 ~ db3@4", N: "db3@6 db3@6 db3@3 ~", O: "gb3@11 ~ gb3@3 ~",
P: "e3@2 b2@3 ~ ab3 ~ b3!3 db4@5, ~@3 db3@3 ~@2", Q: "db3@5 ~ db3@6 db3@4",
R: "[e3@2 b2@4 db3 ~@2 ab3 gb3 db4@2 gb3 db4 db4@4 ~ db4!2 b3 db4@6 ~ b3 ab3]/2",
S: "db4 db4@2 b3 db4!2 b3 db4@6 ~ b3 ab3", T: "db4 db4@2 b3 db4!2 b3 db4@5 ~@2 b3 ab3",
U: "~@4 db4!2 b3 db4@6 ~ b3 ab3", V: "[db4 db4@2 b3 db4!2 b3 db4@18 ~@7]/2",
})).s("gm_epiano1").gain(0.38)
// chords · flute
const flute = note("<~@18 A B C ~ D E F ~@9 G H I ~ G J ~@14 K L M ~ D@2 F ~@26>".pickRestart({
A: "~@6 [eb4,gb4]!3 [eb4,gb4]@2 [db4,f4]@2 [eb4,gb4]@2 ~", // Ebm Db Ebm
B: "~@6 [eb4,bb4]!2 [ab4,eb5]@2 [ab4,eb5] [gb4,db5]@2 [eb4,bb4]@2 ~", // Eb5 Ab5 Gb5 Eb5
C: "~@6 [eb4,gb4] [eb4,gb4]@2 [gb4,bb4]@2 [eb4,gb4]@5", // Ebm Gb Ebm
D: "~@3 [eb4,bb4] [bb4,db5] [bb4,db5]@2 [ab4,c5]@2 [bb4,db5]@2 [gb4,bb4]@2 ~@3", // Eb5 Bbm Ab Bbm Gb
E: "~@3 [eb4,gb4] [bb4,db5]@2 [bb4,db5] [ab4,c5]@2 [bb4,db5]@2 [gb4,bb4]@2 ~@3", // Ebm Bbm Ab Bbm Gb
F: "~@3 [gb4,c5] [ab4,db5]@2 [gb4,c5]@2 [ab4,db5]@2 [gb4,c5] [bb4,eb5]@4 ~", // Gbdim Db5 Gbdim Db5 Gbdim Eb5
G: "~@3 [db4,f4] [eb4,gb4]@2 [db4,f4] [eb4,gb4]@2 [eb4,gb4]@2 [gb4,bb4]@2 ~@3", // Db Ebm Db Ebm Gb
H: "~@3 [db4,gb4] [eb4,gb4]@2 [db4,gb4] [eb4,gb4]@2 [gb4,bb4]@2 [eb4,ab4]@2 ~@3", // Gb5 Ebm Gb5 Ebm Gb Ab5
I: "~@3 [db4,f4] [eb4,gb4]@2 [db4,f4] [eb4,gb4]@2 [eb4,gb4]@2 [gb4,bb4]@5", // Db Ebm Db Ebm Gb
J: "~@3 [db4,f4] [eb4,gb4]@2 [db4,f4] [eb4,gb4]@2 [gb4,bb4]@2 [eb4,gb4]@4 ~", // Db Ebm Db Ebm Gb Ebm
K: "~@3 [db4,ab4] [eb4,bb4]@2 [eb4,bb4] [db4,ab4] [eb4,bb4] [eb4,bb4]@2 [db4,ab4]@2 [eb4,bb4] ~@2", // Db5 Eb5 Db5 Eb5 Db5 Eb5
L: "~@3 [db4,ab4] [eb4,bb4]@2 [eb4,bb4]!2 [ab4,db5]@2 [ab4,db5] [gb4,c5]@2 [eb4,bb4,c5] ~@2", // Db5 Eb5 Db5 Gbdim Cm7
M: "~@3 [db4,ab4] [eb4,bb4]@2 [db4,ab4] [eb4,bb4]@2 [gb4,db5]@2 [eb4,bb4]@5", // Db5 Eb5 Db5 Eb5 Gb5 Eb5
})).s("gm_flute").gain(0.28)
// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@46 A@3 B C@2 D@2 ~@33>".pickRestart({
A: "[bb5@13 gb5 f5 gb5@2 ~ f5 ~@2 f5 ~ f5@2 gb5 f5 gb5 eb5 f5 gb5@10 ~ eb6@5 ~ eb6]/3",
B: "~ bb5 gb6 gb6@2 f6@2 eb6@2 f6 gb6 bb5@4 ~", C: "[~@5 f5@2 f5 f5@2 ~@2 f5@3 eb5@7 ~@3 bb5 gb6 f6 gb6 f6 gb6 ~]/2",
D: "[gb6@7 ~ gb6 f6 gb6 db6@3 bb5 bb5@2 ab5 ab5@2 g5@2 f5!2 f5@2 f5!2 f5@4]/2",
})).s("gm_electric_guitar_jazz").gain(0.38)
// other · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note("<~@47 [~ gb5 ~ gb5@2 ~ db5 ~@9] ~@2 [~@10 f5!2 ~@4] ~@36>")
.s("gm_electric_guitar_jazz").gain(0.22)
// bass · baritone sax · "BARITONSAX"
const bass_2 = note(`<
~@4 A@2 B C@3 D ~@15 E F@3 G H@3 I ~@7 E J@3 ~@4 K ~ K ~@17 L@3 M L@3 M L@3 M L@3 N@2
>`.pickRestart({
A: "db3/2", B: "~@8 db2@2 ~@2 eb2@3 ~", C: "[f2@3 ~ gb2@3 ~ ab2@3 ~ bb2 ~ db3@30 ~ e3 eb3 ~]/3", D: "db3 ~@7",
E: "~@4 db2 ~ eb2 ~", F: "[f2@2 ~@2 gb2@2 ~@2 ab2 ~@3 bb2@2 db3@30 ~ e3 eb3 ~]/3", G: "db3@3 ~@5 db2@2 ~@2 eb2@2 ~@2",
H: "[f2@2 ~@2 gb2@2 ~@2 ab2@2 ~@2 bb2 ~ db3@30 ~ gb3 f3 ~]/3", I: "eb3 ~@15",
J: "[f2@2 ~@2 gb2@2 ~@2 ab2 ~@3 bb2@2 db3@30 ~@4]/3", K: "~@9 eb2 f2 eb2 gb2!2 f2 eb2", L: "db2@15 ~",
M: "e2@2 eb2@3 ~ db2@3 ~ b1!2 db2!2 b1@2", N: "[e2@2 eb2@3 ~ db2@22 ~@4]/2",
})).s("gm_baritone_sax").gain(0.31).pan(0.4)
// chords · trumpet
const trumpet = note(`<
~@4 A@2 B C@3 D ~@11 E F ~@2 B G@3 H I@3 ~@4 E F ~@2 B J@3 ~@4 K ~ K ~ L ~ L ~ L ~ L ~@9 M N@2 O M N@2 O M N@2 O M N@2
P@2
>`.pickRestart({
A: "db5/2", B: "~@8 db4@2 ~@2 eb4@3 ~", C: "[f4@3 ~ gb4@3 ~ ab4@3 ~ bb4 ~ db5@30 ~ e5 eb5 ~]/3", D: "db5 ~@7",
E: "~@12 [gb4,bb4] gb4 [ab4,db5] [bb4,eb5]", F: "~@12 [gb4,bb4]!2 [ab4,db5] [bb4,eb5]",
G: "[f4@2 ~@2 gb4@2 ~@2 ab4@2 ~@2 bb4@2 db5@30 ~ e5 eb5 ~]/3", H: "db5 ~@3 db4 ~ eb4 ~",
I: "[f4@3 ~ gb4@2 ~@2 ab4@2 ~@2 bb4@2 db5@30 ~ gb5 f5 ~]/3", J: "[f4 ~ gb4 ~ ab4 ~ bb4 db5@15 ~@2]/3",
K: "~@9 [bb4,eb5] [c5,f5] [bb4,eb5] [db5,gb5]!2 [c5,f5] ~", // Eb5 F5 Eb5 Gb5 F5
L: "~@8 [db5,gb5]!2 [c5,f5] [bb4,eb5] [db5,gb5]!2 [c5,f5] ~", M: "[ab4,db5]@15 ~", N: "[bb4,db5]@15 ~",
O: "[ab4,e5]@2 [b4,eb5] ~@3 [ab4,db5]@4 b4!2 db5!2 b4 ~", P: "[[ab4,e5]@2 [b4,eb5] ~@3 [ab4,db5]@22 ~@4]/2",
})).s("gm_trumpet").gain(0.27).pan(0.9)
// chords · trumpet · soft notes
const trumpet_soft = note("<~@22 A ~@15 A ~@11 B ~ B ~ B ~ B ~ B ~ B ~@26>".pickRestart({
A: "~@13 bb4 ~@2", B: "~@15 [bb4,eb5]",
})).s("gm_trumpet").gain(0.18).pan(0.9)
// chords · trombone
const trombone = note(`<
~@4 A@2 B C@3 D ~@11 E@2 ~@2 F G@3 H I@3 ~@4 E@2 ~@2 F J@3 ~@4 K ~ K ~ L ~ L ~ L ~ L ~@9 M N O P M N O P M N O P M N O
Q@2
>`.pickRestart({
A: "db4/2", B: "~@8 db3@2 ~@2 eb3@3 ~", C: "[f3@3 ~ gb3@3 ~ ab3@2 ~@2 bb3 ~ db4@30 ~ e4 eb4 ~]/3", D: "db4@3 ~@13",
E: "~@12 [bb3,eb4]!2 [db4,f4] [eb4,gb4]", F: "~@4 db3 ~ eb3 ~",
G: "[f3@3 ~ gb3@3 ~ ab3@2 ~@2 bb3@2 db4@30 ~ e4 eb4 ~]/3", H: "db4 ~@3 db3 ~ eb3 ~",
I: "[f3@3 ~ gb3@2 ~@2 ab3@2 ~@2 bb3@2 db4@29 ~@2 gb4 f4 ~]/3", J: "[f3@3 ~ gb3@3 ~ ab3@2 ~@2 bb3@2 db4@30 ~@4]/3",
K: "~@9 [eb4,gb4] [f4,ab4] [eb4,gb4] [gb4,bb4]!2 [f4,ab4] [eb4,gb4]", // Ebm Fm Ebm Gb Fm Ebm
L: "~@8 [gb4,bb4]!2 [f4,ab4] [eb4,gb4] [gb4,bb4]!2 [f4,ab4] [eb4,gb4]", M: "[db4,f4]@15 ~", N: "[b3,eb4,gb4]@15 ~",
O: "[db4,gb4]@15 ~", P: "e4@2 [eb4,gb4] ~@3 [db4,f4]@4 b3!2 db4!2 b3@2", Q: "[e4@2 [eb4,gb4] ~@3 [db4,f4]@17 ~@9]/2",
})).s("gm_trombone").gain(0.31).pan(0.2)
// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
~@2 A@3 B A@3 B A@3 B A@3 B C D C D C D C D A@3 B A@3 B C D C D C D C D A@3 B C D C D C D C D C D C D C D C D ~@4 A@3
B A@3 B A@3 B A@3 B A@3 E@2
>`.pickRestart({
A: "db4!2 bb3 ~ db4 ~ bb3 db4 ~ db4 bb3 ~ db4!2 bb3 ~", B: "db4!2 bb3 ~ db4 ~ bb3 [eb4,e4] ~ eb4 ~ db4@2 ~@3",
C: "~ eb4 ~@2 eb4 ~ db4 eb4 ~ db4 ~ eb4 ~ eb4 db4 bb3", D: "~ eb4 db4 bb3 eb4 ~@2 eb4 ~ db4 ~ eb4 ~ eb4 ~@2",
E: "[db4!2 bb3 ~ db4 ~ bb3 [eb4,e4] ~ eb4 ~ db4@17 ~@4]/2", // Emaj7
})).s("gm_electric_guitar_muted").gain(0.31).pan(0.3)
// other · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note(`<
~@18 A B A B A B A B ~@8 A B A B A B A B ~@4 A B A B A B A B A B A B A B A B ~@25
>`.pickRestart({
A: "~@2 db4 bb3 ~@12", B: "~@6 db4 ~@9",
})).s("gm_electric_guitar_muted").gain(0.22).pan(0.3)
// other · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
~@62
[db5@2 f6@2 ab5 eb6@2 ab5 f6@2 ab5 eb6@2 ab5 f6@2]
[b4@2 f6@2 ab5 eb6@2 ab5 f6@2 ab5 eb6@2 ab5 f6@2]
[bb4@2 f6@2 ab5 eb6@2 ab5 f6 eb6 db6 bb5 ab5 gb5 f5 gb5]
[f6 eb6 db6 bb5 ab5 gb5 f5 gb5 db5 eb5 f5 gb5 ab5 bb5 db6 eb6]
[f6 ~@7]
~@20
>`).s("gm_acoustic_guitar_steel").gain(0.31).pan(0.9)
// other · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel_2 = note(`<
~@62
[db5@2 ab5@3 gb5@2 ~ f5@3 gb5@3 ab5@2]
[b4@2 ab5@3 gb5@3 f5@3 gb5@3 ab5@2]
[bb4@2 ab5@3 gb5@2 ~ ab5 gb5 f5 db5 c5 bb4 ab4 bb4]
[ab5 gb5 f5 eb5 db5 eb5 f5 gb5 ab4 bb4 db5 eb5 f5 gb5 ab5 bb5]
[db6 ~@7]
~@20
>`).s("gm_acoustic_guitar_steel").gain(0.36).pan(0.1)
// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
~@17 A@2 B@2 C@2 D@2 ~@8 A@2 B@2 C@2 D@2 ~@4 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 ~@26
>`.pickRestart({
A: "[~@8 [eb4,gb4,bb4,eb5]@5 ~@3, ~@15 bb3@7 ~@10]/2", B: "[~@4 [eb4,gb4,bb4]@3 ~, ~@15 eb5@13 ~@4, ~@8 bb3@5 ~@3]/2",
C: "[~@2 [eb4,gb4,bb4,eb5] ~, ~@15 bb3@9 ~@8]/2", D: "[~@2 [bb3,eb4,gb4] ~, ~@15 [bb4,eb5]@9 ~@8]/2",
})).s("gm_electric_guitar_clean").gain(0.24).pan(0.3)
// other · woodblock
const woodblock = note("<~@2 A@8 ~@16 A@8 ~@8 A@4 ~@24 A@15 B ~>".pickRestart({
A: "~@2 f5!2 ~ f5!2 ~ f5!3 ~@5", B: "~@2 f5!2 ~ f5!2 ~@9",
})).s("gm_woodblock").gain(0.12)
// other · woodblock · soft notes
const woodblock_soft = note("<~@2 A@8 ~@16 A@8 ~@8 A@4 ~@24 A@15 ~@2>".pickRestart({
A: "~@11 f5 ~@4",
})).s("gm_woodblock").gain(0.07)
// drums · kick
const kick = s("bd").struct("<~@2 A@24 B C D E F G F H A@8 B C I G A@16 ~@7 J A@15 K ~>".pickRestart({
A: "x!2", B: "x ~@6 x ~@2 x ~@3 x ~", C: "x ~@6 x ~@2 x ~@5", D: "x ~@6 x!2 ~@7", E: "x!2 ~@2 x ~@3",
F: "x ~@3 x!2 ~@2", G: "~@2 x ~@3 x ~ x ~@2 x ~@4", H: "x!2 ~@3 x ~@2", I: "x ~@5 x ~@3 x ~@4 x", J: "~@11 x ~@4",
K: "x ~@2 x ~@4",
})).gain(0.44)
// drums · rim
const rim = s("rim").struct("<~@2 A@8 ~@16 A@8 ~@8 A@4 ~@19 B ~@4 A@15 C ~>".pickRestart({
A: "~@2 x!2 ~ x!2 ~ x!2 ~@6", B: "~@2 x ~ x ~@2 x ~ x ~@2 x ~@3", C: "~@2 x!2 ~ x!2 ~@9",
})).gain(0.22)
// drums · rim · soft notes
const rim_soft = s("rim").struct("<~@2 A@8 ~@16 A@8 ~@8 A@4 ~@24 A@15 ~@2>".pickRestart({
A: "~@10 x!2 ~@4",
})).gain(0.16)
// drums · snare
const snare = s("sd").struct(`<
~ A B@16 C D C D C D C E B@3 F B@3 G C D C D C D C E B@2 H F C D C D C D C E C D C D C D C I ~@7 J B@7 F B@3 K B@2 F L
~
>`.pickRestart({
A: "~@3 x", B: "~ x ~ x", C: "~@4 x ~@4 x ~@2 x ~@3", D: "~@4 x ~@5 x!3 ~@3", E: "~@4 x ~@5 x!3 ~ x!2",
F: "~@4 x ~@7 x ~ x!2", G: "~@4 x ~@2 x ~@4 x ~ x!2", H: "~@3 x ~@8 x ~@3", I: "~@4 x ~@5 x!6",
J: "~@6 x ~@2 x ~@2 x ~@2 x", K: "~@4 x ~@4 x ~@2 x ~ x!2", L: "~ x ~@2",
// … 59 more lines
More by Eurythmics
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.