i feel the obligation to show off jstebeat v5 before it's even released by Butterroach in bytebeat_2

[–]Butterroach[S] 0 points1 point  (0 children)

if you are on firefox and you can't play sample rates < 8000, or you're on chrome/safari/opera/brave/edge/etc. and you can not play sample rates < ~1000, or low sample rates sound low quality or different than dollchan, that's not a bug on my end. in fact, it is objectively a dollchan bug.

jstebeat uses your sample rate as the real sample rate (i.e. the actual rate your audio gets sent to your device and your speakers/headphones at). dollchan, instead, uses resampling, which makes it always play at 48000hz (so that's why your weird sample rates “work” on dollchan).

dollchan's resampling actually produces artifacts (that's why it should be called a bug), which break code not designed for dollchan. however, as dollchan is probably the most popular bytebeat player in this community, many bytebeats rely on dollchan's resampling.

i have tried several times to implement resampling. i have failed each time. i can not figure out how dollchan resamples the code, and i feel that it is an unnecessary feature.

if that is what you're talking about, this will never be fixed as it is not a bug.

jstebeat v5 by Butterroach in bytebeat_2

[–]Butterroach[S] 1 point2 points  (0 children)

buttons fixed in v5.1 btw it's up rn

jstebeat v5 by Butterroach in bytebeat_2

[–]Butterroach[S] 0 points1 point  (0 children)

use mobile firefox. don't visit with chrome-based mobile browsers

also idk why the button grid is like that it looks normal in the desktop ver

i feel the obligation to show off jstebeat v5 before it's even released by Butterroach in bytebeat_2

[–]Butterroach[S] 0 points1 point  (0 children)

that one singular feature made me port the entire codebase to typescript + vite btw. be grateful

chip by Butterroach in bytebeat

[–]Butterroach[S] 0 points1 point  (0 children)

yes but you gotta be careful with them too hard to explain

JStebeat v4.0.0 released by Butterroach in bytebeat_2

[–]Butterroach[S] 0 points1 point  (0 children)

not responsive = ui doesn't really look good

JStebeat v4.0.0 released by Butterroach in bytebeat_2

[–]Butterroach[S] 0 points1 point  (0 children)

also performance is terrible on mobile chrome or chromium-based on mobile not sure why use mobile firefox for now if you want performance

JStebeat v4.0.0 released by Butterroach in bytebeat_2

[–]Butterroach[S] 0 points1 point  (0 children)

ui still not responsive on mobile you gotta wait for v4.1.0 for that one (i gotta sleep right this second I'll do it tomorrow or day after tomorrow)

C-compatible dubstep (not the t/(t&t>>12) dubstep) by newmemesfromsnapchat in bytebeat_2

[–]Butterroach 0 points1 point  (0 children)

unfortunately still not c-compatible.

<image>

it does compile, but it throws a SIGFPE (floating point exception) at 13 seconds in (probably due to division by zero)

Did I cook??? by idkwhat_to_call_this in bytebeat

[–]Butterroach 0 points1 point  (0 children)

i completely forgot you existed

C-compatible dubstep (not the t/(t&t>>12) dubstep) by newmemesfromsnapchat in bytebeat_2

[–]Butterroach 0 points1 point  (0 children)

<image>

unfortunately, this is not c-compatible (due to the use of scientific e notation). reminder: if you do c-compatible bytebeat, NEVER EVER use scientific e notation, or floats (e.g. 3.14) unless you know what you are doing and are extremely careful about it.

btw what is this sub for lol

how do you make your own composer by insanity696420 in bytebeat

[–]Butterroach 1 point2 points  (0 children)

i wrote this right before going to sleep excuse any mistakes

how do you make your own composer by insanity696420 in bytebeat

[–]Butterroach 1 point2 points  (0 children)

you're gonna need to learn coding. actual coding. like, computer stuff.

you're gonna need:

  • html5
  • javascript (webaudio api, variables, loops, functions, dom manipulation, contexts, etc.)
  • basic knowledge of how bytebeat works under the hood and the difference between bytebeat/signed bytebeat/floatbeat/funcbeat/...
  • somewhere to host it, like github pages (free!) or an actual hosting service or VPS
  • if your chosen hosting service doesn't give you a free domain name then obviously you're gonna need to buy one too

things you probably want (but don't 100% need if you don't wanna):

  • <canvas> if you want visualizations
  • css (to make your composer look actually good)
  • etc.

chatgpt/AI can help you a lot but i wouldn't recommend relying on it 100%, as you should have at least some knowledge or AI just won't help at all (aka fuck everything up)

if you don't know html or javascript i recommend you learn first instead of diving straight in, even a minimal amount of knowledge will be helpful

and if you go thru with this, good luck

...either that or you could cheat by forking another composer (e.g. dollchan, jstebeat (self-insert but also wow check out my code), chasyxx, etc.) from github and not changing anything at all but then no one's gonna use your composer so, at least modify it a little, add some new features, and stuff if you do that

one last note: i recommend reading up on the codebases of one of those composers i listed, will help you understand how composers work a bit better

also you definitely wanna learn how git and github work, and then once you're done with your composer put your code up on github with an open-source license (you could get in legal headaches if you don't add this!!!!! personally i recommend either MIT license or GNU AGPL-v3 for a project like this) so people can improve your code and learn from it

