Bytebeat

Return To bottom
Changelog / Common thread / SthephanShi / kOLbOSa_exe / lhphr / PortablePorcelain / HypernovaHeathen / BaenHoHoHo / hcdphobe / OnixIsThePewterGod / Zackx / GetDolphinedLol / psubscirbe / Kouzerumatsu / MT2023 / Decent-Manager-6169 / Chasyxx / Glebguything / absolute197 / WilliamP692 / MarioFan171

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

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 / Kouzerumatsu / MT2023 / Decent-Manager-6169 / Chasyxx / Glebguything / absolute197 / WilliamP692 / MarioFan171
Return To top