pontifÍcia universidade catÓlica do paranÁ gabriel …laplima/.../gabriel_guilherme... ·...

53
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ ESCOLA POLITÉCNICA CURSO DE ENGENHARIA DE COMPUTAÇÃO 4º BIMESTRE GABRIEL HERMAN BERNARDIM ANDRADE GUILHERME BRUNOW GOMES CLASSIFICAÇÃO MUSICAL BASEADA EM ABORDAGENS DE APRENDIZADO DE MÁQUINA RELATÓRIO TÉCNICO FINAL PROF. ORIENTADOR: LEANDRO DOS SANTOS COELHO CURITIBA 2016

Upload: others

Post on 02-Jun-2020

4 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

ESCOLA POLITÉCNICA

CURSO DE ENGENHARIA DE COMPUTAÇÃO

4º BIMESTRE

GABRIEL HERMAN BERNARDIM ANDRADE

GUILHERME BRUNOW GOMES

CLASSIFICAÇÃO MUSICAL BASEADA EM ABORDAGENS DE

APRENDIZADO DE MÁQUINA

RELATÓRIO TÉCNICO FINAL

PROF. ORIENTADOR: LEANDRO DOS SANTOS COELHO

CURITIBA

2016

Page 2: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

RESUMO

O avanço da Internet e das tecnologias de computação popul arizou a

distribuição de multimídia de forma digital, em espec ial no caso da distribuição

de músicas. Contudo, o sucesso dessa forma de dis tribuição depende de

técnicas robustas e eficientes que determinem relações de similaridade dentro

da biblioteca disponível. Este trabalho de conc lusão de curso propõe, como uma

alternativa para resolução do problema de indexação de conteúdo musical, a

geração de um ou mais classificadores musicais que, a partir de uma biblioteca

musical utilizando técnicas de Aprendizado de Máquina (AM). A solução adotada

será capaz de identif icar s imi lari dades sonoras e realizar o agrupamento destes

dados e baseado no modelo matemático gerado será capaz de classificar novos

dados musi cais. Para tanto será utilizada a abordagem de Comitê de Máquina

(Machine Ensemble) com o objetivo de combi nar os diferentes algoritmos para a

obtenção de um algori tmo de melhor desempenho.

Palavras-chave: Classificação de dados , Agrupamento de dados, Comitê

de Máquinas, Classificação Musical, Extração de Caracterís ticas Sonoras,

Aprendizado de Máquina.

Page 3: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

SUMÁRIO

RESUMO ..................................................................................................................... 2

1. INTRODUÇÃO .................................................................................................... 5

2. APANHADO DA LITERATURA....................................................................... 7

3. DETALHAMENTO DO PROJETO .................................................................. 9

3.1. Visão Geral ........................................................................................................9

3.2. Módulo de Treinamento................................................................................... 10

3.3. Recomendação ................................................................................................ 11

3.4. Especificação de Blocos .................................................................................... 11

3.5. Especificações Técnicas .................................................................................... 21

4. EMBASAMENTO TEÓRICO .......................................................................... 23

4.1. Visão Geral ...................................................................................................... 23

4.2. Extração de Características Sonoras .................................................................. 25

4.3. Comitês de Máquina ........................................................................................ 35

5. PROCEDIMENTOS DE TESTE E VALIDAÇÃO DO PROJETO ............. 41

5.1. Testes de Caixa Preta ....................................................................................... 41

5.2. Testes de Caixa Branca ..................................................................................... 44

6. AVALIAÇÃO...................................................................................................... 45

7. RESULTADOS .................................................................................................. 47

8. CONCLUSÃO.................................................................................................... 49

9. REFERÊNCIAS BIBLIOGRÁFICAS ............................................................. 51

Page 4: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

ÍNDICE DE FIGURAS

Figura 1 - Diagrama de Blocos do Sistema ............................................................. 10

Figura 2 - Recorte da tabela de características padrões ...................................... 14

Figura 3 - Avaliação do número de grupos utilizando o índice Silhouette .......... 16

Figura 4 - Est rutura de geração dos model os de agrupamento.......................... 18

Figura 5 - Exemplo de Dados .................................................................................... 20

Figura 6 - Exemplo de agrupamento ........................................................................ 20

Figura 7 - Es trutura de coleta de votos .................................................................... 21

Figura 8 - Exemplo de características MFCC extraídas de uma amostra da

faixa Wol fmo ther - Cosmonaut .................................................................................. 26

Figura 9 - Níveis de Representação ......................................................................... 28

Figura 10 - Tipos de Caracter ís ticas ......................................................................... 29

Figura 11 - Visualização do processo de divisão em quadros.............................. 30

Figura 12 - Modelo de banco de filtros representativo da Escala Mel ................ 30

Figura 13 - Diagrama de Blocos da extração de MFCCs...................................... 31

Figura 14 - Fases AD SR ............................................................................................. 32

Figura 15 – Exemplo de características temporais da faixa Groove Armada

– Whatever, Whenever. ............................................................................................... 34

Figura 16 - Razões fundamentais que suportam o uso de comitês de

máquinas ....................................................................................................................... 37

Figura 17 - Exemplo de combinação Bagging ........................................................ 38

Figura 18 - Exemplo de combinação Boosting ....................................................... 39

Figura 19 - Exemplo de combinação Stacking........................................................ 41

Figura 20 - Player de Músicas ................................................................................... 47

Figura 21 - Interface para defi nição dos pesos de cada algoritmo ...................... 48

Page 5: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

5

1. INTRODUÇÃO

Os avanços na Internet e nas tecnologias de transmissão, permitiram que

os usuários pudessem apreciar uma maior quantidade de conteúdo multimídia,

por meio do aumento no número e popul arização dos serviços digitais

oferecidos, que afetou, dentre mui tas outras áreas, a indústria musical [1].

Contudo, o sucesso da distribuição eletrônica de músicas depende da existência

de técnicas robustas e eficientes que encontrem relações de s imi laridade entre

as músicas e/ou os conjuntos de músicas [2].

Com o acentuado aumento da quanti dade de músicas disponíveis , cresce

a necessidade de métodos automáticos, para filtrar, processar e organizar tais

dados. Algumas abordagens neste quesito podem ser realizadas por meio de

informações anexas às músicas, os denominados metadados, que fornecem

informações sobre seu conteúdo, tais como nome da música, banda ou artista.

As metodologias capazes de realizar a class ificação de músicas com base na

análise das informações presentes no áudio tornam-se interessantes devi do ao

fato de metadados não es tarem sempre di sponíveis ou não conterem

informações suficientes para a reali zação de determinadas tarefa de

classificação [1], [3].

A necessidade de informações complementares aos metadados fez com

que a recuperação de informação musical (Musical Information Retrieval, MIR)

se tornasse um campo de pesquisa atrativo. O objetivo fundamental desta área

é extrai r i nformações musicalmente significativa a partir de sinais de áudio

digitalizados através de métodos computacionais , permiti ndo a realização de

tarefas, tais como etiquetação de conteúdo, indexação inteligente, segmentação

de faixas , transcrição automáti ca de letras, entre outros [4]–[6].

Recentemente, a distribuição de músicas está direcionada para serviços

de venda digitai s, como o iTunes da Apple [7] e o Google Play da Google [8], ou

serviços de streaming, como o Spotify [9]. Como resultado, probl emas, tais

como a organização de bibliotecas di gi tais, criação automática de playlists e a

recomendação automática de novas músicas, se tornaram relevantes , pois

Page 6: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

6

permitem, por exemplo, que ouvintes descubram novos artistas com base em

seus gostos ou que lojas virtuais efetuem marketing direcionado a cada usuário.

Entre as diversas formas de abordar esses desafios, encontram -se os

algoritmos de anál ise e classificação musical. Algumas empresas , contudo,

optam por abordagens diferentes – o Spotify, por exemplo, utiliza um sistema de

classificação que l eva em conta a avaliação do usuário de uma música e a

similaridade de suas avaliações com a de outros usuári os, não ut ilizando os

dados contidos nas músi cas propriamente ditas.

Dentro desse contexto, a classificação de gêneros musi cais se mostra

como um tema interessante e promissor para estudo, já que a primeira grande

etapa para a correta sugestão e/ou organização de conteúdo é a avaliação e

classificação preci sa das bibli otecas musicai s que se tem posse. A classificação

baseada em conteúdo musical é essencialmente uma tarefa de reconhecimento

de padrões, onde existem ao menos duas questões distintas: extração de

características e a cl ass if icação ao agrupamento baseado nes tas caracterís ticas.

Para tanto, uma representação efetiva da música deve ser feita, de forma a

capturar as propriedades mais significativas do sinal de áudio, além de ser geral,

de forma a ser apli cada a diversas classes sonoras. Para a classificação, é

crucial a formulação de uma medi da de similaridade e uma regra class ificatória

[10]. Exis tem diversas abordagens para este problema, entretanto, o

processamento efi ciente das informações extraídas do áudio continua sendo um

fator fundamental, atraindo a atenção de pesquisadores, músicos e

compositores [11].

Naturalmente os gêneros musicais, definidos pelas gravadoras,

produtores ou dis tribuidores, são uma opção comum para divisão de músicas em

grupos. Entretanto, esta classificação é, de certa forma, arbitrária e subjetiva.

Isso faz com que sej a necessário um sistema de classificação complexo e de

natureza determinística para a execução des ta tarefa. Tais fatos justificam a

necessidade de desenvolver uma ou mais técnicas capazes de categorizar e

agrupar músicas a partir dos dados recuperados das próprias músicas, sendo

estes grupos de carac teríst icas determinís ti cas, tais como harmonia, ritmo,

Page 7: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

7

presença ou ausência de ins trumentos musicais, timbre, ritmo, característica

espectrais, entre outros [12], [13].

Visando este cenário, o projeto a ser desenvolvi do consi ste na

implementação e avaliação de desempenho de técnicas de aprendi zado de

