Envelope filter and filter order
This commit is contained in:
parent
abaeb52b7c
commit
ec8616a515
2 changed files with 49 additions and 9 deletions
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue