0:00/0:00
// Maneater — Hall & Oates
// 180 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 161 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(180/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, A@4 for four bars: edit a riff to change every repeat.
// chords · drawbar organ · "ORGAN 1"
const drawbar_organ = note(`<
~@16 A@2 B@2 C@2 D@2 E@2 F G H@2 I@2 A@2 B@2 C@2 D@2 E@2 F G H@2 J@2 ~@20 A@2 B@2 C@2 D@2 E@2 F G H@2 J@2 ~@77
>`.pickRestart({
A: "[[bb4,eb5,g5]@7 ~]/2", B: "[[bb4,d5,f5]@7 ~]/2", C: "[[ab4,db5,f5]@7 ~]/2", D: "[[g4,c5,e5]@7 ~]/2",
E: "[[f4,ab4,c5,eb5]@7 ~]/2", F: "[bb4,d5,f5]@3 ~", G: "[b4,d5,f5]@3 ~", H: "[[c5,eb5,g5]@5 ~ [bb4,d5,f5] ~]/2",
I: "[[c5,eb5,g5]@7 ~]/2", J: "[[c5,e5,g5]@7 ~]/2",
})).s("gm_drawbar_organ").gain(0.31)
// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
A@2 B C D E B F G H I@2 J@2 K@2 L@2 M N O P G Q R S T U V@2 W@2 X Y M N Z@2 AA@2 AB@2 T AC G AD G AE G AF B AG AH AI
AJ AK G AL AM@2 AN AO AP AG AQ AE G AR X AS M N O AT AU AV AN AW T AX G AY AZ AF G AF B AG AH AI AJ AK G AL AM@2 AN AO
AP AG G AE G BA G AF B BB D E BC@2 G H B C D BD BE@2 G BF BG@2 AN BH BI BJ G H B BK D E BL@2 G BM B BN BO AO AP BP G
AF B AG AH AI AJ AK G AL AM@2 AN AO AP AG BQ
>`.pickRestart({
A: "[c2@3 ~@3 c2@3 ~@3 c2@6 ~@4 c2@4 ~@2 c2@3 ~@3 c2 ~ c2@3 ~@3 c2@6]/2", B: "bb1@3 ~@3 bb1@3 ~@3 bb1@7 ~@3 bb1@2",
C: "~@4 bb1@4 ~@2 bb1 ~ bb1@4 ~@2 bb1@6", D: "ab1@3 ~@3 ab1@3 ~@3 ab1@6 ~@4 ab1@2",
E: "~@4 ab1@3 ~@3 ab1 ~ ab1@4 ~@2 ab1@6", F: "~@4 bb1@3 ~@3 bb1@2 c2@6 d2@6", G: "c2@3 ~@3 c2@3 ~@3 c2@6 ~@4 c2@2",
H: "~@4 c2@3 ~@3 c2 ~ c2@4 ~@2 c2@6",
I: "[bb1@3 ~@3 bb1@3 ~@3 bb1@6 ~@4 bb1@4 ~@2 bb1@4 ~@2 bb1 ~ bb1@4 ~@2 bb1@6]/2",
J: "[ab1@3 ~@3 ab1@3 ~@3 ab1@7 ~@3 ab1@4 ~@2 ab1@4 ~@2 ab1@2 ab1@4 ~@2 ab1@6]/2",
K: "[bb1@3 ~@3 bb1@3 ~@3 bb1@6 ~@4 bb1@4 ~@2 bb1@3 ~@3 bb1 ~ bb1@9 ~@3]/2",
L: "[eb2@3 ~@3 eb2 ~@5 eb2@6 ~@4 eb2@4 ~@2 eb2@3 ~@3 eb2@2 eb2@10 ~@2]/2", M: "d2@3 ~@3 d2@3 ~@3 d2@6 ~@4 d2@2",
N: "~@4 d2@3 ~@3 d2 ~ d2@12", O: "db2@3 ~@3 db2@3 ~@3 db2@6 ~@4 db2@2", P: "~@4 db2@3 ~@3 db2 ~ db2@4 ~@2 db2@6",
Q: "~@4 bb1@3 ~@3 bb1@2 ab1@6 g1@4 ~@2", R: "f1@3 ~@3 f1 ~@5 f1@7 ~@3 f1@2", S: "~@4 f1@3 ~@3 f1@2 g1@6 c2@6",
T: "bb1@3 ~@3 bb1@3 ~@3 bb1@9 ~ b1@2", U: "~@4 b1@3 ~@3 b1 ~ b1@4 ~@2 b1@6",
V: "[c2@3 ~@3 c2@3 ~@3 c2@6 ~@4 c2@4 ~@2 c2@4 ~@2 c2@2 g1@3 ~@3 g1@6]/2",
W: "[c2@3 ~@3 c2@3 ~@3 c2@6 ~@4 c2@4 ~@2 c2@4 ~@2 c2 ~ c2@6 d2@4 ~@2]/2", X: "eb2@3 ~@3 eb2@3 ~@3 eb2@7 ~@3 eb2@2",
Y: "~@4 eb2@3 ~@3 eb2 ~ eb2@12", Z: "[db2@3 ~@3 db2@3 ~@3 db2@7 ~@3 ab1@4 ~@2 db2@3 ~@3 db2 ~ bb1@3 ~ bb1@2 db2@6]/2",
AA: "[c2@3 ~@3 c2@3 ~@3 c2@6 ~@4 c2@4 ~@2 bb1@3 ~@3 bb1@2 ab1@6 g1@6]/2",
AB: "[f1@3 ~@3 f1@3 ~@3 f1@7 ~@3 f1@4 ~@2 f1@3 ~@3 f1@2 g1@6 c2@6]/2", AC: "~@4 b1@3 ~@3 b1 ~ b1@4 ~@2 b1@4 ~@2",
AD: "~@4 c2@3 ~@3 c2 ~ c2@9 ~@3", AE: "~@4 c2@3 ~@3 c2 ~ c2@7 ~@5", AF: "~@4 c2@3 ~@3 c2 ~ c2@12",
AG: "~@4 bb1@3 ~@3 bb1 ~ bb1@9 ~@3", AH: "ab1 ~@5 ab1@3 ~@3 ab1@6 ~@4 ab1@2", AI: "~@4 ab1@3 ~@3 ab1@2 ab1@12",
AJ: "g1@3 ~@3 g1@3 ~@3 g1@9 ~ b1@2", AK: "~@4 b1@3 ~@3 b1@2 d2@3 ~@3 d2@6", AL: "~@4 c2@4 ~@2 c2 ~ c2@10 ~@2",
AM: "[bb1@3 ~@3 bb1@3 ~@3 bb1@6 ~@4 bb1@4 ~@2 bb1@3 ~@3 bb1@2 ab1@6 g1@6]/2", AN: "f1@3 ~@3 f1@3 ~@3 f1@6 ~@4 f1@2",
AO: "~@4 f1@3 ~@3 f1 ~ f1@6 g1@6", AP: "ab1@3 ~@3 ab1@3 ~@3 ab1@9 ~ bb1@2", AQ: "c2 ~@5 c2@3 ~@3 c2@6 ~@4 c2@2",
AR: "~@4 c2@3 ~@3 c2 ~ c2@6 d2@6", AS: "~@4 eb2@3 ~@3 eb2@2 eb2@10 ~@2",
AT: "~@4 db2@3 ~@3 db2 ~ db2@3 ~@3 db2@4 ~@2", AU: "c2@3 ~@3 c2@3 ~@3 c2@7 ~@3 c3@2",
AV: "~@4 bb2@3 ~@3 bb2 ~ ab2@3 ~ ab2@2 g2@4 ~@2", AW: "~@4 f1@3 ~@3 f1@2 g1@3 ~@3 g1@6",
AX: "~@4 b1@3 ~@3 b1 ~ b1@6 d2@6", AY: "~@4 c2@3 ~@3 c2@2 g1@4 ~@2 g1@4 ~@2", AZ: "c2@4 ~@2 c2@3 ~@3 c2@7 ~@3 c2@2",
BA: "~@4 c2@3 ~@3 c2 ~ c2@4 ~@2 g1@6", BB: "~@4 bb1@3 ~@3 bb1 ~ bb1@12",
BC: "[bb1@4 ~@2 bb1@3 ~@3 bb1@7 ~@3 bb1@4 ~@2 bb1@3 ~@3 bb1@2 c2@6 d2@4 ~@2]/2",
BD: "~@4 ab1@3 ~@3 ab1 ~ ab1@3 ~@3 ab1@6",
BE: "[bb1@3 ~@3 bb1@3 ~@3 bb1@6 ~@4 bb1@4 ~@2 bb1@4 ~@2 bb1 ~ bb1@3 ~ b1@8]/2", BF: "~@2 c2@2 ~ c2 c2@2 ~ c2@3",
BG: "[bb1@3 ~@3 bb1@3 ~@3 bb1@6 ~@4 bb1@4 ~@2 bb1@4 ~@2 bb1@2 ab1@6 g1@6]/2", BH: "~@4 f1@3 ~@3 f1 ~ f1@6 gb1@6",
BI: "g1@3 ~@3 g1@3 ~@3 g1@6 ~@4 g1@2", BJ: "~@4 g1@3 ~@3 b1@4 ~@2 d2@4 ~@4",
BK: "~@4 bb1@3 ~@3 bb1 ~ bb1@3 ~@3 bb1@4 ~@2",
BL: "[g1@3 ~@3 g1@3 ~@3 g1@9 ~ b1@6 b2@2 b1@4 b2 ~ d2@3 ~ d3@2 d2@6]/2", BM: "~@4 c2@3 ~@3 c2 ~ c2@4 ~@2 c2@4 ~@2",
BN: "~@4 bb1@3 ~@3 bb1@2 ab2@4 ~@2 g2@4 ~@2", BO: "f2@2 c2 f1@2 ~ f1@3 ~@2 f1",
BP: "~@4 bb1@3 ~@3 bb1 ~ bb1@6 b1@4 ~@2", BQ: "c2@2 bb1 g1@2 c1@4 ~@3",
})).s("gm_acoustic_bass").gain(0.4)
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
~@8 A@2 B@2 A@2 B@2 ~@16 C@2 D@2 E@2 F@2 G@2 B H A I F@2 A@2 B@2 A@2 H@2 A@2 B@2 A@3 B ~@3 J C@2 D@2 E@2 F@2 A@2 B H A
I F@2 A@2 B@2 A@2 H@2 A@2 B@2 A@3 B ~@4 K ~ L ~ K ~ L ~ K ~ L ~ K ~ L ~ A@2 B@2 A@2 H ~ A@2 B@2 A@2 H@2 A@2 B@2 A@3 B
A@2 B@2 A@2 H@2 A@2 B@2 A@3 B ~
>`.pickRestart({
A: "~@2 [eb5,g5,c6] ~@3 [eb5,g5,c6] ~", B: "~@2 [d5,f5,bb5] ~@3 [d5,f5,bb5] ~",
C: "~@2 [g5,bb5,eb6] ~@3 [g5,bb5,eb6] ~", D: "~@2 [f5,bb5,d6] ~@3 [f5,bb5,d6] ~",
E: "~@2 [f5,ab5,db6] ~@3 [f5,ab5,db6] ~", F: "~@2 [e5,g5,c6] ~@3 [e5,g5,c6] ~",
G: "~@2 [c5,eb5,ab5] ~@3 [c5,eb5,ab5] ~", H: "~@2 [d5,g5,b5] ~@3 [d5,g5,b5] ~",
I: "~@2 [eb5,g5,c6] ~@3 [d5,f5,bb5] ~", J: "~@6 [f5,bb5,d6] ~", K: "~@2 [eb5,g5,c6] ~@5", L: "~@2 [d5,f5,bb5] ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.22)
// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
~@8 A@2 B@2 C@2 D@2 E@2 B@2 F@2 G@2 H@2 I J K@2 A@2 E@2 B@2 F@2 G@2 H@2 I J K@2 L@2 A@2 B@2 C@2 M J A@2 B@2 N@2 O I
A@2 ~@2 E@2 B@2 F@2 G@2 H@2 I J K@2 L@2 A@2 B@2 C@2 M J A@2 B@2 N@2 O I A@2 ~@2 A@2 B@2 C@2 B@2 A@2 B@2 C@2 B@2 A@2
B@2 H@2 P@2 A@2 B@2 C@2 M J A@2 B@2 N@2 O I A@2 B@2 C@2 M J A@2 B@2 N@2 O I Q
>`.pickRestart({
A: "[[c5,eb5,g5]@7 ~]/2", B: "[[bb4,d5,f5]@7 ~]/2", C: "[[ab4,c5,eb5]@7 ~]/2", D: "[[d5,f5,bb5]@7 ~]/2",
E: "[[bb4,eb5,g5]@7 ~]/2", F: "[[ab4,db5,f5]@7 ~]/2", G: "[[g4,c5,e5]@7 ~]/2", H: "[[f4,ab4,c5,eb5]@7 ~]/2",
I: "[bb4,d5,f5]@3 ~", J: "[b4,d5,f5]@3 ~", K: "[[c5,eb5,g5]@5 ~ [bb4,d5,f5] ~]/2", L: "[[c5,e5,g5]@7 ~]/2",
M: "[g4,b4,d5]@3 ~", N: "[[f4,ab4,c5]@7 ~]/2", O: "[ab4,c5,eb5]@3 ~", P: "[[g4,b4,d5]@5 ~@3]/2", Q: "[c5,eb5,g5]@3 ~",
})).s("gm_rock_organ").gain(0.39)
// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@48 A@8 ~@7 B@5 ~@16 C@7 D@24 ~@2 E@2 D@8 ~ F@32 ~>".pickRestart({
A: "[~@95 c7, c7]/8", B: "[~@23 c7@94 ~@3]/5", C: "c7/7", D: "[~@23 c7@169]/8", E: "[~@23 c7@25]/2", F: "c7/8",
})).s("gm_string_ensemble_1").gain(0.2)
// other · english horn · "ENGL.HORN"
const english_horn = note("<~@10 A ~@55 A ~@39 A ~@7 A ~@6 A ~@39>".pickRestart({
A: "c6@3 ~",
})).s("gm_english_horn").gain(0.31)
// 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 C D 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 E
>`.pickRestart({
A: "x ~@5 x ~@4 x", B: "~ x ~ x ~@2", C: "x!2", D: "~@2 x ~@2 x ~@2 x ~@3", E: "x ~@4 x ~@6",
})).gain(0.46)
// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!127 x [~ x ~ x]!32 ~>").gain(0.46)
// drums · low tom
const low_tom = s("lt").struct("<~@160 [~ x ~@2]>").gain(0.41)
// drums · hihat
const hihat = s("hh").struct("<~@16 A@11 B A@3 B A@7 B A@3 B A@19 B A@15 B A@3 B A@7 B A@35 C A@32 ~>".pickRestart({
A: "x!4", B: "x!3 ~", C: "x ~@6 x ~@5 x ~@5 x ~@4",
})).gain(0.36)
// drums · mid tom
const mid_tom = s("mt").struct("<~@160 [~ x ~@4]>").gain(0.41)
// drums · open hat
const open_hat = s("oh").struct("<~@27 A ~@3 A ~@7 A ~@3 A ~@19 A ~@15 A ~@3 A ~@7 A ~@35 B ~@33>".pickRestart({
A: "~@3 x", B: "~@2 x ~@2 x ~@2 x ~@3",
})).gain(0.31)
// drums · crash
const crash = s("cr").struct("<~@100 x ~@60>").gain(0.41)
stack(
drawbar_organ, bass, acoustic_guitar_steel, rock_organ, string_ensemble_1, english_horn, kick, snare, low_tom, hihat,
mid_tom, open_hat, crash
)
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.