0:00/0:00
// Wild Rhythm — Rene Froger
// 126 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 12 "MUTED GTR" electric guitar muted (copy of ch 9 "DISTORTION" distortion guitar)
// note: Full arrangement: all 107 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(126/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 · piano · "A.PIANO 3"
const piano = note(`<
~@12 A@2 B@2 C D E D A@2 F@2 C D E D G@3 H G@3 I J ~ A@2 B@2 C D E D G@3 H G@3 H G@3 H G@3 H ~@9 K@2 L@2 K@2 L@2 ~@8
G@3 H G@3 H G@3 H G@3 H G@3 M
>`.pickRestart({
A: "[[g2,g3,b3,d4,g4]@26 d4 ~ [g3,c4,d4,g4]@4]/2", B: "[[g2,g3,b3,d4,g4]@26 g3 ~ g3@4]/2", C: "[c3,g3,c4,e4,g4]@7 ~",
D: "[d3,a3,c4,d4,f#4]@7 ~", E: "[d#3,g3,a#3,d#4,g4]@7 ~", F: "[g3@6 g3 a3, [g2,b3,d4,g4]@7 ~]/2",
G: "[g2,a3,b3,e4]@2 ~ [g2,a3,b3,e4] ~@2 [g2,a3,b3,e4]@2 ~@2 [g2,a3,b3,e4] ~@2 [g2,a3,b3,e4] ~@2", // Em
H: "[g2,a3,b3,e4]@2 ~ [g2,a3,b3,e4] ~@2 [g2,a3,b3,e4]@3 ~ [g2,a3,c4,e4]@2 [g2,a3,c4,e4]@4", // Em Am7
I: "[g2,a3,b3,e4]@2 ~ [g2,a3,b3,e4] ~@2 [g2,a3,b3,e4]@3 ~ [g2,a3,c4,e4]@2 ~ [g2,a3,c4,e4]@2 ~", // Em Am7
J: "[g2,a3,b3,e4]@3 ~@13", // Em
K: "[f2,g3,g#3,c4,d#4]@2 ~ [f2,g3,g#3,c4,d#4] ~@2 [f2,g3,g#3,c4,d#4]@2 ~@2 [f2,g3,g#3,c4,d#4] ~@2 [f2,g3,g#3,c4,d#4] ~@2", // Fm7
L: "[c3,a#3,d4,d#4,g4]@2 ~ [c3,a#3,d4,d#4,g4] ~@2 [c3,a#3,d4,d#4,g4]@2 ~@2 [c3,a#3,d4,d#4,g4] ~@2 [c3,a#3,d4,d#4,g4] ~@2", // Cm7
M: "[g2,a3,b3,e4]@2 ~ [g2,a3,b3,e4] ~@2 [g2,a3,b3,e4] ~@9", // Em
})).s("gm_piano").gain(0.22)
// bass · synth bass 1 · "SYN BASS 1"
const bass = note(`<
~@4 A@12 B C D C A@4 B C D C A@8 ~@2 A@4 B C D C A@16 E@2 F@2 E@2 F@2 G E@2 F H E@2 F@2 ~@8 A@19 I
>`.pickRestart({
A: "g1@2 ~ g1 ~ g1 ~ g1 d1@3 ~ f1@3 ~", B: "c1@2 ~ c1 ~ c1 ~ c1 a1@3 ~ g1@3 ~",
C: "d1@2 ~ d1 ~ d1 ~ d1 b1@3 ~ a1@3 ~", D: "d#1@2 ~ d#1 ~ d#1 ~ d#1 c2@3 ~ a#1@3 ~",
E: "f1@2 ~ f1 ~ f1 ~ f1 c1@3 ~ d#1@3 ~", F: "c2@2 ~ c2 ~ c2 ~ c2 g1@3 ~ a#1@3 ~", G: "c2 ~@7",
H: "c2@3 ~ d2@3 ~ d#2@3 ~ c2@3 ~", I: "g1@2 ~ g1 ~ g1 ~@10",
})).s("gm_synth_bass_1").gain(0.3)
// other · brass section · "BRASS 1"
const brass_section = note("<~@36 A B ~@57 C D E F G H I ~ G H I ~>".pickRestart({
A: "[b3,b4]@2 ~ [a3,a4] [g3,g4] ~ [a3,a4] ~ [b3,b4] ~ [b3,b4] ~ [b3,b4] ~@3", // B A G A B
B: "[e4,a4]!2 ~ [e4,a4]!2 ~ [e4,a4] ~ [f#4,d5] ~@7", // A5 D
C: "~@2 [f4,f5] [d4,d5] ~ [d4,d5] ~ [f4,f5] ~ [d4,d5] ~ [f4,f5]@3 [g4,g5] ~", // F D F D F G
D: "~@2 [g4,g5] [d4,d5] [f4,f5] [g4,g5] ~ [a#4,a#5] ~ [a4,a5] ~ [g4,g5]@3 [f4,f5] ~", // G D F G A# A G F
E: "~@2 [f4,f5] [d4,d5] [f4,f5] [d4,d5] ~ [f4,f5] ~ [d4,d5] ~ [f4,f5] ~@4", // F D F D F D F
F: "[g4,g5] [f4,f5] ~ [a#4,a#5] [g4,g5] ~ [c5,c6] [a#4,a#5] ~ [d5,d6] [c5,c6] ~ [f5,f6] [d5,d6] ~@2", // G F A# G C A# D C …
G: "[g4,g#4,g5,g#5] [g5,g#5]!2 [g4,g#4,g5,g#5] [g5,g#5]!4 [g4,g#4,g5,g#5] [g5,g#5]!2 [g4,g#4,g5,g#5] [g5,g#5]!3 [g4,g#4,g5,g#5]", // G#maj7
H: "[g4,g5] ~@3 [d4,d5]@2 [e4,e5]@2 [f4,f5]@2 [e4,e5] ~@3 [d4,d5] [c4,c5]", I: "[d4,d5]",
})).s("gm_brass_section").gain(0.4)
// other · brass section · "BRASS 1" · soft notes · G#maj7
const brass_section_soft = note(`<
~@99
[~ [g4,g#4]!2 ~ [g4,g#4]!4 ~ [g4,g#4]!2 ~ [g4,g#4]!3 ~]
~@3
[~ [g4,g#4]!2 ~ [g4,g#4]!4 ~ [g4,g#4]!2 ~ [g4,g#4]!3 ~]
~@3
>`).s("gm_brass_section").gain(0.25)
// other · percussive organ · "ORGAN 2"
const percussive_organ = note("<~@71 A B A C A B A C ~@28>".pickRestart({
A: "g5@2 c5 d#5@2 f5@2 g5, f#5 ~@13 f#5 ~", B: "~ g5@2 c5 d#5@2 a#5@2, ~@2 f#5 ~@13",
C: "~@2 g5@3 [e5,f5] [b4,c5,d5] [f4,g4,a4] ~@8, ~@2 f#5 ~@13", // Fmaj7 Bm F
})).s("gm_percussive_organ").gain(0.4)
// chords · marimba · D# F5 D# F5 Dm Cm Dm Cm …
const marimba = note(`<
~@62
[[d#4,g4] ~ [d#4,g4] ~ [c4,f4]!2 ~ [d#4,g4] ~ [d#4,g4] ~ [d#4,g4] [c4,f4] ~ [c4,f4] ~]!2
[[d4,f4] ~ [d4,f4] ~ [c4,d#4]!2 ~ [d4,f4] ~ [d4,f4] ~ [d4,f4] [c4,d#4] ~ [c4,d#4] ~]!2
[[d#4,g4] ~ [d#4,g4] ~ [c4,f4]!2 ~ [d#4,g4] ~ [d#4,g4] ~ [d#4,g4] [c4,f4] ~ [c4,f4] ~]!2
[[d4,f4] ~ [d4,f4] ~ [c4,d#4]!2 ~ [d4,f4] ~ [d4,f4] ~ [d4,f4] [c4,d#4] ~ [c4,d#4] ~]!2
~@37
>`).s("gm_marimba").gain(0.27).pan(0.8)
// chords · electric guitar muted · "+FUNK GTR"
const electric_guitar_muted = note(`<
~@12 A@4 B C D C A@4 B C D C E@8 ~@2 A@4 B C D C E@16 F@2 G@2 F@2 G@2 H F@2 G@2 F@2 G@2 ~@8 E@19 I
>`.pickRestart({
A: "~@3 [b3,d4,g4]!2 ~@5 [b3,d4,g4]!4 ~@2", B: "~@3 [e4,g4,c5]!2 ~@5 [e4,g4,c5]!4 ~@2",
C: "~@3 [c4,f#4,a4]!2 ~@5 [c4,f#4,a4]!4 ~@2", D: "~@3 [d#4,g4,a#4]!2 ~@5 [d#4,g4,a#4]!4 ~@2",
E: "~@3 [f4,a4,d5]!2 ~@5 [f4,a4,d5]!4 ~@2", F: "~@3 [d#4,g4,c5]!2 ~@5 [d#4,g4,c5]!4 ~@2",
G: "~@3 [a#3,d4,g4]!2 ~@5 [a#3,d4,g4]!4 ~@2", H: "[e3,a#3,d#4]@15 ~", I: "~@3 [f4,a4,d5]!2 ~@11",
})).s("gm_electric_guitar_muted").gain(0.15).pan(0.3)
// other · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
~@27 A ~@3 A ~@13 A ~@3 A ~@3 A ~@3 A ~@28 A ~@3 A ~@3 A ~@3 A ~@3 A ~@4
>`.pickRestart({
A: "~@5 d3 d3@2",
})).s("gm_distortion_guitar").gain(0.28)
// other · distortion guitar · "DISTORTION"
const distortion_guitar_2 = note("<~@4 A@2 B@2 A@2 B@2 ~@95>".pickRestart({
A: "g3 ~ d3 ~ f3 ~ g3@8 ~@2", B: "[g3 ~ d3 ~ f3 ~ g3@4 d3 ~ f3 ~ g3@4 d3 ~ f3 ~ g3@4 d3 ~ f3 ~ g3@2]/2",
})).s("gm_distortion_guitar").gain(0.4)
// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note("<~@61 A@7 B@4 C@7 ~@7 D ~@20>".pickRestart({
A: "[~@16 [f2,g3,d#4]@31 ~ [c3,a#3,g4]@31 ~ [f2,g3,d#4]@31 [d4,d#4], ~@15 [g#3,c4]@32 [d4,d#4]@32 [g#3,c4]@32 ~]/7", // Cm C7 Cm D#maj7 G# D#maj7 G#
B: "[[c3,a#3,g4]@31 ~ [c3,e3]@15 ~ g3@16, ~@31 g#3@32 ~, ~@31 a#3@16 c4@17, ~ d#4]/4", // C7 C
C: "[~@16 [a#3,g4]@31 ~ [g3,d#4]@31 ~ [a#3,g4]@32, ~@15 [d4,d#4]@32 [g#3,c4]@32 [d4,d#4]@32 ~]/7", // D# Cm D# D#maj7 G# D#maj7
D: "~ e4, ~@7 [a3,b3]@8 ~", // Asus2
})).s("gm_synth_strings_1").gain(0.24)
// chords · synth strings 1 · "SYN STR 1" · soft notes
const synth_strings_1_soft = note("<~@71 A@2 B@2 A@2 B@2 ~@7 C ~@20>".pickRestart({
A: "f2/2", B: "c3/2", C: "~ g2",
})).s("gm_synth_strings_1").gain(0.08)
// drums · kick
const kick = s("bd").struct("<~@4 A@7 B A@15 B A@8 ~@2 A@7 B A@24 ~ A@8 ~@8 A@19 B>".pickRestart({
A: "x!4", B: "x!2 ~@2",
})).gain(0.48)
// drums · kick · soft notes
const kick_soft = s("bd").struct("<[x!4]!4 ~@32 [x!4]!2 ~@32 [x!4] ~@8 [x!4]!8 ~@20>").gain(0.24)
// drums · snare
const snare = s("sd").struct("<A@28 B@8 A@10 B@16 A@9 B@8 A@8 B@19 C>".pickRestart({
A: "~@4 x ~@2 x ~ x ~@2 x ~@3", B: "~@4 x ~@2 x ~ x ~ x!4 ~", C: "~ x ~@2",
})).gain(0.24)
// drums · clap
const clap = s("cp").struct("<~@4 [~ x ~ x]!75 ~@8 [~ x ~ x]!19 [~ x ~@2]>").gain(0.48)
// drums · low tom
const low_tom = s("lt").struct(`<
~@3 A ~@3 B ~@3 A ~@15 A ~@3 B ~@4 B@2 ~@7 A ~@3 B ~@3 A ~@3 B ~@7 B ~@4 B ~@3 B ~@3 C B@6 D E ~@3 B ~@3 A ~@3 B ~@3 B
~@3 F
>`.pickRestart({
A: "x ~@2 x ~@2 x ~@3 x ~ x ~@3", B: "~@5 x!2 ~", C: "~@7 x", D: "~ x ~ x", E: "~@2 x ~@2 x!2 ~",
F: "x ~@2 x ~@2 x ~@9",
})).gain(0.48)
// drums · hihat
const hihat = s("hh").struct("<[x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2]!106 [x!2 ~@2 x!2 ~ x ~@8]>").gain(0.32)
// drums · mid tom
const mid_tom = s("mt").struct(`<
~@3 A ~@3 B ~@3 A ~@15 A ~@3 B ~@4 B@2 ~@7 A ~@3 B ~@3 A ~@3 B ~@3 C ~@3 B ~@3 D B ~@3 B ~@3 C B@6 E F ~@3 B ~@3 A ~@3
B ~@3 B ~@3 G
>`.pickRestart({
A: "x ~@2 x ~@2 x ~@3 x ~ x ~@3", B: "~@5 x!2 ~", C: "~@2 x ~@2 x ~@2 x ~@2 x ~@4", D: "~@8 x ~@2 x ~@2 x ~",
E: "~ x ~ x", F: "~@2 x ~@2 x!2 ~", G: "x ~@2 x ~@2 x ~@9",
})).gain(0.48)
// drums · open hat
const open_hat = s("oh").struct("<[~ x ~ x ~ x ~ x]!106 [~ x ~ x ~@4]>").gain(0.4)
// drums · crash
const crash = s("cr").struct(`<
A@3 B A@3 B A@3 B A ~@7 A ~@6 C A@3 B A@4 B@2 A ~@6 C A@3 B A@3 B A@3 B A@5 ~@2 C A ~@3 C A@3 B A@11 C A@3 B A@3 B A@3
B A@3 B A@4
>`.pickRestart({
A: "x", B: "x ~@4 x!2 ~", C: "~@5 x!2 ~",
})).gain(0.4)
// drums · tambourine
const tambourine = s("tb").struct("<[x!16]!106 [x!7 ~@9]>").gain(0.24)
// drums · bongos
const bongos = s("bongo:4").struct("<[~@4 x ~@2 x ~ x ~@2 x!2 ~@2]!106 [~ x ~@2]>").gain(0.63)
// drums · bongos
const bongos_2 = s("bongo:18").struct("<[x ~@4 x ~@2]!106 x>").gain(0.63)
// drums · bongos · soft notes
const bongos_soft = s("bongo:18").struct("<[~@6 x ~@8 x]!106 [~@3 x ~@4]>").gain(0.21)
// drums · agogo bells
const agogo_bells = s("agogo:2").struct(`<
~@4
[x ~@4 x ~ x ~@5 x ~@2]!8
~@24
[x ~@4 x ~ x ~@5 x ~@2]!2
~@41
[x ~@4 x ~ x ~@5 x ~@2]!8
~@20
>`).gain(1.53)
// drums · agogo bells
const agogo_bells_2 = s("agogo:4").struct(`<
~@4
[~@2 x ~ x ~@4 x ~ x!2 ~@3]!8
~@24
[~@2 x ~ x ~@4 x ~ x!2 ~@3]!2
~@41
[~@2 x ~ x ~@4 x ~ x!2 ~@3]!8
~@20
>`).gain(1.53)
// drums · shaker
const shaker = s("sh").struct(`<
[x ~@2 x!2 ~ x ~ x!2 ~ x!2 ~ x ~]!12
~@16
[x ~@2 x!2 ~ x ~ x!2 ~ x!2 ~ x ~]!10
~@8
[x ~@2 x!2 ~ x ~ x!2 ~ x!2 ~ x ~]!60
[x ~@2 x!2 ~ x ~@9]
>`).gain(0.32)
// … 34 more lines
More by Rene Froger
Are You Ready for Loving MeG major · 135 bpmNobody Else (single remix)C major · 126 bpmWoman WomanD major · 68 bpmAlles kan een mens gelukkig makenB♭ major · 85 bpmCalling Out Your NameG major · 130 bpmFor a Date With YouC major · 138 bpmHere in My HeartC minor · 70 bpmI'm a Singer, This Is the Moment (medley)F major · 66 bpm
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.