Beamformer SDK 적용방법
Deep Hearing Beamformer SDK for Android 적용 가이드입니다.
Audio Format
빔포밍을 위해 다음과 같은 형식의 오디오 데이터를 필요로 합니다.
Sample Rate | 16000 |
Data Format | pcm16 |
Input Size | stereo 256 (128 per channel) |
Output Size | mono 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
파일에 추가합니다.
- setting.gradle (Gradle ≥ 6.8)
- build.gradle (Gradle ≤ 6.7)
dependencyResolutionManagement {
repositories {
maven {
credentials {
username = "username"
password = "password"
}
url "Deep Hearing repository url"
}
}
}
allprojects {
repositories {
maven {
credentials {
username = "username"
password = "password"
}
url "Deep Hearing repository url"
}
}
}
자세한 내용은 안드로이드 문서를 참고합니다.
다음으로 모든 Gradle 버전에 대해 애플리케이션 수준에서 build.gradle 파일을 열고 다음 코드를 추가합니다.
- build.gradle
dependencies {
implementation 'com.deephearing.sdk:beamformer:1.0.0'
}
Initialize the Beamformer instance
Beamformer SDK를 초기화하기 위해서는 SDK_KEY
가 필요합니다.
- Kotlin
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
할당했던 리소스를 해제합니다.
- Kotlin
override fun onDestroy() {
super.onDestroy()
beamformer.destroy()
}
Beamforming
process()
는 256개의 샘플(스테레오)를 받아 빔포밍을 진행합니다.
output 데이터는 128개의 샘플(모노)입니다.
- Kotlin
val input = ShortArray(256)
val output = ShortArray(128)
// Get input data from real stereo mic
beamformer.process(input, output)
주의
유효하지 않은 길이의 Array를 전달할 경우 정상적으로 처리되지 않습니다.