web-audio-api - 失谐振荡器似乎相互反弹
问题描述
注意:如果你点击小提琴,确保你的声音被调到最低。
我正在使用 Web Audio API,并且我想将一个振荡器与另一个振荡器失谐几美分以产生更厚实的声音。问题是当我对一个振荡器进行失谐时,它会产生脉动的声音。如果我使用失谐量,它会变得更好或更糟,具体取决于我为每个振荡器设置的值。如果我将一个振荡器失谐 -1(如下面的示例所示),则从振荡器返回的声音会周期性地中断。
为什么是这样?我以前使用过的软件合成器允许您以一分钱的方式失谐,所以假设这不是问题。
// create web audio api context
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
// create Oscillator node
var oscillator = audioCtx.createOscillator();
oscillator.type = 'square';
oscillator.frequency.setValueAtTime(440, audioCtx.currentTime); // value in hertz
oscillator.connect(audioCtx.destination);
// create Oscillator node
var oscillator1 = audioCtx.createOscillator();
oscillator1.type = 'square';
oscillator1.frequency.setValueAtTime(440, audioCtx.currentTime); // value in hertz
oscillator1.detune.setValueAtTime(-1, audioCtx.currentTime);
oscillator1.connect(audioCtx.destination);
oscillator.start();
oscillator1.start();
解决方案
推荐阅读
- java - 在多个包上执行
- node.js - 从服务器端 NodeJS 渲染谷歌地图
- react-native-ios - React Native iOS 构建因以下错误而失败:未找到架构 arm64 的符号
- javascript - 在 setInterval 循环中触发第二个 ajax 请求
- vector - 如何在一行中连接不可变向量?
- java - 使用 HttpUrlConnection 和 InputStream 下载 PDF 文件
- neo4j - 尝试获取足球数据库中的最大连续获胜次数
- django - Django - 在管理面板中显示具有内容类型的模型
- docker - docker push 到 docker hub 结果“未知 blob”
- java - Jena eyeball 验证器:方案应该是小写的