Please wait...

Yes or no?

Alert!

This is not the Dollchan player! That's this one. Credits to SthephanShi for making the basis site!

MissingNo, but it's true!

Info

– about bytebeat
Bytebeat music (or one-liner music) was invented in September 2011. They're generally a piece of rhythmic and somewhat melodic music with no score, no instruments, and no real oscillators. It's simply a single-line formula that defines a waveform as a function of time, processed (usually) 8000 times per second, resulting in an audible waveform with a 256-step resolution from silence (0) to full amplitude (256). If you put that formula into a program with a loop that increments time variable (t), you can generate the headerless unsigned 8 bit mono 8kHz audio stream on output, like in this application. Since these directly output a waveform, they have great performance in compiled languages and can often be ran on even the weakest embedded devices.
History of bytebeat

Original blog posts and videos from Viznut:
Blog posts #1
Blog posts #2
YouTube video #1
YouTube video #2
YouTube video #3

This website is a live editing bytebeats player. It has a collection of bytebeat music I found on the internet, and also the music I created.
You can choose between bytebeat, signed bytebeat and floatbeat formats. Bytebeat expects output is an unsigned 8bit value (0 to 255). Signed bytebeat assumes output is a signed 8bit value (-127 to 128). Floatbeat assumes output is -1.0 to 1.0.

This website is the fork of Bytebeat composer by StephanShi..
Forked by Chase T aka Chasyxx.

ShephShi's website is the fork of 8-bit Generative Composer by @paul_hayes.
Forked by SthephanShi aka Viraya.

Custom functions include:
  • bitC: (X,Y,Z) => X&Y?Z:0
  • br: (T,SIZE) => Bit reverses SIZE bits of T, discards the other bits
  • sinf, cosf, tanf: (X) => sin, cos, tan but inputting t will output the same freqency as t by itself. AKA the function loops around every 256 "steps" instead of every 2pi steps
  • regG: (T,regEx) => takes a string of T's bits, and tests against regEx for a match. Outputs a boolean.
Note: Using any of these functions makes your code exotic, entailing that it will not be added to the dollChan library.
They are just a novelty, and use them at your own risk. I would remove them (and the exotic modes) if it weren't for compatibility.

Favorites

– Codes you saved

All favorites are basically URLs stored as supercookies. These, some Google Analytics cookies added by GitHub Pages, and the settings supercookie are the only things persistently stored on your device.

    Classic

    – C-compatible Bytebeat, one variable (t)

    JS-256

    – JS Bytebeat code under 256 bytes

    JS-1k

    – JS Bytebeat code under 1 KB

    JS-big

    – JS Bytebeat code larger than 1 KB

    Floatbeat

    – assumes output is -1 to 1

    Floatbeat-big

    – Floatbeat code larger than 1 KB

    Funcbeat

    – statement based mode

    All

    – all songs sorted by authors

    Settings

    The song's samplerate is upscaled/downscaled (block resampling!) to this samplerate. 48000 or above is recommended, likely some multiple of 48000.
    Be warned: The higher you put this, the more powerful your computer is expected to be!
    You need to stay in the range [8000, 192000]. Keep in mind that 48000 covers all frequencies you will be able to hear, you only need to turn it up if you want to go ultrasonic.

    Song actions