2017-05-15 2 views
1

나는 특정 주파수 속도로 신호를 자르고 싶다. (인간이 초음파를들을 수 없도록). CrossExample을 사용하여 테스트하고 있습니다. 나는 다음과 같은 필터를 사용초강력 안드로이드 고역 통과 필터

filter = new SuperpoweredFilter(SuperpoweredFilter_Resonant_Lowpass, samplerate); 

filter->setResonantParameters(floatToFrequency(1.0f - value), 0.2f); 
filter->enable(true); 

filter->process(stereoBuffer, stereoBuffer, numberOfSamples); 

불행하게도,에 관계없이 주파수 매개 변수의 당신은 항상 제대로 차단하지 않습니다 의미하는 신호를 약간 (. 최대 볼륨 + 가까운 스피커에 귀를)들을 수 있습니다.

내가 잘못했거나 SDK의 실패입니까?

답변

1

SuperpoweredFilter는 고전적인 IIR 필터를 구현합니다. 이러한 필터는 항상 어떤 종류의 주파수 커브를 가지고 있으며 결코 "선명하게"는 아닙니다. 특정 주파수에 대해 완전한 무음이 필요한 경우 주파수 도메인에서 해당 주파수를 잘라냅니다. 이 작업을 수행하는 방법에 대한 SDK의 SuperpoweredFrequencyDomain 예제를 확인하십시오.

+0

감사합니다. CrossExample과 같이 파일을 입력 소스로 가져 오는 방법을 알고 계십니까? 여기 – neodymium

+1

이 예는 상기 offlineFilter 방법을 확인 : https://github.com/superpoweredSDK/Low-Latency-Android-Audio-iOS-Audio-Engine/blob/master/Examples_iOS/SuperpoweredOfflineProcessingExample/SuperpoweredOfflineProcessingExample/ViewController.mm –

+0

고마워, 효과가 있었다! 루핑 신호에서 페이드 인/페이드 아웃을 할 수 있습니까? – neodymium

관련 문제