问题标签 [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.
javascript - (Web Audio API) 振荡器节点错误:不能多次调用 start
当我启动振荡器时,停止它,然后再启动它;我收到以下错误:
显然我可以gain
用来“停止”音频,但这让我觉得这是一种糟糕的做法。在能够再次启动振荡器的同时停止振荡器的更有效方法是什么?
代码(jsfiddle)
当前解决方案(问题时):http: //jsfiddle.net/xbqbzgt2/2/
最终解决方案:http: //jsfiddle.net/xbqbzgt2/3/
javascript - 在 JavaScript 中改变振荡器的音量?
我已经创建了一个振荡器(如下图),就像 MDN 说的:
有没有办法改变音量,比如我改变了频率值?
javascript - javascript 振荡器音量无法正常工作
我有以下片段,它创建一个振荡器并以一定的音量播放它。我将oscillator
变量保留在函数范围之外,以便在需要时可以使用其他函数停止它。
麻烦的是,增益节点volume
似乎没有像您期望的那样工作。据我了解,增益0
是静音的,增益1
是 100% 音量。但是,在这种情况下,0
作为gain
值传递只会播放静音,而不是完全静音(我希望我能正确解释)。
我究竟做错了什么?有人可以帮忙吗?
javascript - 如何使用 Node.js 将音频样本数组写入 wav 文件?
我正在用 JavaScript 编写一个振荡器,它在正弦波频率之间创建一个扫描(即啁啾)。为了测试,我想将样本(浮点数)写入 wav 文件。我将如何在 Node.js 中执行此操作?我已经看到了很多关于浏览器端的信息,但没有任何特定于 Node 或任何依赖于浏览器 API 的信息。
javascript - 带有睡眠功能的振荡器的 JS 音频音符序列
我正在尝试创建一个简单的函数,以赫兹(毫秒)playTone(freq, dur)
播放音调。freq
dur
我无法让函数等待上一个笔记完成,然后再开始一个新的。我的代码在下面,使用sleep
这个站点的一个函数。我还不了解 JS 的同步/异步的东西,我想让事情尽可能简单。任何人都可以帮助我的代码工作吗?目前所有的音符都一起演奏。
frequency - Oscillator.detune() 在 Web Audio API 中是如何工作的?
我读过 1200 美分在 1 个八度音阶中。
所以,我尝试了以下方法:
情况1:
两个振荡器分别为所有值产生相同的声音x
这对我来说很有意义,因为 1200 音分失谐是一个八度音阶(频率的两倍)。
案例二:
所以,我预计如果我得到一半的美分,那么频率应该会增加 50%。但是,当我单独听到它们时,对于许多不同的值,x
它们都产生了不同的声音。听起来这两种声音的频率相同,但幅度不同。
我无法理解为什么会这样。这个你能帮我吗。我对声音背后的物理学很陌生。
javascript - 使用 WebAudio 播放一系列音符 - 如何异步停止?
我正在使用 WebAudio 播放一系列音符。我有一个运行良好的 playNote 功能;我向它发送音符频率以及每个音符的开始和停止时间。序列参数的生成发生在实际声音开始之前,这有点令人困惑。该函数只是为每个音符创建一个振荡器。(我尝试了其他方法,这是最干净的)。
但我想异步停止序列(例如,当发生外部事件时)。我尝试设置一个可用于门控输出的主增益节点,但它似乎需要在函数“内部”,因此以后无法控制。如果我尝试关闭函数内的增益对象,则为时已晚 - 因为开始和停止时间已经传递给函数。
这是我的功能:
任何帮助表示赞赏!
web-audio-api - Web Audio API 振荡器不会发出任何声音
我正在尝试测试一个未连接到场景中任何世界对象的简单振荡器。只是一个音调,但按照振荡器节点的示例似乎没有播放任何内容。是否需要先进行某种用户交互才能被允许播放?
我还有一个在场景中旋转的立方体,但它不应该影响任何东西。剧本:
javascript - audioContext 振荡器在一秒钟后“卡住”并且不会停止
我想创建一个振荡器,当用户按下一个键(现在只是空格键)时启动和停止。但是如果按键时间过长,比如一秒钟 - 振荡器会卡住并且不会停止();