Stole this partially from Skinshape's Metanoia. If you got some improvements on it, feel free to send the new version. Glhf!
Listen here on strudel.
//////////////////////////////////////////////////////////////////////////////////////////
//
// Skinshape — Metanoia
//
// @reference: https://www.youtube.com/watch?v=h1La7JfNXmo
// @license CC BY-NC-SA 4.0 https://creativecommons.org/licenses/by-nc-sa/4.0/
// @by Bitcoin Graffiti
// @date Nov 20, 2025
//
//////////////////////////////////////////////////////////////////////////////////////////
setcpm(140/5)
const piano = chord("< <D!3 E7> <Am7!3 Eb7> >").voicing().s("gm_epiano1:6").room(1).beat("1, 2, <~ 2.5>, 4, 5.5, 7", 8).color('teal').gain(.6)
const bass = note("<d c>@3 a@2 d4 <e4 c4> <~!3 e>".sub(12)).s("pulse").room(1).color('magenta').gain(1.3).lpf(800)
const shamisen = note("c d e@2 [d c] a2@2 <ab2!3 a>").s("gm_shamisen:0").room(1).color('red').gain(2).lpf(3000)
const pulse = note("<d!6 e eb>!16").s('supersaw').lpf(2400).color('blue').legato(.7).gain(.4)
const strings = note("[d a@2 c]!6 [e b@2 b2] [eb bb@2 ~]").s("gm_dulcimer:0").room(1).lpf(2400).gain(1.5).slow(8).color('silver')
//percussion
const bd = s("bd ~ ~ bd ~ ~ ~ ~").almostNever(ply("2")).bank('tr626')
const sd = s("[~ ~ sd ~]!2").bank('tr626').gain(.5)
const hh = s("[~ sh]!4, hh!16").gain(.2)
const drums = stack(bd, sd, hh).color('gold')
arrange(
[2, stack(pulse)],
[4, stack(piano, pulse)],
[4, stack(piano, drums, pulse)],
[8, stack(piano, drums, bass, pulse)],
[8, stack(piano, bass, shamisen, drums, pulse)],
[8, stack(piano, bass, strings, drums)],
[8, stack(piano, drums, bass, pulse, shamisen)],
[8, stack(piano, drums, pulse, strings)],
[4, stack(drums, pulse)],
[4, stack(drums).hush()],
).pianoroll({labels: 1})