Я начал экспериментировать с Web Audio API, пытаясь создать различные осцилляторы для создания акустических волн.Изменение частоты генератора
Поскольку я доволен всем процессом, мне интересно, есть ли способ играть тоны, а не с постоянной частотой, но менять их на полпути.
Пример: Я хочу тон, который начинается в 300 Гц для 3 секунды, а затем поднимают линейно к 400 Гц в течение следующих 4 секунд .
Я Источника, но я не совсем уверен, если это то, что я ищу:
osc.setPeriodicWave(wave);
Мой JavaScript до сих пор:
$(document).ready(function() {
// Function that plays the tone.
var playTone = function(duration, frequency) {
var context = new(window.AudioContext || window.webkitAudioContext)();
var osc = context.createOscillator();
// Sine is the default type. Also available: square, sawtooth and triangle waveforms.
osc.type = 'sine';
// Frequency in Hz.
osc.frequency.value = frequency; // Frequency in Hz
osc.connect(context.destination);
osc.start(context.currentTime);
osc.stop(context.currentTime + duration);
}
// Button and input functionality.
$("button").on("click", function() {
var whichButton = $(this).text()
var duration = document.getElementById("durationInput").value;
var frequency = document.getElementById("f1Input").value;
if (whichButton == " Play") {
playTone(duration, frequency);
}
});
});
Мои codepen с работой до сих пор:Codepen.io - Acoustic wave generator
Пожалуйста, включите в свой вопрос весь соответствующий код в [mcve], а не на сторонний сайт. –
Выполнено в соответствии с запросом! Простите за это. – Konsal