2014-11-17 3 views
1

웹 오디오 API에서 convolver 노드를 사용하여 리버브 이펙트를 만들 수 있습니다. 그런 다음 게인 노드를 통해 완전히 건조한 버전의 신호를 마른 버전과 믹스하여 효과의 양을 제어 할 수 있습니다. 제가 알고 싶습니다. 리버브 테일 길이와 룸 크기를 동적으로 수정할 수 있는지, 그리고이를 수행하는 데있어 "모범 사례"접근법인지에 대해 알고 싶습니다. 나는 이것이 scriptProcessor 노드와 convolver 노드가 어떤 식 으로든 함께 작동한다고 가정합니다.Web Audio API 리버브 테일, 룸 크기 및 기타 분위기 변수를 수정하는 방법

답변

3

이것을 수행하는 훨씬 쉬운 방법은 임펄스 응답을 변경할 때 새 리버브 임펄스 응답 (싼 버전으로 작동하는 잡음의 지수 감소)을 생성하고 컨 볼버 노드 사이를 교차 페이드하는 것입니다 (직접 단일 노드에 사용 된 IR을 글리치없이 변경).

+1

이 방법을 사용하면 거대한 충적 라이브러리의 머리에 이미지를 넣을 수 있습니다.이 모든 라이브러리는 하나의 라이브러리로 서로 잘 작동하도록 설계되었으며 최상의 검색 알고리즘을 갖춘 거대한 다차원 배열로 저장됩니다. 하나는 사용자가 부르는 가치의 조합에 기반을 둔다. 나는이 권리를 이해하고 있는지 궁금하다. – William

+1

@cwilso가 언급했듯이, 당신은 그것들의 거대한 수를 미리 저장하지 않고 필요할 때 인공적인 리버브 응답을 생성 할 수 있습니다. 나는 최근 오픈 소스 라이브러리 (https://github.com/adelespinasse/reverbGen)를 시작했다. 아직 추가하고 싶은 기능이 많이 있지만 작동하지만 시간을 절약 할 수 있습니다. – aldel

+0

나는 그의 요지를 오해했다. 나는 당신이 동적으로 응답 [당신이 가진 방식] (http://aldel.com/reverbgen/)을 만들 수 있다는 것을 깨닫지 못했습니다. 나는 그가 웹 오디오 API의 바깥 쪽을 의미하는 "새로운 응답 생성"이라고 말했을 때 - 그 다음에는 가져 오기를 기다렸습니다. 거대한 다차원 배열에 대한 저의 말은 그들을 모두 저장합니다 :) – William