0:00/0:00
// Twilight Zone — 2 Unlimited
// 130 bpm, 4/4, key A# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 102 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · synth bass 1 · "bass"
const bass = note(`<
~@4
[bb1@3 ab1 bb1@2 ab1 bb1@2 ab1 bb1@2 db2@2 ab1@2]!56
~@10
[bb1@3 ab1 bb1@2 ab1 bb1@2 ab1 bb1@2 db2@2 ab1@2]!31
[bb1@3 ab1 bb1@2 ab1 bb1@2 ab1 bb1@2 ~@4]
>`).s("gm_synth_bass_1").gain(0.5)
// other · lead 2 sawtooth · "synth 1" · Bb
const lead_2_sawtooth = note("<~@68 [[bb4,bb5]@3 ~ [bb4,bb5]@3 ~]!2 ~@32>").s("gm_lead_2_sawtooth").gain(0.5)
// chords · pad halo · "synth 2" · Bsus2
const pad_halo = note("<~@68 [[b3,db4]@3 ~ [b3,db4]@3 ~]!2 ~@32>").s("gm_pad_halo").gain(0.2)
// other · distortion guitar · "lead m"
const distortion_guitar = note(`<
~@3 A@3 B ~ A@3 ~@17 A@2 B ~ A@3 ~ A@2 B ~ A@3 ~@23 C ~@3 A@2 B ~ A@3 ~@25
>`.pickRestart({
A: "~@12 bb2@3 ~", B: "~@6 bb2 ~", C: "~@6 a2 ~ a2 ~ a2@2 ~@4",
})).s("gm_distortion_guitar").gain(0.6)
// other · synth brass 2 · "lead f"
const synth_brass_2 = note(`<
~@19 A B C D@2 B C E@2 ~@23 A B C D@2 B C E@2 ~@25 A B C D@2 B C D@2 B C D@2 B C F@2
>`.pickRestart({
A: "~@5 f4 ab4 bb4", B: "db5@3 ~ db5@4 bb4 ~ f4@2 ab4@2 bb4@2", C: "db5 bb4 ~ bb4@3 ab4@2 bb4 ~ f4@2 ab4@2 bb4@2",
D: "[db5 bb4!2 ~ bb4 ab4!2 bb4@5 ~ f4 ab4 bb4]/2", E: "[db5 bb4!2 ~ bb4 ab4!2 bb4@5 ~@4]/2",
F: "[db5 bb4!2 ~ bb4 ab4!2 bb4@5 ~ f4 ~@2]/2",
})).s("gm_synth_brass_2").gain(0.45)
// other · piano · "backs 1"
const piano = note("<~@20 A B C@2 A B C@2 ~@24 A B C@2 A B C@2 ~@26 A B C@2 A B C@2 A B C@2 A B C@2>".pickRestart({
A: "f4@2 f4@2 db4 ~@3", B: "f4 db4 ~ db4@2 ~ c4@2 db4@2 ~@6", C: "[f4@2 db4@2 db4 ~@3 db4@2 c4 ~ c4@2 db4@10 ~@8]/2",
})).s("gm_piano").gain(0.45)
// other · synth brass 1 · "synth 5"
const synth_brass_1 = note(`<
A@3 B A@3 B A@3 B C@3 D C@3 D ~@8 A@3 B A@3 B A@3 B A@3 B C@3 D C@3 D ~@18 A@3 B A@3 B C@3 D C@3 D ~@16
>`.pickRestart({
A: "[bb3,bb4]!2 ~ [bb3,bb4]!2 ~ [bb3,bb4]!2 ~ [bb3,bb4]!2 ~ [b3,b4] ~ [ab3,ab4] ~", // Bb B Ab
B: "[bb3,bb4] ~ [bb3,bb4] ~ [bb3,bb4] ~ [ab3,ab4] [bb3,bb4] ~@2 [ab3,ab4] [bb3,bb4] ~@4", // Bb Ab Bb Ab Bb
C: "[bb3,bb4]!2 ~ [bb3,bb4] [ab3,ab4] ~ [bb3,bb4] [gb3,gb4] ~ [f3,f4] [eb3,eb4] ~ [bb3,bb4] ~ [b3,b4] ~", // Bb Ab Bb Gb F Eb Bb B
D: "[bb3,bb4] ~ [bb3,bb4] ~ [bb3,bb4] ~ [ab3,ab4] [bb3,bb4] ~@8", // Bb Ab Bb
})).s("gm_synth_brass_1").gain(0.5)
// chords · synth strings 1 · "pad"
const synth_strings_1 = note("<~@20 A@24 ~@8 A@8 ~@26 A@16>".pickRestart({
A: "[[f4,bb4,db5]@61 ~@3]/4", // Bbm
})).s("gm_synth_strings_1").gain(0.32)
// chords · piano · "ac piano"
const piano_2 = note("<~@20 A B C D A B C D ~@24 A B C D A B C D ~@26 A B C D A B C D A B C D A B C E>".pickRestart({
A: "~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~", // Bbm
B: "~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [gb4,bb4,eb5] ~", // Bbm Ebm
C: "~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [eb4,ab4,c5] ~", // Bbm Ab
D: "~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [gb4,bb4,eb5]@3 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~", // Bbm Ebm Bbm
E: "~@2 [f4,bb4,db5] ~@2 [f4,bb4,db5] ~@2 [gb4,bb4,eb5]@3 [f4,bb4,db5] ~@4", // Bbm Ebm Bbm
})).s("gm_piano").gain(0.66)
// drums · kick
const kick = s("bd").struct("<~@4 [x!4]!64 ~@2 [x!4]!31 [x!3 ~]>").gain(0.5)
// drums · rim
const rim = s("rim").struct("<~@4 A@16 ~@8 A@24 ~@8 A@8 ~@2 A@16 ~@16>".pickRestart({
A: "~ x ~@6",
})).gain(0.4)
// drums · snare
const snare = s("sd").struct("<~@4 A@15 B A@11 C A@7 C A@11 B A@15 B ~@2 A@15 B A@15 D>".pickRestart({
A: "~ x ~ x", B: "~@4 x ~@4 x!3 ~ x!3", C: "~@4 x ~@2 x ~ x ~ x!5", D: "~ x ~@2",
})).gain(0.45)
// drums · clap
const clap = s("cp").struct("<~@20 [~ x ~ x]!8 ~@24 [~ x ~ x]!8 ~@26 [~ x ~ x]!15 [~ x ~@2]>").gain(0.3)
// drums · hihat
const hihat = s("hh").struct(`<
~@4
[x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2]!64
~@2
[x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2]!31
[x!2 ~@2 x!2 ~@2 x!2 ~@6]
>`).gain(0.5)
// drums · open hat
const open_hat = s("oh").struct("<~@4 [~ x ~ x ~ x ~ x]!64 ~@2 [~ x ~ x ~ x ~ x]!31 [~ x ~ x ~ x ~@2]>").gain(0.4)
// drums · crash
const crash = s("cr").struct("<~@28 A ~@3 A ~@3 A ~@3 A ~@19 B ~@41>".pickRestart({
A: "x!2 ~@2", B: "x",
})).gain(0.45)
// drums · cowbell
const cowbell = s("cb").struct("<~@60 [x!4]!8 ~@34>").gain(0.4)
// drums · congas
const congas = s("conga:13").struct("<~@4 [~@3 x]!16 ~@8 [~@3 x]!24 ~@18 [~@3 x]!16 ~@16>").gain(1.27)
// drums · congas
const congas_2 = s("conga:18").struct(`<
~@4
[x!2 ~ x!2 ~ x!2 ~ x!2 ~@5]!16
~@8
[x!2 ~ x!2 ~ x!2 ~ x!2 ~@5]!24
~@18
[x!2 ~ x!2 ~ x!2 ~ x!2 ~@5]!16
~@16
>`).gain(1.27)
// drums · congas
const congas_3 = s("conga:33").struct("<~@4 [~@7 x]!16 ~@8 [~@7 x]!24 ~@18 [~@7 x]!16 ~@16>").gain(1.27)
// drums · agogo bells
const agogo_bells = s("agogo:2").struct("<~@60 [x!2 ~@2 x!2 ~ x!6 ~@3]!8 ~@34>").gain(1.9)
// drums · agogo bells · soft notes
const agogo_bells_soft = s("agogo:2").struct("<~@60 [~@2 x!2 ~@2 x ~@9]!8 ~@34>").gain(0.95)
// drums · agogo bells
const agogo_bells_2 = s("agogo:4").struct("<~@60 [~@13 x!2 ~]!8 ~@34>").gain(1.9)
// drums · agogo bells · soft notes
const agogo_bells_soft_2 = s("agogo:4").struct("<~@60 [~@15 x]!8 ~@34>").gain(0.95)
stack(
bass, lead_2_sawtooth, pad_halo, distortion_guitar, synth_brass_2, piano, synth_brass_1, synth_strings_1, piano_2,
kick, rim, snare, clap, hihat, open_hat, crash, cowbell, congas, congas_2, congas_3, agogo_bells, agogo_bells_soft,
agogo_bells_2, agogo_bells_soft_2
)
More by 2 Unlimited
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.