máquina para categorização e agrupamento em bases mus icais, através da

extração de informações ou características que indiquem similaridade e possam

demonstrar distância entre padrões present es em duas músicas, associados ou

não a metadados . Serão i mplementados e avali ados algoritmos de

agrupamento (clusterização) e/ou classificação e/ou regressão de dados. Como

fase final do projeto, será implementado um comitê de máquinas (ensemble),

realizando a união de técnicas com desempenho satisfatório, e espera-se

desenvolver um algoritmo com desempenho ainda mais elevado.

Este documento encontra-se organizado da seguinte forma. O capítulo 1

traz a introdução, motivação e os objetivos do proj eto; O capítulo 2 mostra um

apanhado da literatura referente ao tema de estudo; O capítulo 3 apresenta o

detalhamento do projeto a ser desenvolvido; O embasamento teórico é

detalhado no capítulo 4; O capítulo 5 explana sobre os procedimentos de tes te

e validação para cada um dos módulos do projeto; O capítulo 6 discorre sobre a

análise de riscos do projeto, juntamente com o impacto da concretização dos

mesmos; O capítulo 7 demostra a metodologia de avaliação; O capítulo 8 mos tra

a análise de risco do projeto O capítulo 9 apresenta o cronograma de trabalho

proposto; O capítulo 10 apresenta as conclusões finais, destacando os principais

aspectos e informações presentes neste documento; O capítul o 11 apresenta as

referências bibliográficas utilizadas.

2. APANHADO DA LITERATURA

Exis tem diversas abordagens diferentes na tentativa de ut ilizar aprendizado

de máquina para a realização de classificação musical. Estas divergem nas

técnicas de aprendizado uti lizadas e no tipo de classificação que se deseja obter,

porém, em sua maioria, desejam realizar a separação de gênero.

Page 8: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

8

É váli do citar o trabal ho de Laurens van Dijk [14], que realizou a classificação

e análise de relação entre diversos subgêneros de música eletrônica, seguindo

as classificações do s ite Beatport (beatport.com). Nesse caso, foram utilizados

métodos fornec idos por bibliotecas para o ambiente computacional MATLAB que

permitiam a extração e representação numérica de diversas características

musicais. Para a classificação utilizou-se um conjunto de máquinas de vetores

de suporte (SVM).

Já o sistema criado por Arijit Ghosal [15], do Neotia Institute of Technology

Management and Science, considera gêneros musicais como sendo

caracterizados pela variação de atributos como tom, tempo, amplitude e

periodicidade. Toda a informação obtida é usada como entrada para os três

algoritmos de classificação testados, perceptron multicamada (Multilayer

Perceptron, MLP), Máquina de vetores de suporte (Support Vector Machine,

SVM) e RANSAC (Random Sample Consensus).

Outro trabalho relevante é o de Äaron van den Oord [12] que utilizou redes

neurais convolucionais profundas para predizer características relacionadas a

fatores semânti cos de latentes de uma música, de forma a identificar o nível de

similaridade entre di ferentes músicas, permitindo que sejam reali zadas

recomendações precisas quando levando em cons ideração o gosto musical de

um ouvinte. Foi realizada também a comparação do algoritmo desenvolvido com

uma abordagem mais convenc ional de um “saco de palavras” (bag of words) de

características representativas de cada música.

O trabalho de Paradzinet et al. [13] propôs o desenvolvimento deum sistema

de classificação automática de gênero através da combinação de três algoritmos

de classificação treinados com característica de áudio diferentes entre si. A

análise de características acústicas foi efetuada através do uso de uma rede

neural do tipo perceptron multicamada, as características rítmicas e de timbre

forma consideradas através de classificadores do tipo k-médias. Cada

especialista produz uma probabilidade referente a cada gênero avaliado e estão

são combinadas por uma rede neural art ificial para produzir o resultado final.

Com o uso de tal abordagem, avaliou-se um ganho de 12% de precisão em

comparação ao uso de um único classificador.

Page 9: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

9

Aucouturier e Pachet [2] desenvolveram uma metodologia de análise de

similaridade mus ical através de características de timbre somente. Utilizando os

Coefici entes Ceptrai s da Escala Mel (Mel Frequency Cepstral Coefficients ou

MFCCs) para descrever o envelope espectral e obter as características timbrais,

gerou-se um modelo gaussiano para estimar a distância entre diferentes faixas

musicais.

O estudo de Baniya et al. [11] verificam o efeito que diferentes grupos de

características de áudio (características dinâmicas, rítmicas, espectrais e

harmônicas) causam no desempenho de dois t ipos de classificadores distintos

(Extreme Learning Machine e SVM) na tarefa de classificação de gêneros

musicais.

Uma série de outros trabalhos que realizam classificação de gêneros

musicais baseado no conteúdo do si nal de áudio, tais como [3], [10], [16]–[18],

são bastante similares entre si no que diz respeito ao formato básico do si stema.

Apesar do uso de diferentes bases musicais, percebe-se uma pequena variação

no grupo de caracterís ticas que é utilizado para análise, porém estes estudos se

diferenciam na abordagem de Aprendizado de Máquina utilizada.

3. DETALHAMENTO DO PROJETO

Nesta seção o projeto em questão e seus principais componentes são

listados, juntamente com a definição de suas respec tivas funções. Este trabalho

de conclusão de curso propõe o desenvolvimento de um sistema capaz de, a

partir das características sonoras de um conjunto de músicas, com ou sem

auxílio de metadados, (i) analisar estas informações, (ii) de forma autônoma

definir um model o de agrupamento dos dados e (ii i) a partir do modelo gerado,

analisar e classificar corretamente novos dados.

3.1. VISÃO GERAL

A partir dos requisitos previamente mencionados, pode-se afirmar que,

como resultado deste trabalho, foram desenvolvidas duas aplicações ou

Page 10: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

10

módulos , conforme mostrado na Figura 1. A primeira aplicação, ou módulo, é

responsável pela análise inicial da base de músicas e agrupamento dos dados,

ou seja, é responsável pela criação do modelo de agrupamento. Já a segunda,

é mais característica de uma aplicação de usuário, terá como responsabilidade

a execução das músicas e, com base nos parâmetros obtidos através da

execução da pri meira etapa, realizar recomendações. Como resposta à música

sobre qual a recomendação foi solicitada será i nformada a classe da mesma e

uma ou mai s músicas pertencentes ao mesmo grupo.

Figura 1 - Diagrama de Blocos do Sistema

3.2. MÓDULO DE TREINAMENTO

O módulo de treinamento, como mostra a Figura 1, tem com entrada a

base de dados, já com as características sonoras extraídas dos arqui vos de

Page 11: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

11

áudio. Esta então é passada para o bloco de seleção de características ,

responsável por efetuar processamentos sobre a base de dados e permitir a

escolha das características utilizadas para criar o vetor de características

(detalhes na seção 3.4.3), o qual representa o conjunto de dados no devi do

formato para que o bloco de aprendizado de máquina (detalhes na seção 3.4.4)

possa construir o modelo de classificação que será gravado em disco e

posteriormente servirão de parâmetro para o a avaliação de similaridade entre

músicas. Es te módulo atende aos requisitos de (i) analisar os dados e (ii) definir

um model o de agrupamento dos dados de forma autônoma.

3.3. RECOMENDAÇÃO

O módulo de recomendação, apresentado na Figura 1, representa a parte

da aplicação visível ao usuário. Seus dados de entrada são os parâmetros do

modelo de agrupamento gerados pel o módulo de treinamento e a base mus ical.

Este módulo é representado por uma interface gráfica na forma de um player de

músicas, onde o usuári o será capaz de ouvi r as músicas da base de dados e

requisitar uma recomendação de músicas similares a que esti ver ouvindo.

3.4. ESPECIFICAÇÃO DE BLOCOS

Nesta seção serão especificados os componentes do diagrama de blocos

da Figura 1.

3.4.1. Base de Músicas

Os problemas de Aprendizado de Máquina baseados em análise

estatística – independentemente da aplicação final – requerem de grandes

quantidades de dados . Segundo Bob Mercer [19], “Não existem dados que sejam

dados demais”. Esse problema é agravado quando se trata da MIR,

principalmente pela questão de licenciamento e direitos autorais . Isso di ficulta o

processo de obtenção e livre uso dos dados, restringindo pesquisadores ao uso

Page 12: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

12

de pequenas bases de dados com conteúdo limitado ou músicas distribuídas

sobre licenças livres, tal como a Creative Commons [20].

Desta forma, a construção de bases de dados musicais se tornou uma

das tarefas de mai s importância nesta área de estudo. A importância de tais

bases tem s ido reconhecida com o progresso das tecnologias de informação

musical, fazendo com que a partir do ano 2000, bases de larga escala fossem

criadas, tendo um forte impacto sobre a área de pesquisa global [21].

Porém, além da quantidade de dados , a qualidade dos dados utili zados

também é importante. Atualmente, os trabalhos musicais se espalham por uma

grande variedade de gêneros , cada um com suas características pecul iares, tais

como pop, jazz, rock ou el etrônica. No caso de bases mus icais, principalmente

quando aplicadas a probl emas de classificação, devem ser capazes de

representar essa diversidade, permitindo a análise de diferentes estilos musicais,

bem como diferentes es truturas e características sonoras, permitindo a obtenção

de um modelo mais geral e, consequentemente, melhores níveis de

desempenho [21].

A base musical utilizada foi a The MagnaTagATune Dataset [24], composta

de 5405 faixas de diversos estilos, dividas em mais de 25 mil trechos,

apresentando uma quantidade suficiente de faixas musi cais para treinamento e

validação do sistema, bem como sendo diversas o sufic iente para a c ri ação de

um model o de classificação abrangente. Além disso, o uso de uma base de

dados musi cais disponível na literatura permite com que seja possível realizar a

avaliação do sistema proposto frente a outras abordagens propostas em outros

