나는이 사이트에서 약간의 검색을했지만 놀랍게도 관련 정보를 많이 찾지 못했으며 DSP에 대한 나의 지식은 매우 제한적입니다.
내 목표는 매우 간단합니다. C ++로 알고리즘 리버브를 프로그래밍하고 싶습니다. 더 정확하게 말하면, 최상의 옵션은 최종 사용자가 품질과 CPU 사용 사이의 균형을 선택하도록하는 것입니다.
내가 지금까지 알아 낸 것은 리버브를 만들려면 건조한 신호를 초기 반사 알고리즘에 공급 한 다음 늦은 반사 알고리즘에 공급해야한다는 것입니다. 이 올바른지 ?
이제 피드백 지연 네트워크 ( 시간에 따른 피드백 지연 네트워크를 사용하는 인공 잔향 제거)를 사용하여 후기 반사 부분에 대한 광범위한 기사를 찾았습니다 . 필자가 읽은 내용에서 FDN은 늦은 반영을 시뮬레이션하는 너무 광대 한 (cpu wise) 방법이 아닌 고품질입니다. 또한 지연 라인 수를 변경하여 품질 / CPU 충전 트레이드 오프를 제어 할 수 있다고 생각합니다.
그러나 초기 반사 알고리즘을 프로그래밍하는 방법을 전혀 모릅니다 (DSP 도메인에서는 실제로 무지합니다).
프로그래밍 및 계산 비용이 저렴한 장점이있는 일종의 다중 지연을 사용하는 것이 논리적으로 들립니다. 그러나 그것은 너무 단순해서 사실이 아닙니다.
또한, 본능은 하나 또는 여러 개의 필터가 신호 경로 어딘가에 포함되어야한다고 말합니다.
어떤 사람이 나를 위해이 주제를 분명히 해 주시겠습니까?
두 노트 :
- 나는 컨볼 루션 리버브를 전혀 따르지 않습니다. 나는 실제로 리버브의 리얼리즘에 신경 쓰지 않지만 대신 CPU 배고픈 리버브가 아닌 좋은 소리, 조정 가능을 원합니다.
- 또한 코딩 부분은 걱정스럽지 않습니다. 그렇지 않으면 스택 오버플로를 묻습니다. 그것은 실제로 DSP 부분이며, 그 다음 부분입니다. :)