Bytebeat

Return To bottom
Rules / Requests / Common thread / Changelog / SthephanShi / kOLbOSa_exe / lhphr / PortablePorcelain / HypernovaHeathen / BaenHoHoHo / SArpnt / hcdphobe / OnixIsThePewterGod / Zackx / rubi / psubscirbe / ChrisRM380 / aturned777 / Kouzerumatsu / MT2023 / Decent-Manager-6169 / Chasyxx / Glebguything / absolute197 / ANoUserXD / MarioFan171 / Unname4798 / Slinx92 / emelchenko / LarkeyFactorial / Syranero / Greaserpirate / aniruF / BrokenCircle / trashimpossible3699 / Thinguy / P051T1V3_3G0 / eSlashMachine / botbeat / PrincessPriscillaPT

CAPTCHA
 Deletion password
  • Supported file types are JPG, PNG, GIF, AVIF, WEBP, WEBM, MP4 and MOV.
  • Limit: 4 files, 30 MB per file (60 MB for Passcode users).
  • Images greater than 250x250 will be thumbnailed.
  • 1439 unique users on the board.

8828
a.png
(8.75KB, 256x256)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

picture me, 6fc6-e94c-b668-c82c, looking through bytebeats, and stumble upon a guy called "orion_aboy".
they were just so perfect, innovative, and universally likeable.
if only they hadn't deleted their reddit account without any explanation, and vanish without a trace...
then i realized... that guy is me!!!
hey guys! it's me, orion_aboy, back from the grave!!
though, i hate that name now. i'd prefer if y'all'd call me 6fc6-e94c-b668-c82c (or don't call me at all)
how do i prove that i owned that reddit account? simple! you go to the dollchan bytebeat composer,
go to "all" category, find "orion_aboy", look for "sphere", click the reddit link,
click the "my website" link, click the link "jan-miffed", go to the "pgp" repository,
download either key, save this message as a file, download gnupg if you don't have it,
then run something akin to "gpg --assert-signer [key file] --verify [message file]" in your shell.
i'll try to post all my old bytebeats here, cryptographically signed.
along with some shiny new bytebeats!!, perhaps.

btw, here's my public key:
- -----BEGIN PGP PUBLIC KEY BLOCK-----

mDMEaJ+GaBYJKwYBBAHaRw8BAQdAyg0IV8dvc2caFQbSlM+UU0XxKtm242GW+2Tc
fmW6PkW0Gmphbi1taWZmZWQgb24gY29kZWJlcmcub3JniJYEExYKAD4CGwMFCwkI
BwICIgIGFQoJCAsCBBYCAwECHgcCF4AWIQSWASJkDlmr1UOJ6N7cbjIx2UOB0QUC
aJ+JigIZAQAKCRDcbjIx2UOB0cD/APsGY66bSYwWHDtXdFWsCGINg9LRguD1eaaE
D3vy1FoGGQD+LpXp6efopFHaX3QZhxnS5YTgrjsH1YxrPqeDuO/cLQi4OARon4Zo
EgorBgEEAZdVAQUBAQdA8gvtOeHx/7gUEnapvLNmo6tyKb1O3zrh+QEBvhcxil8D
AQgHiHgEGBYKACAWIQSWASJkDlmr1UOJ6N7cbjIx2UOB0QUCaJ+GaAIbDAAKCRDc
bjIx2UOB0T4cAQDjyzrMqnsiR3O56yO/Mldww/DnasV0zL7e9fco4KiekgEAw1r1
1hF35zzfRJUiIS6SfXhTsRx1DoYD8J25JQibSgY=
=D520
- -----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSWASJkDlmr1UOJ6N7cbjIx2UOB0QUCaJ/PGQAKCRDcbjIx2UOB
0bhFAQCDKgzRHDME9uCXYkXb0uGkTTQF62toBTsEqxb5Bayk2gD/TY4xLrpJZ/1M
Iy94MHJ6RExcTYAuPBa7/HTtTB6Hawo=
=4beG
-----END PGP SIGNATURE-----
8830
>>8828
wait..

you're back?!
8831
8832
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

here are some of my old songs (official catalogue)
i got the list from the dollchan library, so some songs may be missing.
i got the release date from the date of the reddit post
songs will either be noted as original, a remix, or a cover.
original songs, if noted, can be used under the terms of gpl version 3 or any later version.
notes correspond to the song above.
this is in two parts, due to the character limit.

