Określa bufor pierścieniowy i niektóre funkcje użytkowe służące do przygotowywania wejściowych próbek dźwięku.
Zawiera bufor pierścieni, który utrzymuje wejściowego dźwięku. Klienty mogły wprowadzać dane dźwiękowe za pomocą metod „load” i uzyskiwać dostęp do zagregowanych próbek audio za pomocą metody „getTensorBuffer”.
Pamiętaj, że ta klasa obsługuje tylko wejścia audio w postaci liczby zmiennoprzecinkowej (AudioFormat.ENCODING_PCM_16BIT
) lub Short (w AudioFormat.ENCODING_PCM_FLOAT
). Wewnętrznie konwertuje i zapisuje cały dźwięk.
próbek kodowania PCM Floating.
Typowe użycie w Kotlin
val audioData = AudioData.create(format, modelInputLength) audioData.load(newData)
Kolejne przykładowe użycie w ramach usługi AudioRecord
val audioData = AudioData.create(format, modelInputLength) Timer().scheduleAtFixedRate(delay, period) { audioData.load(audioRecord) }
Zagnieżdżone klasy
klasa | AudioData.AudioDataFormat | Dodaje kilka stałych opisujących format przychodzących próbek dźwięku, czyli liczbę kanałów i częstotliwości próbkowania. |
Metody publiczne
statyczny AudioData |
create(format AudioData.AudioDataFormat, int sampleCounts)
Tworzy instancję
AudioRecord z buforem pierścieni o rozmiarze sampleCounts * format.getNumOfChannels() . |
statyczny AudioData | |
float[] |
getBuffer()
Zwraca tablicę zmiennoprzecinkową, która zawiera wszystkie dostępne próbki audio w języku
AudioFormat.ENCODING_PCM_FLOAT , tj. |
int, | |
AudioData.AudioDataFormat | |
nieważne |
load(short[] src)
Konwertuje próbki dźwięku wejściowego
src na ENCODING_PCM_FLOAT, a następnie zapisuje je w pierścieniu
bufora. |
nieważne |
load(float[] src, int przesunięciaInFloat, int sizeInFloat)
Przechowuje próbki dźwięku (
src ) w buforze dzwonka. |
nieważne |
load(short[] src, int przesunięciaInShort, int sizeInShort)
Konwertuje próbki dźwięku wejściowego
src na ENCODING_PCM_FLOAT, a następnie zapisuje je w pierścieniu
bufora. |
int, |
load(rekord AudioRecord)
Wczytuje najnowsze dane z urządzenia
AudioRecord w sposób nieblokujący. |
nieważne |
load(float[] src)
Przechowuje próbki dźwięku (
src ) w buforze dzwonka. |
Metody dziedziczone
Metody publiczne
publiczne statyczny AudioData utwórz (format AudioData.AudioDataFormat, int sampleCounts)
Tworzy instancję AudioRecord
z buforem pierścieni o rozmiarze sampleCounts
* format.getNumOfChannels()
.
Parametry
reklamy | oczekiwany AudioData.AudioDataFormat danych audio wczytanych do tej klasy. |
---|---|
sampleCounts | liczby próbek. |
publiczne statyczny AudioData utwórz (Format AudioFormat, int sampleCounts)
Tworzy instancję AudioData
z buforem pierścieni o rozmiarze sampleCounts
*
format.getChannelCount()
Parametry
reklamy | AudioFormat wymagane przez model TFLite. Definiuje ona
liczbę kanałów i częstotliwość próbkowania. |
---|---|
sampleCounts | liczba próbek, które zostaną wprowadzone do modelu |
publiczne float[] getBuffer ()
Zwraca tablicę zmiennoprzecinkową z wszystkimi dostępnymi próbkami audio w komórce AudioFormat.ENCODING_PCM_FLOAT
, tj. wartości należą do zakresu [–1, 1].
publiczne int, getBufferLength ()
publiczne nieważne wczytaj (short[] src)
Konwertuje próbki dźwięku wejściowego src
na ENCODING_PCM_FLOAT, a następnie zapisuje je w pierścieniu
bufora.
Parametry
src | próbki dźwięku w języku: AudioFormat.ENCODING_PCM_16BIT . Dla:
dla wielu kanałów, tablica jest przeplatana.
|
---|
publiczne nieważne wczytaj (float[] src, int przesunięciaInFloat, int sizeInFloat)
Przechowuje próbki dźwięku (src
) w buforze dzwonka.
Parametry
src | próbki dźwięku w języku: AudioFormat.ENCODING_PCM_FLOAT . Dla:
dla wielu kanałów, tablica jest przeplatana. |
---|---|
offsetInFloat | pozycja początkowa w tablicy src |
sizeInFloat | liczba wartości zmiennoprzecinkowych do skopiowania |
Rzuty
IllegalArgumentException | w przypadku niezgodnego formatu dźwięku lub nieprawidłowego rozmiaru wejściowego |
---|
publiczne nieważne wczytaj (short[] src, int przesunięciaInShort, int sizeInShort)
Konwertuje próbki dźwięku wejściowego src
na ENCODING_PCM_FLOAT, a następnie zapisuje je w pierścieniu
bufora.
Parametry
src | próbki dźwięku w języku: AudioFormat.ENCODING_PCM_16BIT . Dla:
dla wielu kanałów, tablica jest przeplatana. |
---|---|
offsetInShort | pozycja początkowa w tablicy src |
sizeInShort | liczbę krótkich wartości do skopiowania |
Rzuty
IllegalArgumentException | jeśli tablicy źródłowej nie można skopiować |
---|
publiczne int, wczytaj (Rekord nagrania audio)
Wczytuje najnowsze dane z urządzenia AudioRecord
w sposób nieblokujący. Tylko
obsługa ENCODING_PCM_16BIT i ENCODING_PCM_FLOAT.
Parametry
nagranie | instancja instancji AudioRecord |
---|
Zwroty
- liczba zarejestrowanych wartości dźwiękowych o rozmiarze
channelCount * sampleCount
. Jeśli nie było nowych danych w rekordzie AudioRecord lub wystąpił błąd, ta metoda zwróci wartość 0.
Rzuty
IllegalArgumentException | w przypadku nieobsługiwanego formatu kodowania audio |
---|---|
IllegalStateException | jeśli odczyt z AudioRecord nie powiódł się |
publiczne nieważne wczytaj (float[] src)
Przechowuje próbki dźwięku (src
) w buforze dzwonka.
Parametry
src | próbki dźwięku w języku: AudioFormat.ENCODING_PCM_FLOAT . Dla:
dla wielu kanałów, tablica jest przeplatana.
|
---|