TensorAudio

klasa publiczna TensorAudio

Definiuje bufor dzwonienia 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 tensor = TensorAudio.create(format, modelInputLength)
   tensor.load(newData)
   interpreter.run(tensor.getTensorBuffer(), outputBuffer);
 

Kolejne przykładowe użycie w ramach usługi AudioRecord

   val tensor = TensorAudio.create(format, modelInputLength)
   Timer().scheduleAtFixedRate(delay, period) {
     tensor.load(audioRecord)
     interpreter.run(tensor.getTensorBuffer(), outputBuffer)
   }
 

Zagnieżdżone klasy

klasa TensorAudio.TensorAudioFormat 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 TensorAudio
create(format AudioFormat, int sampleCounts)
Tworzy instancję TensorAudio z buforem pierścieni o rozmiarze sampleCounts * format.getChannelCount()
statyczny TensorAudio
create(format TensorAudio.TensorAudioFormat, int sampleCounts)
Tworzy instancję AudioRecord z buforem pierścieni o rozmiarze sampleCounts * format.getChannels().
TensorAudio.TensorAudioFormat
TensorBuffer
getTensorBuffer()
Zwraca liczbę zmiennoprzecinkową TensorBuffer zawierającą wszystkie dostępne próbki audio w języku AudioFormat.ENCODING_PCM_FLOAT, tj.
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 TensorAudio utwórz (Format AudioFormat, int sampleCounts)

Tworzy instancję TensorAudio 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 statyczny TensorAudio utwórz (TensorAudio.TensorAudioFormat – format int sampleCounts)

Tworzy instancję AudioRecord z buforem pierścieni o rozmiarze sampleCounts * format.getChannels().

Parametry
reklamy oczekiwany TensorAudio.TensorAudioFormat danych audio wczytanych do tej klasy.
sampleCounts liczba próbek, które zostaną wprowadzone do modelu

publiczne TensorAudio.TensorAudioFormat getFormat ()

publiczne TensorBuffer getTensorBuffer ()

Zwraca liczbę zmiennoprzecinkową TensorBuffer zawierającą wszystkie dostępne próbki audio w języku AudioFormat.ENCODING_PCM_FLOAT, tj. wartości należą do zakresu [–1, 1].

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.