1fcccf1 [sic] (c compatible version):
((((t>>1)*(1<<(t>>16&3)))*((0x1fccccf1>>(t>>10)*(t>>11))&7))|t>>3)|128-((t&4095)>>8?0:t*(t^t%9)&63|t>>2)

released january 8, 2023. bytebeat, 8000hz
remix of PortablePorcelain's song 1fccccf1 (https://dollchan.net/btb/res/55.html)

Plucks:
// https://www.osar.fr/notes/waveguides/

sampleRate=44100,this.generatorFunction=t?this.generatorFunction:(function(){

var delayArray; //it's a circular buffer, it goes from the start to the end, and loops back. it takes the delayed sample, multiplies it by the feedback, adds the exciter, and then puts it back into the array (and outputs it too). it increments the delay pointer too.
var delayPointer = 0;
var exciterLowpass = [0,0]; //rotates at the exciter cutoff frequency, it goes right before the sample is mixed with the delay array. it is an x-y pair, it rotates left, and input is added to the x part, output is taken out of the y part. it rotates and decays at the same time.
var loopLowpass = [0,0]; //same as before, except placed right before the sample is pushed back to the array.
var delayInMs = 5;
var exciterCutoff = 2000;//hz
var loopCutoff = 1200;//hz


return function(time, sampleRate) {
    if (typeof delayArray == "undefined") delayArray = new Array(floor(sampleRate/1000 * delayInMs)).fill(0);
    function mix(a, b, pos) {
        return a*(1-pos) + b*pos
    };
    function rotate(point, rotationsPerSecond) {
        var angle = 2*PI*rotationsPerSecond/sampleRate;
        return [
            cos(angle)*point[0] - sin(angle)*point[1],
            sin(angle)*point[0] + cos(angle)*point[1]
        ];
    }
    function scale(point, scaleBy) {
        return [point[0]*scaleBy, point[1]*scaleBy];
    }

    var t = time%0.5;
    var sample = t<0.01?Math.random()*(1-(t%0.01)*100):0;
    sample *= 0.3;
    exciterLowpass = [exciterLowpass[0]+sample,exciterLowpass[1]];
    exciterLowpass = rotate(exciterLowpass, exciterCutoff);
    exciterLowpass = scale(exciterLowpass, 0.9);
    sample = exciterLowpass[1];

    sample += tanh(delayArray[delayPointer]*
        (time%4<2?0.9:-0.9)  // feedback switches between positive and negative
    );

    loopLowpass=[loopLowpass[0]+sample,loopLowpass[1]];
    loopLowpass = rotate(loopLowpass, loopCutoff);
    loopLowpass = scale(loopLowpass, 0.7);
    sample = loopLowpass[1];

    delayArray[delayPointer] = sample;
    delayPointer = ++delayPointer%delayArray.length;
    return sample;
}

})(),this.generatorFunction(t/sampleRate,sampleRate);

released august 11, 2023. floatbeat, 44100hz.
original.

zigzag:
height=256,


main=(x,y)=>{
  let zigzag = x*2%512;
  zigzag = min(zigzag, 511-zigzag);
  return abs(zigzag-y)<10?255:0;
},


main((t/height)%(height*256*4),255-t*(256/height)%256)

released september 18, 2023. bytebeat, 48000hz. view as 2^-8 diagram.
original.

sphere:
format for dollchan: y=1-((t&255)/128),x=((t>>8)/128)-1,z=sqrt(1-x**2-y**2),z?max((x*0.5+y*0.5+z*0.3)*2-1,-1)+0.5:0
format for my website: x=((t&255)/128)-1,y=1-((t>>8)/128),z=sqrt(1-x**2-y**2),z?max((x*0.5+y*0.5+z*0.3)*2-1,-1)+0.5:0

released october 28, 2023. floatbeat, 8000hz. view as 2^-8 diagram.
original.

unnamed, for sphere (you can also put things on it):
format for dollchan: y=1-((t&255)/128),x=((t>>8)/128)-1,z=sqrt(1-x**2-y**2),z?((max((x*0.5+y*0.5+z*0.3),0)+0.3)*((((atan2(x,z)+1)*128)&((atan2(y,z)+1)*128))?0.5:1))*2-1:0
format for my website: x=((t&255)/128)-1,y=1-((t>>8)/128),z=sqrt(1-x**2-y**2),z?((max((x*0.5+y*0.5+z*0.3),0)+0.3)*((((atan2(x,z)+1)*128)&((atan2(y,z)+1)*128))?0.5:1))*2-1:0

released october 28, 2023. floatbeat, 8000hz. view as 2^-8 diagram.
original.

end of part 1/2.
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSWASJkDlmr1UOJ6N7cbjIx2UOB0QUCaJ/u2AAKCRDcbjIx2UOB
0UtRAQCPVWOY/eZ/gn90YlDNxWhE1mPOfgKTYvum9Lv78q8zRQD+OHQBu8LYRVQq
A4aktmJNK5Tz2jCzLvVnukM1c7/HFQQ=
=mWo6
-----END PGP SIGNATURE-----
8833
>>8832
aargh! i thought code blocks were safe from this "markup" nonsense!!
with backticks instead:
`-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

here are some of my old songs (official catalogue)
i got the list from the dollchan library, so some songs may be missing.
i got the release date from the date of the reddit post
songs will either be noted as original, a remix, or a cover.
original songs, if noted, can be used under the terms of gpl version 3 or any later version.
notes correspond to the song above.
this is in two parts, due to the character limit.

1fcccf1 [sic] (c compatible version):
((((t>>1)(1<<(t>>16&3)))((0x1fccccf1>>(t>>10)(t>>11))&7))|t>>3)|128-((t&4095)>>8?0:t(t^t%9)&63|t>>2)

released january 8, 2023. bytebeat, 8000hz
remix of PortablePorcelain's song 1fccccf1 (https://dollchan.net/btb/res/55.html)

Plucks:
// https://www.osar.fr/notes/waveguides/

sampleRate=44100,this.generatorFunction=t?this.generatorFunction:(function(){

var delayArray; //it's a circular buffer, it goes from the start to the end, and loops back. it takes the delayed sample, multiplies it by the feedback, adds the exciter, and then puts it back into the array (and outputs it too). it increments the delay pointer too.
var delayPointer = 0;
var exciterLowpass = [0,0]; //rotates at the exciter cutoff frequency, it goes right before the sample is mixed with the delay array. it is an x-y pair, it rotates left, and input is added to the x part, output is taken out of the y part. it rotates and decays at the same time.
var loopLowpass = [0,0]; //same as before, except placed right before the sample is pushed back to the array.
var delayInMs = 5;
var exciterCutoff = 2000;//hz
var loopCutoff = 1200;//hz


return function(time, sampleRate) {
if (typeof delayArray == "undefined") delayArray = new Array(floor(sampleRate/1000 * delayInMs)).fill(0);
function mix(a, b, pos) {
return a(1-pos) + bpos
};
function rotate(point, rotationsPerSecond) {
var angle = 2PIrotationsPerSecond/sampleRate;
return [
cos(angle)point[0] - sin(angle)point[1],
sin(angle)point[0] + cos(angle)point[1]
];
}
function scale(point, scaleBy) {
return [point[0]scaleBy, point[1]scaleBy];
}

var t = time%0.5;
var sample = t<0.01?Math.random()(1-(t%0.01)100):0;
sample *= 0.3;
exciterLowpass = [exciterLowpass[0]+sample,exciterLowpass[1]];
exciterLowpass = rotate(exciterLowpass, exciterCutoff);
exciterLowpass = scale(exciterLowpass, 0.9);
sample = exciterLowpass[1];

sample += tanh(delayArray[delayPointer]*
(time%4<2?0.9:-0.9) // feedback switches between positive and negative
);

loopLowpass=[loopLowpass[0]+sample,loopLowpass[1]];
loopLowpass = rotate(loopLowpass, loopCutoff);
loopLowpass = scale(loopLowpass, 0.7);
sample = loopLowpass[1];

delayArray[delayPointer] = sample;
delayPointer = ++delayPointer%delayArray.length;
return sample;
}

})(),this.generatorFunction(t/sampleRate,sampleRate);

released august 11, 2023. floatbeat, 44100hz.
original.

zigzag:
height=256,


main=(x,y)=>{
let zigzag = x*2%512;
zigzag = min(zigzag, 511-zigzag);
return abs(zigzag-y)<10?255:0;
},


main((t/height)%(height2564),255-t*(256/height)%256)

released september 18, 2023. bytebeat, 48000hz. view as 2^-8 diagram.
original.

sphere:
format for dollchan: y=1-((t&255)/128),x=((t>>8)/128)-1,z=sqrt(1-x2-y2),z?max((x0.5+y0.5+z0.3)2-1,-1)+0.5:0
format for my website: x=((t&255)/128)-1,y=1-((t>>8)/128),z=sqrt(1-x2-y2),z?max((x0.5+y0.5+z0.3)2-1,-1)+0.5:0

released october 28, 2023. floatbeat, 8000hz. view as 2^-8 diagram.
original.

unnamed, for sphere (you can also put things on it):
format for dollchan: y=1-((t&255)/128),x=((t>>8)/128)-1,z=sqrt(1-x2-y2),z?((max((x0.5+y0.5+z0.3),0)+0.3)((((atan2(x,z)+1)128)&((atan2(y,z)+1)128))?0.5:1))*2-1:0
format for my website: x=((t&255)/128)-1,y=1-((t>>8)/128),z=sqrt(1-x2-y2),z?((max((x0.5+y0.5+z0.3),0)+0.3)((((atan2(x,z)+1)128)&((atan2(y,z)+1)128))?0.5:1))*2-1:0

released october 28, 2023. floatbeat, 8000hz. view as 2^-8 diagram.
original.

end of part 1/2.
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSWASJkDlmr1UOJ6N7cbjIx2UOB0QUCaJ/u2AAKCRDcbjIx2UOB
0UtRAQCPVWOY/eZ/gn90YlDNxWhE1mPOfgKTYvum9Lv78q8zRQD+OHQBu8LYRVQq
A4aktmJNK5Tz2jCzLvVnukM1c7/HFQQ=
=mWo6
-----END PGP SIGNATURE-----
`
8834
8835
>>8834
you know what the definition of insanity is? to quote wiktionary, insanity is "The state of being insane; madness."
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

