gpt4 book ai didi

javascript - 将无符号字节值转换为从 -1 到 1 的 float

转载 作者:行者123 更新时间:2023-12-03 00:01:31 24 4
gpt4 key购买 nike

我不确定这是一个编程问题还是更多的数学问题,但由于它是在我正在编写的 JavaScript 程序的上下文中,所以我在这里发布。

我有一个从 0-255 ( UInt8Array ) 的字节值数组,表示 PCM 音频,我需要将其转换为从 -1 到 1 的 float 组。这是因为 Javascript Audio API 缓冲区是 Float32Array s。但问题可以概括为:如何将 0-255 之间的值转换为 -1 到 1 之间的值?

我当前使用的解决方案有效,但看起来很不优雅: var f = b / 127.5 - 1;

最佳答案

您可以将其抽象为:

 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));

关于javascript - 将无符号字节值转换为从 -1 到 1 的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55150199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com