trabalhos.

Esta base fornece os arquivos de áudio em mp3 referentes aos tais

trechos, permitindo a extração de qualquer característica sonora. Além disso,

são fornecidos os metadados, bem como etiquetas classificadoras anotadas por

usuários para cada um dos trechos, coletadas através do jogo TagATune.

Para a ut ilização dos dados fornecidos na base foi necessária a realização

de uma etapa de pré-processamento dos dados. As informações foram passadas

para o bloco de extração de caracterís ti cas , onde foi real izada a análise do sinal

Page 13: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

13

de áudio e gera uma série de características temporais e espectrais utilizadas

para representação da música. Os metadados presentes na base foram

normal izados e filtrados pelos blocos correspondentes, de forma a remover

dados não rel evantes à tarefa de agrupamento, bem como realizar a análise de

dados faltantes.

3.4.2. Extração de Caracterís ti cas

Uma das características que tornam o Aprendizado de Máquina

interessante é sua capacidade de extrair as informações relevantes de um

amontoado de dados. No caso de música, contudo, isso não se apl ica e por isso

há a necessidade de pré-processar os arquivos de áudio para realizar a extração

de características sonoras – como timbre, tom e ritmo – dos arqui vos de áudio e

utilizar tais características para alimentar os algoritmos de Aprendizado de

Máquina.

Para o desenvolvimento do projeto, o primeiro passo é referente a

aquisição dos dados sobre os quais o trabalho será realizado. Sobre os arqui vos

em mp3 pertencentes à base mus ical escolhida, utilizou-se o framework

MARSYAS de forma a extrair os conjuntos de características para compor o

banco de dados do proj eto.

Já neste primeiro passo encontrou-se dificuldades na execução do

framework. Devido a diferenças nas versões de algumas das bibliotecas C++

utilizadas, foi necessário real izar a edição do código fonte do MARSYAS de

forma a atualizar a chamada para tais funções. Além disso, foi necessário incluir

a biblioteca PortAudio para incluir o suporte aos arquivos mp3 utilizados (função

que não exis te nati vamente no MARSYAS) e recompilar o código de forma a

gerar o executável para linha de comando.

Para a extração propriamente dita, seguiu-se o tutorial disponível no

website do software. Ut ilizou-se as funções pitchextract, extract e bextract para

realizar a análise de cada um dos clips contidos em cada um dos arqui vos mp3

e exportar os dados resultantes para um arquivo CSV, que foi importado para o

banco de dados MySQL do projeto.

Page 14: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

14

3.4.3. Conjunto de Características

Também denominado feature set, é composto por um conjunto de

características que são consideradas rel evantes para a solução de uma tarefa

de aprendizado de máquina.

Foram extraídos 13 conjuntos de características diferentes, que

agrupavam as características relevantes para análise de cada propriedade do

áudio, como cruzando de zero, análise timbral , MFCCs, análise espectral, entre

outros. Todos estes foram importados para uma tabela do banco de dados,

incluindo o conjunto padrão do MARSYAS que contém uma combinação das

características mais comumente usadas.

Como as características foram extraídas para janelas de 1 segundo de

áudio, com sobreposição, os dados de saída gerados são referentes à

propriedades estatísticas do conjunto de dados de cada clip. Por exemplo, gerou-

se a média, média das médias, média do desvi o padrão e média da variânci a de

cada uma das características extraídas, de forma a gerar valores únicos que são

capazes de representar o clip como um todo. Um recorte da tabela de

características padrão pode ser observado na Figura 2.

Figura 2 - Recorte da tabela de características padrões

3.4.4. Aprendizado de Máquina

O bloco de Aprendizado de Máquina é um dos pontos principais

desenvolvidos neste trabalho, neste é reali zada a tarefa de análise de dados e

geração de um modelo de agrupamento.

Page 15: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

15

Já em posse dos dados , o primeiro processamento realizado foi a

normal ização dos mesmos, de forma a padronizar a variação dos mesmos para

uma escala comum. Isto permite que alguns algoritmos, principalmente os

baseados na di stância entre os pontos, não sofram como uma das variáveis com

maior variação dominando e minimizando o efeito das demais na definição dos

grupos. O processo de escala utilizado para cada caracterís ti ca foi composto

pela subtração do valor pela média desta característica particular e a divisão pelo

seu desvio padrão, deixando todas as variávei s com valores próximos da ordem

de -1 a +1.

Como os dados não possuem uma “classe verdadeira” a partir da qual

seja possível avaliar a quantidade de grupos diferentes, bem como a qualidade

do agrupamento gerado, buscou-se algoritmos de avaliação de propri edades

intra-cluster e estimativa do número de classes. Esta aval iação foi feita utilizando

os algoritmos CalinskiHarabasz, DaviesBouldin, Silhouette (Funções exis tentes

no MATLAB) e Dunn’s Index (Toolbox externo), aplicados sobre uma matriz

resultante de diversos agrupamentos realizados com o algori tmo K-means, onde

o número de classes k era variado a cada iteração, sob valores de 5 até 300.

Percebeu-se que todos os algoritmos, apesar de avaliarem caracterís ticas

diferentes (o índice Silhouette, por exemplo, avalia, para cada um dos grupos, o

quão coesos são e quão di stantes es tão dos demais grupos) dentro do conjunto

de dados, retornaram um número de cl asses “ideal” similar, entre 8 e 15 classes.

Os resultados do índice Silhouette podem ser observados na Figura 3, na qual

se observa a média das notas dadas a cada uma das cl asses para cada número

de classes k testado, sendo quanto maior for esta média se diz como sendo

melhor o agrupamento.

Page 16: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

16

Figura 3 - Avaliação do número de grupos utilizando o índice Silhouette

Na tentati va de avaliar o agrupamento considerado ideal por tais

algoritmos , buscou-se obter métricas para a avali ação do agrupamento mus ical

gerado, porém esta é uma tarefa realmente complexa e subjetiva, que acabou

sendo a maior di ficuldade enfrentada durante o desenvolvimento do projeto.

Para o bai xo número de classes indicado pelos algoritmos de avaliação, o

resultado obtido foi claramente insatisfatório. Foi fácil perceber a presença de

músicas de gêneros total mente diferentes e sem nenhuma caracterís ti ca

marcante em comum presentes em uma mesma classe. Como não foi possível

obter uma resposta definitiva de como realizar este procedimento, por isso optou-

se por ouvir extensivamente as músicas de diversas cl asses procurando por

erros na classificação realizada.

Dessa forma, optou-se por avaliar os agrupamentos gerados com valores

de k maiores . Percebeu-se que a similaridade de carac teríst icas sonoras entre

os grupos se acentuou com o agrupamento na faixa de 80 a 100 classes. Tal fato

Page 17: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

17

é suportado ao observar que a base cont inha aproximadamente 90 anotações

diferentes realizadas por usuários para descrever as caracterís ticas de cada

música. Prosseguindo com os testes, percebeu-se que um aumento significativo

no número de grupos não afetava negativamente os algoritmos baseados em

distância dos pontos, como o K-means e o K-medoids, pois muitos dos grupos

excedentes eram descartados, ficando vazios, ou conti nham poucas músicas

com características ligeiramente divergentes do grupo maior que rodeavam.

Foram testados diversos outros al goritmos, tais como Mean-shift

clustering, Self Organized Maps, Agrupamento por Nedes Neurais Artificiais,

Agrupamento hierárquico, Support Vector Clustering, Fuzzy C-Means.

Entretanto, consegui u-se obter resultados relevantes apenas com a utilização

dos dois primei ros métodos. Para os demais, buscou-se técnicas para

normal ização dos dados e redução de sua dimensionalidade, tais como PCA

(Principal Component Analisys), além de realizar modificações nos parâmetros,

mas não foi possível fazer os métodos convergirem para um resultado factível,

gerando agrupamentos com uma música somente em cada classe ou mais de

80% de toda a base em uma única cl asse. A técnica fuzzy testada apresentou

bom funcionamento e apresenta a vantagem do agrupamento fuzzy ser mais

natural ao cérebro humano, porém sua utilização dentro do comitê de máquinas

demandaria a análise e implementação de uma função fuzzy para a obtenção do

voto, o que demandaria um esforço significativo que desviaria do foco principal

deste projeto.

A estrutura utilizada para geração dos modelos de agrupamento é

apresentada na Figura 4. Esta é a parte inicial do comitê de máquinas

implementado, o qual utiliza o conceito de Bagging, onde os classificadores são

treinados independentemente ou, neste caso, os modelos de agrupamento são

gerados por cada algoritmo independentemente e cada um gera uma resposta.

Neste projeto foram gerados 50 modelos diferentes, através da combinação das

técnicas K-means (com o parâmetro k igual a 50 e 250), K-medoids (com o

parâmetro k igual a 50 e 250) e Self Organizing Maps, com dez dos conjuntos de

características extraídos do software MARSYAS, dentre estas o conjunto padrão,

Page 18: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

18

somente MFCCs, somente características ti mbrais, somente características de

espectro, somente caracterís ticas de fluxo e somente características de energia.

Figura 4 - Estrutura de geração dos model os de agrupamento

Page 19: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

19

Uma tentativa de gerar uma avaliação quantitativa que permitisse

comparar o desempenho dos diversos algoritmos foi realizada através da

geração do modelo de agrupamento utilizando apenas n-1 clipes de cada uma

das mús icas, assim como uma base de treinamento. O clipe restante de cada

uma das músicas foi classificado baseado neste modelo gerado, como uma base

de teste, buscando aval iar quantos destes clipes foram classificados na mesma

classe que o resto da música. Foi poss ível gerar valores numéricos de precisão

e erro, porém estes não são muito significativos, visto que uma mesma música

pode variar muito no seu decorrer, fazendo com que uma faixa não seja

necessariamente pertencente a um grupo somente.

