Bytebeat

Return To bottom
Changelog / Common thread / SthephanShi / kOLbOSa_exe / lhphr / PortablePorcelain / HypernovaHeathen / BaenHoHoHo / hcdphobe / OnixIsThePewterGod / Zackx / GetDolphinedLol / psubscirbe / MT2023 / Decent-Manager-6169 / Chasyxx / Glebguything / absolute197 / Mikey Salodzka
CAPTCHA
 Deletion password
  • Supported file types are JPG, PNG, GIF, WEBP, WEBM, MP4 and MOV.
  • Maximum number of files is 4, 30 MB total.
  • Images greater than 250x250 will be thumbnailed.
  • Currently 491 unique users.

171 !
CEF93255-C7A7-4ABF-8515-9FF7F4B1DA68.jpeg
(111.44KB, 1609x413)
5B548BBE-D310-4A42-9511-F351E3506E30.jpeg
(84.40KB, 1594x405)
Hi everyone! I wanted to share my first actual bytebeat with you guys!
br>I'm somewhat new to the world of bytebeat, and I've been trying to learn how to make songs. However, after experimenting a lot, I've finally made one!

I recently figured out how to use arrays for sequencing, so I figured I could start making a song. What I ended up with was a Sierpinski melody + kicks from another bytebeat, and I think it turned out really well! The song is about 32.76 seconds long.

Here it is!
s=t>>17&1,t>>"45"[s]&t*"2256"[t>>13&3]|[1e4,[5e3,5e4][t>>13&1]][s]/(t%[4096,8192][s])

(dollchan / sarpnt)

And here's a badly annotated formatted version:
(dollchan / sarpnt)

I'm hoping I can sometime move away from classic bytebeat and into HQ songs like the ones under the Big JS and Floatbeat tabs. I always have you guys to help! ;)

Anyways, what do you guys think of my first song?
175 !
EF01D56D-F245-4BA9-8349-A5F44D1A87D1.png
(3.12KB, 894x894)
176 !
a.png
(3.12KB, 894x894)
h

also my first 44.1kHz bytebeat
177 !
a.png
(163B, 1x1)
178 !
Screenshot 2022-08-29 144119.png
(6.34KB, 1024x257)
So I just figured out how to use another thing correctly: sin()! I realized you have to use it with signed bytebeat, so I've done that.

It took a while for me to find a good example of using sin() for kicks, but I managed to pull some code out of No Limit:

127*sin(2E3/(t&4095))*.2


What I did next was change the sample rate to 44100hz, and I turned the 2e3 into an array, like this:

63*sin([2e4,1e3,1e3,1e3][(t>>12)%4]/(t&4095))

( dollchan / sarpnt )

This gave me a nice psytrance beat :)
So now I found myself experimenting with this and I tried to get the code working with other stuff, but it just messed up every time. Then I tried using |t>>1 at the end, and I realized I could multiply it by different numbers (floats in this case) to play different notes! I also figured out I could add or subtract from t in the array accessing to offset the melody, and that let me get what I wanted ;D

Here's the final bytebeat:

63*sin([2e4,1e3,1e3,1e3][(t>>12)%4]/(t&4095))|(t>>1)*[1,1,1.5,1.25][((t+7680)>>16)%4]

( dollchan / sarpnt )

I know I might sound weird explaining all of this, but I'm not a good bytebeat coder though I'm proud of what I've accomplished!
183 !
Here are all of them:

First bytebeat
8kHz unsigned
s=t>>17&1,t>>"45"[s]&t*"2256"[t>>13&3]|[1e4,[5e3,5e4][t>>13&1]][s]/(t%[4096,8192][s])

Original / Formatted

simple modulation, i guess
8kHz unsigned
a=t*"2234"[t>>10&3],a*"2235"[t>>14&3]

Original

poorly made speedcore remix of my first bytebeat
44.1khz unsigned
t>>6&t/"27"[t>>20&1]*"2256"[t>>16&3]|2e6/(t%8192)

Original

really weird thing that came out of nowhere
8kHz unsigned
(t>>6&t)/4*t>>7*(t|t>>9)

Original

Combination of Fanfare? and Sin() isn't kosher, people!
8kHz unsigned
(t&8192?t&4096?t&1024?2*t:4*t:t&512?4*t:4.2*t:(t&4096?t&1024?2*t:10*t:t&512?2*t:8*t)>>2)*(t&16384?3:2)|t*(t&16384?.125:1/(.01*t))+10*(t>>6|t|t>>(t>>16))+(7&t>>11)

