var size = 512;
var blackman = new Float32Array(size);
for (var i = 0; i < (size % 2) ? (size+1)/2 : size/2; i++) {
blackman[i] = 0.42 - 0.5*Math.cos(2*Math.PI*i/(size-1)) + 0.08*Math.cos(4*Math.PI*i/(size-1));
}
for (var i = size/2; i > 0; i--) {
blackman[size - i] = blackman[i];
}
Array.prototype.slice.call(blackman);