3.4.5. Modelo de Agrupamento e Comitê de Máquinas

Suponha que ao receber um grupo de dados como o da Figura 5, o bloco

de aprendizado identifique o agrupamento mostrado na Figura 6. As estrelas

representam o dado de treinamento e X1, X2 e X3, a centroide dos grupos 1, 2 e

3, respectivamente. Neste caso, o modelo de agrupamento gerado é capaz de

identificar e isolar todos estes diferentes grupos existentes no conjunto de dados

e gerar uma etiqueta para cada uma das instâncias exis tentes dentro do grupo

de forma a permitir a identif icação de qual grupo cada ponto pertence. Cada

modelo de agrupamento gerado identifica características ligeiramente diferentes

dentro do conjunto de dados e realiza separações dentro destas identif icações,

fazendo com que certos pontos sejam classificados diferentemente.

A estrutura utilizada para o comitê de máquinas, apresentada na Figura 7,

se baseia em “votos” realizados por cada um dos model os gerados sobre a

classe do clipe amostrado, todos esses votos são repassados como parâmetros

de entrada a um preditor final, responsável por aplicar pesos definidos pelo

usuário para cada um dos modelos e gerar a resposta final. Para definir se a

amostra deve ou não ser incluída na playlist de recomendação, o preditor f inal

deve receber um número mínimo de votos (também definido pelo usuário), que

representa o quão genérica ou específica a recomendação deve ser.

Page 20: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

20

Figura 5 - Exemplo de Dados

Figura 6 - Exemplo de agrupamento

Page 21: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

21

Figura 7 - Es trutura de coleta de votos

3.4.6. Player

Este bloco implementa um simples player de músicas gráfico e um

algoritmo de suges tão de músicas, realizando a interface entre o s istema e o

usuário. Permite realizar a reprodução das músicas pertencentes à base de

dados e realizar a requisição da recomendação a parti r da s imilaridade com a

música ou trecho de música selecionado. Após a requisição, o algoritmo de

recomendação será responsável pela compilação de uma nova playlist contendo

apenas mús icas ou trechos da mesma classe desta.

3.5. ESPECIFICAÇÕES TÉCNICAS

Este tópico traz as especi ficações técnicas para os blocos implementados

citados na seção 3.4.

3.5.1. Extração de Caracterís ti cas

Framework: MARSYAS (Music Analysis, Retrieval and Synthesis for

Audio Signals) Versão 0.5;

Entrada: Música ou conj unto de músicas;

Saída: Conjunto de dados numéri cos que representam as características

sonoras.;

Page 22: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

22

Detalhes da Implementação: Realiza a análise do sinal de áudio e

realiza a extração de uma matriz de valores numéricos que representam diversas

características sonoras capazes de representar a faixa musical, através do uso

de funções providas pelo software MARSYAS Framework [25].

3.5.2. Aprendizado de Máquina

Linguagem: MATLAB R2015b;

Entrada: Conjunto de vetores de características (ver seção 3.4.3) para

cada uma das mús icas presente no feature set de treinamento;

Saída: Modelo de classificação, parâmetros para recriação do modelo no

classificador;

Detalhes de Implementação: Bloco responsável pela geração dos

modelos de agrupamento utilizados para o processo de votação. As técnicas a

serem testadas i ni cialmente serão K-means, K-medoids e Self Organizing Maps

(SOM).

3.5.3. Comitê de Máquinas

Linguagem: MATLAB R2015b;

Entrada: Modelos de agrupamento

Saída: Músicas que devem ser i nseridas na playlist

Detalhes da Implementação: Este bloco implementa um comitê de

máquinas do tipo Bagging, onde cada um dos modelos de agrupamento gerados

separadamente através de al goritmos diferentes dão um “voto” para a definição

da classe da música. Estes “votos” são ponderados de acordo com o peso

definido para cada um dos al goritmos e geram uma nota que serve para defi nir

a qual classe uma música mais se assemelha.

3.5.4. Player

Linguagem: MATLAB R2015b;

Page 23: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

23

Entrada: Votos do comitê de máquinas. Base de músicas;

Saída: Reprodução das mús icas da base de dados e recomendação de

acordo com a requisição recebida. A recomendação será dada no formato de

uma playlist;

Detalhes da Implementação: Este bloco implementa um player de

músicas que inicialmente reproduz uma playlist aleatória como todas as músicas

da base de dados. A partir de uma música que es teja em reprodução é possível

solicitar a recomendação de músi cas parecidas ao pressionar um botão. O

algoritmo de recomendação então será responsável por buscar músicas que

estejam enquadradas na mesma classe de agrupamento desta e montar uma

playlist que será retornada ao usuário.

4. EMBASAMENTO TEÓRICO

Nesta seção são apresentados conceitos teóricos necessári os para o

entendimento mais aprofundado do projeto em questão.

4.1. VISÃO GERAL

A vasta maioria dos sistemas de classificação mus ical ou de análise de

similaridade mus ical es tudados na atualidade seguem a mesma estrutura

básica, dividida em quatro blocos fundamentais, conforme apresentado na

Figura 1.

Cada faixa mus ical, uma função do tempo pel a amplitude (ou uma tupla

de amplitudes, para o caso de múlti plos canais), é representada digitalmente

como uma sequênci a finita de amostras discretas à uma taxa de amostragem

fixa, sendo que as taxas mais comuns variam entre 11 a 44,1 kHz, fazendo com

que cada canal possa ser composto por milhões de valores diferentes.

Geralmente esses valores são normali zados e podem ser convertidos para um

único canal [27].

Page 24: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

24

Ao invés de lidar com uma faixa musical por completo de uma vez, utiliza-

se um módulo de extração de característica locais. Tal módulo realiza a divisão

de uma mús ica em pequenos segmentos, geralmente com tamanho fixo na

ordem de mili ssegundos, com possíveis trechos sobrepos tos, chamados de

quadros (frames). Estes sofrem transformações matemáti cas separadamente ou

em um grupo de elementos próximos, de forma a obter uma sequência de

características (features) locais. A segmentação do áudio em diversos quadros,

apesar de não ser necessário para a extração de todas as características

(aspectos como a energia do envelope e descritores globai s do áudio não

necessitam de segmentação), permite que a variabil idade dos valores de entrada

seja reduzida, bem como reduz o poder computacional necessário para a

realização das transformações. Porém, além disso, outra justificat iva para

realizar a extração de características locais do áudio vem do fato de que a

percepção humana de uma música também acontece em pequenos pedaços,

não uma música inteira de uma só vez [27].

O próximo passo trata da criação de um modelo global para a mús ica.

Apesar de uma faixa poder ser representada somente pel as característ icas

locais, esta não é uma abordagem viável , pois cada uma das caracterís ti cas,

extraídas a uma frequência de aproximadamente 50 Hz, constituem um conjunto

de valores de uma magnitude próxima a dos dados ori gi nai s. Além disso, como

muita informação dentro destas características é redundante (existem muitos

fragmentos de uma música que são similares ou iguais entre si) ou não é

relevante (períodos de silêncio, por exemplo). A criação de um modelo global da

faixa musi cal deve capturar aspectos relevantes do conjunto de caracterís ticas

e descartar detalhes desnecessários. Para tal, modelos estatísticos complexos

podem ser uti lizados, porém um exemplo simples seri a realizar a média de cada

um dos valores locais de cada característica [27].

Com o modelo representativo da mús ica gerado, a classificação da faixa

dentro de um dos gêneros musicais se dá através da estimativa e comparação

da sua similaridade com o modelo representativo de cada gênero. Dependendo

do tipo do modelo, diferentes medidas de distância podem ser aplicadas, sendo

necessária a análise de acordo com as característ icas locais em que o modelo

Page 25: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

25

se baseia. A dis tância calculada entre dois modelos geralmente não pode ser

interpretada por s i só, mas deve ser comparada com outras distâncias de forma

a obter relações indicando que uma música é mais próxima a um gênero X do

que a um gênero Y, por exemplo. Também é possível uti lizar tais valores para

produzir uma visualização de uma coleção de músicas, apresentando sua

classificação [27].

4.2. EXTRAÇÃO DE CARACTERÍSTICAS SONORAS

Diferente de outros tipos de dados utilizados em Aprendizado de Máquina,

o áudio consiste em séries temporais geralmente mui to grandes. A parti r de uma

taxa de aqui si ção de 44,1kHz, comumente util izada para músicas digitais, uma

faixa de apenas três minutos produz um vetor de dados com aproximadamente

8 milhões de valores diferentes. Essa quant idade dados, além de muito grande,

também possui i nformações ruidosas e redundantes para análise. Além disso,

como o comprimento de uma música varia dentro de uma faixa temporal muito

ampla, a quantidade de dados extraídos diretamente do sinal de áudio de cada

faixa varia muito, sendo que as técnicas de classificação utilizadas atualmente

dependem de uma escala, de certa forma, fixa [3], [22].

Dessa forma, a tarefa mais importante para o processamento automático

de áudio é a extração de um conjunto de fixo de características das formas de

onda do sinal sonoro, criando um espaço de varáveis menor e simplificando a

análise [3], [13], [22]. Esse conjunto de características tem como objetivo

representar diferentes aspectos sonoros e musicais de uma forma concisa,

contendo informação relevante para a identificação e reconhecimento de

padrões, sendo que, analogamente a quantidade de dados de treinamento

utilizado para qualquer técnica de Aprendizado de Máquina, quanto mais

características distintas forem extraídas de cada i tem, melhor deve ser o

desempenho obtido na tarefa de classificação. Entretanto, o objeti vo da extração

de características é obter o conjunto de informações que mel hor representa o

áudio, utilizando o menor número de aspectos possível, já que a extração e uso

de uma quant idade i mensa de dados leva novamente ao problema de que dados

Page 26: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

26

com grande dimensionalidade causam um processo de aprendizado mais

demorado, i ndependentemente do algori tmo uti lizado [28].

