JSFiddle - React, Tailwind, and code Playground
HTML
<script>
var sampleRate = 8000;
function encodeAudio8bit(data) {
var n = data.length;
var integer = 0,
i;
var header = 'RIFF<##>WAVEfmt \x10\x00\x00\x00\x01\x00\x01\x00<##><##>\x01\x00\x08\x00data<##>';
function insertLong(value) {
var bytes = "";
for (i = 0; i < 4; ++i) {
bytes += String.fromCharCode(value % 256);
value = Math.floor(value / 256);
}
header = header.replace('<##>', bytes);
}
insertLong(36 + n);
insertLong(sampleRate);
insertLong(sampleRate);
insertLong(n);
for (var i = 0; i < n; ++i) {
header += String.fromCharCode(Math.round(Math.min(1, Math.max(-1, data[i])) * 127 + 127));
}
return 'data:audio/wav;base64,' + btoa(header);
}
function addFractalMusic(func) {
var elem = document.getElementById('a1');
var len = 8000*60*3.5;
var arr = []
for (var t = 0; t < len; t++) {
arr[t] = func(t);
arr[t] = (arr[t] & 0xff) / 256.0;
}
var dataUri = encodeAudio8bit(arr);
elem.setAttribute('src', dataUri);
}
</script>
<div class='post'>
<div class='postinner'>
<audio controls='true' id='a1'></audio>
</div>
</div>
JavaScript
addFractalMusic(function(t) {
return 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="IGNNNN!!]]!Q!IW]WQNN??!!]WQNNN?".charCodeAt(w/2&15|p/3<<4)/33*t-t,s=y*.98%80+y%80+(w>>7&&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*0.49%k+h*0.97%k-64)*(4-a-a))),s*s>>14?127:s
});