이렇게하는 가장 좋은 방법은 병렬 연결을 설정하는 것입니다. 하나는 필터링과 직접 연결 한 다음 교차 페이드하는 것입니다 (예 : 각각 이득 노드가 있고 이득 노드 중 하나는 0.0으로 설정되고 다른 하나는 1.0). 라우팅과 같을 것이다 :
Source-->GainNode1-->LowpassFilter-->HighshelfFilter-->Destination
↳->GainNode2-----------------------------------↗︎
1.0에 0.0으로 설정 게인 노드 중 하나는 함께 시작
, 다음과 같이 그들 사이를 전환 :
// activate the filters - using setTarget to do a fast crossfade will avoid clicks
gainNode1.gain.setTargetAtTime(1.0, audioCtx.currentTime + 1, 0.001);
// deactivate the direct line
gainNode2.gain.setTargetAtTime(0.0, audioCtx.currentTime + 1, 0.001);
당신은 수, 당신이 제안, 중요한 영향을 미치지 않도록 필터 자체를 변경하십시오. all-pass 대신 0.0의 .gain을 갖는 "peaking"유형의 필터를 사용해보십시오. 나는 이것이 모든 위상 관계에 어떤 영향을 미치는지 정확하게 알지 못한다. (이것이 allpass가 이상하게 들리는 이유이다).
마지막으로 노드를 연결 해제했다가 다시 연결할 수 있습니다. 활성 오디오가 있으면 클릭 또는 팝이 발생합니다. (위에서 언급 한 샘플이하는 것입니다.)