Figura 8 - Exemplo de características MFCC extraídas de uma amostra da fai xa

Wolfmother - Cosmonaut

O processo de escolha de quais características devem ser utili zadas é

fortemente dependente da tarefa que se deseja realizar. Para um processo de

classificação musical, existem diferentes pontos de vista di ferentes pelos quais

as faixas podem ser agrupadas. Por exempl o, para agrupar músicas de acordo

com o vocalista ser homem ou mulher, um grupo de características que

representem aspectos vocais, assim como os utilizados para processos de

reconhecimento de voz, são mais importantes que características de ritmo ou

instrumentos. Porém, mesmo para uma tarefa definida, diferentes grupos de

características podem apresentar níveis de desempenho distintos, sendo

necessário que os métodos de Aprendizado de Máquina sejam flexíveis o

suficiente para lidar com diferentes grupos de caracterís ti cas e permitir a

avaliação de seu comportamento [22].

Diferentes tipos de características são necessários para possibilitar o

discernimento entre di ferentes gêneros mus icais. A utilização de apenas

características acústicas que representam o timbre, tais como os MFCC (Mel-

Scale Frequency Cepstral Coeficient) (Figura 8), ut ilizada em muitas abordagens

de classificação musical, não apresentam informações suf icientes para

identificação do gênero musical. Isso se deve ao fato das propriedades musicais

divergirem muito de um gênero para outro, fazendo com que certos es ti los sejam

Page 27: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

27

melhor descri tos por padrões de batida, como muitas das vertentes da música

eletrônica, ou pela combinação de frequências de diferentes instrumentos, tais

como mús ica clássica ou rock, por exempl o [13].

4.2.1. Tipos de características

As características que podem ser extraídas diretamente de um sinal de

áudio podem ser util izadas para criar diferentes níveis de representação para

uma música (Fi gura 9) [29].

São consideradas características de baixo nível as que se rel acionam

diretamente com o sinal, tais como o nível de energia eficaz (RMS), centroide

espectral, taxa de cruzamento de zero (zero crossing rate, ZCR), frequênci a de

desvi o central , razão de energia de banda, envelope espectral e cepstrum. Essas

características são fortemente associadas as propriedades e ao formato

assumido pel o sinal de áudio.

As características de médio nível são as que, através de transformações

ou modelamentos matemáticos, buscam se aproximar de uma forma de

representar a percepção humana do sinal de áudio, extraído características mais

abstratas, como batidas , ADSR (Attack, Decay, Sustain, Release), tonalidade e

MFCC.

Já as características de alto nível, são características totalmente abstratas

e, em alguns casos subjetivas. Englobam conceitos como o humor musical e

estilos, não sendo importantes para o tipo de cl ass if icação que se pretende por

este estudo.

Page 28: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

28

Figura 9 - Níveis de Representação

As diversas características do áudio podem ser dividas como temporais,

quando analisadas diretamente a partir do sinal em função do tempo, ou

espectrais, quando extraídas do espectrograma resultante do sinal que sofreu

uma transformada de Fourier, por exemplo. Além disso, as características

extraídas podem ser globais, quando são extraídas utilizando informações do

sinal como um todo, ou instantâneas, quando analisadas a partir de pequenos

fragmentos isol ados do sinal. Como apresentado na Figura 10, as características

de um sinal de áudio podem representar aspectos temporais, de energia, com

relação ao formato do sinal (em relação ao tempo) ou espectrograma (em função

da frequência) e modelamentos harmôni cos ou perceptuais (cal culados através

de um modelo do ouvido humano) [1] , [27], [29], [30].

Page 29: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

29

Figura 10 - Tipos de Caracterís ticas

Apesar de algumas características poderem ser extraídas do sinal de

áudio como um todo, como é o caso do envelope energético e dos descritores

temporai s globai s, a maioria dos dados utilizados para MIR são descritores

instantâneos. Sua extração, apresentada na Figura 11 se dá através da divisão

de uma faixa em diversos blocos de tamanho na ordem de milissegundos. O

tamanho exato para cada bloco varia de acordo com a abordagem, mas em geral

tenta-se balancear o tamanho de forma que o quadro seja pequeno o suficiente

para continuar sendo considerado instantâneo, mas que não seja pequeno

demais e sofra com grande variação entre um ins tante e outro. Também é

comum utilizar quadros que se sobreponham, de forma a aumentar

artificialmente a resolução de tempo [1], [27], [29], [30].

Page 30: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

30

Figura 11 - Visualização do processo de divisão em quadros

4.2.2. Coefici entes Cepstrais da Escala Mel (MFCC)

As bandas Mel, apresentadas na Figura 12 são uma das tentativas de

modelar o comportamento do sistema auditivo humano através de um grupo de

filtros passa-faixa. São baseadas na escala Mel, a qual é linear para baixas

frequências (abaixo de 1000 Hz) e logarítmica para frequências mais altas [30],

[31].

Figura 12 - Modelo de banco de filtros representativo da Escala Mel

Page 31: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

31

Os coeficientes cepstrais da escala Mel são uma variação do cepstrum

linear, calculados a partir do cepstrum de escala Mel. Originalmente

desenvolvidos para analisar dados de series temporai s para eco, foram

reconhecidas como características úteis para sistemas de reconhecimento de

voz, devido a sua habilidade de representar o espectro auditivo de forma

compacta. Além disso, são capazes de fornecer informações importantes para o

reconhecimento de padrões. No campo da MIR, os MFCCs apresentam uma das

formas de descrever o timbre ins tantâneo característ ico de uma música [30].

O diagrame de blocos para o cálculo dos MFCCs é apresentado na Figura

13. Primeiramente o áudio é decompos to em uma sequência de quadros

sucessivos, os quais são convertidos para o domínio da frequência, através de

uma transformada de Fourier e, em seguida, são convertidos para o espectro da

escala Mel, através da aplicação dos diversos fi ltros. Geralmente uti liza uma

aproximação com 40 bandas de frequência. O envelope des te espectro na

escala Mel é descrito pelos coef icientes, que são obtidos com a apl icação de

uma transformada discreta de cosseno sobre o logaritmo do espectro. Esse

processo gera um grande número de coefi cientes, sendo que para aplicações

práticas uma aproximação através dos primeiros 13 coeficientes se mostra

suficiente [27], [30] .

Figura 13 - Diagrama de Blocos da extração de MFCCs

Page 32: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

32

4.2.3. Modelamento ADSR

ADSR é o acrônimo para Attack, Decay, Sustein, Release (Ataque,

Decaimento, Sustentação e Repouso). Se trata de uma das técnicas mais

comumente utilizadas para detectar e modelar o envelope energético de um sinal

sonoro em relação ao tempo. Esta técnica permite a identificação de períodos

de quatro fases dis tintas de um som (ou uma nota musi cal) , como pode ser

observado na Figura 14, onde as variações na velocidade em que cada fase

acontece permitem avaliar sinais com sonoridade similar [30], [32].

Figura 14 - Fases ADSR

A fase de ataque simboliza o início de um som, ou seja o tempo que a

intensidade sonora l eva do silêncio até sua amplitude máxi ma. O formato de um

Page 33: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

33

ataque permite com que algumas características sobre o som seja inferidas ,

como o instrumento que o produziu, por exemplos. No caso de instrumentos de

sopro o ataque se dá de forma mais suave, já no caso de um tambor, o ataque

é mais curto e mais intenso [30], [32].

O decaimento acontece logo após ao ataque, caracterizando a queda na

intensidade antes de se estabilizar. É resultade do excesso de energia colocado

para iniciar a produção sonora, que não é necessária para manter o som sendo

produzido. Normalmente é um fenômeno muito rápido e, em certos casos, onde

o ataque é suave, não chega a acontecer [30], [32].

A sustentação corresponde ao tempo de duração de uma nota musical,

onde a intensidade energética do som é mantida em um nível contante ou

próximo disto. Existem ins trumentos que permitem a execução de um período

de sustentação, tais como instumentos de sopro ou corda. Porém uma

percussão, por exemplo, tem um período muito curto, quando não inexistente

[30], [32].

A fase de Repouso ou Relaxamento simboliza o final da nota, período

onde a intensidade sonora se reduz até o silêncio novamente. Novamente, seu

período de ocorrênci a varia de acordo com o instrumento que produz a nota,

podendo ser rápido e brusco, como quando um ins trumentista de sopro tapa o

fluxo de ar de seu i nstrumento, ou ser gradual e longo, como em um piano com

o pedal de sustentação acionado, por exemplo [30], [32].

4.2.4. Outras características

Exis tem outras propriedades do sinal de áudio que também podem ser

extraídas e exploradas de forma a contribuir com o desempenho do processo de

classificação.

Dentre as características temporais (Figura 15), a análise da energia

eficaz do sinal permi te que se determine o envelope energético do sinal de áudio,

a partir de onde pode-se obter características como locali zação dos ataques e

centroide temporal , além de permitir a análise da intensidade geral da faixa [30].

Page 34: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

34

O uso do ZCR mostra a análise de quantas vezes o sinal de áudio mudou

de positivo para negativo, permitindo verificar a variação presente no ins tante de

avaliação. É um coef iciente útil para verifi car a presença ou não de silencio no

quadro de áudio sendo analisado. Sendo um quadro em silêncio, por não possuir

informações rel evantes, o mesmo pode ser descartado [30].

A razão de baixa energia realiza uma análise da quantidade de quadros

no interval o capturado que estão abaixo da média RMS. Consequentemente, é

possível ident ificar momentos de menor intensidade dentro de uma faixa [30].

Figura 15 – Exemplo de características temporais da faixa Groove Armada –

Whatever, Whenever.

Após a trans formada de Fourier, algumas características interessantes

também podem ser extraídas a partir do espectro de frequência obtido. Dentre

estas, a entropia espectral calcula o desarranjo do sinal de áudi o, medindo a