this is part 2/2.

song chooser:
sr=44100,t||(oldt=0,realt=0,olddiff=0,song=0),songNames=["42 melody","sierpenski harmony","street surfer"],songCode=[(t)=>(t*(42&t>>10)),(t)=>(t&t>>8),(t)=>(t&4096?t/2*(t^t%255)|t>>5:t/8|(t&8192?4*t:t))],difference=t-oldt,oldt=t,difference,realt++,sign(difference)!=sign(olddiff)?(song+=sign(difference),realt=0):difference/olddiff==2?(song+=sign(difference),realt=0):0,olddiff=difference,song=min(songCode.length-1,max(0,song)),realt%1024?songCode[song](floor(realt*8000/sr)):(()=>{throw songNames.map((a,b)=>((b==song?"\n>\xa0":"\n\xa0\xa0")+a)).join("")})()

from original: "detect your samplerate [link to "unnamed, for song chooser (detect your samplerate)"], then put it into sr and the sample rate part (important! it will not work otherwise)

use the play buttons to select the song"
released january 1, 2024. bytebeat, 44100hz.
remix of (just includes) stephanshi's minification of a beat by skurk & raer, erroneously referred to as "street surfer". original skurk beat at https://www.pouet.net/topic.php?post=388479 , raer's modification at https://www.pouet.net/topic.php?post=388494 , and stephanshi's minification at https://dollchan.net/bytebeat

unnamed, for song chooser (detect your samplerate):
sr=100000,
t||(realt=0),realt++,(()=>{throw floor(sr*realt/t)})()

released january 1, 2024. bytebeat, 100000hz.
original.

