2012-10-26 5 views

답변

1

적용 할 효과의 종류에 따라 다릅니다. SoundPool.setRate을 사용하여 간단히 피치를 변경할 수 있습니다. 더 복잡한 효과를 원한다면 AudioEffect을 사용해보십시오.

나는 서로 다른 주파수의 데시벨 값을 변경하고 싶습니다. Equalizer 효과가하고 정확히 무엇

. Equalizer.getBand을 사용하여 원하는 주파수의 대역을 검색하고 Equalizer.setBandLevel으로 레벨을 변경하십시오.

+0

효과가 더 눈에 띄게하려면 더 많은 밴드가 필요합니다. 5 밴드 이퀄라이저에서는 효과를 그다지 식별 할 수 없습니다. –

0

디지털 - 아날로그 변환 직전을 의미하는 경우, 아니요, 앱에서이를 수행 할 수 없습니다. 오디오 트랙을 AudioTrack 인스턴스에 쓰기 전에 오디오를 처리하거나 Andrei가 제안한 AudioEffect를 사용하여 오디오를 처리 할 수 ​​있습니다. 이 두 가지 경우 모두 오디오는 DAC에 도달하기 전에 플랫폼의 오디오 DSP (예 : 멀티 밴드 압축, 피크 제한, 사용 된 특정 스피커 구성 요소를 보완하는 등화)의 추가 필터를 통과 할 수 있습니다.

주파수 도메인에서 오디오 신호를 수정하려는 것처럼 들리므로, 예를 들어 다음을 살펴보십시오. FFTW은 자바 래퍼뿐만 아니라 C 인터페이스를 가지고 있기 때문에 가장 편안하다고 느끼는 것에 따라 네이티브 코드와 자바 코드 모두에서 사용할 수 있습니다. 필자는 직접 사용해 본 적이 없으므로 Android 프로젝트에 통합하는 방법에 대한 정보는 제공 할 수 없습니다.

관련 문제