quantidade de variação existente na distribuição de frequências do mesmo. A

medida do fluxo espectral é calculada quadro a quadro, realizando a subtração

do bloco atual pelo anterior, permitindo que se obtenha indicativos de quão

rápido ocorre a variação do sinal [30].

O centróide espectral representa o bari centro do espectro, sendo

calculada considerando o espectro como uma distribuição onde os valores são

Page 35: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

35

as frequências do espectro e as probabilidades são dadas pela sua ampli tude.

Tem relação com a energia relativa entra a maior e menor frequência e permite

realizar inferências quanto ao brilho do sinal [33]. Além disso, a assimetria

espectral e o achatamento da onda permitem realizar i nferências quanto a

características timbrais do áudio [30].

4.3. COMITÊS DE MÁQUINA

Em problema padrão de classificação por Aprendizado de Máquina, dado

um conjunto de dados de trei namento, o algoritmo de aprendizado tem a tarefa

de gerar um classificador de saída, o qual é uma hipótese sobre a real função

matemática que mapeia as caracterís ti cas de entrada a sua respectiva classe.

Gerando-se vários preditores diferentes , sel ec iona-se o que fornece a maior

precisão (ou menor erro) para a apli cação. Porém, em alguns casos, a precisão

pode ser aumentada utilizando a combinação da saída de diversos

classificadores [34].

Um comitê de máquinas é um grupo de preditores que têm suas decisões

combinadas de alguma forma (tipicamente através de votação ponderada ou

não) para class ificar um novo exempl o. Uma das áreas mais ativas na pesquisa

de Aprendizado de Máquina tem sido na busca de metodologias de construção

de melhores comitês de máquinas. Geralmente o uso de tal técnica torna o

algoritmo mui to mais poderoso e preciso quando comparado a classificadores

individuais . A combinação de preditores tem sido recomendada principalmente

para probl emas que não são resolvidos satisfatoriamente por um único

classificador [34], [35].

A condição necessária e suficiente para que um comitê de máquinas seja

mais preciso do que seus membros individualmente é que os mesmos sejam

precisos por si só e diversificados. Um classificador preciso é aquele que possui

uma taxa de erro menor do que s implesmente suposições aleatórias para um

novo exemplo. Dois classificadores são diversos se el es comentem erros

diferentes em novos dados. Essas duas características permitem que os dados

Page 36: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

36

sejam analisados de forma diferente por cada um dos preditores e a maioria

decida corretamente pela etiqueta a ser defi ni da [34], [35].

Exis tem três razões que suportam o uso de comitês de máquinas. A

primeira del as é es tatística. Pelo fato dos algori tmos de aprendizados realizarem,

essencialmente, uma busca, em um espaço de hipóteses, pela hipótese que

mais se adequa aos dados, quando não se possui um conjunto de dados grande

o suficiente, o algoritmo pode acabar chegando a diversos pontos que são

“igualmente ideais” para seu conjunto de treinamento. A construção de um

comitê de máquinas permite que todas essas hipóteses sejam consi deradas em

uma “hipótese média”. Essa situação é representada no canto superior esquerdo

da Figura 16 [34].

A segunda razão é computacional. Como muitos algoritmos de

aprendizado funcionam realizando uma busca local, estes podem ficar presos a

pontos ótimos locais. Além disso, quando exis te dados com dimensionalidade

muito grande, torna-se difícil e computacionalmente caro obter a melhor hipótese

possível. Nestes casos, um comitê de máquinas permite que a busca local seja

realizada a partir de diversos pontos de início, podendo fornecer uma

aproximação melhor para a função real desconhecida. Esta situação é

apresentada no canto superior direito da Figura 16 [34].

A terceira razão é de representação. Em muitas aplicações de

Aprendizado de Máquina, a função matemática que realmente representa os

dados não pode ser representada dentro do plano de busca de hipóteses do

algoritmo. Dessa forma, pela reali zação de somas ponderadas das hipóteses de

diversos classif icadores, é possível obter espaços de busca mais compl exos e

aproximações melhores à função real. Essa situação é representada no canto

inferior da Figura 16 [34].

Page 37: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

37

Figura 16 - Razões fundamentais que suportam o uso de comitês de máquinas

O comitê é defini do pela seleção de k preditores e pela função que reali za

a combinação dos mesmos. Para tal existem di ferentes abordagens diferentes

que podem ser seguidas. Os c lassificadores podem ser extraídos do treinamento

de u mesmo conjunto de treinamento ou de vári as sub-amostras do conjunto de

dados. Além disso, pode-se gerar os classificadores utilizando um mesmo

algoritmo de Aprendizado de Máquina, denominados preditores homogêneos, ou

utilizando algori tmos diferentes, conhecidos como preditores heterogêneos.

Dentre as técnicas mais frequentemente utilizadas para a combinação de

preditores homogêneos se encontram os métodos de bagging e boosting. Já

para predi tores heterogêneos, o mais utilizado é o método stacking [35].

4.3.1. Bagging

O método descrito por Breiman et al. [36] recebeu o nome de bootstrap

aggregating, de onde surgiu a nomencl atura bagging, comumente utilizada. É a

Page 38: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

38

técnica mais direta utilizada para agregar classificadores gerados pelo mesmo

algoritmo de Aprendizado de Máquina utilizando a manipulação dos dados de

treinamento. Es te método propõe a criação de várias amostras de um conjunto

de treinamento, denominadas bootstrap. Tais amostras são formadas tomando-

se aleatoriamente el ementos do conjunto de treinamento com repet ição, até que

seja obtida uma amostra do mesmo tamanho do conjunto original, onde alguns

elementos aparecem mais de uma vez e outros não aparecem. [34], [35]

Esses bootstraps são utilizados como novos conjuntos de treinamento

para a geração de novos classificadores, que representam hipóteses

ligeiramente diferentes. A visualização deste processo acontece na Figura 17. A

fim de gerar o preditor fi nal, todos os class ificadores gerados são combinados

por meio de uma votação não ponderada, para problemas de classificação.

Geralmente, o uso desta técnica permite que algoritmos i ns táveis tenham

aumentos de desempenho consideráveis. Porém, ao mesmo tempo em que se

ganha precisão, perde-se a estrutura simples e interpretável do classificador.

Figura 17 - Exemplo de combinação Bagging

Page 39: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

39

4.3.2. Boosting

O método Boosting proposto por Freund e Shapire [37] é outra técnica

que permi te combi nar classif icadores homogêneos. Na teoria, pode ser utilizado

para reduzir o erro de um al goritmo “fraco”, o qual tem um desempenho

ligeiramente mel hor do que classificações aleatóri as [35].

A técnica de Boosting se baseia na utilização de um mesmo algoritmo

treinado com distribuições diferentes de um conjunto de treinamento, sendo que

a distribuição é alterada de acordo com os erros cometidos pelo preditor anterior

[35].

Um dos algoritmos de Boosting utilizados é o AdaBoost [38]. Este

algoritmo mantém uma série de pesos sobre os exempl os de treinamento e, a

cada interação, o algoritmo de aprendizado busca minimizar o erro ponderado

deste conjunto de treinamento e retorna uma hipótese. O erro então é

computado e utilizado para atualizar os pesos associados a cada um dos

exemplos de treinamento, de forma que os exemplos classificados

incorretamente causem maior penalidade para o próximo classificador a ser

treinado. Esse processo pode ser observado na Figura 18. O classificador final

é construído a partir da soma ponderada de cada um dos votos de cada

classificador.

Figura 18 - Exemplo de combinação Boosting

Page 40: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

40

4.3.3. Stacking

O método Stacking, também chamado de Stacked Generalization,

proposto por Wolpert [39] visa combinar diferentes preditores gerados por

algoritmos de Aprendizado de Máquina distintos, utilizando o mesmo conjunto de

dados de treinamento original.

Este método uti liza uma arquitetura em camadas. Os classificadores da

primeira camada recebem como entrada o conjunto de dados original e, a partir

destes, geram sua hipótese representativa dos dados. Uma ou mais camadas

sucessivas recebem como entrada as predi ções das camadas anteriores, bem

como o conjunto de dados original, e fornecem uma saída da mesma forma para

a próxima camada. Um único algoritmo de aprendizado no último nível fornece

a predição final [35].

O Stacking é uma tentativa de mini mizar o erro de generalização,

utilizando preditores em camadas mais altas de forma a aprender os erros

cometidos pelos predi tores imediatamente abaixo. Esse modelo utiliza a

estratégia “ganhador ganha tudo”, onde apenas o c lassificador com menor erro

é selecionado. O papel dos classificadores é, então, aprender como os anteri ores

erram e em quais exempl os el es discordam e usar esse conhecimento para fazer

melhores predições [40]. A ideia geral por trás desta metodologia é a

possibilidade de existi r uma maneira mais inteligente de utilizar um conjunto de

classificadores. A Figura 19 ilustra esta arquitetura com um exemplo de duas

camadas [35].

Page 41: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

41

Figura 19 - Exemplo de combinação Stacking

5. PROCEDIMENTOS DE TESTE E VALIDAÇÃO DO PROJETO

Este tópico discutirá os testes necessário para a validação funcional do projeto em questão.

5.1. TESTES DE CAIXA PRETA

Aqui serão listados os testes de caixa preta que validam o sistema, estes

são testes do ponto de vista do usuário.

5.1.1. Reprodução de Música

O objetivo deste teste é validar a capacidade do módulo player de

reproduzir as músicas para o usuário. A música deve ser reproduzida ao se

seguir os segui ntes passos:

1. O usuário inicia o aplicativo;

2. A interface é carregada com uma playlist aleatória criada sobre toda

a base de músi cas;

Page 42: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

42

3. O usuário clica no botão Play;

4. A música é reproduzida.

Caso o usuário seja capaz de ouvir a música sendo reproduzida este

módulo é validado.

5.1.2. Controles do Player

