使用 Chromium WebAudio API 使用纯 JavaScript 生成音调

发布于 2024-11-26 18:47:21 字数 388 浏览 3 评论 0原文

如何仅使用 javascript 和 Chromium 的 WebAudio API 生成音调(例如纯正弦波)?

我想完成类似 Firefox 同等功能 的任务。

此处的 Chromium WebAudio 演示似乎都使用预先录制的

谢谢!

How can I generate a tone (pure sine wave, for instance) using only javascript and Chromium's WebAudio API?

I would like to accomplish something like the Firefox equivalent.

The Chromium WebAudio demos here appear to all use prerecorded <audio> elements.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

饮湿 2024-12-03 18:47:21

Web Audio API 具有所谓的振荡器接口来生成您正在谈论的音调。它们非常容易上手...

var context = new webkitAudioContext(),
    //Call function on context
    oscillator = context.createOscillator(); // Oscillator defaults to sine wave

oscillator.connect(context.destination);
oscillator.start();

您可以通过执行以下操作来更改波浪类型:

oscillator.type = 1; // Change to square wave.

或者:

oscillator.type = oscillator.SQUARE;

我已经写了 一篇关于这个主题的文章更详细,所以这可能对您有用!

The Web Audio API has what's known as the Oscillator Interface to generate the tones you're talking about. They're pretty straight forward to get going...

var context = new webkitAudioContext(),
    //Call function on context
    oscillator = context.createOscillator(); // Oscillator defaults to sine wave

oscillator.connect(context.destination);
oscillator.start();

You can change the type of wave by doing:

oscillator.type = 1; // Change to square wave.

or alternatively:

oscillator.type = oscillator.SQUARE;

I've written an article about this very topic in more detail, so that might be of some use to you!

蓝眼泪 2024-12-03 18:47:21

可能不是最好的方法,但我使用 dsp.js 生成不同类型的正弦曲线,然后将它们传递到此演示中的 Web 音频 API: http://www.html Fivewow.com/demos/waveform-generator/index.html

Probably not these best way, but I used dsp.js to generate different types of sinusoids, then passed them off to the Web Audio API in this demo: http://www.htmlfivewow.com/demos/waveform-generator/index.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文