피크를 제한하기 위해 오디오 파형을 효과적으로 압축하는 공식을 찾고 있습니다. 이것은 볼륨 레벨을 유지하기 위해 앰프 게인을 제어하는 "자동 볼륨 컨트롤"응용 프로그램이 아니라 개별 피크를 제한 ( "소프트"잘라 내기)하고 싶습니다. (이것이 고조파를 도입한다는 것을 알고 있지만 데이터를 듣지 않고 분석하려고합니다.)
지금까지 나의 (매우 조잡한) 공식은 다음과 같습니다.
factor = (10 * average / level) + exp(-sqrt(0.1 * level / average))
여기서 레벨 순간 음량이며, 평균은 과거 평균 사운드 레벨이며, 요인 은 "조정"레벨 (제조하는 데 사용되는 승수 인 계수 배 수준 ).
또한이 승수는 1보다 작은 값으로 계산되는 경우에만 적용됩니다. 그렇지 않으면 레벨 이 조정되지 않은 상태로 유지됩니다.
조정 된 수준을 과거 평균의 배수 (이 공식의 약 15 배)로 제한하는 것이 목적입니다. 이 공식은 내가 필요로하는 것이지만 숫자가 커질수록 "딥"을 나타냅니다. 즉, 조정 된 레벨 (즉, 계수 시간 레벨 )은 조정되지 않은 레벨이 증가함에 따라 포인트까지 증가하지만 점근 적으로 진행되기보다는 실제로 작아지기 시작합니다. (실제로 첫 번째 요소는 주로 값이 매우 높은 수식이 0이되는 것을 방지하기 위해 추가되었습니다.)
(이 방법으로 값을 제한하려는 이유는 주로 과도 노이즈가 사운드 레벨의 평균 실행을 심각하게 화나게하지 않기 때문입니다. 그러나 코골이를 분석 할 때 "과도 노이즈"는 상당히 중요하므로 간단히 스 sq 치할 수 있습니다. .)
그래서 누군가 더 나은 것을 제안 할 수 있습니까? (원하지 않는 경우에는 점근 적 행동이 발생하기 쉽지만 원하는 경우에는 힘들 것 같습니다.)