Envelope filter and filter order

This commit is contained in:
Raphael Forment 2023-09-04 04:56:45 +02:00
parent abaeb52b7c
commit ec8616a515
2 changed files with 49 additions and 9 deletions

View file

@ -66,10 +66,18 @@ export const getADSR = (attack, decay, sustain, release, velocity, begin, end) =
return gainNode;
};
export const getFilter = (type, frequency, Q) => {
const filter = getAudioContext().createBiquadFilter();
export function createFilter(context, type, frequency, Q, curve, to, over, t) {
const filter = context.createBiquadFilter();
filter.type = type;
filter.frequency.value = frequency;
filter.Q.value = Q;
if (to !== null && over !== null) {
if (curve === 'lin') {
filter.frequency.linearRampToValueAtTime(to, t + over);
} else {
filter.frequency.exponentialRampToValueAtTime(to, t + over);
}
}
return filter;
};
}