0:00/0:00
// Mado Kara Mieru — Christopher Tin
// 110 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 100, 4/4 at bar 100) are rendered on a constant 4/4 grid of one bar per cycle
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5902957; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 132 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · contrabass
const bass = note(`<
~@16 A B@2 C@2 D@2 B@2 E ~@13 F G@2 H ~@9 I J@2 K@6 L@2 M@2 K@2 N@2 G@3 H G@3 H O@3 ~@11 P Q R S@3 T@3 U@6 V@2 W@6 X@2
~@16
>`.pickRestart({
A: "~@2 f3 d3 c3 a2 e3 f3", B: "[d3@9 e3 f3 d3 c3 a2 e3 f3]/2", C: "[g3@9 a3 bb3 g3 f3 d3 a3 bb3]/2",
D: "[g3@7 c3]/2", E: "d3", F: "~@2 e2 gb2 d2 db2 b1 ~", G: "~ gb2 e2 gb2 d2 db2 b1 ~", H: "db2 d2 e2 ~ db2@2 a1@2",
I: "~ db3 d3 b2 a2 gb2 db3 d3", J: "[b2@6 ~ a2]/2", K: "[b2@9 db3 d3 b2 a2 gb2 db3 d3]/2",
L: "[e3@9 gb3 g3 e3 d3 b2 gb3 g3]/2", M: "[e3@6 ~ a2]/2", N: "b2/2", O: "b1/3", P: "~ eb2 c2 g2 eb2 c3 g2 bb2",
Q: "f2 d3@2 f3@4 ~", R: "eb2 g2 eb2 c3 g2 eb3@2 f3", S: "[c3 c4@4 a2@2 bb2@3 eb2 g2 a2 bb2@2 c3@7 d3 f2]/3",
T: "[bb2 c3 d3@2 f3@2 f3@5 e3 c3@2 g3@6 d2@2 a2@2]/3", U: "[a2@2 g2 a2 f2 e2 d2@3 ~@3 d2@2 a2@2]/2",
V: "[a2@2 g2 a2 f2 e2 d2@3 ~@3 d3@2 a3@2]/2", W: "[a3@2 g3 a3 f3 e3 d3@3 ~@3 d3@2 a3@2]/2",
X: "[a3@2 g3 a3 f3 e3 d3@6 ~@4]/2",
})).s("gm_contrabass").gain(0.3)
// bass · contrabass · soft notes
const bass_soft = note(`<
A B C D A B C E@2 F@2 G@2 F@2 H@2 ~@10 I@2 J K ~ L M N O@3 P Q ~@4 R S T U R ~ V W@2 ~@38 X ~@26 Y Z@2 AA AB Z@2 AC@3
~@4
>`.pickRestart({
A: "d3@2 a3@2 a3@2 g3 a3", B: "f3 e3 d3@3 ~ d3@2", C: "e3 f3 g3@2 e3@2 c3@2", D: "f3 e3 d3 c3 d3@3 ~",
E: "[d3 d3@3]/2", F: "[d3@9 e3 f3 d3 c3 a2 e3 f3]/2", G: "[d3@7 c3]/2", H: "[d3@9 e3 ~@6]/2", I: "d2/2", J: "f3 a2",
K: "d3@2 bb2 c3", L: "~ a3 g3 a3 f3 e3 d3@2", M: "f2 a2", N: "d3", O: "~ gb2 e2 gb2 d2 db2 b1 ~",
P: "db2 d2 e2 ~ db2@2 a1@2", Q: "~ gb2 ~@6", R: "~ b2 d3 ~", S: "gb3", T: "d3@2 gb2 a2", U: "b2", V: "~@3 a2",
W: "[b2@9 ~@7]/2", X: "c2 ~@7", Y: "~@2 d3 a3", Z: "[a3@2 g3 a3 f3 e3 d3@3 ~ d3@2 e3 f3 g3@2]/2",
AA: "e3@2 c3@2 f3 e3 d3 c3", AB: "d3@3 ~ d3@2 a3@2", AC: "[e3 c3 d3@4 d3@4 ~@2]/3",
})).s("gm_contrabass").gain(0.2)
// other · contrabass
const contrabass = note(`<
~@16 A B C D ~@5 E@2 F G H I F G J ~ K@3 L K@3 L ~@11 M N@6 O@2 P@2 N@2 Q@2 K@3 L R@3 S T@3 ~@11 U@2 V@2 ~ W X ~ Y
Z@14 AA@2 ~@16
>`.pickRestart({
A: "~ a1@3 g1@4", B: "d2@4 ~ a1 d2 f2", C: "g2@3 ~", D: "g2", E: "[g1@7 ~]/2", F: "d2@2 a2@2 a2@2 g2 a2",
G: "f2 e2 d2@3 ~ d2@2", H: "e2 f2 g2@2 e2@2 c2@2", I: "f2 e2 d2 c2 d2@3 ~", J: "e2 f2 g2@2 e2@2 ~@2",
K: "~ gb2 e2 gb2 d2 db2 b1 ~", L: "db2 d2 e2 ~ db2@2 a1@2", M: "~@3 a3", N: "[b3@9 db4 d4 b3 a3 gb3 db4 d4]/2",
O: "[e3@9 gb3 g3 e3 d3 b2 gb3 g3]/2", P: "[e3@6 ~ a3]/2", Q: "b3/2", R: "~ gb3 e3 gb3 d3 db3 b2 ~",
S: "db3 d3 e3 ~ db3@2 a2@2", T: "b2/3", U: "[c2@7 bb2@4 f2@2 bb2@2 ~]/2", V: "[eb2@5 eb2@2 f2@9]/2",
W: "bb2 c3 d3 f3@2 d3@2 ~", X: "~@6 bb1 ~ c2 ~ d2 ~ f2 ~@3", Y: "~@2 d2 a2",
Z: "[a2@2 g2 a2 f2 e2 d2@3 ~@3 d2@2 a2@2]/2", AA: "[a2@2 g2 a2 f2 e2 d2@6 ~@4]/2",
})).s("gm_contrabass").gain(0.25)
// other · contrabass · soft notes
const contrabass_soft = note(`<
~@23 A B ~@8 C A ~@9 D E F G D ~ H I@2 J@2 ~@25 K@2 L M K@2 L N L K@2 ~@25 O@5 P Q@3 R@7
>`.pickRestart({
A: "d2", B: "c2", C: "~@3 c2", D: "~ b2 d3 ~", E: "gb2", F: "d2@2 gb2 a2", G: "b2", H: "~@3 a3",
I: "[b3@9 db4 d4 b3 a3 gb3 db4 d4]/2", J: "[b3@3 ~]/2", K: "b2/2", L: "a2", M: "b2@2 g2 a2", N: "g2",
O: "[~ d3@4 d3@4 e3]/5", P: "a2 d3", Q: "[bb2 c3 d3@8 e3@2]/3", R: "[a2 d3@2 e3@2 d3@8 ~]/7",
})).s("gm_contrabass").gain(0.15)
// bass · acoustic bass
const bass_2 = note("<~@9 [~@2 d3 ~@3 d3 ~] [~ e2 f2 d2 c2 a1 f1 e1] [d2 ~@7] ~ [d2 ~@3] ~@118>")
.s("gm_acoustic_bass").gain(0.15)
// other · tremolo strings
const tremolo_strings = note("<~@21 [~ a3] [ab3@3 ~] ~@109>").s("gm_tremolo_strings").gain(0.2)
// other · contrabass
const contrabass_2 = note(`<
~@17 A B ~@24 C D E F C D E G ~@4 H@2 I J K L M ~ N O P@2 Q ~ R@8 ~@17 S@6 T U@12 V@2 ~@17
>`.pickRestart({
A: "gb2 ~", B: "g3@3 ~", C: "b1@2 gb2@2 gb2@2 e2 gb2", D: "d2 db2 b1@3 ~ b1@2", E: "db2 d2 e2@2 db2@2 a1@2",
F: "d2 db2 b1 a1 b1@3 ~", G: "b1@2 b1 ~", H: "[b1@9 d2@7]/2", I: "b1", J: "~ b1@3 d2@4", K: "gb2@3 d2", L: "gb2 a2",
M: "a3 ~", N: "~ a3 ~ e3 c3@2 a2@2", O: "~@3 a1", P: "b1/2", Q: "a2 ab2 gb2 e2", R: "b1@11 ~@5",
S: "[~@7 g2@2 d3@4 c3 bb2 a2@4 f3@2 c3@2 bb2@4 f3@2 d3@2 c3@2 g3@11 ~@4]/6", T: "~@5 e3 f3 d3",
U: "[c3 a2 e3 f3 d3@8 ~ e3 f3 d3]/2", V: "[c3 a2 e3 f3 d3@8 ~@4]/2",
})).s("gm_contrabass").gain(0.3)
// other · contrabass · soft notes
const contrabass_soft_2 = note("<~@16 A B ~ C ~@8 D ~@2 E@2 F G ~@16 H I J K ~@6 L@2 ~@20 M ~@37 N O ~@9>".pickRestart({
A: "~ a2@3 g2@4", B: "~@5 a2 d3 f3", C: "g2", D: "~ a3 g3 a3 f3 e3 d3@2", E: "d3/2", F: "f3 a2", G: "d3",
H: "g2 gb2 e2 d2", I: "db2 ~", J: "d3 db3 b2 gb2", K: "b2 ~", L: "[~ e3@3]/2", M: "b1@2 g1 a1", N: "~ d3",
O: "d3 c3 ~@2",
})).s("gm_contrabass").gain(0.15)
// bass · acoustic bass
const bass_3 = note("<~@11 A B C D E ~@4 F@3 ~@109>".pickRestart({
A: "~ e3 f3 d3 c3 a2 f2 e2", B: "d3 a2 d3 e3 f3 ~ f3 ~", C: "~ c3 d3 f3 a3 e3 f3 a3", D: "d4 ~@4 g2 f2 e2",
E: "d2 a2 d3 e3 f3 ~@3", F: "~@2 g3!2",
})).s("gm_acoustic_bass").gain(0.15)
// bass · acoustic bass · soft notes
const bass_soft_2 = note("<~@127 A B ~ C@2>".pickRestart({
A: "~@4 a3 g3 a3 f3", B: "e3 d3 ~@6", C: "[~ d3@2 ~]/2",
})).s("gm_acoustic_bass").gain(0.05)
// other · tremolo strings
const tremolo_strings_2 = note("<~@24 [d3 c3] d3 ~@106>").s("gm_tremolo_strings").gain(0.2)
// other · contrabass
const contrabass_3 = note(`<
~@13 A@2 ~@3 B@5 ~@4 C@2 D E F@2 D G H I J K H I J K L@2 M N ~@2 M O ~@2 P Q R@2 S T U V W@2 ~ X Y Z ~ AA H I J K H I
J K ~@3 AB AC AD AE AB AC AD H@2 ~@10 AF@4 AG@12 AH ~@16
>`.pickRestart({
A: "[~ a2 g2 a2 f2 e2 d2@3 ~@7]/2", B: "[g1@19 ~]/5", C: "d3/2", D: "f2 a1", E: "d2@2 a1 c2", F: "d2/2", G: "d2",
H: "b1", I: "a1", J: "g1", K: "b1 gb1", L: "b1/2", M: "db2 gb1", N: "d2@2 g1 a1", O: "b1@3 ~", P: "d3 db3 b2 gb2",
Q: "b2 ~", R: "[b2@9 d3@7]/2", S: "b2", T: "~ b2@3 d3@4", U: "gb3@3 d3", V: "gb3 a3", W: "[a3 e3@3]/2",
X: "~ a2 ~ e2 c2@2 a1@2", Y: "a1 e3", Z: "gb3", AA: "a1 ab1 gb1 e1", AB: "b1@2 gb2@2 gb2@2 e2 gb2",
AC: "d2 db2 b1@3 ~ b1@2", AD: "db2 d2 e2@2 db2@2 a1@2", AE: "d2 db2 b1 a1 b1@3 ~", AF: "[~ d2@4 c2@2 bb1]/4",
AG: "[c2 d2@4 c2@2 bb1]/4", AH: "c2 ~",
})).s("gm_contrabass").gain(0.2)
// bass · acoustic bass
const bass_4 = note("<~@23 [d3 c3 f3 ~@5] [e3 d3 g3 ~@5] [~ a3 g3 a3 f3 e3 d3 ~] [~ a2 g2 a2 f2 e2 d2 ~] ~@105>")
.s("gm_acoustic_bass").gain(0.15)
// bass · acoustic bass · soft notes
const bass_soft_3 = note("<~@128 A B C@2>".pickRestart({
A: "~@4 a2 g2 a2 f2", B: "e2 d2 ~@6", C: "[~ d2@2 ~]/2",
})).s("gm_acoustic_bass").gain(0.05)
stack(
bass, bass_soft, contrabass, contrabass_soft, bass_2, tremolo_strings, contrabass_2, contrabass_soft_2, bass_3,
bass_soft_2, tremolo_strings_2, contrabass_3, bass_4, bass_soft_3
)
More by Christopher Tin
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.