Tecnologias de processamento
O som é um tipo de dados denso em termos de informação. Embora possa parecer antiquado na era do conteúdo vídeo, o áudio continua a ser uma fonte de informação primária para muitas pessoas. Apesar do declínio de longo prazo no número de ouvintes, 83% dos americanos com 12 anos ou mais ouviram rádio terrestre (AM / FM) em uma determinada semana em 2020 (abaixo dos 89% em 2019). Por outro lado, o áudio online tem visto um aumento constante de ouvintes nas últimas duas décadas, com 62% dos americanos ouvindo alguma forma dele semanalmente, de acordo com o mesmo estudo do Pew Research Center.
Como uma onda, o som inclui quatro propriedades: frequência, amplitude, forma de onda e duração. Na terminologia musical, estas propriedades são designadas por altura, dinâmica, tom e duração. Os sons também ajudam os seres humanos e outros animais a perceber e compreender o nosso ambiente, fornecendo pistas contextuais para a localização e o movimento de objectos no nosso meio envolvente.
Como portador de informação, o áudio pode ser classificado em três categorias:
- Fala: Um meio de comunicação composto por palavras e gramática. Com algoritmos de reconhecimento de voz, a fala pode ser convertida em texto.
- Música: Sons vocais e/ou instrumentais combinados para produzir uma composição composta por melodia, harmonia, ritmo e timbre. A música pode ser representada por uma partitura.
- Forma de onda: Um sinal de áudio digital obtido através da digitalização de sons analógicos. As formas de onda podem representar fala, música e sons naturais ou sintetizados.
A recuperação de áudio pode ser utilizada para pesquisar e monitorizar os meios de comunicação em linha em tempo real, a fim de reprimir a violação dos direitos de propriedade intelectual. Assume também um papel importante na classificação e análise estatística de dados áudio.
Tecnologias de processamento
A fala, a música e outros sons genéricos têm caraterísticas únicas e exigem diferentes métodos de processamento. Normalmente, o áudio é separado em grupos que contêm fala e grupos que não a contêm:
- O áudio de fala é processado por reconhecimento automático de fala.
- O áudio que não contém fala, incluindo áudio musical, efeitos sonoros e sinais de fala digitalizados, é processado através de sistemas de recuperação de áudio.
Este artigo centra-se na utilização de um sistema de recuperação de áudio para processar dados de áudio que não sejam de fala. O reconhecimento da fala não é abordado neste artigo
Extração de caraterísticas de áudio
A extração de caraterísticas é a tecnologia mais importante nos sistemas de recuperação de áudio, uma vez que permite a pesquisa de semelhanças de áudio. Os métodos de extração de caraterísticas de áudio dividem-se em duas categorias:
- Modelos tradicionais de extração de caraterísticas de áudio, como os modelos de mistura gaussiana (GMM) e os modelos ocultos de Markov (HMM);
- Modelos de extração de caraterísticas de áudio baseados na aprendizagem profunda, tais como redes neuronais recorrentes (RNN), redes de memória de curto prazo (LSTM), quadros de codificação-descodificação, mecanismos de atenção, etc.
Os modelos baseados na aprendizagem profunda têm uma taxa de erro que é uma ordem de grandeza inferior à dos modelos tradicionais e, por conseguinte, estão a ganhar força como tecnologia de base no domínio do processamento de sinais de áudio.
Os dados de áudio são normalmente representados pelas caraterísticas de áudio extraídas. O processo de recuperação procura e compara estas caraterísticas e atributos em vez dos próprios dados áudio. Por conseguinte, a eficácia da recuperação da similaridade do áudio depende em grande medida da qualidade da extração das caraterísticas.
Neste artigo, as redes neurais de áudio pré-treinadas em grande escala para o reconhecimento de padrões de áudio (PANNs) são utilizadas para extrair vectores de caraterísticas com uma precisão média (mAP) de 0,439 (Hershey et al., 2017).
Depois de extrair os vectores de caraterísticas dos dados de áudio, podemos implementar uma análise de vectores de caraterísticas de alto desempenho utilizando o Milvus.
Pesquisa de similaridade de vectores
O Milvus é um banco de dados de vetores de código aberto e nativo da nuvem, criado para gerenciar vetores de incorporação gerados por modelos de aprendizado de máquina e redes neurais. É amplamente utilizado em cenários como visão computacional, processamento de linguagem natural, química computacional, sistemas de recomendação personalizados e muito mais.
O diagrama seguinte descreve o processo geral de pesquisa de semelhanças utilizando o Milvus: how-does-milvus-work.png
- Os dados não estruturados são convertidos em vectores de caraterísticas por modelos de aprendizagem profunda e inseridos no Milvus.
- O Milvus armazena e indexa estes vectores de caraterísticas.
- Mediante pedido, o Milvus procura e devolve os vectores mais semelhantes ao vetor de consulta.
Visão geral do sistema
O sistema de recuperação de áudio é composto principalmente por duas partes: inserção (linha preta) e pesquisa (linha vermelha).
audio-retrieval-system.png
O conjunto de dados de amostra utilizado neste projeto contém sons de jogos de código aberto, e o código está detalhado no bootcamp do Milvus.
Passo 1: Inserir dados
Abaixo está o código de exemplo para gerar áudio embeddings com o modelo de inferência PANNs pré-treinado e inseri-los no Milvus, que atribui um ID único a cada vetor embedding.
1 wav_name, vectors_audio = get_audio_embedding(audio_path)
2 if vectors_audio:
3 embeddings.append(vectors_audio)
4 wav_names.append(wav_name)
5 ids_milvus = insert_vectors(milvus_client, table_name, embeddings)
6
Em seguida, os ids_milvus devolvidos são armazenados juntamente com outras informações relevantes (por exemplo, wav_name) para os dados de áudio mantidos numa base de dados MySQL para processamento subsequente.
1 get_ids_correlation(ids_milvus, wav_name)
2 load_data_to_mysql(conn, cursor, table_name)
3
Passo 2: Pesquisa de áudio
O Milvus calcula a distância do produto interno entre os vectores de caraterísticas pré-armazenados e os vectores de caraterísticas de entrada, extraídos dos dados de áudio consultados utilizando o modelo de inferência PANNs, e devolve os ids_milvus de vectores de caraterísticas semelhantes, que correspondem aos dados de áudio pesquisados.
1 _, vectors_audio = get_audio_embedding(audio_filename)
2 results = search_vectors(milvus_client, table_name, [vectors_audio], METRIC_TYPE, TOP_K)
3 ids_milvus = [x.id for x in results[0]]
4 audio_name = search_by_milvus_ids(conn, cursor, ids_milvus, table_name)
5
Referência e demonstração da API
API
Este sistema de recuperação de áudio é construído com código-fonte aberto. As suas principais caraterísticas são a inserção e a eliminação de dados áudio. Todas as APIs podem ser visualizadas digitando 127.0.0.1:
Demonstração
Alojamos online uma demonstração em direto do sistema de recuperação de áudio baseado no Milvus, que pode experimentar com os seus próprios dados de áudio.
audio-search-demo.png
Conclusão
Vivendo na era dos grandes volumes de dados, as pessoas vêem as suas vidas repletas de todo o tipo de informação. Para a compreender melhor, a recuperação tradicional de texto já não é suficiente. Atualmente, a tecnologia de recuperação de informação necessita urgentemente da recuperação de vários tipos de dados não estruturados, como vídeos, imagens e áudio.
Os dados não estruturados, que são difíceis de processar pelos computadores, podem ser convertidos em vectores de caraterísticas utilizando modelos de aprendizagem profunda. Estes dados convertidos podem ser facilmente processados por máquinas, permitindo-nos analisar dados não estruturados de uma forma que os nossos antecessores nunca conseguiram. A Milvus, uma base de dados de vectores de código aberto, pode processar eficazmente os vectores de caraterísticas extraídos por modelos de IA e fornece uma variedade de cálculos comuns de semelhança de vectores.
Referências
Hershey, S., Chaudhuri, S., Ellis, D.P., Gemmeke, J.F., Jansen, A., Moore, R.C., Plakal, M., Platt, D., Saurous, R.A., Seybold, B. e Slaney, M., 2017, março. Arquiteturas CNN para classificação de áudio em grande escala. Em 2017, Conferência Internacional do IEEE sobre Acústica, Fala e Processamento de Sinais (ICASSP), pp. 131-135, 2017
Não seja um estranho
- Visão geral do sistema
- Referência e demonstração da API
- Conclusão
- Referências
- Não seja um estranho
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word