uwa!!:
old version: sr=48000,tempo=280,
t?0:(R=new Array(RL=floor(sr*0.3)),RI=0,N1={N:0,D:0,L:0,wave:(p)=>(4*((p%1)-(p%0.5))-1),l:0.1,d:.4},N2={N:0,D:0,L:0,wave:(p)=>(4*((p%1)-(p%0.5))-1),l:.05,d:.5},D={N:0,D:0,L:0,wave:random,l:0,d:.1,p:1}),nl=(sr*60)/tempo,ni=floor(t/nl)%32,pt=floor(t/(nl*32)),n1=[22,,20,22,15,,13,15,10,,8,10,5,,,,8,,6,8,13,,,,8,,6,8,16,,,],n2=!(pt&1)?[-4,,-2,,0,,,,-4,,-2,,0,,,,-5,,-3,,-1,,,,-7,,-5,,-3]:[-4,,-2,,0,,,,-4,,-2,,0,,,,-3,,-1,,1,,,,-7,,-5,,-3],DA={l:.05,d:.1},DB={l:.2,d:.1},DC={l:.4,d:.04},d=[DA,,DC,DA,DB,,,DC,DA,,DC,DA,DB,,,,DA,,DC,DA,DB,,,DC,DA,,DC,DA,DB,,,,DA],U=(N,n)=>(floor(t%nl)==0?(N.p?(N.l=n[ni]?.l||N.l,N.d=n[ni]?.d||N.d):(N.N=2**(n[ni]/12)||N.N),N.D=typeof n[ni]=="undefined"?N.D:sr*N.d):(N.D--)),P=(N)=>(l=N.l**(sr/48000),N.L=(1-l)*N.L+l*N.wave(t*(440/sr)*N.N)*max(0.,N.D/sr/N.d)),U(N1,pt<4?n1:pt<6?[]:pt<8?n1:[]),U(N2,pt<8?n2:[]),U(D,pt<4?[]:pt<8?d:[]),RI=++RI%RL,R[RI]=0.3*(R[RI]||0)+P(N1)*.4+P(N2)*.2+P(D)*.9

new version: sr=48000,tempo=280,
t?0:(R=new Array(RL=floor(sr*0.3)),RI=0,N1={N:0,D:0,L:0,wave:(p)=>(4*((p%1)-(p%0.5))-1),l:0.1,d:.4},N2={N:0,D:0,L:0,wave:(p)=>(4*((p%1)-(p%0.5))-1),l:.05,d:.5},D={N:0,D:0,L:0,wave:(()=>(random()-0.5)),l:0,d:.1,p:1}),nl=(sr*60)/tempo,ni=floor(t/nl)%32,pt=floor(t/(nl*32)),n1=[22,,20,22,15,,13,15,10,,8,10,3,,,,8,,6,8,13,,,,8,,6,8,16,,,],n2=!(pt&1)?[-13,,-9,,-2,,,,-13,,-9,,-2,,,,-15,,-11,,-4,,,,-15,,-11,,-7]:[-13,,-9,,-2,,,,-13,,-9,,-2,,,,-10,,-6,,1,,,,-10,,-6,,-3],DA={l:.05,d:.1},DB={l:.2,d:.1},DC={l:.4,d:.04},d=[DA,,DC,DA,DB,,DC,DA,,,DC,DA,DB,,,,DA,,DC,DA,DB,,DC,DA,,,DC,DA,DB,,,,DA],U=(N,n)=>(floor(t%nl)==0?(N.p?(N.l=n[ni]?.l||N.l,N.d=n[ni]?.d||N.d):(N.N=2**(n[ni]/12)||N.N),N.D=typeof n[ni]=="undefined"?N.D:sr*N.d):(N.D--)),P=(N)=>(l=N.l,N.L=(1-l)*N.L+l*N.wave(t*(440/sr)*N.N)*max(0.,N.D/sr/N.d)),U(N1,pt<4?n1:pt<6?[]:pt<8?n1:[]),U(N2,pt<8?n2:[]),U(D,pt<4?[]:pt<8?d:[]),RI=++RI%RL,R[RI]=0.3*(R[RI]||0)+P(N1)*.4+P(N2)*.2+P(D)*.9

released january 1, 2024. floatbeat, 48000hz.
cover of "Uwa!! So Temperate♫" from the undertale ost, by toby fox

