0

我正在尝试在浏览器中做一些 javascript 音乐合成器,我遇到了 riffwave.js。从这里的这个问题,答案给出了如何使用 riffwave.js 的提示。

我已经通过它来弄清楚一些东西,比如多重音调,我几乎理解了所有这些,但我不知道为什么128 + 127 *会有。

它也显示在演示页面中。

谁能提供解释或告诉我如何使用该部分来修改程序?

谢谢。

4

2 回答 2

2

您引用的示例显示了以下形式的方程式:

A=128 + 127 * Sin(...)

由于Sin函数可以在 -1 到 +1 之间变化,因此上述等式的结果是 1-255。因此,加上常数128并乘以系数127,这基本上是一个sin输出在 1 到 255 之间变化的函数,这很方便,因为它可以使用 8 位(或 1 字节)存储。

于 2015-04-13T00:21:16.433 回答
1

就像 mti2935 所说的那样,这是一种方便的方法,可以将一个从 -1 到 1 变化的数字映射到一个从 1 到 255 变化的整数,它非常适合一个字节。特别是,riffwave 似乎在内部以 8 位 .wav 格式表示声音,因此这会将浮点数转换为实际播放声音所需的 8 位整数格式。

于 2015-04-13T00:35:15.377 回答