AudioData

klasa publiczna AudioData

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
create(format AudioFormat, int sampleCounts)
Tworzy instancję AudioData z buforem pierścieni o rozmiarze sampleCounts * format.getChannelCount()
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 AudioData.AudioDataFormat getFormat ()

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.