Path: blob/master/site/pt-br/hub/tutorials/yamnet.ipynb
25118 views
Copyright 2020 The TensorFlow Hub Authors.
Licensed under the Apache License, Version 2.0 (the "License");
Classificação de áudio com o YAMNet
O YAMNet é uma rede profunda que prevê 521 classes de eventos de áudio a partir do corpus AudioSet-YouTube com o qual foi treinado. Ele emprega a arquitetura de convolução separável com reconhecimento de profundidade Mobilenet_v1.
Vamos carregar o modelo a partir do TensorFlow Hub.
Observação: para ler a documentação, basta acessar a URL do modelo.
O arquivo de rótulos será carregado a partir dos ativos dos modelos e está presente em model.class_map_path()
. Você vai carregá-lo na variável class_names
.
Adicione um método para verificar se o áudio tem a taxa de amostragem adequada (16 kHz) e convertê-lo. Caso contrário, os resultados do modelo seriam afetados.
Download e preparação do arquivo de áudio
Você vai baixar um arquivo .wav e ouvi-lo. Caso você já tenha um arquivo disponível, basta fazer upload no Colab e usá-lo.
Observação: o arquivo de áudio esperado deve ser um arquivo .wav mono com taxa de amostragem de 16 kHz.
O wav_data
precisa ser normalizado para valores no intervalo [-1.0, 1.0]
(conforme indicado na documentação do modelo).
Execução do modelo
Agora a parte fácil: usando os dados já preparados, basta chamar o modelo e obter: as pontuações, o embedding e o espectrograma.
A pontuação é o principal resultado que você usará. O espectrograma será usado para visualizações posteriormente.
Visualização
O YAMNet também retorna informações adicionais que podemos usar para visualização. Vamos conferir a forma de onda, o espectrograma e as principais classes inferidas.