AudioData

공개 클래스 AudioData

입력 오디오 샘플을 준비하기 위한 링 버퍼와 일부 유틸리티 함수를 정의합니다.

링 버퍼를 유지함 입력 오디오 데이터입니다. 클라이언트는 `load` 메서드를 통해 입력 오디오 데이터를 피드하고 `getTensorBuffer` 메서드를 통해 집계된 오디오 샘플입니다.

이 클래스는 부동 소수점 수 (AudioFormat.ENCODING_PCM_16BIT) 또는 Shorts 동영상 (AudioFormat.ENCODING_PCM_FLOAT)에서만 입력 오디오를 처리할 수 있습니다. 내부적으로 모든 오디오를 변환하고 저장합니다. 샘플이 될 수 있습니다.

Kotlin의 일반적인 사용법

   val audioData = AudioData.create(format, modelInputLength)
   audioData.load(newData)
 

AudioRecord의 또 다른 사용 샘플

   val audioData = AudioData.create(format, modelInputLength)
   Timer().scheduleAtFixedRate(delay, period) {
     audioData.load(audioRecord)
   }
 

중첩된 클래스

클래스 AudioData.AudioDataFormat 수신되는 오디오 샘플의 형식, 즉 오디오 샘플의 샘플링 레이트를 사용할 수 있습니다.

공개 메서드

정적 AudioData
create(AudioData.AudioDataFormat 형식, int sampleCounts)
크기가 sampleCounts * format.getNumOfChannels()인 링 버퍼가 있는 AudioRecord 인스턴스를 만듭니다.
정적 AudioData
create(AudioFormat 형식, int sampleCounts)
크기가 sampleCounts인 링 버퍼가 있는 AudioData 인스턴스를 만듭니다.* format.getChannelCount()입니다.
float[]
getBuffer()
AudioFormat.ENCODING_PCM_FLOAT에 사용 가능한 모든 오디오 샘플이 있는 부동 배열을 반환합니다. 즉,
int
AudioData.AudioDataFormat
void
load(short[] src)
입력 오디오 샘플 src을 ENCODING_PCM_FLOAT로 변환한 다음 링에 저장합니다. 버퍼입니다.
void
load(float[] src, int offsetInFloat, int sizeInFloat)
입력 오디오 샘플 src를 링 버퍼에 저장합니다.
void
load(short[] src, int offsetInShort, int sizeInShort)
입력 오디오 샘플 src을 ENCODING_PCM_FLOAT로 변환한 다음 링에 저장합니다. 버퍼입니다.
int
load(AudioRecord 레코드)
비차단 방식으로 AudioRecord에서 최신 데이터를 로드합니다.
void
load(float[] src)
입력 오디오 샘플 src를 링 버퍼에 저장합니다.

상속된 메서드

공개 메서드

<ph type="x-smartling-placeholder"></ph> 공개 정적 AudioData 만들기 (AudioData.AudioDataFormat 형식, int sampleCounts)

크기가 sampleCounts * format.getNumOfChannels()인 링 버퍼가 있는 AudioRecord 인스턴스를 만듭니다.

매개변수
형식 이 클래스에 로드된 오디오 데이터의 예상 AudioData.AudioDataFormat입니다.
sampleCounts 샘플 개수

<ph type="x-smartling-placeholder"></ph> 공개 정적 AudioData 만들기 (AudioFormat 형식, int sampleCounts)

크기가 sampleCounts인 링 버퍼가 있는 AudioData 인스턴스를 만듭니다.* format.getChannelCount()입니다.

매개변수
형식 TFLite 모델에 필요한 AudioFormat 정의 채널 수 및 샘플링 레이트
sampleCounts 모델에 입력할 샘플 수

<ph type="x-smartling-placeholder"></ph> 공개 float[] 를 통해 개인정보처리방침을 정의할 수 있습니다. getBuffer ()

AudioFormat.ENCODING_PCM_FLOAT에서 사용 가능한 모든 오디오 샘플을 보유하는 부동 소수점 배열을 반환합니다. 즉, 값이 [-1, 1] 범위에 있는 값입니다.

<ph type="x-smartling-placeholder"></ph> 공개 정수 를 통해 개인정보처리방침을 정의할 수 있습니다. getBufferLength ()

<ph type="x-smartling-placeholder"></ph> 공개 AudioData.AudioDataFormat getFormat ()

<ph type="x-smartling-placeholder"></ph> 공개 무효 를 통해 개인정보처리방침을 정의할 수 있습니다. 로드 (short[] src)

입력 오디오 샘플 src을 ENCODING_PCM_FLOAT로 변환한 다음 링에 저장합니다. 버퍼입니다.

매개변수
src AudioFormat.ENCODING_PCM_16BIT의 입력 오디오 샘플입니다. 대상 다중 채널 입력이면 배열이 인터리브 처리됩니다.

<ph type="x-smartling-placeholder"></ph> 공개 무효 를 통해 개인정보처리방침을 정의할 수 있습니다. 로드 (float[] src, int offsetInFloat, int sizeInFloat)

입력 오디오 샘플 src를 링 버퍼에 저장합니다.

매개변수
src AudioFormat.ENCODING_PCM_FLOAT의 입력 오디오 샘플입니다. 대상 다중 채널 입력이면 배열이 인터리브 처리됩니다.
offsetInFloat src 배열의 시작 위치
sizeInFloat 복사할 부동 소수점 값의 수
생성 값
IllegalArgumentException 호환되지 않는 오디오 형식 또는 잘못된 입력 크기

<ph type="x-smartling-placeholder"></ph> 공개 무효 를 통해 개인정보처리방침을 정의할 수 있습니다. 로드 (short[] src, int offsetInShort, int sizeInShort)

입력 오디오 샘플 src을 ENCODING_PCM_FLOAT로 변환한 다음 링에 저장합니다. 버퍼입니다.

매개변수
src AudioFormat.ENCODING_PCM_16BIT의 입력 오디오 샘플입니다. 대상 다중 채널 입력이면 배열이 인터리브 처리됩니다.
offsetInShort src 배열의 시작 위치
sizeInShort 복사할 단축값의 수
생성 값
IllegalArgumentException 소스 배열을 복사할 수 없는 경우

<ph type="x-smartling-placeholder"></ph> 공개 정수 를 통해 개인정보처리방침을 정의할 수 있습니다. 로드 (AudioRecord 레코드)

비차단 방식으로 AudioRecord에서 최신 데이터를 로드합니다. 단 ENCODING_PCM_16BIT 및 ENCODING_PCM_FLOAT를 지원합니다.

매개변수
record AudioRecord의 인스턴스
반환 값
  • 크기가 channelCount * sampleCount인 캡처된 오디오 값의 수 만약 AudioRecord에 새 데이터가 없거나 오류가 발생한 경우 이 메서드는 0을 반환합니다.
생성 값
IllegalArgumentException 지원되지 않는 오디오 인코딩 형식
IllegalStateException AudioRecord에서 읽기가 실패할 경우

<ph type="x-smartling-placeholder"></ph> 공개 무효 를 통해 개인정보처리방침을 정의할 수 있습니다. 로드 (float[] src)

입력 오디오 샘플 src를 링 버퍼에 저장합니다.

매개변수
src AudioFormat.ENCODING_PCM_FLOAT의 입력 오디오 샘플입니다. 대상 다중 채널 입력이면 배열이 인터리브 처리됩니다.