当前位置: 首页 > 知识库问答 >
问题:

网络音频振荡器特别大?

松秦斩
2023-03-14

仅仅是我,还是振荡器即使在0.5增益下也听起来疯狂的响亮?我不能增加我的电脑的体积超过5%。

现在,当我将增益设置为0.001时,音量似乎“归一化”了,但这不对?我希望能有一些关于控制振荡器音量的见解。

var audioCtx = new AudioContext();

var oscillatorNode = audioCtx.createOscillator();
var gainNode = audioCtx.createGain();

oscillatorNode.connect(gainNode);
gainNode.connect(audioCtx.destination);

oscillatorNode.type = 'sine';
oscillatorNode.frequency.value = 500;
gainNode.gain.value = 0.5;

oscillatorNode.start();

共有1个答案

司空昊阳
2023-03-14

我不能再现任何极端的声音。当gainnode.gain.value为1.0时,我得到一个干净的正弦,不会太大声。将增益提高到1以上,正弦波就会像预期的那样削波。将增益降低到0.001会使电波几乎听不见。

如果你的机器是“疯狂的声音”,那你的机器可能出了什么问题。

 类似资料:
  • 在下面的代码中,我希望在每次按下按钮元素时创建一个分配给o的新振荡器节点,允许多次按下,从而在440处产生多个1秒音调。然而,我发现这个按钮只能按一次以产生一个音调,之后它就会消失,就好像我没有创建新的振荡器节点一样。我正在学习JavaScript,我怀疑它一定是一些微不足道的东西。有人有主意吗? 编辑: 刚找到这个问题解决了这个问题。解决方案是将audio_context.currentTime

  • 我正在尝试添加AnalyserNode并将输出声音可视化到我制作的web音频示例中,但我不知道如何实现。我想我没有将正确的源传递给分析器(?) 完整代码如下:https://jsfidle.net/kepin95043/1ub0sjo3/ 谁能帮我找出我做错了什么?提前感谢! PS:用火狐打开吧。对我来说在基于Chromium的浏览器上不起作用。 下面是一个工作示例:https://codepen

  • 这一节,让我们试着制造一些声音,我们将需要完成以下任务: 创建Web Audio API context 在context中创振荡器节点 选择波形类型 设定频率 把振荡器连接到目标上 启动振荡器 让我们把这些步骤写成代码 var context = new (window.AudioContext || window.webkitAudioContext)(); var oscillator

  • 在执行此代码时,我会得到这样的错误:“Uncattle TypeError:Failed to execute'linear ramptoValueAtTime'on'AudioParam':The provided double value is non-finite”。 &如果替换ac.endTime只是endTime-“endTime未定义”,则发生错误。也许有人能解释为什么会这样?谢谢

  • 振荡器是一个重复波形,它有一个频率和峰值幅度。振荡器的最重要的特征之一,除了它的频率和振幅之外,是波形的形状。四种最常用的振荡器的波形是正弦、方形、三角、锯齿。 它也可以创建自定义形状。不同的形状适合不同的合成技术并产生不同的声音,有从平滑的到刺耳的。 网络音频接口以“OscillatorNode(振荡器节点)”为单位进行波形重复。我们可以像下面这样利用分配属性值来达到上图所示的这些波形: Os

  • 当使用web audio API制作振荡器时,我总是听到当停止它时的咔嗒声。我四处寻找,但没有一个解决办法对我有效。我尝试了所有的实现从我如何避免这种‘咔哒’声音时,我停止播放一个声音?和更多 我读到一个解决方案是等待下一个零振幅值,然后立即停止播放。有没有一种方法可以使用web audio API做到这一点? 我正在考虑为我的项目切换到Tone.js,因为声音不需要点击就可以播放。他们是如何解决