cover of Uwa!! So HEATS!!♫:
pwm: sr=48000,tempo=226,
t?0:(R=new Array(RL=floor(sr*120/tempo)),RI=0,RLP1=0,RLP2=0,N1={N:0,D:0,L:0,wave:(p,d)=>(4*((p%1)-((p+0.5*(1-d))%1))),l:0.1,d:.2,c:0},D={N:0,D:0,L:0,wave:(p)=>((p%2)-1),l:0.2,d:.5,p:1,c:0.5}),nl=(sr*60)/tempo,ni=floor(t/nl)%32,pt=floor(t/(nl*32)),n1=!(pt&2)?[4,,2,4,-3,,-5,-3,-8,,-10,-8,-12]:[1,,-1,1,-4,,-6,-4,-9,,-11,-9,-13],n2=[0,,,0.5,,,,,,,,,0.9,0,,,0,,,0.5,,,,,,,,,0.9,0,,,],U=(N,n)=>(floor(t%nl)==0?(N.p?(N.N=2**((pt&2?-20:-19)/12),N.c=n[ni]??N.c):(N.N=2**(n[ni]/12)||N.N),N.D=typeof n[ni]=="undefined"?N.D:sr*N.d):(N.D--)),P=(N)=>(d=max(0.,N.D/sr/N.d),l=N.l**(sr/48000),N.L=(1-l)*N.L+l*N.wave(t*(440/sr)*N.N,d)*d*(d>N.c)),U(N1,n1),U(D,n2),RI=++RI%RL,(R[RI]=1*(l=0.02**(sr/48000),l2=0.02**(sr/48000),RLP1=(1-l)*RLP1+l*(R[RI]||0),RLP2=(1-l2)*RLP2+l2*RLP1,RLP1-RLP2)+P(N1)*.4+P(D)*.2)

fm: sr=48000,tempo=226,
t?0:(R=new Array(RL=floor(sr*120/tempo)),RI=0,RLP1=0,RLP2=0,N1={N:0,D:0,L:0,wave:(p,d)=>(sin(2*PI*p+9*d*sin(2*PI*p))),l:0.05,d:.2,c:0},D={N:0,D:0,L:0,wave:(p)=>((p%2)-1),l:0.2,d:.5,p:1,c:0.5}),nl=(sr*60)/tempo,ni=floor(t/nl)%32,pt=floor(t/(nl*32)),n1=!(pt&2)?[4,,2,4,-3,,-5,-3,-8,,-10,-8,-12]:[1,,-1,1,-4,,-6,-4,-9,,-11,-9,-13],n2=[0,,,0.5,,,,,,,,,0.9,0,,,0,,,0.5,,,,,,,,,0.9,0,,,],U=(N,n)=>(floor(t%nl)==0?(N.p?(N.N=2**((pt&2?-20:-19)/12),N.c=n[ni]??N.c):(N.N=2**(n[ni]/12)||N.N),N.D=typeof n[ni]=="undefined"?N.D:sr*N.d):(N.D--)),P=(N)=>(d=max(0.,N.D/sr/N.d),l=N.l**(sr/48000),N.L=(1-l)*N.L+l*N.wave(t*(440/sr)*N.N,d)*d*(d>N.c)),U(N1,n1),U(D,n2),RI=++RI%RL,(R[RI]=1*(l=0.02**(sr/48000),l2=0.02**(sr/48000),RLP1=(1-l)*RLP1+l*(R[RI]||0),RLP2=(1-l2)*RLP2+l2*RLP1,RLP1-RLP2)+P(N1)*.8+P(D)*.2)

released january 12, 2024. floatbeat, 48000hz.
cover of "Uwa!! So HEATS!!♫" from the undertale ost, by toby fox

unnamed, for cover of Uwa!! So HEATS!!♫ (with square waves):
pwm: sr=48000,tempo=226,
t?0:(R=new Array(RL=floor(sr*120/tempo)),RI=0,RLP1=0,RLP2=0,N1={N:0,D:0,L:0,wave:(p,d)=>(4*((p%1)-((p+0.5*(1-d))%1))),l:0.1,d:.2,c:0},D={N:0,D:0,L:0,wave:(p)=>((p%2)-((p+1)%2)),l:0.3,d:.4,p:1,c:0.5}),nl=(sr*60)/tempo,ni=floor(t/nl)%32,pt=floor(t/(nl*32)),n1=!(pt&2)?[4,,2,4,-3,,-5,-3,-8,,-10,-8,-12]:[1,,-1,1,-4,,-6,-4,-9,,-11,-9,-13],n2=[0,,,0.5,,,,,,,,,0.9,0,,,0,,,0.5,,,,,,,,,0.9,0,,,],U=(N,n)=>(floor(t%nl)==0?(N.p?(N.N=2**((pt&2?-20:-19)/12),N.c=n[ni]??N.c):(N.N=2**(n[ni]/12)||N.N),N.D=typeof n[ni]=="undefined"?N.D:sr*N.d):(N.D--)),P=(N)=>(d=max(0.,N.D/sr/N.d),l=N.l**(sr/48000),N.L=(1-l)*N.L+l*N.wave(t*(440/sr)*N.N,d)*d*(d>N.c)),U(N1,n1),U(D,n2),RI=++RI%RL,(R[RI]=1*(l=0.02**(sr/48000),l2=0.02**(sr/48000),RLP1=(1-l)*RLP1+l*(R[RI]||0),RLP2=(1-l2)*RLP2+l2*RLP1,RLP1-RLP2)+P(N1)*.4+P(D)*.1)

