TensorAudio

classe publique TensorAudio

Définit un tampon en anneau et quelques fonctions utilitaires pour préparer les échantillons audio d'entrée.

Il conserve un tampon de sonnerie pour des données audio d'entrée. Les clients peuvent transmettre des données audio d'entrée via des méthodes de chargement et accéder aux des échantillons audio agrégés via la méthode "getTensorBuffer".

Notez que cette classe ne peut gérer que l'audio d'entrée dans Float (dans AudioFormat.ENCODING_PCM_16BIT) ou Short (dans AudioFormat.ENCODING_PCM_FLOAT). En interne, il convertit et stocke tout le contenu audio. des échantillons dans l'encodage de données flottantes PCM.

Utilisation habituelle en Kotlin

   val tensor = TensorAudio.create(format, modelInputLength)
   tensor.load(newData)
   interpreter.run(tensor.getTensorBuffer(), outputBuffer);
 

Autre exemple d'utilisation avec AudioRecord

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

Classes imbriquées

classe TensorAudio.TensorAudioFormat Encapsule quelques constantes décrivant le format des échantillons audio entrants, à savoir le nombre de canaux et le taux d'échantillonnage.

Méthodes publiques

statique TensorAudio
create(format AudioFormat, nombre d'échantillons entiers)
Crée une instance TensorAudio avec un tampon circulaire d'une taille de sampleCounts * format.getChannelCount()
statique TensorAudio
create(format TensorAudio.TensorAudioFormat, int sampleCounts)
Crée une instance AudioRecord avec un tampon circulaire dont la taille est de sampleCounts * format.getChannels().
TensorAudio.TensorAudioFormat
TensorBuffer
getTensorBuffer()
Renvoie une valeur flottante TensorBuffer contenant tous les échantillons audio disponibles dans AudioFormat.ENCODING_PCM_FLOAT (par exemple,
vide
load(short[] src)
Convertit les échantillons audio d'entrée src en ENCODING_PCM_FLOAT, puis les stocke dans l'anneau. tampon.
vide
load(float[] src, int offsetInFloat, int sizeInFloat)
Stocke les échantillons audio d'entrée src dans le tampon circulaire.
vide
load(short[] src, int offsetInShort, int sizeInShort)
Convertit les échantillons audio d'entrée src en ENCODING_PCM_FLOAT, puis les stocke dans l'anneau. tampon.
int
load(enregistrement audio)
Charge les dernières données depuis le AudioRecord de manière non bloquante.
vide
load(float[] src)
Stocke les échantillons audio d'entrée src dans le tampon circulaire.

Méthodes héritées

Méthodes publiques

<ph type="x-smartling-placeholder"></ph> public statique TensorAudio créer (format AudioFormat, nombre entier d'échantillons)

Crée une instance TensorAudio avec un tampon circulaire d'une taille de sampleCounts * format.getChannelCount()

Paramètres
format Le AudioFormat requis par le modèle TFLite. Elle définit le nombre de canaux et le taux d'échantillonnage.
sampleCounts Le nombre d'échantillons à transmettre au modèle

<ph type="x-smartling-placeholder"></ph> public statique TensorAudio créer (format TensorAudio.TensorAudioFormat, nombre d'échantillons int)

Crée une instance AudioRecord avec un tampon circulaire dont la taille est de sampleCounts * format.getChannels().

Paramètres
format la TensorAudio.TensorAudioFormat attendue de données audio chargées dans cette classe.
sampleCounts Le nombre d'échantillons à transmettre au modèle

<ph type="x-smartling-placeholder"></ph> public TensorAudio.TensorAudioFormat getFormat ()

<ph type="x-smartling-placeholder"></ph> public TensorBuffer getTensorBuffer ()

Renvoie une valeur flottante TensorBuffer contenant tous les échantillons audio disponibles dans AudioFormat.ENCODING_PCM_FLOAT (les valeurs sont comprises dans la plage [-1, 1]).

<ph type="x-smartling-placeholder"></ph> public vide charger (short[] src)

Convertit les échantillons audio d'entrée src en ENCODING_PCM_FLOAT, puis les stocke dans l'anneau. tampon.

Paramètres
src échantillons audio d'entrée dans AudioFormat.ENCODING_PCM_16BIT. Pour en entrée multicanal, le tableau est entrelacé.

<ph type="x-smartling-placeholder"></ph> public vide charger (float[] src, int offsetInFloat, int sizeInFloat)

Stocke les échantillons audio d'entrée src dans le tampon circulaire.

Paramètres
src échantillons audio d'entrée dans AudioFormat.ENCODING_PCM_FLOAT. Pour en entrée multicanal, le tableau est entrelacé.
offsetInFloat position de départ dans le tableau src
sizeInFloat le nombre de valeurs flottantes à copier
Génère
IllegalArgumentException en raison d'un format audio incompatible ou d'une taille d'entrée incorrecte

<ph type="x-smartling-placeholder"></ph> public vide charger (short[] src, int offsetInShort, int sizeInShort)

Convertit les échantillons audio d'entrée src en ENCODING_PCM_FLOAT, puis les stocke dans l'anneau. tampon.

Paramètres
src échantillons audio d'entrée dans AudioFormat.ENCODING_PCM_16BIT. Pour en entrée multicanal, le tableau est entrelacé.
offsetInShort position de départ dans le tableau src
sizeInShort le nombre de valeurs courtes à copier
Génère
IllegalArgumentException si le tableau source ne peut pas être copié

<ph type="x-smartling-placeholder"></ph> public entier charger (Enregistrement audio)

Charge les dernières données depuis le AudioRecord de manière non bloquante. Uniquement compatible avec ENCODING_PCM_16BIT et ENCODING_PCM_FLOAT.

Paramètres
record Une instance de AudioRecord
Renvoie