Я пытаюсь создать дождь в javascript Web Audio API. До сих пор я создавал низкочастотный шум для фона, и я работаю над высокочастотным шумом, который будет имитировать звук капель дождя. Однако сейчас высокочастотный шум очень похож на белый шум и слишком интенсивен, чтобы быть отдельными каплями. Кто-нибудь знает, как немного «отделить» звук, чтобы он звучал почти как треск. Здесь - это ссылка на то, что я хотел бы, чтобы высокочастотный шум звучал, если вы увеличите последний слайдер (фиолетовый), вы можете его услышать.
А вот мой HTML код до сих пор
<script>
let context= new AudioContext();
let context2= new AudioContext();
let lowpass = context.createBiquadFilter();
lowpass.type = 'lowpass';
//lowpass.Q.value = -7.01;
lowpass.frequency.setValueAtTime(80, context2.currentTime);
let gain = new GainNode(context);
gain.gain.value= 0.4;
let gain2 = new GainNode(context2);
gain2.gain.value= 0.02;
let highpass=context2.createBiquadFilter();
highpass.type = 'highpass';
highpass.Q.value = 2;
//highpass.frequency.setValueAtTime(6000, context2.currentTime);
let distortion = context2.createWaveShaper();
let delay = context2.createDelay(90.0);
function StartAudio() {context.resume()};
context.audioWorklet.addModule('basicnoise.js').then(() => {
let myNoise = new AudioWorkletNode(context,'noise-generator');
myNoise.connect(lowpass);
lowpass.connect(gain);
gain.connect(context.destination);
});
function StartAudio2() {context2.resume()};
context2.audioWorklet.addModule('basicnoise.js').then(() => {
let myNoise2 = new AudioWorkletNode(context2,'noise-generator');
myNoise2.connect(highpass);
highpass.connect(gain2);
gain2.connect(delay);
delay.connect(context2.destination);
});
Я играл с различными функциями, некоторые из них мало что сделали, или я просто не правильно их использую, так как я очень плохо знаком с сцена аудио API. Любая помощь приветствуется, так как это для школьного проекта, и я знаю, что некоторые другие ученики хотят издавать звуки огня и могут также извлечь выгоду из потрескивающего шума !! Спасибо !!