fm: sr=48000,tempo=226,
t?0:(R=new Array(RL=floor(sr*120/tempo)),RI=0,RLP1=0,RLP2=0,N1={N:0,D:0,L:0,wave:(p,d)=>(sin(2*PI*p+9*d*sin(2*PI*p))),l:0.05,d:.2,c:0},D={N:0,D:0,L:0,wave:(p)=>((p%2)-((p+1)%2)),l:0.3,d:.4,p:1,c:0.5}),nl=(sr*60)/tempo,ni=floor(t/nl)%32,pt=floor(t/(nl*32)),n1=!(pt&2)?[4,,2,4,-3,,-5,-3,-8,,-10,-8,-12]:[1,,-1,1,-4,,-6,-4,-9,,-11,-9,-13],n2=[0,,,0.5,,,,,,,,,0.9,0,,,0,,,0.5,,,,,,,,,0.9,0,,,],U=(N,n)=>(floor(t%nl)==0?(N.p?(N.N=2**((pt&2?-20:-19)/12),N.c=n[ni]??N.c):(N.N=2**(n[ni]/12)||N.N),N.D=typeof n[ni]=="undefined"?N.D:sr*N.d):(N.D--)),P=(N)=>(d=max(0.,N.D/sr/N.d),l=N.l**(sr/48000),N.L=(1-l)*N.L+l*N.wave(t*(440/sr)*N.N,d)*d*(d>N.c)),U(N1,n1),U(D,n2),RI=++RI%RL,(R[RI]=1*(l=0.02**(sr/48000),l2=0.02**(sr/48000),RLP1=(1-l)*RLP1+l*(R[RI]||0),RLP2=(1-l2)*RLP2+l2*RLP1,RLP1-RLP2)+P(N1)*.9+P(D)*.2)

released january 12, 2024. floatbeat, 48000hz.
cover of "Uwa!! So HEATS!!♫" from the undertale ost, by toby fox
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSWASJkDlmr1UOJ6N7cbjIx2UOB0QUCaJ/u0gAKCRDcbjIx2UOB
0eKdAQC5eKLvxuhXk3hFfjiP9b6nCdg3QxzDcFlDVYP8DZiQtwD8DWx9+TIrkdob
u4nfP5xJx8nklrnfzx23EFk02bd4RAE=
=0+Gb
-----END PGP SIGNATURE-----
8836
8837
>>8836
actually i don't need to split it for the character limit on catbox.moe
https://files.catbox.moe/0r74ib.asc
8838
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

oh, btw, i am indeed posting as 6fc6-e94c-b668-c82c on dollchan.net. post #8828 is mine.
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSWASJkDlmr1UOJ6N7cbjIx2UOB0QUCaJ/0tAAKCRDcbjIx2UOB
0RFhAQCnvzw4ZWnzAxMVPLySuykYKkjKrO2D0wP2ysimx/2PtAEAqvWCPFZZEFvN
pJuvpQArl6JeeJdXEpKuMmN+7XDstA0=
=Frpr
-----END PGP SIGNATURE-----

Delete Post  

Rules / Requests / Common thread / Changelog / SthephanShi / kOLbOSa_exe / lhphr / PortablePorcelain / HypernovaHeathen / BaenHoHoHo / SArpnt / hcdphobe / OnixIsThePewterGod / Zackx / rubi / psubscirbe / ChrisRM380 / aturned777 / Kouzerumatsu / MT2023 / Decent-Manager-6169 / Chasyxx / Glebguything / absolute197 / ANoUserXD / MarioFan171 / Unname4798 / Slinx92 / emelchenko / LarkeyFactorial / Syranero / Greaserpirate / aniruF / BrokenCircle / trashimpossible3699 / Thinguy / P051T1V3_3G0 / eSlashMachine / botbeat / PrincessPriscillaPT
Return To top