0:00/0:00
// The Real Thing — 2 Unlimited
// 143 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 6 "ORGAN 1" drawbar organ (copy of ch 3 "CHRCH ORG1" church organ)
// note: Full arrangement: all 131 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(143/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 · electric bass finger · "FINGERDBAS"
const bass = note(`<
~@8 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 ~@3 C ~@3 A B A B A B A B A B A B A B A B 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 ~@2
>`.pickRestart({
A: "a1 a2 a1 a2 a1 a2 c2 d2", B: "a1 a2 a1 a2 a1 a2 f1 e1", C: "a1 a2 a1 a2 ~@4", D: "a1 ~@3",
})).s("gm_electric_bass_finger").gain(0.42)
// other · church organ · "CHRCH ORG1"
const church_organ = note(`<
A B@2 C B@3 C B@3 C B@3 C ~@24 B@3 C B@3 C ~@40 A B@2 C B@3 C B@3 C B@3 C ~@17 B@3 C B@3 C D ~
>`.pickRestart({
A: "a4!2 e5 a4 f5 a4 g5 a4 e5 a4 e5 a4 f5 a4 d5 a4", B: "e5 a4 e5 a4 f5 a4 g5 a4 e5 a4 e5 a4 f5 a4 d5 a4",
C: "e5 a4 c5 a4 d5 a4 b4 a4 c5 a4!3 b4 a4 g#4 a4", D: "[a1,a2]",
})).s("gm_church_organ").gain(0.21).pan(0.7)
// other · lead 3 calliope · "CALLIOPE"
const lead_3_calliope = note(`<
~@20 A@2 ~@10 B C D@2 E F G@2 ~@24 E C D@2 H C I@2 J K L M N O P Q ~@25 B C D@2 E C R@2 J K L M N O P Q ~@10
>`.pickRestart({
A: "~@4 a3 c4 a3 ~", B: "a4 ~ a4@2 ~@2 g4@3 ~ e4@3 ~ c4@2", C: "a4 ~ a4@3 ~ g4@3 ~ f4@2 ~@2 c4@2",
D: "[g4 ~ g4@4 a4@3 ~ g4@2 ~@2 g4@4 e4@2 ~@2 e4@5 ~@5]/2", E: "a4 ~ a4@2 ~@2 g4@3 ~ e4@2 ~@2 c4@2",
F: "a4 ~ a4@3 ~ g4@3 ~ f4@3 ~ c4@2", G: "[g4 ~ g4@4 a4@4 g4@2 ~@2 g4@4 e4@2 ~@2 e4@5 ~@5]/2",
H: "a4 ~ a4@3 ~ g4@3 ~ e4@2 ~@2 c4@2", I: "[g4 ~ g4@4 a4@3 ~ g4@2 ~@2 g4@4 e4@2 ~@2 e4@4 e4@2 g4@2 a4@2]/2",
J: "~@5 g4 e4 f4", K: "~@6 e4 g4", L: "~@2 g4@2 ~@2 g4@3 ~ a4@3 ~ g4@2", M: "~@2 e4@3 ~ e4@3 ~ c4@2 d4@2 e4@2",
N: "~@6 c4 f4", O: "~@7 d4", P: "e4 ~ e4@3 ~ f4@3 ~ e4@2 ~@2 e4@2", Q: "~@2 c4@2 b3@2 c4@3 ~@7",
R: "[g4 ~ g4@4 a4@3 ~ g4@3 ~ g4@4 e4@2 ~@2 e4@4 e4@2 g4@2 a4@2]/2",
})).s("gm_lead_3_calliope").gain(0.37)
// other · lead 2 sawtooth · "SAW WAVE"
const lead_2_sawtooth = note(`<
~@24 A ~@3 A ~@3 B C D B@2 C D B ~@16 E ~@3 E ~@3 B C D B@2 C D B@2 C D B@2 F G B H I J K H I J K ~@15 L M B C D B@2 C
D B@2 C D B@2 F G B ~@10
>`.pickRestart({
A: "a2 a3 a2 a3 ~@4", B: "a2 a3 a2 a3 a2 a3 a2 a3", C: "d3 d4 d3 d4 d3 d4 d3 d4", D: "g2 g3 g2 g3 g2 g3 g2 g3",
E: "a3@2 ~@2 a3@3 ~@9", F: "a#2 a#3 a#2 a#3 a#2 a#3 a#2 a#3", G: "g#2 g#3 g#2 g#3 g#2 g#3 g#2 g#3",
H: "a2 a3 a2 a3 ~ a3 g3 a3", I: "~ a3 ~ a3 ~ a3 c4 d4", J: "~ a3 ~ a3 ~ a3 g3 a3", K: "~ a3 ~ a3 ~ a3 g3 e3",
L: "~@7 a#3", M: "a2@5 ~@11",
})).s("gm_lead_2_sawtooth").gain(0.3)
// other · piano · "A.PIANO 1"
const piano = note(`<
~@8 A B A B A B A B ~@24 A B A B A B A B ~@48 A B A B A B A B ~@17 A B A B A B A B ~@2
>`.pickRestart({
A: "~ a4!7 ~ a4!3 c5 a4 d5 a4", B: "~ a4!7 ~ a4!3 f4 a4 e4 a4",
})).s("gm_piano").gain(0.42)
// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
~@32 A@2 B C A@2 B C ~@24 A@2 B C A@2 B C A@2 B C@2 D E C ~@25 A@2 B C A@2 B C A@2 B C@2 D E C ~@10
>`.pickRestart({
A: "[[c5,e5] [d5,f5], a4]/2", B: "[g4,b4,d5]", C: "[a4,c5,e5]", D: "[a#4,d5,f5]", E: "[g#4,b4,d5]",
})).s("gm_string_ensemble_2").gain(0.24)
// bass · shamisen
const bass_2 = note(`<
~@4
[a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~ a1 ~]!4
~@72
[a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~ a1 ~]!8
~@4
[a1 ~@2 a1 ~@2 a1 ~@2 a1 ~@2 a1 ~ a1 ~]!4
~@35
>`).s("gm_electric_bass_finger").gain(0.3)
// chords · rock organ · "ORGAN 3" · A5
const rock_organ = note("<~@129 [[a2,a3,e4,a4]] ~>").s("gm_rock_organ").gain(0.41)
// other · dulcimer · "SANTUR"
const dulcimer = note(`<
~@16
[~@3 c#4!2 ~ c#4!2 ~ c#4!2 ~ c#4 ~ c#4 ~]!8
~@24
[~@3 c#4!2 ~ c#4!2 ~ c#4!2 ~ c#4 ~ c#4 ~]!8
~@75
>`).s("gm_dulcimer").gain(0.33)
// drums · kick
const kick = s("bd").struct("<~@8 A@31 B A@23 B A@7 B A@7 B ~@4 A@4 ~@8 A@8 C A@7 B A@7 B A@8 D@2>".pickRestart({
A: "x!4", B: "x ~ x ~ x ~ x!2", C: "x ~@4 x ~ x", D: "x",
})).gain(0.6)
// drums · snare
const snare = s("sd").struct(`<
~@7 A B@27 C B@3 C B@27 C B@3 C B@3 C B@4 ~@4 D@4 ~@7 E B@8 ~ B@3 C B@3 C B@3 C B@12 ~@2
>`.pickRestart({
A: "~@10 x!6", B: "~@2 x ~@3 x!2", C: "~@4 x ~@7 x ~ x!2", D: "~ x ~ x", E: "~@8 x!8",
})).gain(0.48)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@7 A B@72 ~@14 C D B@8 ~ B@24 ~@2>".pickRestart({
A: "~@8 x!2 ~@6", B: "~@3 x ~@4", C: "~@8 x!8", D: "x!8 ~@8",
})).gain(0.3)
// drums · clap
const clap = s("cp").struct("<~@104 [~@3 x] ~@26>").gain(0.6)
// drums · hihat
const hihat = s("hh").struct("<~@4 A@4 B@72 A@4 B@4 A@8 B@8 ~ B@24 ~@2>".pickRestart({
A: "x!16", B: "x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2",
})).gain(0.3)
// drums · open hat
const open_hat = s("oh").struct("<~@8 A@72 ~@4 A@4 ~@8 A@8 ~ A@24 ~@2>".pickRestart({
A: "~ x ~ x ~ x ~ x",
})).gain(0.3)
// drums · crash
const crash = s("cr").struct(`<
~@8 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@19 A ~@3
B@3 C A@2 ~@3 A ~@3 A ~@3 A ~@3 A ~@3 B@3 ~@2 A
>`.pickRestart({
A: "x", B: "x!2 ~@2", C: "x!4",
})).gain(0.3)
// drums · tambourine
const tambourine = s("tb").struct("<~@8 [x!16]!80 ~@8 [x!16]!8 ~ [x!16]!24 ~@2>").gain(0.24)
// drums · congas
const congas = s("conga:13").struct("<~@24 [~@2 x ~@6 x ~ x ~@4]!8 ~@24 [~@2 x ~@6 x ~ x ~@4]!8 ~@67>").gain(1.73)
// drums · congas
const congas_2 = s("conga:18").struct("<~@24 [x ~@5 x!2 ~@5 x!3]!8 ~@24 [x ~@5 x!2 ~@5 x!3]!8 ~@67>").gain(1.73)
// drums · ht
const ht = s("ht").struct("<~@8 [~@7 x ~ x ~@6]!72 ~@16 [~@7 x ~ x ~@6]!8 ~ [~@7 x ~ x ~@6]!24 ~@2>").gain(0.24)
stack(
bass, church_organ, lead_3_calliope, lead_2_sawtooth, piano, string_ensemble_2, bass_2, rock_organ, dulcimer, kick,
snare, snare_soft, clap, hihat, open_hat, crash, tambourine, congas, congas_2, ht
)
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.