Original

Simple psytrance beat
44.1khz signed
63*sin([2e4,1e3,1e3,1e3][(t>>12)%4]/(t&4095))

Original

Probably my best bytebeat so far
44.1khz signed
63*sin([2e4,1e3,1e3,1e3][(t>>12)%4]/(t&4095))|(t>>1)*[1,1,1.5,1.25][((t+7680)>>16)%4]

Original
185 !
tong.raw-alpha.png
(3.95KB, 271x36)
187 !
So I managed to get this bell-like sound with sin():

sin(t)*((t%22050)-10)>>10


But why does it play backwards? What do I need to fix to get it to play correctly? (Sorry if there's a noob mistake I didn't catch.)
191 !
>>185
Managed to shorten it to just
63*sin((t&12288?1e3:2e4)/(t&4095))
196 !
>>187

Is anyone going to help me?
197 !
209 !
a.png
(163B, 1x1)
I wrote a short JS script that should have generated proper bytebeat music:
for(let t=0;;t++){
  process.stdout.write(String.fromCharCode(t>>7&t));
}

The script does not generate music correctly. How can I get the script to generate bytebeat music correctly?
210 !
>>209

If you haven't seen it yet
451 !
a.png
(163B, 1x1)
I want this to sound like this (but no stereo)
455 !
32002dacfa0de2cacdad1efe0057ce3b--the-elder-scroll
(57.20KB, 508x810)
>>451
Fixed your links.
You mixed up square brackets and parentheses. To add a link with text correctly, you need [Your text](Your link), like
[this](https://dollchan.net/bytebeat/#v3b64q1ZKzk9JVbJSSkosLrYtzszTKNGPNjPRMTPQMTXRMTWPjdYosbMztNBUNYnV1MlNzbHNTazQyAWqg6o117HQMTTQsURRqKmpowEyUBuoQVNJR6k4MbcgJzUosQRok7GRgYGBjlIuxFq3nPzEkqTUxBKlWgA)


> How do I properly mix together multiple melodies?
Just like that:
In Bytebeat mode: 128+64*(bass+mel)
In Floatbeat mode: (bass+mel)/2
698 !
a.png
(163B, 1x1)
main=t>44100,
a=[5,0,5,0,0,0,0,0],
b=[0,0,0,0,random(),0,random(),0],
c=[b,b,b,b,b,b,b,[0,0,random(),0,random(),0,random(),0]],
i=a[floor(t/689.0625)%8]*[1,1.35][floor(t/11025)%2]*(main?[1,1,1.75,3][(floor(t/44100)-1)%4]:1),
mel=t*i,
beat=t*((t>41343.75)&&(t<42721.875)?random():main?c[floor(t/5512.5)%8][floor(t/(689.0625))%8]:0),
(mel+beat)/2

Dollchan / Chasyxx / Greggman / Sarpnt

i know people have done WAYYYY better than this in less than 344 chars but im not like them yet ????
704 !
1x1.png
(95B, 1x1)
main=t>(65536*48),
l=(t>>18)%4,
m=(t>>1)*[1,1,1.5,1.25][((t+7680)>>16)%4],
p=main?[2e4,1e3,1e3,1e3][(t>>12)%4]:t<(65536*47)?t>(65536*32)?[2e4,1e3,1e3,1e3][(t>>[12,12,11,10][l])%4]*[1,1,2,3][l]:[2e4,0,0,0,0,0,0,0][(t>>12)%8]:0,
b=63*sin(p/(t&4095)),
c=t>(65536*16)?b:0,
main?(c|m):((m%(t>>10)%8192-256)+c)/2

Dollchan only because I need to go touch grass

bonus: cool floatbeat techno thing
(sin((t&t%1e4)/78)+sin(500/(t*256/40000%128+4)))/2

Dollchan
705 !
wait i messed up the first link
Dollchan
753 !
1x1.png
(95B, 1x1)
b=192e3,
c=floor(t/(b))%4,
(sin(t/[80,85,75,100][c])
+(t>b*4)*sin(t/[20,25,15,17][c])
+(t>b*12)*(t/'23423423'[floor(t/12e3)%8]*[1,1.75][floor(t/b)%2]&64)/25)/4

Dollchan
755 !
1x1.png
(95B, 1x1)
b=192e3,
c=floor(t/(b))%4,
s=(t<b*19.5)+(t>b*20),
(s*sin(t/[80,85,75,100][c])
+(t>b*4)*s*sin(t/[20,25,15,17][c])
+(t>b*12)*((t<b*19.875)+(t>b*20))*(t/'23423423'[floor(t/12e3)%8]*[1,1.75][floor(t/b)%2]&64)/25
+(t>b*19.875)*[sin(1000/(256*t/48000%128+10)**.35)*2,sin(random())*((t/24000%1)-1)*4][floor(t/24000)%2]
)/4

Dollchan
i suck at making compact bytebeats
814 !
1x1.png
(95B, 1x1)
For floatbeat it's as easy as this:
// 48000hz floatbeat
v=t
/192e3 //rate (in t)
,
[out*sin(v),out*cos(v)]

Basically, 8D audio works by making one channel quieter while the other is louder, and their volumes follow a sine wave pattern. This is very easy to accomplish in Bytebeat; all you do is decalre a variable that represents the volume pattern (by dividing t by your rate of each (half?) volume cycle), then take the sin()s and cos()s respectively of that variable and multiply that with your bytebeat's output, then put both in seperate channels (as above).
Of course this can be easily modified for Classic and Signed.
Example
942 !
1x1.png
(95B, 1x1)
I've looked at some bytebeats with reverb and I've tried to understand how it works. From what I understand, it seems to me that it works something like this:
- Declare an Array object and fill it with 0s

- Take your "melody" or whatever and add <Array>.shift() to it

- Push that divided by a number??? (like 3) maybe??? into the array

- Set the output to the "melody"

I still don't have a good idea of this. I tried doing this myself:
t?0:d=Array(2000).fill(0),main=sin(t/4)/4+d.shift(),d.push(main),main

Dollchan
it's messy lol xD

Dividing main by 2 or larger in d.push(main) gives a different result: I hear a bit of bounciness and the tone comes back. I turned the ample rate down to 8000 and I heard it wasn't a smooth decrease; it seems to "step". Lastly, I decided to use a number between 1 and 2 and the fading is slower, but I could still tell I did it wrong because of the "stepping".

Could someone please correct me on whatever I may have messed up, explain reverb properly, and give a basic example of using it?
943 !
You aren't doing anything wrong with the reverb effect. It's just that the "melody" that you've put in doesn't change enough, as in there's no notable pitch nor volume changes within the code.

Here's an example where the delay is more clear.
977 !
IMG_1212.jpeg
(146.53KB, 1000x667)
t?0:v=Array(r=48e3).fill(0),f=floor,s=f(t/12e3),m=sin(t/((25+f(t/192e3)%4)-s%16))+v.shift(),b=sin((s%4?1e2:1e4)/(t%12e3)),n=!(f(t/6e3)%2)*(random()*((t/48e3%1)-1))/2,v.push(m/3),(m+b+(f(t/r)%2)*n)/3

Floatbeat | 48000hz
Chasyxx | Dollchan
You are traveling through space in your ship. There are plenty of dangers out there. Thankfully, all you can see ahead of you is the vast emptiness of space. Maybe no one has explored it yet. You think, this is why they call it the final frontier.

I decided I wanted to join in with the space lore stuff. Wish more people could do it too...
Also I just learned how to do reverb as well as no array arrays. My reverb isn't really that good but I still think it fits the space theme. I'm legitimately proud of this though, especially for keeping it under 200c. ;)
1027 !
a.png
(163B, 1x1)
sin(t/([25,25,22,23][0|t/48e3%4]-(0|t/12e3%2)))*(t/6e3%1-1)-sin(t/1e5)/1.5-1

Chasyxx only because I'm tired

interesting huh
1036 !
1x1.png
(95B, 1x1)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

#define r 48000

//Set output length (in seconds) here!
#define time_seconds 30

int main(){
  double t;
  double out;
  double a[r]={0};

  FILE *f = fopen("bb.raw","wb");

  while(t<(r*time_seconds)){
    out=sin(t/(25-floor(fmod(t/12000,16))))/3+a[(int)fmod(t,r)];
    a[(int)fmod(t,r)]=out/1.4;
    fwrite(&out,sizeof(double),1,f);
    t++;
  }
  fclose(f);
  return 0;
}

Delete Post  

Changelog / Common thread / SthephanShi / kOLbOSa_exe / lhphr / PortablePorcelain / HypernovaHeathen / BaenHoHoHo / hcdphobe / OnixIsThePewterGod / Zackx / GetDolphinedLol / psubscirbe / MT2023 / Decent-Manager-6169 / Chasyxx / Glebguything / absolute197 / Mikey Salodzka
Return To top