
Bytebeat: Music from very short programs - the 3rd iteration
About this video
Viznut's third bytebeat video presents music generated by very short C programs and JavaScript expressions. It links to online tools and deeper analysis of one-line music.
Why it appears in the archive
Linked in threads about algorithmic and demoscene music as the canonical introduction to bytebeat.
AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.
From the Hacker News discussion
See also the 1D version of this, rendered as audio: "bytebeat" music. Surprisingly complex music from very simple modular arithmetic and bit shifting. [VIDEO]
Read original comment ↗I think the theory behind this is a great deal more interesting than that video lets on. The idea started out as simple C programs piping characters to a UNIX audio device. But it's grown since then, now there's a web page that lets you create audio with Javascript expressions[1] (one of my favorite tracks from this scene was generated that way[2]). There's some good blog posts about the origins of this[3], and music theory behind it[4]; both of which will go into more detail than I'd care to for a HN comment[3]. [1] [LINK] [2] [VIDEO] (5m 13s) [3] [LINK] [4] [LINK]
Read original comment ↗>I'm glad you like it. The sound is generated purely by a JavaScript function returning sample values i feel like this belongs here: [VIDEO] - not in a DAW kinda sense, though
Read original comment ↗> Points near the origin have dark colors, with the color assigned to a complex number z approaching black as z approaches 0. Points far from the origin are light, with the color of z approaching white as |z| approaches infinity. Every complex number has a different color in this picture, so a complex number can be uniquely specified by giving its color. So I was wondering if this approach could also be useful in the context of floats and integers. The implementation becomes simpler in many ways (we only have a finite number of possible values to consider). For example, start with a unique mapping of 8-bit integers to a continuous colour ramp. I suppose the easiest option would be to start in the top left, then go from left to right, top to bottom, resulting in a 16x16 image. If we then take a formula that also returns an 8-bit value, map every possible input to an output, and show the results as an image, it should make it easy to see where we have an integer overflow, for example (if we see sudden jumps from very bright to dark or the other way around). Then I realised: I have seen this in the wild! It's used all over the place in the demo-scene. For example: [VIDEO] [LINK] Aside, this also reminds me of Gustafson's closure plots for comparing his number encoding to standard floating points, although it's not really the same thing: [LINK]
Read original comment ↗Listening to a PDP-7 with an AM radio isn't exactly ByteBeat (since you're technically only allowed one line of code), but it sure sounds a lot like it: Meet Bytebeat: A Brand New Electronic Music Genre [LINK] >Become a slave to the algorhythm. >Heard about the latest computer music genre sweeping the internet? It’s called “bytebeat” and if this comes as news to you, don’t despair, the thing’s only about five months old, so you’re still ahead of the curve. Bytebeat is algorithmic music created from one line of code and was discovered/invented while Finnish low-tech artist and programmer Ville-Matias Heikkila (aka Viznut) and his friends were experimenting with the computer programming language C code and creating one line formulas that could produce an audio output (see below). Bytebeat: Music from very short programs - the 3rd iteration [VIDEO] Bytebeat - Music from math formulas [LINK]
Read original comment ↗