I know people have been doing this kinda stuff even back during the Atari 2600 days, but man, there _still_ is something inherently cool about doing this kinda stuff.
2:57 This one's probably my favorite of the bunch despite the short length, sounds like the start to an 8-bit rendition of some pop song which is pretty cool
@@MerjemIsSomehowHere Not that I actively remember doing it, but upon looking here I remember what the video was about and the feeling / thought process that led to that comment.
Wow, at first I though the Sierpinski triangles appearing in the visualization were just an affectation, but now I'm realising they're a genuine artifact of the process!
2:56 - Woah, that sounds awesome! 5:14 - Wait, wait, wait! I know this one! It's used as base for the audio used in the 64k demo "Chaos Theory". There it sounds a lot better, but now I know how they made the music that small... :o
Pitri The one from chaos theory sounds good both in the original video and this video but the one in this video sounds electronic and 8-bit I put an idea in my head for a loading screen theme
very nice one modded some values left: f=t*Math.pow(1,(0x75054970>>((t>>15&7)11&9)+1),Math.abs(f%256-128)-64 rigt: f=t*Math.pow(2,(0x75054970>>((t>>13&7)11&3)-1),Math.abs(f%256-128)-64
my best bytebeat: (t/=12.75),[(t>>1*t&t>>4&t>>9^t>>12&t|40000/(t&4095)^t4&t^t|40000/(t&16384)^t>>12/t>>4|t>>7^t>>2-t>>7/t-t>>7|t&t>>4^(256+256)>>t>>6&t^t>>11&t^(t&16384?1:2)|t>>5-t>>4+t>>4*t>>2^t>>6+(2*t>>3)^t>>4&t>>9|t>>12|t>>13)^(t&4096?t>>4:t>>2-t&t)%t>>4^t%(t>>4)%(t>>5&t)-t%(t*(4096>>t))|(5+(42&t>>10)|t>>4>>t)&t&t>>4>>(t>>4*t|t>>2)^t%(42&t>>10))*(t&8912?1:2|t>>4*(t&16384?1:2))] hertz:: 164500 lil comment: ASDJRHUDRWAHEDWHAYEQAYGADYGAWYGDAYGDGYJAJGY WHATT THE BYTEBEAT
I think bytebeat is one of my favorite things. I’m getting kinda good at it and yet I’m 10 years old. I’m very young and can still do it, i’m very fascinated with this coding program!
This is amazing stuff, thanks for uploading this video. I've been playing around with bytebeat-style stuff all night. Best simple one I've found so far is: putchar(t>>4|(t>>7&t*8)); putchar((t*4|t>>9)|(t>>4&t>>7)); sounds best with aplay -c 2 I think.
I managed to find a byte-sized MONSTER song with this simple C code: (-t%(t/1024&-t*2)>>-t/4) No person alive could possibly hear this song in its' entirety, since the duration (after careful evaluation and calculations) is 32,768 YEARS in length... And it's only 48 bytes in size, or 384 bits.
@jci10 The examples from kb, ryg and mu6k in this video use string and integer constants to store melodies, rhythms etc. A deterministic, constructive approach is definitely possible, however it tends to bloat up the code very quickly compared to indeterministic exploration.
Could we please get a detailed explanation of how "Covers Chaos Theory by Conspiracy" works on the Countercomplex blog ? Because the formula is hard to understand, and it would be more than interesting to see how this incredible wall of automatic music was built brick by brick. Pleaaaaaase ^^ Thank you !
@ModernZeuhl You should probably ask mu6k, ryg, p01 or someone else who has been hacking with the Chaos Theory cover if you want a detailed description. I don't personally find it particularly interesting compared to the shorter formulas. I will be concentrating on the short formulas in my next post, but maybe I'll be able to explain some more "constructive" techniques as well.
Thought im gonna hear Salinewin virus best beat here, but i didnt. I only heard Salinewin first song and that's also was the first song in this video, and also some Salinewin song at 5:47
y-values on this curve: en. wikipedia. org/ wiki/ Pulse-code_modulation#Modulation putchar is a function that takes a value between -128 and 128. The curve is drawn from right to left. If putchar was called with 7, 9, 11, 12 ... you'd get an approximation of the sine wave pictured.
I am sad that we never got to do this in CS classes in 80s. Computer graphics classes, but no music (though music dept did have electronic music, and I did get to tinker with SID on C64 one summer...) I should get out more, I guess :-) Thanks for sharing.
@ericfontainejazz The code is quite messy and not really intended for reuse, but I may consider releasing it (maybe tidying it up a little bit) if I get enough requests.
And it respresents waveform information in sample (Information data is: wavelenght, frequency,amplitude values etc..). And sample is time/size-limited data part. For more information: Sampling_(music) and Sound in wikipedia
Hi, there is a "full version" of the song in 5:14? i already found the music from the actual demo its based from (gargaj - rude awakening) , but i wonder if the demo got ported to javascript somewhere else (with this code as the generator).
w=t>>9,k=32,m=2048,a=1-t/m%1,d=(14*t*t^t)%m*a,y=[3,3,4.7,2][p=w/k&3]*t/4,h="IQNNNN!!]]!Q!IW]WQNN??!!W]WQNNN?".charCodeAt(w/2&15|p/37&&a*((5*t%m*a&128)*(0x53232323>>w/4&1)+(d&127)*(0xa444c444>>w/4&1)*1.5+(d*w&1)+(h%k+h*1.99%k+h*.49 here just for u
***** Derp, screwed up there. It had the wrong link, you want entropedia.co.uk/generative_music_1.2_beta/#b6409Ao0TfS0jA0VdMwqDAyNjE1s0g0sLPTKLGzs1AzstAEghqgCoiIoaFmHIgy0tQGajM0UytRMzLRBAA%3D.
Are simply taking the visual output and then sidecrolling it in a video editor or is there a code for that too? I'd like to incorporate this into my next album.
they use codes like t&t>>8, how they process it like this, for(int t=0;; t++) { int u=t&t>>8;/*the output/'u' of the equation is inserted to the pcm channel to 8bits*/ soundsys(u); } its time inserted to an equation and used the numbers to sound
@micdah Sir, I've logged in just upvote your and the video. Chaos Theory is my favourite 64k and I always thought they have some kind of track file playing with generated samples. But I'd never tell that the whole music generator is so compact. greetz
You don't need a specific program to create the music. I used Llamalab Automate to make a small file then Audacity to "import raw data". Make sure you select the correct sampling rate and bit depth. The one I generated in Automate was 8kHz, uInt8, and 8s long. AM is very slow, so it required 4s to "render" the audio file and write it to my phone storage lol
I wonder what other sounds we could achieve if we used other mathematical functions like hyperbolic trig, gcd, fibonacci, collatz, or prime numbers mod something. And I'm considering making Brainf**k programs that generate files, then use Audacity to interpret those files as PCM. The constraints of BF may spark more creativity, I guess?
@ModernZeuhl I would guess that at least the variable h, h="IQNNNN!!JJ!Q!IWJWQNN==!!WJWQNNN?" are the notes played, the rest of the code is to get the right waveforms for the samples played.
How is 5:14 even possible? That sounds like a sound sample! Yow! :D These are awesome! (Incidentally, "GlitchMachine" on iOS is a great playground for similar stuff.)