Skip to main content

API

DHDenoiserConfig


Builder

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

정보

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();
}