Создание тона с использованием чистого javascript с Chromium WebAudio API

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

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

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

спасибо!

3 ответов


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


веб-аудио 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;

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


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