O objetivo deste teste é validar a capacidade do módulo de aplicat ivo em

realizar as funções do player de música. Para tanto, caso algum dos botões da

interface gráfica seja pressionado pelo usuário, a funcional idade correspondente

deve ser executada.

1. Caso o botão de avanço de música sej a pressionado, a próxi ma

música da playlist atual deve ser i niciada;

2. Caso o botão de avanço de trecho de música seja pressionado, o

próximo trecho da música atual deve ser iniciado, caso não hajam

mais trechos disponíveis a próxima música da playlist atual deve

ser iniciada;

3. Caso o botão de retrocesso de mús ica sej a pressionado, a música

anterior da playlist atual deve ser i niciada;

4. Caso o botão de retrocesso de trecho de música sej a pressionado,

o trecho anterior da mús ica atual deve ser iniciado, caso o trecho

atual seja o primeiro a música anterior da playlist atual deve ser

iniciada;

5. Caso o botão Pause seja pressionado, a música deve ser pausada

no tempo atual e retomada no mesmo momento assim que o botão

play for pressionado;

6. Caso o botão Stop seja pressionado, a música atual deve ser

interrompi da e uma nova playlist aleatória sobre toda a base de

músicas deve ser gerada;

5.1.3. Obtenção de Recomendação sobre Música

O objetivo deste teste é validar a capacidade do s istema de interpretar a

requisição do usuári o de recomendar conteúdo com base em uma música, e

Page 43: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

43

retornar uma playlist com base no model o de agrupamento. Para tanto deve-se

seguir os segui ntes passos:

1. Iniciar a execução da playlist aleatória inicial;

2. Durante a execução de uma música requisitar a recomendação de

conteúdo, clicando sobre o botão “+”;

3. O sistema verifica o modelo de agrupamento e busca músicas com

mesma classificação que qualquer trecho da música atual;

4. O sistema retorna uma playlist de recomendações, de acordo com a

solicitação do usuário.

Caso o usuário receba a classificação e seja capaz de executar a playlist

retornada, o módulo de recomendação por música é cons iderado validado.

5.1.4. Obtenção de Recomendação sobre Trecho

O objetivo deste teste é validar a capacidade do s istema de interpretar a

requisição do usuári o de recomendar uma música baseada no trecho atual,

buscar trechos de músicas com mesma classificação no modelo de agrupamento

treinado e retornar uma playlist com os trechos semelhantes. Para tanto deve-

se seguir os segui ntes passos

1. Iniciar a execução da playlist aleatória inicial;

2. Durante a execução de uma música requisitar a recomendação de

conteúdo, clicando sobre o botão “++”;

3. O sistema verifica o modelo de agrupamento e busca músicas com

mesma classificação que trecho da música reproduzido no momento;

4. O sistema retorna uma playlist de recomendações, de acordo c om a

solicitação do usuário.

Caso o usuário receba a classificação e seja capaz de executar a playlist

retornada, o módulo de recomendação por música é cons iderado validado.

5.1.5. Obtenção de Recomendação sobre Classe

O objetivo deste teste é validar a capacidade do s istema de interpretar a

requisição do usuári o de recomendar uma música com base em uma classe e

retornar uma playlist. Para tanto deve-se seguir os segui ntes passos:

Page 44: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

44

1. Informar a classe desej a no campo de texto;

2. Clicar no botão play;

3. O sistema verifica o modelo de agrupamento e busca músicas com um

ou mais trechos pertencentes à classe informada;

4. O sistema retorna uma playlist de recomendações, de acordo com a

solicitação do usuário.

Caso o usuário receba a classificação e seja capaz de executar a playlist

retornada, o módulo de recomendação por classe é considerado validado.

5.2. TESTES DE CAIXA BRANCA

Nesta seção serão discutidos os testes que certificam o funcionamento

interno do sistema.

5.2.1. Consistência de Dados

O primeiro teste de caixa branca tem como objetivo verificar a presença

dos arquivos necessários para a execução do programa e capacidade de extrair

informações dos mesmos. Será executada a verificação de formato, consistência

e completude dos arqui vos.

Esta verificação será realizada pela execução do teste uni tário

relacionado aos arquivos de configuração. Caso nenhum erro seja retornado os

dados de configuração serão considerados consistente, bem como o módul o que

realiza sua l ei tura.

5.2.2. Disponibilidade de Dados

Este teste tem como objetivo certif icar a disponibi lidade dos dados

necessário para a execução do programa. Ao executar o programa, este

veri ficará a existência dos arquivos necessários para sua execução, ou seja,

base de músi cas e o modelo de agrupamento, no caso do módulo de aplicativo.

Caso algum dos arqui vos não existam será exibida uma mensagem de erro e o

teste falhará. Caso contrário o teste passará.

Page 45: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

45

Este teste será realizado executando o teste uni tári o relacionado ao banco

de dados, que verificará a capacidade de comunicação. Casos nenhum erro seja

retornado es te teste será validado.

5.2.3. Convergência de Algoritmos

Neste teste será veri ficada a propriedade de convergênc ia dos algoritmos

de Aprendizado de Máquina. Ao executar o módulo de treinamento o bloco de

Aprendizado de Máquina deve ser capaz de encontrar uma resposta e, a partir

de um critério de parada, encerrar a execução do processo de treinamento. Caso

este critério seja atendido, o bloco de aprendizado de máquina será cons iderado

como val idado.

Este requi si to será atendido através da execução e observação do

processo de treinamento, bem como da execução do teste unitário rel acionado

ao módulo de treinamento. Caso o al goritmo encontra uma a resposta e os testes

não retornem erros o módulo de trei namento será considerado validado.

5.2.4. Recomendação

A partir deste teste pretende-se confirmar a capacidade de realizar

recomendações de músicas. Ao receber a requisição de recomendação sobre

uma música, o sistema deve ser capaz de ident ificar sua classe, acessá-la,

recuperar suas músicas e retorná-las em forma de playlist ao usuário. Caso isto

ocorra este bloco estará validado.

6. AVALIAÇÃO

O uso de uma aval iação objetiva para um problema de s imilaridade

musical é um tanto problemáti co, pois como a noção de “si milaridade” em uma

música é um conceito altamente subjetivo, a tarefa que medir quantitativamente

a efetividade de um sistema nesse quesito é uma tarefa compl icada [41].

Realizar avaliações do modelo de similaridade baseadas na comparação através

Page 46: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

46

do uso de metadados pode não ser relevante, pois duas músicas de um mesmo

artista, por exemplo, podem não soar pareci das entre si [2].

Desta forma, o procedimento que se mostra mais adequado é a condução

de uma avaliação subjetiva. A metodologia proposta por Aucouturier e Pachet [2],

faz o uso de um usuário para o qual é apresentada uma música objetivo S e duas

músicas de teste A e B, tendo este que decidir, entre A e B, qual a mais similar a

S. Assim pode-se comparar o resultado obtido com as distâncias entre A/B até

S. Outra forma de conduzir um processo de avaliação subjetivo seria no estilo

de uma pesquisa, onde o usuário avalia o resul tado obti do através de uma nota.

Esta também pode ser levando em conta como uma peso de penalização para

aprimorar o desempenho do sistema em dados classificados incorretamente.

Entretanto, de forma a se obter uma form a de comparação com outras

abordagens na li teratura, é possível realizar uma análise grosseira do

classificador do sistema através da classificação em gêneros musicais

propriamente ditos. Pode-se utilizar a divisão em gêneros musicai s de forma a

realizar um treinamento supervisionado no algoritmo classificador, verificando,

assim, seu nível de precisão e acurácia. Além disso, o efeito causado pelo uso

de diferentes características do áudio também pode ser avaliado

quantitativamente. Apesar dos benefícios, o uso de tal abordagem não é capaz

de analisar a subjetividade do concei to de simil aridade, que é o estudo do

sistema, podendo gerar resultados que não representam a total capacidade do

sistema [41], [42].

Page 47: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

47

7. RESULTADOS

O resultado gerado com o desenvolvimento do projeto é aplicat ivo de

player de músicas vol tado ao usuário final, bem como suas funcionalidades de

operação sobre os dados fornecidos pelos modelos de agrupamento gerados e

a base musical.

A interface desenvolvida, apresentada na Figura 20, é similar a de um

player de músicas comum, possuindo as funci onali dades de Play/Pause/Stop a

avanço e retrocesso de música. Porém, como as músicas presentes na base de

dados utilizadas es tão separadas em clipes, exis te também a possibilidade

avanço e retrocesso dos cli pes de uma mesma música (<|<| e |>|>).

Figura 20 - Player de Músicas

A principal funcionalidade e diferencial des ta interface são os botões “+” e

“++”, os quais reali zam a compilação de uma nova playlist baseada nas

recomendações efetuadas sobre o clipe ou música atual, respectivamente. Es tas

recomendações são realizadas baseando-se em votos recebidos pela

Page 48: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

48

classificação realizada do clipe ou música por cada um dos 50 modelos gerados,

ponderados pelos pesos definidos no preditor final.

O player ainda possui a interface para configuração dos parâmetros

referentes aos pesos dados a cada modelo de agrupamento gerado (Figura 21),

possibilitando que a recomendação seja customizada para dar preferência a

certo tipo de característica sonora ou pelo agrupamento gerado por certo

algoritmo. Além disso, é possível realizar a alteração do número de votos

necessários para que a recomendação seja realizada, permitindo o controle de

quão parecidos os resultados recomendados devam ser.

Figura 21 - Interface para defi nição dos pesos de cada algoritmo

Page 49: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

49

8. CONCLUSÃO

A evolução das tecnologias computacionais permitiu o desenvolvimento e

popularização da internet e seus serviços digitais. Essa mudança de paradigma

fez com que a classificação musical se tornasse um problema relevante – visto

que com a expansão de servi ços online de venda ou streaming de música, a

recomendação automática de novas músicas passou a ser um componente