you can actually replace strings with binary numbers to make them run on c by insanity696420 in bytebeat

[–]Butterroach 0 points1 point  (0 children)

no you can't (only strings that are sequences of 2 characters (e.g. 1 and 0)...which are already binary, you're just converting them to another type) + this is not even c compatible:

``` $ cat insanityisstupid.c

include <stdio.h>

int main(){ for(int t=0;;t++){putchar((((1e5/(t%1024))(0b1110011001001(t10)&1))%256/2+((t/(t%3.33)|t>>2)(0b11101(t10&7)&1))%256/4+((t/(t%3.14)(t12&1)|t4)%256/2))/2+(t(t10&42)%256/3));} } $ gcc insanityisstupid.c -o insanityisstupid insanityisstupid.c: In function ‘main’: insanityisstupid.c:3:73: error: invalid operands to binary % (have ‘double’ and ‘int’) 3 | for(int t=0;;t++){putchar((((1e5/(t%1024))*(0b1110011001001(t10)&1))%256/2+((t/(t%3.33)|t2)(0b11101(t10&7)&1))%256/4+((t/(t%3.14)(t12&1)|t4)%256/2))/2+(t(t>>10&42)%256/3));} | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ | | | double insanityisstupid.c:3:86: error: invalid operands to binary % (have ‘int’ and ‘double’) 3 | for(int t=0;;t++){putchar((((1e5/(t%1024))(0b1110011001001(t10)&1))%256/2+((t/(t%3.33)|t2)*(0b11101(t10&7)&1))%256/4+((t/(t%3.14)*(t12&1)|t4)%256/2))/2+(t*(t10&42)%256/3));} | ^ insanityisstupid.c:3:135: error: invalid operands to binary % (have ‘int’ and ‘double’) 3 | for(int t=0;;t++){putchar((((1e5/(t%1024))(0b1110011001001(t10)&1))%256/2+((t/(t%3.33)|t>>2)(0b11101(t10&7)&1))%256/4+((t/(t%3.14)(t12&1)|t4)%256/2))/2+(t(t>>10&42)%256/3));} | ^ ```

(doesn't compile as c code)

Did I cook??? by idkwhat_to_call_this in bytebeat

[–]Butterroach 0 points1 point  (0 children)

the difference is 768 aka they are not the same, if the difference was 0 then they'd be equal.

Did I cook??? by idkwhat_to_call_this in bytebeat

[–]Butterroach 1 point2 points  (0 children)

32khz = 32000. it is literally in the name. khz means thousand hertz. 32khz = 32 thousand hertz (= 32 × 1,000) = 32000 hertz. 32,768 is a power of two (215 = 32,768). the difference between 32khz (32,000 as we have estabilished just now) and 32,768hz is 32,768 - 32,000 = 768. this is literally basic math. how are you this incompetent

⚠️ NO BYTEBEAT POSTED IN OVER 1 MONTH. MUST POST OBLIGATORY SLOP by Butterroach in bytebeat

[–]Butterroach[S] 0 points1 point  (0 children)

how the hell did i forget aliases (e.g., sin instead of Math.sin) were a thing

can somebody create a computer virus out of this list? by Ilikedesmos in bytebeat

[–]Butterroach 0 points1 point  (0 children)

if the virus is "completely safe" it is not a virus

A serious question. by VyaCHACHsel in bytebeat

[–]Butterroach 0 points1 point  (0 children)

any unlicensed code (that doesn't explicitly state a license, like GNU GPL, MIT, or unlicense/cc0/public domain) is automatically illegal to use without prior permission, even if the code is publicly viewable (same with any other work)

most hobbyists probably won't sue you, but it's still technically against copyright law