Skip to main content

Beamformer SDK 적용방법

Deep Hearing Beamformer SDK for Android 적용 가이드입니다.

Audio Format

빔포밍을 위해 다음과 같은 형식의 오디오 데이터를 필요로 합니다.

Sample Rate16000
Data Formatpcm16
Input Sizestereo 256 (128 per channel)
Output Sizemono 128

Requirements

SDK를 사용하기 위한 요구 사양입니다.

  • API 23: Android 6.0 이상

Install Beamformer

Gradle 설정

정보

Gradle 6.7 이하 버전을 사용하는 경우, build.gradle (Gradle ≤ 6.7) 탭의 코드를 루트 build.gradle 파일에 추가합니다.

Gradle 6.8 이상을 사용하는 경우, setting.gradle (Gradle ≥ 6.8) 탭의 코드를 settings.gradle 파일에 추가합니다.

dependencyResolutionManagement {
repositories {
maven {
credentials {
username = "username"
password = "password"
}

url "Deep Hearing repository url"

}
}
}

자세한 내용은 안드로이드 문서를 참고합니다.

다음으로 모든 Gradle 버전에 대해 애플리케이션 수준에서 build.gradle 파일을 열고 다음 코드를 추가합니다.

dependencies {
implementation 'com.deephearing.sdk:beamformer:1.0.0'
}

Initialize the Beamformer instance

Beamformer SDK를 초기화하기 위해서는 SDK_KEY가 필요합니다.

lateinit var beamformer: Beamformer

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

beamformer = Beamformer("SDK_KEY")
}
주의

유효하지 않은 키를 입력하거나 키의 만료기간이 지난 경우 초기화에 실패하게 됩니댜.

Destroy the Beamformer instance

할당했던 리소스를 해제합니다.

override fun onDestroy() {
super.onDestroy()
beamformer.destroy()
}

Beamforming

process()는 256개의 샘플(스테레오)를 받아 빔포밍을 진행합니다.

output 데이터는 128개의 샘플(모노)입니다.

val input = ShortArray(256)
val output = ShortArray(128)

// Get input data from real stereo mic

beamformer.process(input, output)
주의

유효하지 않은 길이의 Array를 전달할 경우 정상적으로 처리되지 않습니다.