0:00/0:00
// Man Eater — Hall & Oates
// 188 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 194 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(188/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.
// bass · acoustic guitar nylon
const bass = note(`<
~ A B C D E F C G A B C D E F C G A B C D E F C G A B C D E F C G H I J K L M A N O P Q R A S T U H V J K L M A W O X
C R A Y A Z A AA Q AB E AC AD AE A AA Q AB O AF AG AB A AA A AH H V J K L M A W O X C R A Y A Z A AA Q AB E AC AD AE A
AA Q AB O AF AG AB A AA A AA A B C D E F C G A B C D E F C G A B C D E F C G A AA Q AI O AJ AK AL A AA Q AB E AC AD AE
A AA Q AB O AF AG AB A AA Q AB E AC AK AM A B C D E F C G A AA Q AB E AN AO AP AQ
>`.pickRestart({
A: "c2 ~@3 c2 ~@3 c2@4 ~@3 c2", B: "~@3 c2 ~@3 c2 c2@3 ~ c2@3 ~", C: "bb1@2 ~@2 bb1 ~@3 bb1@4 ~@3 bb1",
D: "~@3 bb1 ~@3 bb1 bb1@3 ~ bb1@3 ~", E: "ab1 ~@3 ab1 ~@3 ab1@4 ~@3 ab1", F: "~@3 ab1 ~@3 ab1 ab1@3 ~ ab1@3 ~",
G: "~@3 bb1 ~@4 c2@4 d2@4, ~@7 bb1@2 ~@7", H: "eb2 ~@3 eb2 ~@3 eb2@4 ~@3 eb2", I: "~@3 eb2 ~@3 c2 eb2@4 ~@4",
J: "d2 ~@3 d2 ~@3 d2@4 ~@3 d2", K: "~@3 d2 ~@3 c2 d2@4 ~@4", L: "db2 ~@3 db2 ~@3 db2@4 ~@3 db2",
M: "~@3 db2 ~@3 c2 db2@4 ~@4", N: "~@3 bb1 ~@4 ab1@4 g1@4, ~@7 bb1@2 ~@7", O: "f1 ~@3 f1 ~@3 f1@4 ~@3 f1",
P: "~@3 f1 ~@3 f1 f1@4 ab1@4", Q: "bb1 ~@3 bb1 ~@3 bb1@4 ~@3 bb1", R: "~@3 b1 ~@3 b1 b1@4 ~@4",
S: "~@3 c2 ~@3 c2 g1@3 ~ g1@4", T: "c2@2 ~@2 c2 ~@3 c2@4 ~@3 c2", U: "~@3 c2 ~@3 bb1 c2@4 d2@3 ~",
V: "~@3 eb2 ~@3 c2 eb2@5 ~@3", W: "~@3 c2 bb1@4 ab1@4 g1@3 ~", X: "~@3 f1 ~@3 f1 f1@3 ~ ab1@4",
Y: "~@3 c2 ~@3 c2 g1@3 ~ g1@3 ~", Z: "~@3 c2 ~@3 c2 c2@3 ~ g1@4", AA: "~@3 c2 ~@3 c2 c2@4 ~@4",
AB: "~@3 bb1 ~@3 bb1 bb1@4 ~@4", AC: "~@3 ab1 ~@3 ab1 ab1@5 ~@3", AD: "g1 ~@3 g1 ~@3 g1@4 ~@3 b1",
AE: "~@3 b1 ~@3 c2 d2@5 ~@3", AF: "~@3 f1 ~@3 f1 f1@4 g1@3 ~", AG: "ab1 ~@3 ab1 ~@3 ab1@4 ~@3 bb1",
AH: "~@3 c2 ~@3 c2 c2@3 d2@5", AI: "~@3 bb1 ~@3 bb1 bb1@5 ~@3", AJ: "~@3 f1 ~@3 f1 f1@4 ~@4",
AK: "g1 ~@3 g1 ~@3 g1@4 ~@4", AL: "~@7 c2 ~@3 d2@5", AM: "~@3 b1 ~@3 c2 ~@3 d2@5", AN: "~@3 ab1 ~@3 ab1 ab1@4 ~@4",
AO: "bb1 ~@3 bb1 ~@3 bb1@4 ~@4", AP: "~@3 b1 ~@3 c2 ~@3 d2@4 ~", AQ: "c2 ~@2 c2@2 ~@2 c2@5 ~@4",
})).s("gm_acoustic_guitar_nylon").gain(0.64)
// chords · epiano2
const epiano2 = note(`<
~@9 A@2 B@2 C@2 B@2 A@2 B@2 C@2 B@2 A@2 B@2 C@2 B@2 D@2 E@2 F@2 G@2 H@2 I J K@2 L@2 D@2 E@2 F@2 G@2 M@2 I J K@2 G@2
A@2 B@2 N@2 O P A@2 B@2 Q@2 R S T@4 D@2 E@2 F@2 G@2 M@2 I J K@2 G@2 A@2 B@2 N@2 O P A@2 B@2 Q@2 R S T@4 A@2 B@2 C@2
B@2 A@2 B@2 C@2 B@2 A@2 B@2 C@2 B@2 A@2 B@2 Q@2 U@2 A@2 B@2 N@2 O P A@2 B@2 Q@2 R S A@2 B@2 N@2 O P A@2 B@2 C@2 B@2
A@2 B@2 C@2 B@2 V
>`.pickRestart({
A: "[g3,c4,eb4]/2", B: "[f3,bb3,d4]/2", C: "[ab3,c4,eb4]/2", D: "[eb4,g4,bb4]/2", E: "[d4,f4,bb4]/2",
F: "[db4,f4,ab4]/2", G: "[c4,e4,g4]/2", H: "[c4,eb4,f4,g4]/2", I: "[d4,f4,bb4]", J: "[d4,f4,b4]",
K: "[[eb4,g4,c5]@3 [d4,g4,bb4]]/2", L: "[c4,d4,eb4,g4]/2", M: "[[f3,c4,eb4], g4@3 ~@5]/2", N: "[eb3,ab3,c4]/2",
O: "[g3,b3,d4]", P: "[b3,d4,f4]", Q: "[f3,c4,eb4]/2", R: "[ab3,c4,eb4,ab4]", S: "[bb3,d4,f4,bb4]", T: "[eb4,g4,c5]/4",
U: "[g3,b3,d4,f4]/2", V: "[g4,c5,eb5] ~@15",
})).s("gm_epiano2").gain(0.48)
// other · piano
const piano = note(`<
~@9 A B ~@6 C D ~@6 A B ~@90 A B ~@2 A B ~@6 A B ~@6 A B ~@6 A B ~@30 C D ~@6 A B ~@6 E
>`.pickRestart({
A: "eb6 c6 ~ g5 eb6 c6 ~ g5 eb6 c6 ~ g5 eb6 c6 ~ g5", B: "eb6 c6 ~ g5 eb6 c6 ~ g5 eb6 c6 ~ g5 ~@4",
C: "g5 [c6,eb6] ~@2 g5 [c6,eb6] ~@2 g5 [c6,eb6] ~@2 g5 [c6,eb6] ~@2", D: "g5 [c6,eb6] ~@2 g5 [c6,eb6] ~@10",
E: "eb6 c6 ~ g5 eb6 c6 ~ g5 c6 ~@7",
})).s("gm_piano").gain(0.5)
// other · piano · soft notes
const piano_soft = note("<~@10 A ~@7 B ~@7 A ~@91 A ~@3 A ~@7 A ~@7 A ~@7 A ~@31 B ~@7 A ~@7>".pickRestart({
A: "~@12 eb6 c6 ~ g5", B: "~@8 g5 [c6,eb6] ~@2 g5 [c6,eb6] ~@2",
})).s("gm_piano").gain(0.29)
// other · lead 2 sawtooth
const lead_2_sawtooth = note("<~@11 A@2 ~@6 A@2 ~@6 A@2 ~@102 A@2 ~@6 A@2 ~@6 A@2 ~@30 A@2 ~@6 A@2 ~@5>".pickRestart({
A: "c4/2",
})).s("gm_lead_2_sawtooth").gain(0.64)
// other · trumpet
const trumpet = note("<~@181 A@2 ~@2 B@2 ~@2 C D ~@3>".pickRestart({
A: "[c4@7 ~]/2", B: "[c4@3 d4@3 eb4@4 ~@2 c4@2 d4@4 eb4@2 ~@12]/2", C: "c4 d4 eb4 f4 ~@2 c4 d4", D: "eb4@2 f4 ~@13",
})).s("gm_trumpet").gain(0.64)
// chords · clavinet
const clavinet = note(`<
~@17 A@2 B C D@2 C@2 A@2 B C D@2 C@2 E@2 C@2 F@2 G H I@2 C J K I A@2 E@2 C@2 F@2 G H I@2 C J K I L H A@2 C@2 D@2 M@2
A@2 C@2 I@2 N O ~@3 P E@2 C@2 F@2 G H I@2 C J K I L H A@2 C@2 D@2 M@2 A@2 C@2 I@2 N O ~@4 A@2 B C D@2 C@2 A@2 B C D@2
C@2 A@2 B C D@2 C@2 A@2 C@2 Q I M ~ A@2 C@2 D@2 M@2 A@2 C@2 I@2 N O A@2 C@2 D@2 M@2 A@2 B C D@2 C@2 A@2 B C D@2 C@2 ~
>`.pickRestart({
A: "~@4 [g5,c6,eb6] ~@7 [g5,c6,eb6] ~@3", B: "~@4 [f5,bb5] ~@7 [f5,bb5,d6] ~@3, ~@2 d6 ~@5",
C: "~@4 [f5,bb5,d6] ~@7 [f5,bb5,d6] ~@3", D: "~@4 [eb5,ab5,c6] ~@7 [eb5,ab5,c6] ~@3",
E: "~@4 [g5,bb5,eb6] ~@7 [g5,bb5,eb6] ~@3", F: "~@4 [f5,ab5,db6] ~@7 [f5,ab5,db6] ~@3",
G: "~@4 [e5,g5] ~@7 [e5,g5,c6] ~@3, ~@2 c6 ~@5", H: "~@4 [e5,g5,c6] ~@7 [e5,g5,c6] ~@3",
I: "~@4 [eb5,g5,c6] ~@7 [eb5,g5,c6] ~@3", J: "~@4 [f5,b5,d6] ~@7 [f5,b5,d6] ~@3",
K: "~@4 [eb5,c6]@2 ~@6 [eb5,g5,c6] ~@3, ~@4 g5 ~@11", L: "~@4 [g5,c6]@2 ~@6 [e5,g5,c6] ~@3, ~@4 e5 ~@11",
M: "~@4 [g5,b5,d6] ~@7 [g5,b5,d6] ~@3", N: "~@4 [ab5,eb6] ~@7 [ab5,c6,eb6] ~@3, ~@2 c6 ~@5",
O: "~@4 [bb5,d6,f6] ~@7 [bb5,d6,f6] ~@3", P: "~@11 [f5,bb5,d6]@5", Q: "~@4 [g5,c6] ~@7 [eb5,g5,c6] ~@3, ~@2 eb5 ~@5",
})).s("gm_clavinet").gain(0.56)
// other · string ensemble 2
const string_ensemble_2 = note("<~@15 A@8 ~@42 B@8 ~@28 B@8 ~@68 B@8 ~@9>".pickRestart({
A: "[~ [c5,c6]@15]/8", B: "[c5,c6]/8",
})).s("gm_string_ensemble_2").gain(0.48)
// drums · kick
const kick = s("bd").struct(`<
~ A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B
A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B C ~ A B A B A B A B A B A B A B A B A B A B A B C ~
A B A B A B A B A B A B A B C ~ D
>`.pickRestart({
A: "x ~@7 x ~@6 x", B: "~@3 x ~@4 x ~@7", C: "x!2", D: "x ~@2 x ~@3 x ~@8",
})).gain(0.8)
// drums · snare
const snare = s("sd").struct("<~@32 A B@48 ~@3 A B@32 ~@4 B@31 C B@23 C ~@14 B D ~>".pickRestart({
A: "~@3 x", B: "~ x ~ x", C: "~@3 x ~@3 x ~@3 x ~@4", D: "~@3 x ~@3 x ~@3 x ~@3 x",
})).gain(0.8)
// drums · clap
const clap = s("cp").struct("<~ A@31 B ~@48 A@3 B ~@32 A@4 ~@56 A@14 ~@3>".pickRestart({
A: "~ x ~ x", B: "~ x ~@2",
})).gain(0.64)
// drums · hihat
const hihat = s("hh").struct("<A@32 B A@51 B A@67 C A@23 C A@15 C ~>".pickRestart({
A: "x!4", B: "x!2 ~ x", C: "~@3 x ~@3 x ~@3 x ~@4",
})).gain(0.64)
// drums · open hat
const open_hat = s("oh").struct("<~@32 [~ x] ~@51 [~ x] ~@109>").gain(0.64)
// drums · crash
const crash = s("cr").struct("<~@48 A ~@15 A ~@35 A ~@50 A ~@23 A ~@15 A ~ B>".pickRestart({
A: "~@3 x", B: "x ~@2 x ~@3 x ~@8",
})).gain(0.64)
// drums · ride
const ride = s("rd").struct("<~ [~ x ~ x]!151 ~ [~ x ~ x]!23 ~ [~ x ~ x]!15 ~@2>").gain(0.64)
stack(
bass, epiano2, piano, piano_soft, lead_2_sawtooth, trumpet, clavinet, string_ensemble_2, kick, snare, clap, hihat,
open_hat, crash, ride
)
More by Hall & Oates
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.