AudioClassifier

classe finale publique AudioClassifier

Effectue une classification sur les formes d'onde audio.

L'API attend un modèle TFLite avec des métadonnées de modèle TFLite. .

L'API prend en charge les modèles avec un tenseur d'entrée audio et un tenseur de sortie de classification. Pour être plus précis, voici les exigences.

  • Tenseur audio d'entrée ( kTfLiteFloat32 )
    • tampon audio d'entrée de taille [batch x samples] .
    • L'inférence par lots n'est pas prise en charge ( batch doit être 1).
  • Tenseur du score de sortie ( kTfLiteFloat32 )
Consultez un exemple d'un tel modèle et un outil de démonstration CLI pour essayer facilement cette API.

Classes imbriquées

classe AudioClassifier.AudioClassifierOptions Options de configuration d'un AudioClassifier .

Méthodes publiques

Liste <Classifications>
classer (tenseur TensorAudio )
Effectue une classification réelle sur le tenseur audio fourni.
Enregistrement audio
créer un enregistrement audio ()
Crée une instance AudioRecord pour enregistrer le flux audio.
AudioClassificateur statique
createFromBuffer ( ByteBuffer modelBuffer)
Crée une instance AudioClassifier avec un tampon de modèle et le AudioClassifier.AudioClassifierOptions par défaut.
AudioClassificateur statique
AudioClassificateur statique
createFromFile (contexte contextuel, String modelPath)
Crée une instance AudioClassifier à partir de AudioClassifier.AudioClassifierOptions par défaut.
AudioClassificateur statique
createFromFile ( Fichier modèleFichier)
Crée une instance AudioClassifier à partir de AudioClassifier.AudioClassifierOptions par défaut.
AudioClassificateur statique
createFromFileAndOptions (contexte contextuel, chaîne modelPath, options AudioClassifier.AudioClassifierOptions )
Crée une instance AudioClassifier à partir de AudioClassifier.AudioClassifierOptions .
AudioClassificateur statique
TensorAudio
createInputTensorAudio ()
Crée une instance TensorAudio pour stocker les échantillons audio d'entrée.
long
getRequiredInputBufferSize ()
Renvoie la taille du tampon d'entrée requise en nombre d'éléments flottants.
TensorAudio.TensorAudioFormat
getRequiredTensorAudioFormat ()
Renvoie le TensorAudio.TensorAudioFormat requis par le modèle.

Méthodes héritées

Méthodes publiques

liste publique <Classifications> classifier (tenseur TensorAudio )

Effectue une classification réelle sur le tenseur audio fourni.

Paramètres
tenseur un TensorAudio contenant le clip audio d'entrée en float avec des valeurs comprises entre [-1, 1). L'argument tensor doit avoir la même taille plate que le tenseur d'entrée du modèle TFLite. Il est recommandé de créer tensor à l'aide de la méthode createInputTensorAudio .
Jetés
Exception d'argument illégal si un argument n'est pas valide
IllegalStateException si une erreur se produit lors de la classification du clip audio à partir du code natif

public AudioRecord créerAudioRecord ()

Crée une instance AudioRecord pour enregistrer le flux audio. L'instance AudioRecord renvoyée est initialisée et le client doit appeler la méthode AudioRecord.startRecordingnull pour démarrer l'enregistrement.

Retour
Jetés
Exception d'argument illégal si le nombre de canaux requis par le modèle n'est pas pris en charge
IllegalStateException si l'instance AudioRecord n'a pas réussi à s'initialiser

public static AudioClassifier createFromBuffer ( ByteBuffer modelBuffer)

Crée une instance AudioClassifier avec un tampon de modèle et le AudioClassifier.AudioClassifierOptions par défaut.

Paramètres
modèleBuffer un ByteBuffer direct ou un MappedByteBuffer du modèle de classification
Jetés
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée
Exception d'argument illégal si le tampon de modèle n'est pas un ByteBuffer direct ou un MappedByteBuffer

public static AudioClassifier createFromBufferAndOptions (options ByteBuffer modelBuffer, AudioClassifier.AudioClassifierOptions )

Crée une instance AudioClassifier avec un tampon de modèle et AudioClassifier.AudioClassifierOptions .

Paramètres
modèleBuffer un ByteBuffer direct ou un MappedByteBuffer du modèle de classification
choix
Jetés
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée
Exception d'argument illégal si le tampon de modèle n'est pas un ByteBuffer direct ou un MappedByteBuffer

public static AudioClassifier createFromFile (contexte contextuel, String modelPath)

Crée une instance AudioClassifier à partir de AudioClassifier.AudioClassifierOptions par défaut.

Paramètres
contexte
modèleChemin chemin du modèle de classification avec métadonnées dans les actifs
Jetés
IOException si une erreur d'E/S se produit lors du chargement du modèle tflite
Exception d'argument illégal si un argument n'est pas valide
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée

public static AudioClassifier createFromFile ( Fichier modelFile)

Crée une instance AudioClassifier à partir de AudioClassifier.AudioClassifierOptions par défaut.

Paramètres
fichier modèle le modèle de classification Instance File
Jetés
IOException si une erreur d'E/S se produit lors du chargement du modèle tflite
Exception d'argument illégal si un argument n'est pas valide
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée

public static AudioClassifier createFromFileAndOptions (contexte de contexte, String modelPath, options AudioClassifier.AudioClassifierOptions )

Crée une instance AudioClassifier à partir de AudioClassifier.AudioClassifierOptions .

Paramètres
contexte
modèleChemin chemin du modèle de classification avec métadonnées dans les actifs
choix
Jetés
IOException si une erreur d'E/S se produit lors du chargement du modèle tflite
Exception d'argument illégal si un argument n'est pas valide
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée

public static AudioClassifier createFromFileAndOptions (options de fichier modelFile, AudioClassifier.AudioClassifierOptions )

Crée une instance AudioClassifier .

Paramètres
fichier modèle le modèle de classification Instance File
choix
Jetés
IOException si une erreur d'E/S se produit lors du chargement du modèle tflite
Exception d'argument illégal si un argument n'est pas valide
IllegalStateException s'il y a une erreur interne
Exception d'exécution s'il y a une erreur autrement non spécifiée

public TensorAudio createInputTensorAudio ()

Crée une instance TensorAudio pour stocker les échantillons audio d'entrée.

Retour
  • un TensorAudio avec la même taille que le tenseur d'entrée du modèle
Jetés
Exception d'argument illégal si le modèle n'est pas compatible

public long getRequiredInputBufferSize ()

Renvoie la taille du tampon d'entrée requise en nombre d'éléments flottants.

public TensorAudio.TensorAudioFormat getRequiredTensorAudioFormat ()

Renvoie le TensorAudio.TensorAudioFormat requis par le modèle.