indispensável para o sucesso de tais servi ços . Uma das possíveis abordagens

para enfrentar tal problema é vista na classificação e agrupamento mus ical

através de características simi lares, que podem ser mai s relevantes que o

gênero musical para este caso especif icamente.

Os resultados obtidos mostram que é possível realizar a recomendação

de músicas através da abordagem baseada em pseudo-gêneros musicais,

definidos de acordo com a similaridade sonora entre mús icas. Mesmo algoritmos

simples como K-means ou K-medoids se mostraram capazes de produzir um

agrupamento relevante.

Pela natureza subjetiva do problema estudado, há a dificuldade em definir

uma métri ca para avaliação da qualidade do agrupamento gerado, de forma que

permita a comparação de desempenho dentre os diferentes algoritmos.

Uma possibilidade para trabal hos futuros é o estudo de novos algoritmos

para complementar do comitê de máquinas desenvolvido, principalmente de

métodos baseados em lógica fuzzy ou em redes neurais, por melhor

representarem as divisões em grupos realizadas pelo cérebro humano e, como

desde o início a abordagem deste projeto foi buscar uma forma de

recomendação musical mais natural e relevante que a s imples divisão em

gêneros musicai s. Outro grande ponto de estudo é o desenvolvimento de uma

métrica para avaliação e comparação do desempenho entre os diferentes

algoritmos . Pode também ser desenvolvido um si stema que utili ze algoritmos

que analisem rel ações mais fracas entre as músicas, permitindo a

recomendação de conteúdo relativamente diferente do que o usuário já conhece.

Page 50: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

50

O projeto como um todo foi uma grande oportunidade de aprendizagem

de diversos concei tos, desde as caracterís ti cas que podem ser utilizadas para

representar uma música, até os diversos algoritmos de agrupamento e seu

funcionamento. Assuntos como tratamento e preparação de dados, avaliação do

agrupamento e o estudo realizado sobre a área de recuperação de informação

musical também foram realmente interessantes para o aprendizado. Ao concluir

o projeto e verifi car que seu funcionamento atendeu as expectativas, foi

gratificante observar a superação das adversidades encontradas inicialmente.

Page 51: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

51

9. REFERÊNCIAS BIBLIOGRÁFICAS

[1] M. M. F. Mckinney and J. Breebaart, “Features for Audio and Music Classification,” Proc ISMIR, vol. 4, pp. 151–158, 2003.

[2] J. Aucouturier and F. Pachet, “Music Similarity Measures : What ’ s the Use ?,” Ismir, p. 7, 2002.

[3] S. Li and G. Guo, “Content-based audio classification and retrieval using SVM learning,” First IEEE Pacific-Rim Conf. Multimedia, …, no. i, 2000.

[4] A. Smola and S. V. N. Vishwanathan, “Introduction to machine learning,” Methods Mol. Biol., vol. 1107, pp. 105–128, 2014.

[5] T. Esparza, “Computational Rhythm Similarity Development and

Verification Through Deep Networks and Musically Motivated Analys is by,” no. January, 2014.

[6] Z. Fu, G. Lu, K. M. Ting, and D. Zhang, “A survey of audio-based music classification and annotation,” IEEE Trans. Multimed., vol. 13, no. 2, pp.

303–319, 2011.

[7] Apple Inc., “iTunes.” [Online]. Available: www.apple.com/itunes .

[8] Google Inc., “Google Play Music.” [Online]. Available: https://play.google.com/music.

[9] “Spot ify.” [Online]. Available: www.spotify.com.

[10] S. Z. Li, “Content-based audio classification and retrieval using the nearest feature line method,” IEEE Trans. Speech Audio Process., vol. 8, no. 5, pp.

619–625, 2000.

[11] B. K. Baniya, D. Ghimire, and J. Lee, “Evaluation of different audio features

for musical genre classification,” pp. 260–265, 2013.

[12] A. van den Oord, S. Dieleman, and B. Schrauwen, “Deep content-based

music recommendation,” Electron. Inf. Syst. Dep., p. 9, 2013.

[13] A. Paradzinets, H. Harb, and L. Chen, “Multiexpert System for Automatic Music Genre,” no. June, 2009.

[14] L. Van Dijk and T. Heskes, “Finding musical genre similarity using machine learning techniques,” pp. 1–25, 2014.

[15] A. Ghosal, R. Chakraborty, B. Chandra Dhara, and S. Kumar Saha, “Genre-Based Classification of Song Using Perceptual Features ,” Adv. Intell. Syst.

Comput., vol. 243, pp. 267–276, 2013.

[16] Y. Costa, L. Oliveira, A. Koerich, and F. Gouyon, “Mus ic Genre Recognition

Based on Vi sual Features with Dynamic Ensemble of Classifiers Selection,” pp. 55–58, 2013.

[17] P. R. Lisboa de Almeida, A. de Souza Britto, E. J. da Silva Junior, L. E. Soares de Oliveira, T. Montes Celinski, and a. L. Koerich, “Music genre

classification usi ng dynamic selection of ensemble of classifiers,” Syst.

Page 52: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

52

Man, Cybern. (SMC), 2012 IEEE Int. Conf., pp. 2700–2705, 2012.

[18] C. Nascimento, C. A. A. Kaestner, and A. L. Koerich, “Automatic Genre Classification of Latin Music Usi ng Ensemble of Classifiers,” IEEE Int. Conf.

Syst. Man Cybern., pp. 1687–1692, 2006.

[19] F. Jelinek, “Some of my Best Friends are Linguists Applying Information

Theoretic Methods : Evaluation of Grammar Quality,” 2004. [Online]. Available: http://www.lrec-conf.org/lrec2004/doc/jelinek.pdf.

[20] T. Bertin-Mahieux, D. P. W. Ell is, B. Whitman, and P. Lamere, “The million song dataset,” Proc. 21st Int. Conf. companion World Wide Web - WWW

’12 Companion, no. Ismir, p. 909, 2012.

[21] M. Hashi da, T. Matsui, and H. Katayose, “A New Music Database Describing Deviation Information of Performance Expressions,” Int. Conf. Music Inf. Retr., pp. 489–494, 2008.

[22] H. Homburg, I. Mierswa, B. Moeller, K. Morik, and M. Wurst, “A Benchmark Dataset for Audio Classification and Clustering,” Proc ISMIR, pp. 528–531,

2005.

[23] Apple Inc., “GarageBand.” [Online]. Available: http://www.apple.com/br/ios/garageband/.

[24] K. West, I. Uiuc, M. Mandel, M. Bay, J. S. Downie, and I. Uiuc, “Evaluation of algorithms using games: The case of music tagging,” no. Ismir, pp. 387–392, 2009.

[25] G. Tzanetakis and P. Cook, “MARSYAS : A framework for audio analysis,”

Organised Sound, vol. 4, no. 3, pp. 169–175, 1999.

[26] J. R. Jang, “Audio Signal Processing and Recognition,” 2011. [Online].

Available: http://www.cs.nthu.edu.tw/~jang.

[27] J. Schlüter, “Unsupervised audio feature extraction for music similarity

estimation,” Tech. Univ. Muchen Master Thesis, 2011.

[28] F. Camastra and A. Vinciarelli, “Machine Learning for Audio, Image and Video Analysis,” pp. 1–508, 2007.

[29] J. P. Bello, “Low-level features and timbre,” Lect. Notes, pp. 1–31, 2013.

[30] G. Peeters, “A large set of audio features for sound description (similarity

and classification) in the CUIDADO project,” Cuid. IST Proj. Rep., vol. 54, no. 0, pp. 1–25, 2004.

[31] J. Ren, M. Wu, and J. R. Jang, “Automatic Music Mood Cl ass ification Based on Ti mbre and Modulation,” vol. 6, no. 3, pp. 236–246, 2015.

[32] C. Dodge and T. A. Jerse, “Computer Music,” 1997.

[33] J. M. Grey, “Perceptual effects of spectral modifications on musical timbres,” J. Acoust. Soc. Am., vol. 63, no. 5, p. 1493, 1978.

[34] T. G. Dietterich, “Ensemble Methods in Machine Learning,” Mult. Classif. Syst., vol. 1857, pp. 1–15, 2000.

Page 53: PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ GABRIEL …laplima/.../gabriel_guilherme... · gabriel herman bernardim andrade guilherme brunow gomes classificaÇÃo musical baseada

53

[35] Jaqueline Brigladori Pugliesi, R. A. Sinoara, and S. O. Rezende,

“Combinação de Regressores Homogêneos e Heterogêneos: Preci são e Compreensibilidade,” 2003.

[36] L. Breiman, “Bagging Predictors,” Mach. Learn., vol. 24, no. 421, pp. 123–140, 1996.

[37] Y. Freund and R. Schapire, “A decision-theoretic generalization of on-line learning and an appl ication to boosting,” Comput. Learn. theory, vol. 55,

pp. 119–139, 1995.

[38] J. Bergstra, N. Casagrande, D. Erhan, D. Eck, and B. Kégl, “Aggregat e

features and ADABOOST for music classification,” Mach. Learn., vol. 65, no. 2–3, pp. 473–484, 2006.

[39] D. H. WOLPERT, “STACKED GENERALIZATION,” Neural Networks, vol. 5, no. 2, pp. 241–259, 1992.

[40] K. M. Ting and I. H. Witten, “Stacked generali zation: When does it work?,” in IJCAI International Joint Conference on Artificial Intelligence, 1997, vol.

2, pp. 866–871.

[41] M. Welsh, N. Borishov, J. Hi ll, R. von Behren, and A. Woo, “Querying large collecti ons of music for si milarity,” UC Berkeley Tech. Rep., no. UCB/CSD-00–1096, 1999.

[42] K. West and S. Cox, “Features and Classifiers for the Automatic Classification of Musical Audio Signals,” Proc. Int. Soc. Music Inf. Retr.

Conf., pp. 1–6, 2004.