Javascript 对于riffwave.js,这些公式中的这部分(128+;127*)是什么?

Javascript 对于riffwave.js,这些公式中的这部分(128+;127*)是什么?,javascript,waveform,synthesizer,Javascript,Waveform,Synthesizer,我试图在浏览器中进行一些javascript音乐合成,我遇到了riffwave.js。从这个问题中,答案给出了如何使用riffwave.js的提示 我花了一点时间研究了一些东西,比如多重音调,我几乎理解了所有的音调,但我不知道为什么里面有128+127* 它也显示在这个演示页面中 谁能解释一下,或者告诉我如何使用该部分修改程序 谢谢。您引用的示例显示了以下形式的方程式: A=128 + 127 * Sin(...) 由于Sin函数可以在-1到+1之间变化,因此上述方程的结果为1-255。因此,

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

我花了一点时间研究了一些东西,比如多重音调,我几乎理解了所有的音调,但我不知道为什么里面有
128+127*

它也显示在这个演示页面中

谁能解释一下,或者告诉我如何使用该部分修改程序


谢谢。

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

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

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

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

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

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

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

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

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

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

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


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

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

如mti2935所述,这是一种方便的方法,可以将从-1到1的数字映射为从1到255的整数,这正好符合一个字节。特别是,riffwave似乎在内部以8位.wav格式表示声音,因此这将浮点数转换为实际播放声音所需的8位整数格式。

如mti2935所述,这是一种方便的方法,可以将从-1到1的数字映射为从1到255的整数,这正好符合一个字节。特别是,riffwave似乎在内部以8位.wav格式表示声音,因此这将浮点数转换为实际播放声音所需的8位整数格式。

如mti2935所述,这是一种方便的方法,可以将从-1到1的数字映射为从1到255的整数,这正好符合一个字节。特别是,riffwave似乎在内部以8位.wav格式表示声音,因此它将浮点数转换为实际播放声音所需的8位整数格式。

并且不应调整公式的这一特定部分!代码需要此范围内的值--仅限无符号字节。若要更改注释,请更改其后面的公式(确保结果为-1..1)。@Jongware感谢您的输入。当我开始尝试同时获得多个音调时,我发现后面的部分必须在-1到1之间变化,我的解决方案是将音调相加,然后除以所使用的数字。公式的这一部分不应该调整!代码需要此范围内的值--仅限无符号字节。若要更改注释,请更改其后面的公式(确保结果为-1..1)。@Jongware感谢您的输入。当我开始尝试同时获得多个音调时,我发现后面的部分必须在-1到1之间变化,我的解决方案是将音调相加,然后除以所使用的数字。公式的这一部分不应该调整!代码需要此范围内的值--仅限无符号字节。若要更改注释,请更改其后面的公式(确保结果为-1..1)。@Jongware感谢您的输入。当我开始尝试同时获得多个音调时,我发现后面的部分必须在-1到1之间变化,我的解决方案是将音调相加,然后除以所使用的数字。公式的这一部分不应该调整!代码需要此范围内的值--仅限无符号字节。若要更改注释,请更改其后面的公式(确保结果为-1..1)。@Jongware感谢您的输入。当我开始尝试一次获取多个音调时,我发现后面的部分必须在-1到1之间变化,我的解决方案是将音调相加,然后除以所使用的数字。感谢您的帮助。你知道其他使用超过8位的方法做类似的事情吗?音质并不是我想要的,也许超过8位音质会更好?如果没有,那没关系;这个问题暂时搁置,看看riffwave,你要么修改riffwave,使用不同的库,要么编写自己的库。实际的声音播放机制似乎是HTML5音频标签(),它支持您可以使用的其他文件格式。我对WAV文件格式不太了解,所以您可能无法