我不确定这是一个编程问题或更多的数学问题,但由于它是在我正在编写的javascript程序的上下文中,我在这里张贴。
我有一个来自0-255 (UInt8Array)的字节值数组,表示PCM音频,我需要将其转换为从-1到1的浮动数组。这是因为Javascript音频API缓冲区是Float32Array的。但问题可以概括为:如何将值从0-255转换为从-1到1的值?
我目前正在使用的解决方案工作,但看起来非常不雅致:var f = b / 127.5 - 1;
发布于 2019-03-13 19:57:01
你可以把它抽象为:
const mapRange = (fromStart, fromEnd) => (toStart, toEnd) => value =>
value / (fromEnd - fromStart) * (toEnd - toStart) - fromStart + toStart;
const encodeAudio = mapRange(0, 255)/*to*/(-1, 1);
console.log(encodeAudio(10));https://stackoverflow.com/questions/55150199
复制相似问题