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)
|
| 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 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.
|
|---|