Skip to main content

API

DHDenoiserConfig​


Builder​

DHDenoiserConfig.Builder는 DHDenoiserConfig 인스턴스를 초기화하고 구성하는 빌더 클래스입니다.

정보

licenseKey는 필수적으로 전달해야하는 파라미터입니다

DHDenoiserConfig.Builder(String licenseKey)

샘플레이트와 프레임 크기를 다르게 설정하고자 하는 경우 다음 코드와 같이 설정할 수 있습니다.

String LICENSE_KEY = "YOUR_LICENSE_KEY"
int sampleRate = 48000;
int frameSize = 768; // 16ms @48kHz

DHDenoiserConfig denoiserConfig = new DHDenoiserConfig.Builder(LICENSE_KEY)
.setSampleRate(sampleRate)
.setFrameSize(frameSize)
.build();

DHDenoiser.init(this, denoiserConfig);

setSampleRate​

DHDenoiserConfig setSampleRate(int sampleRate)

기본 샘플레이트는 16000Hz입니다. 현재 추가적으로 지원되는 샘플레이트는 48000Hz이며, 샘플레이트 변경을 원하는 경우 setSampleRate를 사용할 수 있습니다.

setFrameSize​

DHDenoiserConfig setFrameSize(int frameSize)

process 함수를 통해 매번 처리되는 오디오 프레임의 크기를 지정합니다. 기본 프레임 크기는 16kHz 기준 128개이며 이는 최소 프레임 크기입니다.

팁

이 메서드를 통해 프레임 크기를 조절할 수 있으며, 최소 프레임 크기의 배수로만 설정이 가능합니다. 사용하는 샘플레이트가 16000Hz라면 128, 256, 384 등이 가능합니다.

DHDenoiser​


init​

void init(Context applicationContext, DHDenoiserConfig denoiserConfig)

DHDenoise.Builder를 이용하여 인스턴스 생성을 완료했다면 init 함수를 이용하여 노이즈 제거에 필요한 리소스 할당 및 초기화 작업을 수행합니다.

isExpired​

boolean isExpired()

SDK Key가 만료된 경우 초기화 작업이 제대로 완료되지 않습니다. 라이선스 만료 확인을 위해 isExpired를 사용할 수 있습니다

다음은 이 메서드의 사용 예입니다:

// 초기화 코드 ...

DHDenoiser.init(this, denoiserConfig);

if (DHDenoiser.isExpired()) {
Log.e("DHDenoiser", "SDK has expired");
}

destroy​

void destroy()

할당된 모든 리소스를 해제합니다.

주의

앱을 종료하기 전에 반드시 호출하여 모든 리소스를 해제해야합니다.

다음은 이 메서드의 사용 예입니다:

DHDenoiser.destroy()

process​

void process(float[] input, float[] output)

입력된 오디오 데이터에 대해 노이즈 제거 처리를 합니다.

Parameter

  • input : 노이즈를 제거하고자 하는 입력 오디오 버퍼
  • output : 노이즈 제거된 출력 오디오 버퍼

process

void process(float[] input, float[] output, float denoiserLevel)

입력된 오디오 데이터에 대해 노이즈 제거 처리를 합니다.

Parameter

  • input : 노이즈를 제거하고자 하는 입력 오디오 버퍼
  • output : 노이즈 제거된 출력 오디오 버퍼
  • denoiserLevel : 노이즈 제거의 단계를 조절하며 0.0 ~ 1.0 범위의 값을 입력해야 합니다.
    • 0.0 : 노이즈 제거를 하지 않은 것과 동일
    • 1.0 : 최대로 노이즈 제거 (default)

다음은 이 메서드의 사용 예입니다:

float denoiserLevel = 0.8f;
int frameSize = 128; // default size
float[] input = new float[frameSize];
float[] output = new float[frameSize];

DHDenoiser.process(input, output, denoiserLevel);

enableDenoiser()​

void enableDenoiser()

노이즈 제거 기능을 활성화 합니다. 초기 상태는 노이즈제거가 활성화된 상태입니다

disableDenoiser()​

void disableDenoiser()

노이즈 제거 기능을 비활성화 합니다. 노이즈 제거를 하지 않은 원본 오디오 데이터를 출력하도록 설정됩니다.

isDenoiserEnabled()​

boolean isDenoiserEnabled()

현재 설정된 노이즈 제거의 활성화 여부를 반환합니다.

다음과 같이 노이즈 제거 Toggle 기능을 구현할 수 있습니다.

if (DHDenoiser.isDenoiserEnabled()) {
DHDenoiser.disableDenoiser();
} else {
DHDenoiser.enableDenoiser();
}