Генерация тона с использованием чистого JavaScript с помощью Chromium WebAudio API - PullRequest
10 голосов
/ 29 июля 2011

Как я могу генерировать тон (например, чистую синусоидальную волну), используя только javascript и Chromium WebAudio API?

Я хотел бы достичь чего-то вроде эквивалента Firefox .

Демонстрации Chromium WebAudio здесь , кажется, используются всеми предварительно записанными <audio> элементами.

Спасибо!

Ответы [ 3 ]

20 голосов
/ 20 июня 2012

API Web Audio имеет так называемый интерфейс осциллятора для генерации тонов, о которых вы говорите.Они довольно прямолинейны, чтобы начать ...

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;

Я написал статью на эту тему более подробно, так что она может быть вам полезна!

4 голосов
/ 09 сентября 2011

Вероятно, это не лучший способ, но я использовал dsp.js для генерации различных типов синусоид, а затем передал их в API Web Audio в этой демонстрации: http://www.htmlfivewow.com/demos/waveform-generator/index.html

2 голосов
/ 22 октября 2012

Для генерации звука я думаю, что эта ссылка была бы весьма полезна.http://0xfe.blogspot.ca/2011/08/generating-tones-with-web-audio-api.html

...