问题标签 [javascript-oscillator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8850 浏览

javascript - (Web Audio API) 振荡器节点错误:不能多次调用 start

当我启动振荡器时,停止它,然后再启动它;我收到以下错误:

显然我可以gain用来“停止”音频,但这让我觉得这是一种糟糕的做法。在能够再次启动振荡器的同时停止振荡器的更有效方法是什么?

代码(jsfiddle

当前解决方案(问题时):http: //jsfiddle.net/xbqbzgt2/2/

最终解决方案:http: //jsfiddle.net/xbqbzgt2/3/

0 投票
2 回答
1455 浏览

javascript - 在 JavaScript 中改变振荡器的音量?

我已经创建了一个振荡器(如下图),就像 MDN 说的:

有没有办法改变音量,比如我改变了频率值?

0 投票
2 回答
1816 浏览

javascript - javascript 振荡器音量无法正常工作

我有以下片段,它创建一个振荡器并以一定的音量播放它。我将oscillator变量保留在函数范围之外,以便在需要时可以使用其他函数停止它。

麻烦的是,增益节点volume似乎没有像您期望的那样工作。据我了解,增益0是静音的,增益1是 100% 音量。但是,在这种情况下,0作为gain值传递只会播放静音,而不是完全静音(我希望我能正确解释)。

我究竟做错了什么?有人可以帮忙吗?

0 投票
2 回答
1361 浏览

javascript - 如何使用 Node.js 将音频样本数组写入 wav 文件?

我正在用 JavaScript 编写一个振荡器,它在正弦波频率之间创建一个扫描(即啁啾)。为了测试,我想将样本(浮点数)写入 wav 文件。我将如何在 Node.js 中执行此操作?我已经看到了很多关于浏览器端的信息,但没有任何特定于 Node 或任何依赖于浏览器 API 的信息。

0 投票
1 回答
225 浏览

javascript - 带有睡眠功能的振荡器的 JS 音频音符序列

我正在尝试创建一个简单的函数,以赫兹(毫秒)playTone(freq, dur)播放音调。freqdur

我无法让函数等待上一个笔记完成,然后再开始一个新的。我的代码在下面,使用sleep这个站点的一个函数。我还不了解 JS 的同步/异步的东西,我想让事情尽可能简单。任何人都可以帮助我的代码工作吗?目前所有的音符都一起演奏。

0 投票
1 回答
107 浏览

javascript - 是否有可以产生 1/f(粉红噪声)波动的 node.js 模块?

我正在寻找一个 node.js 模块,它能够产生遵循S(f) = 1/f“粉红色/分形噪声”模式的波动(任何类型)。这意味着,如果我们对时间序列进行傅立叶分析,我们会发现有一些高幅度波动和许多低幅度波动,信号分布如下:

在此处输入图像描述

如果您不了解该模块,那么也许知道一些可以帮助我生成它的数学 node.js 工具包?

谢谢!

0 投票
1 回答
273 浏览

frequency - Oscillator.detune() 在 Web Audio API 中是如何工作的?

我读过 1200 美分在 1 个八度音阶中。

所以,我尝试了以下方法:

情况1:

两个振荡器分别为所有值产生相同的声音x这对我来说很有意义,因为 1200 音分失谐是一个八度音阶(频率的两倍)。

案例二:

所以,我预计如果我得到一半的美分,那么频率应该会增加 50%。但是,当我单独听到它们时,对于许多不同的值,x它们都产生了不同的声音。听起来这两种声音的频率相同,但幅度不同。

我无法理解为什么会这样。这个你能帮我吗。我对声音背后的物理学很陌生。

0 投票
1 回答
277 浏览

javascript - 使用 WebAudio 播放一系列音符 - 如何异步停止?

我正在使用 WebAudio 播放一系列音符。我有一个运行良好的 playNote 功能;我向它发送音符频率以及每个音符的开始和停止时间。序列参数的生成发生实际声音开始之前,这有点令人困惑。该函数只是为每个音符创建一个振荡器。(我尝试了其他方法,这是最干净的)。

但我想异步停止序列(例如,当发生外部事件时)。我尝试设置一个可用于门控输出的主增益节点,但它似乎需要在函数“内部”,因此以后无法控制。如果我尝试关闭函数内的增益对象,则为时已晚 - 因为开始和停止时间已经传递给函数。

这是我的功能:

任何帮助表示赞赏!

0 投票
0 回答
37 浏览

web-audio-api - Web Audio API 振荡器不会发出任何声音

我正在尝试测试一个未连接到场景中任何世界对象的简单振荡器。只是一个音调,但按照振荡器节点的示例似乎没有播放任何内容。是否需要先进行某种用户交互才能被允许播放?

我还有一个在场景中旋转的立方体,但它不应该影响任何东西。剧本:

0 投票
1 回答
20 浏览

javascript - audioContext 振荡器在一秒钟后“卡住”并且不会停止

我想创建一个振荡器,当用户按下一个键(现在只是空格键)时启动和停止。但是如果按键时间过长,比如一秒钟 - 振荡器会卡住并且不会停止();