Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANA
DEPARTAMENTO DE COMPUTACAO
TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS
HANNA CAROLINA BATALHA PICCOLI
ORGANIZACAO AUTOMATICA DE PARTITUTAS PARA VIOLINO
EM NIVEIS DE DIFICULDADE
TRABALHO DE CONCLUSAO DE CURSO
CORNELIO PROCOPIO
2016
HANNA CAROLINA BATALHA PICCOLI
ORGANIZACAO AUTOMATICA DE PARTITUTAS PARA VIOLINO
EM NIVEIS DE DIFICULDADE
Trabalho de Conclusao de Curso apresentado ao
curso de Tecnologia em Analise e Desenvolvimento
de Sistemas da Universidade Tecnologica Federal do
Parana como requisito parcial para obtencao do grau
de Tecnologo em Analise e Desenvolvimento de Sis-
temas
Orientador: Prof. Dr. Carlos N. Silla Jr.
CORNELIO PROCOPIO
2016
TERMO DE APROVAÇÃO
ORGANIZAÇÃO AUTOMÁTICA DE PARTITURAS PARA VIOLINO EM NÍVEIS DE DIFICULDADE
por
HANNA CAROLINA BATALHA PICCOLI
Este Trabalho de Conclusão de Curso (TCC) foi apresentado(a) em 08 de Junho de 2016 como
requisito parcial para a obtenção do título de Tecnólogo em Análise e Desenvolvimento de
Sistemas. O(a) candidato(a) foi arguido pela Banca Examinadora composta pelos professores
abaixo assinados. Após deliberação, a Banca Examinadora considerou o trabalho aprovado.
____________________________________ Dr. Carlos N. Silla Jr. Prof.(a) Orientador(a)
____________________________________ Responsável pelos Trabalhos
de Conclusão de Curso
____________________________________ Dra. Katia R. Felizardo
Membro titular
____________________________________ André L. Przybysz
Membro titular
____________________________________ Coordenador(a) do Curso
UTFPR - Campus Cornélio Procópio
Ministério da Educação
Universidade Tecnológica Federal do Paraná Campus Cornélio Procópio
Diretoria de Graduação e Educação Profissional
Dedico esse trabalho a forca que rege o universo, a minha famılia, aos
meus amigos, a todos aqueles que influenciaram, mesmo que indire-
tamente, minha formacao intelectual e pessoal, e a todos aqueles que
lutam pela paz e por um mundo melhor.
AGRADECIMENTOS
A Deus, a grande forca que rege o universo, agradeco por poder me apoiar sempre e
por ter me dado forca e coragem para vencer os obstaculos da minha vida.
Aos meus amados pais Moacyr e Leize, eu agradeco por todo amor e carinho, por
toda a dedicacao, pela paciencia, por me educar, me ensinar, por acreditar em mim e nos meus
sonhos. Agradeco por tudo, tudo mesmo, sem voces nada disso seria possıvel.
Aos meus irmaos Marılia, Filipe e Sabrina, meus melhores amigos, aqueles que estarao
do meu lado para sempre. Agradeco por todos os momentos, todas as loucuras, todas as alegrias
que passamos. Isso fez de mim tudo que sou hoje.
A todos os meus professores, em especial meu orientador Carlos, quem eu tive o prazer
de conhecer e trabalhar junto em sua grande equipe do laboratorio de Computacao e Tecnologia
Musical. Agradeco por todas as oportunidades e todo o suporte que me deu durante esses quatro
anos de parceria.
Aos meus grandes amigos Diego, Herbert, Luiza, Juliana, Brenno, Fumio e Paulo que
estiveram, mesmo que distante, me apoiando em todos os momentos. Agradeco pela compa-
nhia, pelos concelhos, pelo carinho, por cada risada e por cada lagrima que tivemos juntos.
Voces estao no meu coracao.
A minha segunda famılia, minha tia de coracao Sonia e meus queridos primos de
coracao Alex e Caio, que cuidaram de mim com tanto carinho.
Ao Vinıcius, que teve a imensa paciencia de me ajudar a entender um pouquinho mais
desse tao complicado mundo da programacao.
A Tenrikyo e a todos os seguidores do seu caminho que tive o prazer de conhecer.
Agradeco por me mostrarem como seguir o caminho do bem e poder alcancar a felicidade.
A Cornelio Procopio e a UTFPR que me acolheram de bracos abertos, que me apresen-
taram a pessoas excepcionais, me proporcionaram grandes feitios e os melhores anos da minha
vida. Deixo aqui, com pesar, um adeus a esse querido lugar.
”Do or do not there is no try.”(Yoda)
RESUMO
BATALHA PICCOLI, Hanna Carolina. ORGANIZACAO AUTOMATICA DE PARTITUTAS
PARA VIOLINO EM NIVEIS DE DIFICULDADE. 66 f. Trabalho de Conclusao de Curso –
Tecnologia em Analise e Desenvolvimento de Sistemas, Universidade Tecnologica Federal do
Parana. Cornelio Procopio, 2016.
Atualmente ha uma grande quantidade de musicas e partituras disponıveis na Internet. No en-
tanto, encontrar partituras com nıveis apropriados para o estudo pode ser uma tarefa difıcil para
estudantes e professores de musica. Isso se da principalmente pela quantidade de versoes di-
ferenciadas existentes de uma mesma partitura musical ou ainda por diversas delas nao serem
identificadas por um nıvel de dificuldade especıfico. Definir a dificuldade de cada partitura mu-
sical de forma manual e uma tarefa complexa pelo fato de que exige muito conhecimento teorico
e de um instrumento especıfico. Alem disso, dificuldade e uma questao subjetiva considerando
que as dificuldades encontradas em uma musica podem ser interpretadas de formas distintas
dependendo do instrumento em que a musica e reproduzida ou ate do nıvel de conhecimento da
pessoa que a reproduz. Por este motivo, esse trabalho propoe a criacao de uma ferramenta que
fara a classificacao automatica de nıveis de dificuldade para partituras musicais se baseando em
metodos de ensino de instrumentos musicais especıficos com o objetivo de tornar a tarefa de
organizacao mais pratica e eficiente.
Palavras-chave: Organizacao de Partituras, Nıvel de Dificuldade, Classificacao Automatica
ABSTRACT
BATALHA PICCOLI, Hanna Carolina. AUTOMATIC VIOLIN SCORE ORGANIZATION
BY DIFFICULTY LEVELS. 66 f. Trabalho de Conclusao de Curso – Tecnologia em Analise e
Desenvolvimento de Sistemas, Universidade Tecnologica Federal do Parana. Cornelio Procopio,
2016.
Currently, there is a large amount of songs and music scores available on Internet. However, find
music scores with apropriate level to study can be a hard task for music student and teachers.
This happens principally because of the existing amount of different versions of the same music
score or because several of them are not identified by a specific difficulty level. Defining the dif-
ficulty for each piece of music manually is a complex task because it requires music knowledge
and also, the knowledge of a specific instrument. Further, difficulty is a subjective question if
considering the difficulty found in a song can be interpreted in different ways depending on
the instrument the song is played or even the proficiency level of the person who plays it. For
this reason, this work proposes the creation of a tool that would do the automatic classification
of difficulty levels for music scores basing on specific musical instrument education methods
aiming to make the organization of music scores more practical and efficient.
Keywords: Organization of Music Scores, Difficulty Levels, Automatic Classification
LISTA DE FIGURAS
–FIGURA 1 Variacao A de Twinkle, Twinkle, Little Star . . . . . . . . . . . . . . . . . . . . . . . . . 11
–FIGURA 2 Variacoes B, C, D e tema de Twinkle, Twinkle, Little Star . . . . . . . . . . . . . 12
–FIGURA 3 Exemplo de Notacao em MusicXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
–FIGURA 4 Exemplo da Estrutura do MusicXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
–FIGURA 5 Ciclo de Vida em Cascata Adaptado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
–FIGURA 6 Diagrama de Caso de Uso Sistema Sure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
–FIGURA 7 Diagrama de Caso de Uso Sure Web Service . . . . . . . . . . . . . . . . . . . . . . . . . 29
–FIGURA 8 Diagrama de Caso de Uso Sure Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
–FIGURA 9 Diagrama de Atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
–FIGURA 10 Diagrama de Classes Sistema Sure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
–FIGURA 11 Diagrama de Classes Sure Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
–FIGURA 12 Diagrama de Classes Sure Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
–FIGURA 13 Diagrama de Sequencia Sitema Sure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
–FIGURA 14 Diagrama de Sequencia Sure Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
–FIGURA 15 Funcionalidades do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
–FIGURA 16 Tela Principal Sistema Sure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
–FIGURA 17 Tela Inicial Sure Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
–FIGURA 18 Tela Upload Sure Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
–FIGURA 19 Tela Inicial Home Sure Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
–FIGURA 20 Tela Musicas Sure Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
–FIGURA 21 Tela Nıveis Sure Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
–FIGURA 22 Tela Adicionar Nova Sure Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
–FIGURA 23 Tela Alterar e Remover Sure Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
–FIGURA 24 Tela Partitura Sure Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
–FIGURA 25 Arvore de Decisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
LISTA DE TABELAS
– ˜
˜
˜
˜
˜
˜
˜
˜
˜
˜
˜
˜
˜
˜
TABELA 1 Fase de Comunicacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
–TABELA 2 Fase de Planejamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
–TABELA 3 Fase de Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
–TABELA 4 Fase de Construcao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
–TABELA 5 Organizacao das Partituras por Nıvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
–TABELA 6 Validacao Cruzada Estratificada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
–TABELA 7 Matriz de Confusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
–TABELA 8 Taxas de Acuracia por Classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
–TABELA 9 Classificacao Suzuki Violin School Volume 1 . . . . . . . . . . . . . . . . . . . . . . . . 50
–TABELA 10 Classificacao Suzuki Violin School Volume 2 . . . . . . . . . . . . . . . . . . . . . . . . 51
–TABELA 11 Classificacao Suzuki Violin School Volume 3 . . . . . . . . . . . . . . . . . . . . . . . . 52
–TABELA 12 Classificacao Suzuki Violin School Volume 4 . . . . . . . . . . . . . . . . . . . . . . . . 52
–TABELA 13 Classificacao Suzuki Violin School Volume 5 . . . . . . . . . . . . . . . . . . . . . . . . 53
–TABELA 14 Classificacao Suzuki Violin School Volume 6 . . . . . . . . . . . . . . . . . . . . . . . . 53
–TABELA 15 Classificacao Suzuki Violin School Volume 7 . . . . . . . . . . . . . . . . . . . . . . . . 54
–TABELA 16 Classificacao Suzuki Violin School Volume 8 . . . . . . . . . . . . . . . . . . . . . . . . 55
–TABELA 17 Classificacao Suzuki Violin School Volume 9 . . . . . . . . . . . . . . . . . . . . . . . . 55
–TABELA 18 Classificacao Suzuki Violin School Volume 10 . . . . . . . . . . . . . . . . . . . . . . 56TABELA 19 - Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Edited with the trial version of
Foxit Advanced PDF Editor
To remove this notice, visit:
www.foxitsoftware.com/shoppingww.foxitsoftware.com/shoppingww
LISTA DE SIGLAS
API Application Programming Interface
ARFF Attribute-Relation File Format
HTML HyperText Markup Language
IDE Integrated Development Environment
Java EE Java Platform, Enterprise Edition
MIDI Musical Instrument Digital Interface
MIR Music Information Retrieval
MusicXML eXtensible Markup Language for Digital Music Notation
OMR Optical Music Recognition
PDF Portable Document Format
SGBD Sistema Gerenciador de Banco de Dados
SQL Structured Query Language
Sure SUziki LEvel REference for music
UML Unified Modeling Language
XML eXtensible Markup Language
SUMARIO
1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1 DELIMITACAO DO TEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 PROBLEMAS E PREMISSAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.2 Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 JUSTIFICATIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2 FUNDAMENTACAO TEORICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1 FUNDAMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 TECNOLOGIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 CONCEITOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 TRABALHO RELACIONADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1 VISAO GERAL DO SISTEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 MODELO DE DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3 CICLO DE VIDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.1 Fase de Comunicacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.2 Fase de Planejamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.3 Fase de Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.4 Fase de Construcao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 ARTEFATOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.1 Analise de Requisitos do Sistema Sure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4.2 Analise de Requisitos do Sure Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.3 Analise de Requisitos do Sure Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.4 Diagramas de Caso de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4.5 Diagrama de Atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.6 Diagramas de Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.7 Diagramas de Sequencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5 ESPECIFICACAO DAS FUNCIONALIDADES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6 TELAS DE USUARIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.7 TECNOLOGIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.8 FERRAMENTAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4 EXPERIMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.1 CONSTRUCAO DA BASE DE DADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 CARACTERISTICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.3 CLASSIFICADOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.5 ANALISE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.6 CONSIDERACOES EXPERIMENTAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5 CRONOGRAMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6 CONSIDERACOES FINAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9
1 INTRODUCAO
A comunidade musical tem utilizado a partitura por muitos anos como representacao
de escrita simbolica de uma musica e como meio de aprendizado musical e de instrumentos
(BENNETT, 1986). A criacao das partituras contribuiu como uma forma de padronizacao mun-
dial das notacoes musicas. Diferentemente de hoje, antigamente nao era possıvel gravar musicas
e reproduzi-las, por isso a partitura musical serviu tambem na perpetuacao e continuidade de
obras musicais de musicos importantes como Beethoven e Mozart.
1.1 DELIMITACAO DO TEMA
Com o passar do tempo, a criacao de novas tecnologias no campo da musica passou
de uma conveniencia para uma necessidade. Desde entao, o computador e um componente
essencial utilizado na manipulacao da musica. O MIDI (Musical Instrument Digital Interface)
(GUERIN, 2008), desde sua criacao em meados dos anos 80, foi uma linguagem digital que
teve um grande impacto na tecnologia musical permitindo grandes feitos no que se diz respeito
a digitalizacao da musica e comunicacao entre diferentes instrumentos eletronicos, e e uma
ferramenta que ainda e muito utilizada por sua eficacia (ANDERTON, 2014).
Os avancos tecnologicos proporcionaram tambem a criacao de muitas ferramentas,
como editores e conversores, para dar assistencia principalmente na construcao, manutencao
e preservacao das partituras. Nesse contexto, diversos softwares, dispositivos e formatos de
arquivos foram desenvolvidos e tem sido utilizados para ajudar no processo de integracao da
musica com o computador. Alguns desses formatos dao auxılio na edicao das partituras como
o MusicXML (GOOD, 2001) que facilita e da suporte em sua forma digital. No aprendizado
de instrumentos tambem ja existem sistemas capazes de apoiar a pratica dos instrumentos e da
musica de forma que facilite e estimule seu aprendizado (LIN, 2006; SONGQUITO, 2012),
porem metodos tradicionais como o metodo Suzuki (SUZUKI, 1978a) ainda continuam sendo
os mais adotados no ensino de instrumentos musicais por sua credibilidade com a comunidade
musical (ASSOCIATION, 2005).
10
1.2 PROBLEMAS E PREMISSAS
O processo de selecao de musicas no aprendizado de um instrumento e feito manual-
mente e exige amplo conhecimento musical em um instrumento especıfico. Por esse motivo, e
complexo selecionar musicas que possam compor um metodo de estudo e que possam servir de
apoio para os alunos. Para os educadores, atribuir nıveis as musicas de forma manual e traba-
lhoso e exige tempo, estudo e dedicacao. Alguns estudos ja foram propostos como alternativa a
esse problema (SEBASTIEN, 2012; CHIU, 2012). Por outro lado, esses trabalhos focam apenas
em musicas para piano e sao voltados para as dificuldades encontradas no desempenho deste
instrumento.
Estudantes de musica querem e deveriam progredir mais em seu conhecimento no
instrumento ao mesmo tempo em que ampliam seu repertorio musical. No entanto, a escolha
de musicas que queiram aprender e que, ao mesmo tempo, facam parte do seu nıvel atual de
conhecimento musical nao e tao simples. Diversas partituras estao disponıveis on-line mas
muitas vezes podem ser encontradas varias versoes ou variacoes diferentes da mesma musica
como no exemplo demonstrado nas Figuras 1 e 2 que retratam diversas variacoes da musica
”Brilha, Brilha, Estrelinha (Twinkle, Twinkle, Little Star)”(SUZUKI, 1978a). Muitas vezes essa
variedade de opcoes pode acabar dificultando na identificacao da versao ou do nıvel adequado.
Um outro problema e que sem a ajuda de um professor, os estudantes iniciantes de
musica podem ter muita dificuldade em definir quais musicas eles devem estudar se nao esti-
verem seguindo um metodo de ensino especıfico. Isso acaba limitando nao so a quantidade de
musicas que eles pode aprender inicialmente como tambem a quantidade de generos musicais
pelo fato de que os metodos mais utilizados nao tem uma variedade grande de generos musicais.
11
Figura 1 - Suzuki Violin School Volume 1 - Variacao A de Twinkle, Twinkle, Little Star.
Fonte: (SUZUKI, 1978a)
12
Figura 2 - Suzuki Violin School Volume 1 - Variacoes B, C, D e tema de Twinkle, Twinkle,
Little Star.
Fonte: (SUZUKI, 1978a)
13
1.3 OBJETIVOS
Na sequencia serao apresentados o objetivo geral e os objetivos especıficos.
1.3.1 OBJETIVO GERAL
O objetivo deste trabalho e o estudo e o desenvolvimento de uma ferramenta para
a organizacao automatica de nıveis de dificuldade em partituras musicais. A ferramenta ira
utilizar como base para a definicao dos nıveis de dificuldade o metodo didatico para instru-
mento musical Suzuki Violino para auxiliar estudantes de musica. A partir das musicas desse
metodo serao extraıdas caracterısticas que serao utilizadas no aprendizado de maquina na etapa
de classificacao. Apos a classificacao sera possıvel desenvolver uma ferramenta automatica que
ira definir e organizar as partituras em nıveis de dificuldade. Essa ferramenta sera desenvolvida
juntamente com um web service e para ser aplicada em outros sistemas que trabalhem com
partituras no formato MusicXML e utilizada para fornecer a opcao de organiza-las por nıveis
de dificuldade.
1.3.2 METODO
• construcao da base de dados - selecao as musicas pelos nıveis de dificuldade baseado em
sua totalidade (partituras do metodo Suzuki Violin School vol. 1 ao 10);
• digitalizacao das partituras;
• extracao das caracterısticas;
• classificacao;
• analise dos resultados;
• desenvolvimento da ferramenta;
entrada de partitura;
extracao das caracterısticas da partitura;
classificacao;
definicao de nıvel;
organizacao;
• teste de Desempenho;
método do trabalho.
14
1.4 JUSTIFICATIVA
A musica e uma parte importante da arte e esta presente no cotidiano da sociedade. Ela
e considerada uma forma primordial de expressao criativa dos sentimentos e ate de comunicacao
social. E muito importante que ela continue a ser preservada e ensinada desde cedo pois ela
ajuda no desenvolvimento intelectual e psıquico dos indivıduos (CAETANO, 2012). O desen-
volvimento de tecnologias que colaborem no ensino da musica ou que facilitem sua introducao
no ensino e um estımulo para que ela continue a ser apreciada e explorada de formas que possam
beneficiar no contexto educacional e criativo.
A ferramenta desenvolvida neste trabalho visa a melhoria de qualidade no desempenho
de atividades que podem ser trabalhosas se feitas por seres humanos mas que quando desempe-
nhadas por maquinas poderiam ser muito mais rapidas e efetivas. Alem disso, nao haveria mais
a necessidade do conhecimento de musica ou de um instrumento para realizar essa tarefa. A
ferramenta pretende ajudar musicos e aprendizes de musica na definicao de nıveis para estudo,
como tambem estimular o ensino personalizado da musica instrumental diminuindo da neces-
sidade da definicao manual de nıveis de dificuldade. Por exemplo, um estudante de musica esta
utilizando o metodo Suzuki como material para aprender violino e atualmente se encontra no
volume 3. Ele deseja aprender uma musica de sua preferencia, que nao se encontra no seu ma-
terial didatico, e mesmo que possa encontrar facilmente a partitura na Internet, ele quer saber se
esta partitura corresponde ao seu nıvel atual do Suzuki. Dessa forma, utilizando a ferramenta
seria possıvel identificar se a partitura que ele quer aprender corresponde a qual nıvel que se
compara ao Suzuki. Se a partitura apresentar um nıvel menos elevado que o seu, como 1 e
2, ele poderia aprende-la mais facilmente, porem se for um nıvel mais elevado, como 4, 5 ou
superior ele poderia ter maior dificuldade e talvez a solucao seria esperar ate que evolua um
pouco mais no instrumento para aprende-la. A ferramenta propoe facilitar a definicao de nıveis
nas partituras e constituir uma relacao aos nıveis estabelecidos pelo metodo Suzuki, incenti-
vando o uso personalizado na selecao de musicas para estudo. Assim, seria possıvel explorar
novos meios de aprendizado e estudo de musicas que nao se encontram nos metodos didaticos
tradicionais, deixando que os alunos aprendam seguindo suas proprias escolhas musicais. Estu-
dantes de musica poderiam aprender cancoes baseadas em seu interesse musical e explorar uma
diversidade maior de generos musicais pouco utilizados nos metodos de ensino tradicionais.
15
2 FUNDAMENTACAO TEORICA
Nessa sessao serao especificadas as tecnologias, fundamentos, conceitos e trabalhos
relacionados que sao a base para a definicao do trabalho proposto. Os termos a seguir sao
necessarios para o entendimento da abordagem na qual o trabalho sera realizado.
2.1 FUNDAMENTOS
Na sequencia serao apresentados os fundamentos que serao utilizados no trabalho.
Metodo Suzuki
O Metodo Suzuki (SUZUKI, 1978a) e um metodo de estudo de musica instrumental
que se apoia no princıpio chamado abordagem lıngua-mae em que criancas podem aprender
musica da mesma forma que aprendem sua lıngua nativa: ouvindo e repetindo. O violinista e
educador Shinichi Suzuki, criador do metodo, acreditava que comecar cedo e essencial, mas
que nunca e tao tarde para comecar. Atraves dos anos, sua filosofia transmitiu a milhares de
pessoas que o envolvimento dos pais e professores, licoes em grupo e aprender a tocar antes
de aprender a ler eram as chaves para um futuro promissor na musica. O metodo Suzuki e um
metodo muito conhecido e utilizado em todo o mundo como forma de aprendizado de diversos
instrumentos musicais (ASSOCIATION, 2005; AMERICAS, 1998).
2.2 TECNOLOGIAS
Na sequencia serao apresentadas as tecnologias que serao utilizadas no trabalho.
OMR
Sistemas de OMR (Optical Music Recognition) tem como proposito a conversao e
interpretacao de folhas de partituras para um formato digital manipulavel. Compositores, desde
muitos anos atras, tem escrito suas musicas no papel. Apesar da tecnologia musical ter avancado
significantemente, a quantidade de musicas que foram criadas ou transcritas em formato digital
16
ainda e pequena. As aplicacoes em OMR tentam ser uma alternativa no reconhecimento das
notacoes musicais, mas ainda ha muitos desafios levando em consideracao os diferentes tipos
de partituras escritas a mao ou com ma qualidade.
MusicXML
MusicXML e um formato de codigo aberto para partituras musicais digitais. Ele se des-
taca por usar um formato simples e flexıvel baseado em XML (eXtensible Markup Language).
Nos ultimos anos ele vem ganhando mais espaco na Internet pela sua eficiencia e facilidade. No
entanto, o PDF (Portable Document Format), apesar de nao possuir nenhum valor significativo
musical, continua sendo o formato de arquivo mais encontrado na internet na representacao
das partituras. Na internet existem diversos outros formatos digitais que tambem fazem essa
representacao das partituras e que caracterizam mais valores semanticos da musica, porem, es-
ses formatos sao pagos e especıficos de seus realizadores. O MusicXML aparece como uma
solucao possıvel neste caso, ele surgiu no objetivo de se estabelecer como uma ferramenta on-
line gratuita que unificaria os formatos de partituras digitais, se tornando o formato padrao
(GOOD, 2001). Ele pode tanto ser manipulado com editores de XML como com softwares
criados especificamente na edicao de notacao musical como Finale e MuseScore (MAKEMU-
SIC, 2015; MUSESCORE, 2015). O diferencial de usar esses softwares de notacao musical e
poder ler a partitura em tela, edita-la facilmente, reproduzı-la com players e imprimı-las sem a
necessidade de entender a sintaxe do XML.
As Figuras 3 e 4 mostram um exemplo de notacao e estrutura do MusicXML respec-
tivamente. Os exemplos referem-se a uma representacao da nota Semibreve Do baseada no
tempo 4/4.
Figura 3 - Exemplo de Notacao em MusicXML.
Fonte: (MAKEMUSIC, 2011)(Modificado)
17
Figura 4 - Exemplo da Estrutura do MusicXML.
Fonte: (MAKEMUSIC, 2011)(modificado)
jSymbolic
jSymbolic e um software de codigo aberto destinado a extracao de caracterısticas de
formatos simbolicos de musica. Diferentemente dos formatos de audio que gravam sinais de on-
das de som aproximadas, musicas simbolicas sao arquivos que retem intrinsecamente abstracoes
musicais de alto nıvel, por isso ele pode conter informacoes mais relevante da musica como,
por exemplo, tons e sequencia de notas (MCKAY, 2010). O jSymbolic foi desenvolvido para
ajudar na mineracao de dados de musica e pode ser utilizado na classificacao automatica con-
tando com cerca de 160 caracterısticas que podem ser extraıdas de arquivos MIDI. Essas ca-
racterısticas foram baseadas a partir de trabalhos do estado da arte envolvendo teoria musical e
MIR (Music Information Retrieval) e se dividem em categorias como instrumentacao, textura,
ritmo, dinamica, estatısticas de nota, melodia e acordes (MCKAY, 2006).
18
MIDI
MIDI e uma interface ou linguagem padrao que foi desenvolvida para possibilitar a
comunicacao entre computadores e instrumentos musicais. Ele define como e quais informacoes
sao transmitidas, manipuladas ou executadas pelos dispositivos que relacione-se com seu padrao
(GUERIN, 2008). Ele tambem e definido como protocolo que funciona por meio de controla-
dores, sequenciadores e modulos de som. O arquivo MIDI, nao retem som da mesma forma
que outros formatos de audio, na verdade ele guarda instrucoes de notas, tons e informacoes de
como essa musica deve ser tocada (KERR, 2009; ASSOCIATION, 2011).
ARFF
ARFF (Attribute-Relation File Format) e um formato de arquivo de texto que foi de-
senvolvido para ser utilizado no conceito de aprendizado de maquina. O ARFF descreve uma
lista de instancias que podem possuir diversos atributos. Ele funciona como uma matriz onde
cada linha de texto representa uma instancia, como por exemplo uma musica, e cada coluna
representa um atributo deste elemento, por exemplo, na instancia musica o atributo poderia ser
formato melodico (WAIKATO, 2002).
2.3 CONCEITOS
Na sequencia serao apresentados os conceitos que serao utilizados no trabalho.
Classificacao
A classificacao e uma tecnica de aprendizado de maquina no qual sao apresentados
uma serie de exemplos, ja classificados, que servirao de referencia para o aprendizado de uma
maquina, e espera-se que seja aprendido uma maneira de classificar outro exemplo ainda nao
conhecido pela maquina. Quando os metodos atuam perante supervisao fornecendo resultados
para cada exemplo de treinamento, denominados classes de exemplo, a classificacao e qualifi-
cada como supervisionada. As taxas de sucesso do aprendizado da maquina sao determinadas
a partir da descricao do conceito que e aprendido utilizando um conjunto independente de da-
dos para teste onde as classificacoes consideradas legıtima sao conhecidas mas nao mostradas
a maquina. Essas taxas medem a precisao na classificacao que e basicamente o quao bem esse
conceito foi aprendido (WITTEN, 2005).
19
2.4 TRABALHO RELACIONADOS
Na sequencia serao apresentados os trabalhos relacionados.
Score Analyzer
O Score Analyzer e uma ferramenta que foi proposta com o intuito de ajudar no apren-
dizado eletronico de partituras para piano. Essa ferramenta e basicamente um analisador de
partituras que pode definir de forma automatica nıveis de dificuldade para as partituras mu-
sicais em MusicXML. Para desenvolver essa ferramenta os autores tiveram que definir quais
eram os fatores que evidenciavam as dificuldades tecnicas instrumentais e a partir disso criar
parametros que caracterizassem as dificuldades. Eles puderam identificar sete criterios que de-
finiram como mais relevantes: velocidade de reproducao, dedilhado, deslocamento da mao,
polifonia, harmonia, ritmo e extensao, e a partir disso extrair as caracterısticas. Posteriormente
aplicaram o conceito de Analise de Componentes Principais para avaliar a credibilidade desses
criterios (SEBASTIEN, 2012).
Difficulty Level Recognition of Piano Sheet Music
O estudo de Chiu e Chen propos reconhecer nıveis de dificuldade de partituras criando
uma nova abordagem de selecao de caracterısticas baseadas em dificuldade. Eles analisaram a
semantica do conteudo musical simbolico, folhas de musica e partituras para piano e aplicaram
o conceito de regressao para estimar os nıveis de dificuldade. Seu trabalho utilizou duas base
de dados reais, contendo 159 e 184 partituras musicais respectivamente, com caracterısticas
diferenciadas que apresentaram uma precisao de 38,8% e 39,9% respectivamente utilizando a
estatıstica de coeficiente de determinacao (CHIU, 2012).
20
3 DESENVOLVIMENTO
Nessa sessao serao apresentados a descricao, especificacao e documentacao da ferra-
menta proposta no trabalho.
3.1 VISAO GERAL DO SISTEMA
A ferramenta proposta denominada Sure (SUzuki level REference) e um sistema de-
senvolvido na plataforma java que tem como principal funcionalidade a definicao automatica
de nıveis de dificuldade. Esse sistema tem o proposito de definir a dificuldade de musicas em
formato digital fundamentando-se nos padroes musicais dos livros Suzuki Violin School.
O sistema Sure tambem conta com um Web Service, uma tecnologia que possibilita
a integracao com outros sistemas web. Dessa forma, a funcionalidade de definicao de nıvel
de dificuldade pode ser utiliza em outras aplicacoes desde que estas fornecam o parametro
correspondente ao arquivo MusicXml.
Para validar o funcionamento do sistema Sure e de seu Web Service foi desenvolvido
a plataforma teste Sure Web Page para simular o uso de uma plataforma externa atuando jun-
tamente com os outros sistemas. Esta plataforma conta com cadastro de musica, exibicao de
partituras e definicao de nıveis de dificuldade por meio do sistema Sure e integracao pelo Sure
Web Service.
3.2 MODELO DE DESENVOLVIMENTO
No desenvolvimento de software sao necessarias varias etapas para projetar e descrever
o comportamento do sistema. Cada etapa do modelo de desenvolvimento de software representa
uma serie de atividades com o objetivo de gerar artefatos para poder documentar o sistema
(SOMMERVILLE, 2003). O modelo utilizado neste trabalho e o Modelo Sequencial Linear ou
Cascata por que atende as necessidades das atividades e da utilizacao do tempo de uma forma
simplificada.
21
3.3 CICLO DE VIDA
O Modelo em Cascata ou Ciclo de Vida Classico, e um processo utilizado na construcao
sistemas quando os requisitos sao bem ou razoavelmente bem definidos e o trabalho transcorre
em todas as fazes de forma contınua sem grandes alteracoes (PRESSMAN, 2010). O modelo,
apresentado na Figura 5 sugere uma comportamento contınuo, com uma organizacao sequencial
para o desenvolvimento do sistema.
Figura 5 - Ciclo de Vida em Cascata Adaptado.
Fonte: (PRESSMAN, 2010)(Adaptado)
22
3.3.1 FASE DE COMUNICACAO
A fase de construcao e caracterizada pela elaboracao do projeto e levantamento de requisitos
do sistema por meio da analise do contexto atual e da identificacao das necessidades. As
atividades da fase de comunicacao podem ser observadas na Tabela 1.
Atividades Descricao
Engenharia de Projeto Atividade que da o rumo principal do projeto. Define a vi-
abilidade da construcao do sistema, qual o proposito de ser
projetado e quais finalidades e problemas ira resolver.
Analise do cenario atual Esta atividade envolve uma pesquisa detalhada sobre o con-
texto atual, quais sistemas e trabalhos relacionados ja exis-
tem e o diferencial do sistema a ser desenvolvido.
Analise de requisitos Levantamento de informacoes pertinentes para elaboracao
de possıveis funcionalidades do sistema e restricoes de suas
operacoes.
Tabela 1 - Fase de Comunicacao
Fonte: Autoria Propria
3.3.2 FASE DE PLANEJAMENTO
A fase de planejamento visa organizar as atividades e definir as metas a serem atingidas em
relacao ao tempo. As atividades da fase de planejamento pode ser analisadas na Tabela 2.
Atividades Descricao
Definicoes Definicao do Modelo de Desenvolvimento de projeto de software e Ci-
clo de vida adotado.
Cronograma Definicao do cronograma e estipulacao de prazos.
Pesquisa Definicao e pesquisa do banco de dados.
Tabela 2 - Fase de Planejamento
Fonte: Autoria Propria
23
3.3.3 FASE DE MODELAGEM
A fase de modelagem tem o objetivo de criar representacoes que mostram as informacoes,
funcoes e comportamentos dos requisitos de software. As atividades da fase de modelagem
podem ser analisadas na Tabela 3.
Atividades Descricao
Arquitetura de Software Definicao da arquitetura de modelagem, a representacao
abstrata do sistema.
Modelagem de Diagramas Elaboracao dos principais diagramas (caso de uso, ativida-
des, sequencia, pacotes, classes) que compoe o sistema.
Documentacao Elaboracao da documentacao de modelagem, mapeamento
e detalhamento de requistos.
Tabela 3 - Fase de Modelagem
Fonte: Autoria Propria
3.3.4 FASE DE CONSTRUCAO
A fase de construcao e caracterizada pelo desenvolvimento e codificacao baseados nos
artefatos gerados na fase de modelagem. As atividades da fase de construcao podem ser
analisadas na Tabela 4.
Atividades Descricao
Implementacao do banco de dados Criacao do banco de dados.
Implementacao das Interfaces Codificacao das paginas do usuario.
Implementacao das Classes Codificacao das logica do sistema.
Teste Avaliacao do desempenho do sistema
Tabela 4 - Fase de Construcao
Fonte: Autoria Propria
3.4 ARTEFATOS
Nessa sessao serao descritos os artefatos gerados no desenvolvimento do sistema.
24
3.4.1 ANALISE DE REQUISITOS DO SISTEMA SURE
A analise de requisitos fornece informacoes a respeito das funcionalidades do sistema
com o intuito de solucionar os problemas apresentados e demonstrar o comportamento do sis-
tema.
Requisitos Funcionais
1. O sistema devera definir o nıvel de dificuldade da uma musica.
2. O sistema devera fornecer opcao de operar via tela de usuario.
3. O sistema devera fornecer opcao de operar via linha de comando.
Requisitos Suplementares
1. O sistema devera processar arquivos apenas no formato MusicXml.
2. O sistema devera utilizar as musicas do Suzuki Violin School Volume 1 a 10 como base de
dados para treinamento.
3. O sistema devera utilizar a API do jSymbolic para extracao de caracterısticas das musicas.
4. O sistema devera utilizar o API do Weka para classificacao.
5. O sistema devera ser desenvolvido na linguagem Java.
6. O sistema devera definir o nıvel de dificuldade das partituras atraves da classificacao
automatica.
Detalhamento dos Requisitos Funcionais
1. O sistema devera definir o nıvel de dificuldade da uma musica especificada.
Descricao: O sistema informa o nıvel de dificuldade da musica especificada pelo usuario.
Fluxo principal: Usuario digita campos especificados na tela de usuario ou parametros via
linha de comando.
Informacoes de entrada: nome da musica, caminho do arquivo e caminho do diretorio tem-
porario.
Restricoes Logicas:
1. Nao efetuar processo caso arquivo invalido ou inexistente.
Restricoes Tecnologicas:
1. O nome nao pode conter caracteres como (.) ou (/).
25
2. O caminho do arquivo nao pode conter caracteres como ( ), (.) ou (/). 3. Os formatos de
arquivos suportados sao apenas (.xml) e (.mxl).
4. Os campos Nome e Caminho do Arquivo nao podem ficar em branco.
2. O sistema devera fornecer opcao de operar via tela de usuario.
Descricao: O sistema opera via tela de usuario.
Fluxo principal: Usuario executa o programa clicando no ıcone.
Informacoes de entrada: Nao ha.
Restricoes Logicas: Nao ha. Restricoes Tecnologicas: Nao ha.
3. O sistema devera fornecer opcao de operar via linha de comando.
Descricao: O sistema opera via linha de comando.
Fluxo principal: Usuario executa o programa atraves do prompt de comando.
Informacoes de entrada: Caminho do programa.
Restricoes Logicas: Nao ha.
Restricoes Tecnologicas: Nao ha.
3.4.2 ANALISE DE REQUISITOS DO SURE WEB SERVICE
Requisitos Funcionais
1. O sistema devera permitir o upload de um arquivo especificado.
2. O sistema devera fornecer parametros de saıda.
Requisitos Suplementares
1. O sistema devera definir o nıvel de dificuldade da musica utilizando o sistema Sure.
2. O sistema devera operar como Web Service.
3. O sistema devera ser desenvolvido na linguagem Java.
Detalhamento dos Requisitos Funcionais
1. O sistema devera permitir o upload do arquivo especificado.
Descricao: O sistema faz o upload do arquivo.
Fluxo principal: O usuario informa caminho do arquivo.
26
Informacoes de entrada: Caminho do Arquivo.
Restricoes Logicas: nao ha
Restricoes Tecnologicas:
1. O caminho do arquivo nao podem ficar em branco.
2. O sistema devera fornecer parametros de saıda.
Descricao: O sistema fornece os parametros referente ao nıvel classificado e caminhos dos ar-
quivos.
Fluxo principal: O sistema classifica o arquivo do upload atraves do sistema Sure e retorna
parametros para a aplicacao.
Informacoes de entrada: Caminho do Arquivo.
Restricoes Logicas: nao ha.
Restricoes Tecnologicas: nao ha.
3.4.3 ANALISE DE REQUISITOS DO SURE WEB PAGE
Requisitos Funcionais
1. O sistema devera permitir a criacao de cadastro de musica.
2. O sistema devera permitir a alteracao do cadastro de musica.
3. O sistema devera permitir a exclusao do cadastro de musica.
4. O sistema devera permitir a visualizacao das musicas cadastradas.
5. O sistema devera permitir que as musicas cadastradas sejam ordenadas por nome.
6. O sistema devera permitir que as musicas cadastradas sejam ordenadas por nıvel.
7. O sistema devera permitir a visualizacao das musicas em formato de partitura.
Requisitos Suplementares
1. O sistema devera definir o nıvel de dificuldade da musica utilizando o Sure Web Service.
2. O sistema devera operar via web.
3. O sistema devera utilizar o MySQl como Sistema Gerenciador de Banco de Dados (SGBD).
4. O sistema devera ser desenvolvido na linguagem Java.
27
Detalhamento dos Requisitos Funcionais
1. O sistema devera permitir a criacao de cadastro de musica.
Descricao: O usuario deseja adicionar uma nova musica.
Fluxo principal: Na pagina de musicas o usuario clica na operacao de adicao e sera redireci-
onado para a pagina de cadastro de musica onde podera entrar com os dados da musica a ser
cadastrada e confirmar a operacao.
Informacoes de entrada: Dados da musica: Nome, Autor, Ano, Genero, Caminho do Arquivo.
Restricoes Logicas:
1. Nao efetuar cadastro caso algum campo seja invalido.
2. Nao efetuar cadastro o caso caminho do arquivo nao exista.
Restricoes Tecnologicas:
1. O nome nao pode conter caracteres como (.) ou (/)
2. Os formatos de arquivos suportados sao apenas (.xml) e (.mxl).
3. Os campos Nome e Caminho do Arquivo nao podem ficar em branco.
2. O sistema devera permitir a alteracao do cadastro de musica.
Descricao: O usuario deseja fazer a alteracao de uma musica.
Fluxo principal: Na pagina de musicas o usuario clica na operacao de alterar na linha referente
a musica que deseja atualizar e sera redirecionado para a pagina de alteracao de musica onde
serao carregados os dados da musica que podem ser alterados. Apos feita a alteracao desejada
o usuario confirma a operacao.
Informacoes de entrada: Dados da musica que deseja alterar: Nome, Autor, Ano, Genero.
Restricoes Logicas:
1. Nao efetuar atualizacao caso algum campo seja invalido.
Restricoes Tecnologicas:
1. O Nome da musica nao pode conter caracteres como (.) ou (/)
2. Os campos Nome e Caminho do Arquivo nao podem ficar em branco.
3. O sistema devera permitir a exclusao do cadastro de musica.
Descricao: O usuario deseja excluir uma musica.
Fluxo principal: Na pagina de musicas O usuario clica na operacao de exclusao na linha
referente a musica que deseja excluir e sera redirecionado para a pagina de exclusao de musica
onde serao carregados os dados da musica selecionada e podera confirmar a operacao.
Informacoes de entrada: Musica selecionada.
28
Restricoes Logicas: Nao ha.
Restricoes Tecnologicas: Nao ha.
4. O sistema devera permitir a visualizacao das musicas cadastradas.
Descricao: O usuario deseja visualizar os dados das musicas cadastradas no sistema.
Fluxo principal: Em qualquer pagina o usuario clica na operacao Musicas no menu e sera
redirecionado para a pagina de musicas onde serao carregadas todas as musicas cadastradas.
Informacoes de entrada: Nao ha.
Restricoes Logicas: Nao ha.
Restricoes Tecnologicas: Nao ha.
5. O sistema devera permitir que as musicas cadastradas sejam ordenadas por nome.
Descricao: O usuario deseja visualizar as musicas ordenadas por nome.
Fluxo principal: Na pagina de musicas o usuario clica na operacao de ordenar por nome e a
lista de musicas sera organizada por nome de forma crescente(ordem alfabetica).
Informacoes de entrada: Nao ha.
Restricoes Logicas: Nao ha.
Restricoes Tecnologicas: Nao ha.
6. O sistema devera permitir que as musicas cadastradas sejam ordenadas por nıvel.
Descricao: O usuario deseja visualizar as musicas ordenadas por nome.
Fluxo principal: Na pagina de musicas o usuario clica na operacao de ordenar por nıvel e a
lista de musicas sera organizada por nıveis de forma crescente(1 ao 10).
Informacoes de entrada: Nao ha.
Restricoes Logicas: Nao ha.
Restricoes Tecnologicas: Nao ha.
7. O sistema devera permitir a visualizacao das musicas em formato de partitura.
Descricao: O usuario deseja visualizar a partitura da musica
Fluxo principal: Na pagina de musicas o usuario clica na operacao de visualizar partitura na
linha referente a musica que deseja visualizar e sera redirecionado para a pagina de exibicao de
partitura onde a musica selecionada sera carregada .
Informacoes de entrada: Musica selecionada.
Restricoes Logicas: Nao ha.
Restricoes Tecnologicas: Nao ha.
29
3.4.4 DIAGRAMAS DE CASO DE USO
Os Diagramas de Caso de Uso apresenta uma sequencia de eventos com a finalidade
de demonstrar a interacao dos atores com o sistema.
A Figura 6 mostra o diagrama de caso de uso do sistema Sure onde o ator usuario pode
executar a atividade ligada a definir o nıvel de dificuldade que obrigatoriamente precisa chamar
a funcao de classificar a musica e consequentemente a funcao de treinamento.
Figura 6 - Diagrama de Caso de Uso Sistema Sure.
Fonte: Autoria Propria
30
A Figura 7 mostra o diagrama de caso de uso do Sure Web Service onde o ator, que representa
sistemas externos, pode executar a atividade de fazer upload e o sistema obrigatoriamente
executa as funcoes do pacote do sistema Sure para definir o nıvel de dificuldade.
Figura 7 - Diagrama de Caso de Uso Sure Web Service.
Fonte: Autoria Propria
31
A Figura 8 mostra o diagrama de caso de uso da plataforma Sure Web Page utilizando o Sure
Web Service na integracao com pacote do sistema Sure. O ator usuario pode executar
atividades como gerenciar musica, visualizar musica e partitura e adicionar musica. A
atividade adicionar musica obrigatoriamente executa a funcao de upload do Sure Web Service
que consequentemente executa funcoes do pacote do sistema Sure para difinir o nıvel de
dificuldade.
Figura 8 - Diagrama de Caso de Uso Sure Web Page.
Fonte: Autoria Propria
32
3.4.5 DIAGRAMA DE ATIVIDADES
O Diagrama de Atividades apresenta uma sequencia de atividades desempenhadas pelos atores
e o sistema em uma determinada operacao.
A Figura 9 mostra o diagrama de atividades na operacao de adicionar uma musica no Sure Web
Page, essa operacao integra todos os sistemas envolvidos e o ator usuario do Sure Web Page.
Figura 9 - Diagrama de Atividades: Integracao dos Sistemas.
Fonte: Autoria Propria
33
3.4.6 DIAGRAMAS DE CLASSES
O Diagrama de Classes descreve a estrutura das classes e objetos que sao utilizados na
implementacao da logica do sistema.
A Figura 10 mostra o diagrama de classes do sistema Sure onde no pacote principal se
encontram as classes principal Main responsavel pela execucao do sistema, CommandLine res-
ponsavel pela execucao via linha de comando e a classe Sure responsavel pela funcao principal.
O pacote ”gui”contem a classe OuterFrame responsavel pela tela grafica do usuario. O pacote
util contem as classes responsaveis pelas funcoes de utilidade e controle de dependencias com
sistemas externos.
Figura 10 - Diagrama de Classes Sistema Sure.
Fonte: Autoria Propria
34
A Figura 11 mostra o diagrama de classes do Sure Web Service. O pacote de model possui a
classe da entidade Musica. O pacote web possui as classes relacionadas a pagina web. O
pacote Web Service RESTFul possui os metodos HTTP de web service. E o pacote Sure e um
pacote de dependencia do Sure Web Service observado anteriormente na Figura 10.
Figura 11 - Diagrama de Classes Sure Web Service.
Fonte: Autoria Propria
35
A Figura 12 mostra o diagrama de classes do Sure Web Page. O pacote entity contem a classe
de entidade, o pacote control possui a classe MusicBean responsavel pelo funcoes de controle
com a interface, o pacote dao possui classes relacionadas a comunicacao com o banco de
dados e o pacote util tem a classe relacionada as propriedades do framework Hibernate.
Figura 12 - Diagrama de Classes Sure Web Page.
Fonte: Autoria Propria
36
3.4.7 DIAGRAMAS DE SEQUENCIA
O Diagrama de Sequencia apresenta uma sequencia de passos e mensagens para des-
crever o comportamento de uma funcionalidade do sistema.
A Figura 13 mostra diagrama de sequencia do sistema Sure na operacao de definir o
nıvel de dificuldade.
Figura 13 - Diagrama de Sequencia: Sitema Sure ”Definir Nıvel”.
Fonte: Autoria Propria
37
A Figura 14 mostra diagrama de sequencia do Sure Web Page na operacao de adicionar
musica onde o Sure Web Service e utilizado.
Figura 14 - Diagrama de Sequencia: Sure Web Page ”Adicionar Musica”
Fonte: Autoria Propria
38
3.5 ESPECIFICACAO DAS FUNCIONALIDADES
Para o sistema Sure definir a dificuldade de uma musica o arquivo fornecido pelo
usuario ou aplicacao deve passa por quatro estagios principais: (A) Conversao MusicXML para
MIDI, (B) Extracao de Caracterısticas, (C) Conversao AceXML para ARFF e (D) Classificacao
como demostrados na Figura 15.
Figura 15 - Funcionalidades do Sistema.
Fonte: Autoria Propria
(A). Conversao MusicXML para MIDI
O estagio de conversao do arquivo MusicXML para arquivo MIDI no sistema Sure e
39
feito por meio das bibliotecas JFugue e MuseScore.
(B). Extracao de Caracterısticas
O estagio de extracao de caracterısticas e feito dentro do sistema Sure onde e impor-
tada da biblioteca do jSymbolic e e feita a chamada do extrator de caracterısticas do arquivo
MIDI selecionado e resulta em um arquivo AceXML com os nomes das caracterısticas e seus
respectivos valores numericos.
(C). Conversao AceXML para ARFF
O estagio de conversao do arquivo AceXML gerado pelo jSymbolic e feito dentro
sistema Sure que formata as instancias e atributos para o arquivo ARFF.
(D). Classificacao
O estagio de classificacao e feito dentro do sistema Sure que faz a importacao da bi-
blioteca Weka e a chamada do algoritmo de classificacao utilizando o arquivo de treinamento
(exemplos a serem aprendidos) e o arquivo de teste (amostra a ser classificada).
3.6 TELAS DE USUARIO
Nessa sessao serao apresentadas as telas graficas de usuario dos sistemas.
Sistema Sure: Tela Principal
A Figura 16 mostra a tela principal do sistema Sure quando executado pelo usuario.
A tela possui apenas tres campos que representam os parametros necessarios e um botao para
executar a funcao de classificar a musica.
Figura 16 - Tela Principal Sistema Sure.
Fonte: Autoria Propria
40
Sure Web Service: Tela Inicial
A Figura 17 mostra a tela inicial do Sure Web Service quando executado pelo usuario.
A tela possui apenas dois botoes, o botao para selecao de um arquivo e o botao de upload para
executar a funcao de envio do arquivo para o servidor e classificacao com o sistema Sure.
Figura 17 - Tela Inicial Sure Web Service.
Fonte: Autoria Propria
Sure Web Service: Tela de Upload
A Figura 18 mostra a tela de upload do Sure Web Service apos o upload e a classificacao
do arquivo. A tela mostra os parametros de saıda referente as variaveis do objeto Musica gerado
com os valores da classificacao.
Figura 18 - Tela Upload Sure Web Service.
Fonte: Autoria Propria
41
Sure Web Page: Tela Inicial
A Figura 19 mostra a tela inicial que possui um menu principal podendo clicar em
operacoes como ir para tela de musicas cadastradas tanto por nome ou nıvel.
Figura 19 - Tela Inicial ”Home”Sure Web Page.
Fonte: Autoria Propria
Sure Web Page: Tela de Musicas
A Figura 20 mostra a tela de musicas que exibe uma lista de musicas cadastradas
ordenas por nome. Nessa tela e possıvel tanto utilizar o menu principal quanto fazer operacoes
relacionas as musicas: adicionar nova, visualizar partitura, alterar e remover dados.
Figura 20 - Tela ”Musicas”Sure Web Page.
Fonte: Autoria Propria
42
Tela de Nıveis: Sure Web Page
A Figura 21 mostra a tela de nıveis que funciona da mesma fora que a tela de musicas
porem a exibicao das musicas e ordenada por nıveis de dificuldade.
Figura 21 - Tela ”Nıveis”Sure Web Page.
Fonte: Autoria Propria
Sure Web Page: Tela de Adicao de Musica
A Figura 22 mostra a tela de adicao de musica que exibe um formulario onde podem
ser inseridas as informacoes da nova musica a ser adicionada.
Figura 22 - Tela ”Adicionar Nova”Sure Web Page.
Fonte: Autoria Propria
43
Sure Web Page: Telas de Alteracao e Remocao de Musica
A Figura 23 mostra a tela de alteracao tem um formulario onde sao exibidas as informacoes
da musica a serem alteradas e na tela de exclusao e exibida uma mensagem de confirmacao para
exclusao da musica.
Figura 23 - Telas ”Alterar”e ”Remover”Sure Web Page.
Fonte: Autoria Propria
Sure Web Page: Tela de Partitura
A Figura 24 mostra a tela de partitura que exibe a folha da partitura selecionada atraves
do plug-in Myriad Music que permite diversas outras operacoes.
Figura 24 - Tela ”Partitura”Sure Web Page.
Fonte: Autoria Propria
44
3.7 TECNOLOGIAS
A seguir serao descritas as tecnologias utilizadas na codificacao e documentacao do
sistema.
Java
Java (ORACLE, 2016a) e uma linguagem de programacao orientada a objetos utilizada
no desenvolvimento de diversos tipos de aplicacoes. Neste trabalho foi utilizada a plataforma
o Java EE (Java Platform, Enterprise Edition) que e focada no desenvolvimento corporativo e
web.
JavaServer Faces
JavaServer Faces (ORACLE, 2010) e uma tecnologia do Java EE para o desenvolvi-
mento de interfaces graficas de usuario. O JSF foi utilizado no desenvolvimento do Sure Web
Page permitindo a criacao e a interacao das paginas web com as operacoes logicas do sistema.
MySQL
MySQL (ORACLE, 2016b) e um Sistema Gerenciador de Banco de Dados (SGBD)
que utiliza a linguagem SQL (Structured Query Language) como interface de consulta e pes-
quisa em banco de dados relacional. Neste trabalho o MySQL e utilizado para gerenciar o banco
de dados fazendo consultas, insercoes, alteracoes e exclusoes dos dados e arquivos de musica.
3.8 FERRAMENTAS
A seguir serao demonstradas ferramentas utilizadas na codificacao e documentacao do
sistema.
Astah Community
Astah Community (VISION, 2006) e um software para criacao de diagramas UML
(Unified Modeling Language) para modelagem orientada a objetos. Neste trabalho o Astah
auxiliou na criacao dos artefatos e documentacao para descrever os sistemas.
JFugue
JFugue (KOELLE, 2015) e uma biblioteca voltada para a criacao, edicao e reproducao
de musica em aplicacoes Java. Neste trabalho ela foi utilizada para fazer a conversao dos arqui-
vos MusicXML para MIDI.
45
jSymbolic
O jSymbolic faz parte do sistema jMIR (MCKAY, 2013) utilizado na extracao de ca-
racterıstica para pesquisas e desenvolvimento em MIR. Neste trabalho o jSymbolic foi utilizado
na extracao de caracterısticas dos arquivos simbolicos em MIDI.
MuseScore
MuseScore (MUSESCORE, 2016) e um software para exibicao, edicao e exportacao
de musicas em diversos formatos digitais. Neste trabalho o MuseScore auxiliou na edicao,
correcao e conversao dos arquivos MusicXML e MIDI.
Myriad Music Plug-In
Myriad e um plug-in para paginas web que permite que musicas em formatos Mu-
sicXML possam ser exibidas, reproduzidas, transpostas, salvas e impressas, alem de contar
com uma serie de outras funcionalidades. Neste trabalho o plug-in Myriad foi utilizado na
exibicao das partituras no Sure Web Page.
NetBeans
NetBeans (ORACLE, 2016c) e um Ambiente de Desenvolvimento Integrado (IDE)
em diversas linguagens de programacao auxiliando na edicao, compilacao, modelagem, entre
outros. Neste trabalho foi utilizado no desenvolvimento da aplicacao em Java e conexao com
as bibliotecas, APIs (Application Programming Interface) e banco de dados.
SharpEye
SharpEye (VISIV, 2008) e um sistema OMR para a interpretacao de partituras em
formato de imagem para o formato digital. Neste Trabalho, o SharpEye auxiliou na conversao
dos formatos PDF para MusicXML.
WEKA
Weka e um pacote de software que incorpora uma serie de algoritmos de aprendizado
de maquina (Inteligencia Artificial) para a mineracao de dados (WAIKATO, 2013). Neste traba-
lho o Weka foi utilizado para fazer a classificacao tanto na parte de treinamento, onde o sistema
Sure ”aprendeu”tecnicas para definir o nıvel de dificuldade utilizando como exemplo o banco de
dados ja classificadas, como tambem na parte de teste, onde o sistema Sure apresenta o arquivo
a ser classificado e recebe o resultado classificado em um dos nıveis de dificuldade.
46
4 EXPERIMENTOS
Nesta sessao serao descritos todos as etapas dos experimentos realizados no trabalho.
4.1 CONSTRUCAO DA BASE DE DADOS
No desenvolvimento do sistema de classificacao automatica de dificuldade de partitura
de violino proposto neste trabalho foi preciso criar uma base de dados com informacoes que
definem o contexto de cada nıvel de dificuldade. Isso e necessario para que o sistema possa
”aprender” o que cada nıvel representa. Visando isso foi preciso utilizar um volume razoavel
de partituras ja classificadas na construcao de um banco de dados para servir como exemplo do
que cada nıvel se parece. Neste trabalho foram utilizados os livros Suzuki Violin School volu-
mes 1 a 10 (SUZUKI, 1978a, 1978b, 1978c, 1978d, 1978e, 1978f, 1978g, 1978h, 1978i, 1978j)
considerando que cada volume representa um nıvel de dificuldade. No total, a base possui 100
partituras organizadas de acordo com os nıveis de dificuldade apresentados na Tabela 5.
Suzuki Violin School Nıvel de Dificuldade Total de Partituras
Volume 1 n1 21
Volume 2 n2 13
Volume 3 n3 7
Volume 4 n4 7
Volume 5 n5 9
Volume 6 n6 9
Volume 7 n7 9
Volume 8 n8 11
Volume 9 n9 8
Volume 10 n10 6
Tabela 5 - Organizacao das Partituras por Nıvel
47
4.2 CARACTERISTICAS
Apos estabelecido o banco de dados foi necessario observar o que define a dificuldade,
ou seja, quais sao as caracterısticas que definem cada nıvel de dificuldade. Nesta etapa e preciso
extrair as caracterısticas de todas as musicas do banco de dados e separa-las por nıveis. O extra-
tor utilizado neste trabalho foi o jSymbolic que disponibiliza a extracao de 101 caracterısticas
simples e 11 vetores de caracterısticas, totalizando 1022 caracterısticas de valores numericos ba-
seados em Instrumentacao, Textura, Ritmo, Estatıstica de Nota, Melodia, Dinamica e Acordes.
O algoritmo de classificacao seleciona os atributos que melhor classificam os dados. Assim,
dentre 1022 caracterısticas extraıdas com o jSymbolic, 18 caracterısticas foram selecionadas
como atributos que melhor definem os nıveis de dificuldade. Na sequencia serao descritas as
caracterısticas selecionadas (MCKAY, 2010).
Caracterısticas baseadas em Ritmo (Rhythm)
• R-10 Number of Relatively Strong Pulses: Uma caracterıstica contendo o numero de
picos do histograma de batida com intensidade pelo menos 30% tao altas quanto a inten-
sidade dos picos com a maior intensidade.
• R-14 Beat Histogram: Um vetor de 161 caracterısticas contendo as intensidades do his-
tograma da batida. Apenas quatro instancias do vetor foram utilizadas (7, 10, 48 e 99).
Caracterısticas baseadas em Estatıstica Geral de Nota (Overall Pitch Statistics)
• P-7 Number of Common Pitches: Uma caracterıstica contendo o numero de passos que
conta individualmente ate pelo menos 9% de todas as notas.
• P-9 Pitch Class Variety: Uma caracterıstica contendo o numero de classes de notas usadas
pelo menos uma vez.
• P-19 Basic Pitch Histogram: Um vetor de 128 caracterısticas contendo as intensidades
dos histogramas de nota basica. Apenas quatro instancias do vetor foram utilizadas (66,
68, 89 e 93).
• P-20 Pitch Class Distribution: Um vetor de caracterıstica contendo as intensidades dos
histogramas das classes de nota. Apenas uma instancia do vetor foi utilizada (7).
• P-21 Fifths Pitch Histogram: Um vetor de 12 caracterısticas contendo a intensidade dos
histogramas de nota em quinta. Apenas uma instancia do vetor foi utilizada (5).
48
Caracterısticas baseadas em Melodia e Intervalo Melodico (Melody and Melodic Interval)
• M-1 Melodic Interval Histogram: Um vetor de 128 caracterısticas contendo as intensida-
des do histograma de intervalo melodico. Apenas tres instancias do vetor foram utilizadas
(6, 12 e 20).
• M-7 Number of Common Melodic Intervals: Uma caracterıstica contendo o numero de
intervalos melodicos que representa pelo menos 9% de todos os intervalos melodicos.
Caracterısticas baseadas em Dinamica (Dynamics)
• D-2 Variation of Dynamics: Uma caracterıstica contendo o desvio-padrao dos nıveis de
intensidade de todas as notas.
4.3 CLASSIFICADOR
No experimento, foi utilizado o algoritmo Arvore de Decisao (WITTEN, 2005). Este
e um algoritmo de classificacao supervisionada utilizado para prever a classe de um objeto
baseado no treinamento aprendido com os exemplos disponibilizados.
O algoritmo monta uma estrutura de arvore utilizando os testes de atributos e a partir
desta estrutura e possıvel classificar a amostra desconhecida sem necessariamente testar todos
os valores e seus atributos. Uma estrutura de arvore e basicamente um conjunto de nos que
possuem ramificacoes. Ha tres diferentes tipos de no: o no raiz, que e um unico no que inicia
a arvore; os nos comuns, que dividem um determinado atributo e geram ligacoes com outros
nos; e os nos folha que contem as informacoes de classificacao do algoritmo. Os testes que
dividem os atributos determinam a sequencia da classificacao de uma nova amostra, definindo
em qual classe a amostra se encaixa melhor. Neste trabalho os atributos sao representados
pelas caracterısticas citadas na sessao 4.2 e os nos folha contem as informacoes dos nıveis de
dificuldade.
4.4 RESULTADOS
Para a classificacao automatica de nıveis de dificuldade uma estrutura de arvore foi
montada atraves das caracterısticas selecionadas e pode ser observada na Figura 25. Os testes
dos valores das caracterısticas representam os atributos divisores e os nıveis de dificuldade os
nos folha. A arvore montada possui um total de 37 ramificacoes e 19 nos folha.
49
Figura 25 - Arvore de Decisao.
Fonte: Autoria Propria
50
Para avaliar a precisao da classificacao de nıveis de dificuldade utilizando as carac-
terısticas citadas na sessao 4.2, foi aplicada a tecnica Validacao Cruzada (WITTEN, 2005) para
validar o modelo utilizado. Para um resultado preciso, essa tecnica visa utilizar como teste
as mesmas musicas utilizadas no treinamento. Para particionar esses dados foi empregado o
metodo leave-one-out. Esse metodo e uma aplicacao de n-fold, que faz uma subdivisao do con-
junto de dados em n partes iguais. Cada subconjunto e utilizado para teste e os outros para
treinamento, isso e repetido um numero n de vezes. No leave-one-out, o numero definido em n
representa o numero de instancias utilizadas. Neste experimento apresentam-se 100 instancias,
entao, foi feita uma validacao cruzada leave-one-out por 100 vezes. Os resultados da validacao
cruzada podem ser observados na Tabela 6.
Instancias Classificadas Corretamente 49 (49%)
Instancias Classificadas Incorretamente 51 (51%)
Numero Total de Instancias 100
Tabela 6 - Validacao Cruzada Estratificada
A matriz de confusao (WITTEN, 2005) permite visualizar a performance do algoritmo
aplicado demonstrando quais instancias foram classificadas em quais classes. A Tabela 7 apre-
senta a matriz de confusao do experimento desempenhado utilizando a classificacao de nıveis
de dificuldade. As colunas da matriz representam a quantidade de instancias classificadas na
classe enquanto as linhas mostram a classe real em que essa instancia pertence. A diagonal prin-
cipal da matriz representa as instancias classificadas corretamente enquanto os outros campos
representam as demais classificados incorretamente.
n1 n2 n3 n4 n5 n6 n7 n8 n9 n10
17 2 0 0 1 0 0 0 1 0 n1
1 12 0 0 0 0 0 0 0 0 n2
1 0 4 0 0 0 2 0 0 0 n3
1 0 0 5 1 0 0 0 0 0 n4
2 0 0 0 2 3 2 0 0 0 n5
0 0 0 1 3 1 1 2 1 0 n6
3 1 0 0 1 2 1 1 0 0 n7
1 1 0 0 2 2 0 5 0 0 n8
2 1 1 0 0 0 0 2 2 0 n9
4 0 0 0 0 0 1 1 0 0 n10
Tabela 7 - Matriz de Confusao
51
As taxas de acuracia do algoritmo sao calculadas atraves de valores como TP (True Po-
sitive) que representa a proporcao de verdadeiros positivos, por exemplo, instancias da classe n1
que foram corretamente classificadas como n1; FP (False Positive) que representa a proporcao
de falsos positivos, por exemplo, instancias de outras classes que foram incorretamente clas-
sificadas como n1; FN (False Negative) que representa a proporcao de falsos negativos, por
exemplo, instancias da classe n1 que foram incorretamente classificados como outras classes;
TN (True Negative) representa a proporcao de verdadeiros negativos, por exemplo, todas as de-
mais instancias que nao foram classificadas como n1. A Tabela 8 apresenta as taxas de acuracia
de cada nıvel de dificuldade.
(A) TP Rate =T P
T P+FN(B) FP Rate =
FP
FP+T N(C) P =
T P
T P+FP
P : Precision (Precisao)
TP : True Positive (Verdadeiro Positivo)
FP : False Positive (Falso Positivo)
TN : True Negative (Verdadeiro Negativo)
FN : False Negative (Falso Negativo)
Classe (A) TP Rate (B) FP Rate (C) Precision
n1 0.81 0.19 0.531
n2 0.923 0.057 0.117
n3 0.571 0.010 0.8
n4 0.714 0.011 0.833
n5 0.222 0.086 0.2
n6 0.125 0.076 0.125
n7 0.111 0.065 0.142
n8 0.454 0.067 0.454
n9 0.25 0.021 0.5
n10 0 0 0
Media ponderada 0.41 0.058 0.376
Tabela 8 - Taxas de Acuracia por Classe
4.5 ANALISE
Essa sessao apresenta uma analise detalhada dos resultados obtidos na sessao 4.4.
52
Na utilizacao do metodo leave-one-out, que literalmente significa ”deixar um de fora”,
como o proprio nome diz, uma instancia e deixada de fora do treinamento e essa mesma
instancia e utilizada como teste. Neste caso, cada musica do livro foi classificada sem que a
maquina utilizasse a mesma como base para treinamento, o que pode indicar mais precisamente
a qualidade do classificador. Essa tecnica proporciona resultados bastante precisos, porem tem
um custo computacional alto, por isso e mais indicada quando o numero de instancias e baixo
(WITTEN, 2005).
As tabelas a seguir apresentam os resultados da classificacao utilizando as musicas do
Suzuki Violin School. Cada musica do volume possui o nıvel estabelecido na sessao 4.1 e um
nıvel a qual foi classificado como teste neste experimento.
Ref. Nome da Musica Nıvel Estabelecido Nıvel Classificado
v1-1 Twinkle Twinkle Little Star Var-A n1 n1
v1-2 Twinkle Twinkle Little Star Var-B n1 n1
v1-3 Twinkle Twinkle Little Star Var-C n1 n1
v1-4 Twinkle Twinkle Little Star Var-D n1 n1
v1-5 Twinkle Twinkle Little Star Theme n1 n1
v1-6 Lightly Row n1 n1
v1-7 Song of the Wind n1 n1
v1-8 Go Tell Aunt Rhody n1 n1
v1-9 May Song n1 n9
v1-10 Long Long Ago n1 n1
v1-11 Allegro n1 n1
v1-12 Perpetual Motion A major n1 n1
v1-13 Perpetual Motion D major n1 n2
v1-14 Allegretto n1 n1
v1-15 Andantino n1 n1
v1-16 Etude n1 n2
v1-17 Minuet 1 n1 n1
v1-18 Minuet 2 n1 n1
v1-19 Minuet 3 n1 n1
v1-20 The Happy Farmer n1 n1
v1-21 Gavotte n1 n5
Tabela 9 - Classificacao Suzuki Violin School Volume 1
53
A Tabela 9 mostra os resultados da classificacao das musicas do Suzuki Violin School
Volume 1, onde o nıvel estabelecido para este volume e n1. Nesta tabela e possıvel observar
que 17 das 21 instancias de musica foram classificadas corretamente e 4 classificadas incorre-
tamente, uma taxa de acerto de aproximadamente 81%. Na musica v1-9, classificada como n9,
e possıvel identificar algumas similaridades com as musicas do volume 9, como por exemplo a
utilizacao de armadura de clave com tres sustenidos o que poderia ser o motivo da classificacao
erronea. Ja v1-13 e v1-16 foram classificadas como n2, nıvel considerado proximo do nıvel
estabelecido, o que tambem pode indicar semelhancas entre as musicas do volume 1 e 2, e con-
sequentemente nos nıveis n1 e n2. A musica v1-21 foi classificada como n5, neste caso pode-se
identificar uma semelhanca no estilo musical da partitura, onde ambas sao do ritmo Gavotte, o
que pode ter definido a similaridade entre elas.
Ref. Nome da Musica Nıvel Estabelecido Nıvel Classificado
v2-1 Chorus from Judas Maccabeaus n2 n2
v2-2 Musette n2 n2
v2-3 Hunters Chorus n2 n2
v2-4 Long Long Ago n2 n2
v2-5 Long Long Ago Variation n2 n2
v2-6 Waltz n2 n2
v2-7 Bourree n2 n1
v2-8 The Two Grenadiers n2 n2
v2-9 Theme from Witches Dance n2 n2
v2-10 Gavotte from Mignon n2 n2
v2-11 Gavotte n2 n2
v2-12 Minuet in G n2 n2
v2-13 Minuet n2 n2
Tabela 10 - Classificacao Suzuki Violin School Volume 2
A Tabela 10 mostra os resultados da classificacao das musicas do Suzuki Violin School
Volume 2, onde o nıvel estabelecido para este volume e n2. Nesta tabela e possıvel observar que
12 das 13 instancias de musica foram classificadas corretamente e apenas 1 classificada incor-
retamente, uma taxa de acerto de aproximadamente 92%. Na musica v2-7, classificada como
n1, existem algumas semelhancas como tempo de compasso predominante 4/4 e repeticoes
contınuas de compassos tambem encontradas nas musicas do volume 1.
54
Ref. Nome da Musica Nıvel Estabelecido Nıvel Classificado
v3-1 Gavotte n3 n3
v3-2 Minuet n3 n1
v3-3 Gavotte in G Minor n3 n3
v3-4 Humoresque n3 n7
v3-5 Gavotte n3 n7
v3-6 Gavotte in D Major n3 n3
v3-7 Bourree n3 n3
Tabela 11 - Classificacao Suzuki Violin School Volume 3
A Tabela 11 mostra os resultados da classificacao das musicas do Suzuki Violin School
Volume 3, onde o nıvel estabelecido para este volume e n3. Nesta tabela e possıvel observar que
4 das 7 instancias de musica foram classificadas corretamente e 3 classificadas incorretamente,
uma taxa de acerto de aproximadamente 57%. Na musica v3-2, classificada como n1, identifica-
se uma semelhanca com algumas musicas do volume 1 como sendo do mesmo estilo musical
Minuet que possui compassos de 3/4 tempos. Nas musicas v3-4 e v3-5 ha uma ocorrencia de
armaduras de clave com dois sustenidos e dois bemois tambem encontradas em algumas musica
do volume 7.
Ref. Nome da Musica Nıvel Estabelecido Nıvel Classificado
v4-1 Concerto No 2 n4 n4
v4-2 Concerto No 5 n4 n4
v4-3 Concerto 5 1st Movement n4 n4
v4-4 Concerto No 5 3rd Movement n4 n5
v4-5 Concerto in A Minor 1st Movement n4 n4
v4-6 Concerto in A Minor n4 n4
v4-7 Concerto for Two Violins 1st Movement n4 n1
Tabela 12 - Classificacao Suzuki Violin School Volume 4
A Tabela 12 mostra os resultados da classificacao das musicas do Suzuki Violin School
Volume 4, onde o nıvel estabelecido para este volume e n4. Nesta tabela e possıvel observar que
5 das 7 instancias de musica foram classificadas corretamente e 2 classificadas incorretamente,
uma taxa de acerto de aproximadamente 71%. A musica v4-4, classificada como n5, e um
concerto, assim como varias musicas do volume 5, alem de ser de um nıvel proximo. Ja a musica
55
v4-7 classificada como n1 nao indica nenhuma semelhanca aparente em relacao as musicas do
volume 1.
Ref. Nome da Musica Nıvel Estabelecido Nıvel Classificado
v5-1 Gavotte n5 n1
v5-2 Concerto in A Minor 2nd Movement n5 n6
v5-3 Concerto in G Minor (1) n5 n5
v5-4 Concerto in G Minor (2) n5 n7
v5-5 Concerto in G Minor (3) n5 n5
v5-6 Country Dance n5 n1
v5-7 German Dance n5 n7
v5-8 Gigue from Sonata in D Minor n5 n6
v5-9 Concerto for Two Violins 1st Movement n5 n6
Tabela 13 - Classificacao Suzuki Violin School Volume 5
A Tabela 13 mostra os resultados da classificacao das musicas do Suzuki Violin School
Volume 5, onde o nıvel estabelecido para este volume e n5. Nesta tabela e possıvel observar
que apenas 2 das 9 instancias de musica foram classificadas corretamente e 7 classificadas in-
corretamente, uma taxa de acerto de aproximadamente 22%. Na musica v5-1, classificada como
n1, pode-se identificar o mesmo equivoco ocorrido no volume 1, onde o estilo ”Gavotte”pode
ter definido a similaridade das musicas. Nas demais musicas classificadas incorretamente, com
excecao de v5-6, foram atribuıdos nıveis proximos ao nıvel estabelecido.
Ref. Nome da Musica Nıvel Estabelecido Nıvel Classificado
v6-1 La Folia (1) n6 n7
v6-2 La Folia (2) n6 n5
v6-3 Sonata No 3 (1) n6 n5
v6-4 Sonata No 3 (2) n6 n5
v6-5 Allegro n6 n4
v6-6 Gavotte n6 n8
v6-7 Sonata No 4 (1) n6 n9
v6-8 Sonata No 4 (2) n6 n6
v6-9 Sonata No 4 (3) n6 n8
Tabela 14 - Classificacao Suzuki Violin School Volume 6
56
A Tabela 14 mostra os resultados da classificacao das musicas do Suzuki Violin School
Volume 6, onde o nıvel estabelecido para este volume e n6. Nesta tabela e possıvel observar
que apenas 1 das 9 instancias de musica foram classificadas corretamente e 8 classificadas
incorretamente, uma taxa de acerto de 11%. Apesar dos acertos terem sido baixo em relacao
ao nıvel estabelecido neste nıvel, boa parte das musicas classificadas incorretamente foram
atribuıdos nıveis proximos ao nıvel estabelecido.
Ref. Nome da Musica Nıvel Estabelecido Nıvel Classificado
v7-1 Minuet n7 n1
v7-2 Courante n7 n1
v7-3 Sonata No 1 n7 n6
v7-4 Concerto No 1 (1) n7 n5
v7-5 Concerto No 1 (2) n7 n8
v7-6 Concerto No 1 (3) n7 n7
v7-7 Courante No 4 n7 n6
v7-8 Gigue No 4 n7 n1
v7-9 Allegro n7 n2
Tabela 15 - Classificacao Suzuki Violin School Volume 7
A Tabela 15 mostra os resultados da classificacao das musicas do Suzuki Violin School
Volume 7, onde o nıvel estabelecido para este volume e n7. Nesta tabela e possıvel observar que
1 das 9 instancias de musica foram classificadas corretamente e 8 classificadas incorretamente,
uma taxa de acerto de aproximadamente 11%. O volume 7 obteve apenas 1 acerto, porem,
assim como volume 5 e 6 que tambem uma taxa de acerto baixa, algumas musicas foram classi-
ficadas em nıveis relativamente proximos ao estabelecido. As musicas v7-1, v7-2, v7-7 e v7-8
que apresentaram nıveis mais distantes do estabelecido podem ter tido suas classificacoes base-
adas em similaridades com os volumes 1 e 2 como estilo do ritmo Minuet e predominancia de
compassos de 3/4 tempos.
57
Ref. Nome da Musica Nıvel Estabelecido Nıvel Classificado
v8-1 Sonata in G Minor (1) n8 n8
v8-2 Sonata in G Minor (2) n8 n5
v8-3 Sonata in G Minor (3) n8 n6
v8-4 Tambourin n8 n5
v8-5 Largo n8 n6
v8-6 Allegro n8 n8
v8-7 Largo Espressivo n8 n8
v8-8 Sonata (1) n8 n1
v8-9 Sonata (2) n8 n8
v8-10 Sonata (3) n8 n2
v8-11 Sonata (4) n8 n8
Tabela 16 - Classificacao Suzuki Violin School Volume 8
A Tabela 16 mostra os resultados da classificacao das musicas do Suzuki Violin School
Volume 8, onde o nıvel estabelecido para este volume e n8. Nesta tabela e possıvel observar
que 5 das 11 instancias de musica foram classificadas corretamente e 6 classificadas incorreta-
mente, uma taxa de acerto de aproximadamente 45%. Na musica v8-2, classificada como n5,
identifica-se o uso de escala menor em Sol ou ”G minor”tambem identificados no volume 5. Ja
a musica v8-3, classificada como n6, pode ter sido assim classificada pela proximidade de estilo
musical como Sonata encontrado tambem no volume 6.
Ref. Nome da Musica Nıvel Estabelecido Nıvel Classificado
v9-1 Concerto in A Major (1) n9 n9
v9-2 Concerto in A Major (2) n9 n1
v9-3 Concerto in A Major (3) n9 n8
v9-4 Concerto in A Major (4) n9 n1
v9-5 The First Movement n9 n2
v9-6 The Second Movement n9 n8
v9-7 The Third Movement (1) n9 n3
v9-8 The Third Movement (2) n9 n9
Tabela 17 - Classificacao Suzuki Violin School Volume 9
58
A Tabela 17 mostra os resultados da classificacao das musicas do Suzuki Violin School
Volume 9, onde o nıvel estabelecido para este volume e n9. Nesta tabela e possıvel observar que
2 das 8 instancias de musica foram classificadas corretamente e 6 classificadas incorretamente,
uma taxa de acerto de aproximadamente 25%. A musica v9-4, classificada como n1, demonstra
uma prevalencia de armaduras de clave com tres sustenidos, assim como boa parte das musicas
do volume 1.
Ref. Nome da Musica Nıvel Estabelecido Nıvel Classificado
v10-1 Concerto in D Major (1) n10 n1
v10-2 Concerto in D Major (2) n10 n1
v10-3 Concerto in D Major (3) n10 n8
v10-4 First Movement Allegro n10 n7
v10-5 The Second Movement Andante Cantabile n10 n1
v10-6 The Third Movement n10 n1
Tabela 18 - Classificacao Suzuki Violin School Volume 10
A Tabela 18 mostra os resultados da classificacao das musicas do Suzuki Violin School
Volume 10, onde o nıvel estabelecido para este volume e n10. Nesta tabela e possıvel observar
que nenhuma das 6 instancias de musica foram classificadas corretamente, uma taxa de acerto
de 0%. A musica v10-1, classificada como n1, apresenta tempo de compasso 4/4 assim como a
boa parte das musicas do volume 1. As musicas v10-2 e v10-5, classificada tambem como n1,
possui armaduras de clave com tres sustenidos, assim como a maioria das musicas do volume
1. Ja a musica v10-4, classificada como n7, apresenta armadura de clave com dois sustenidos
como aparecem tambem em algumas musicas do volume 7.
4.6 CONSIDERACOES EXPERIMENTAIS
De modo geral o sistema consegue definir bem os primeiros volumes, no entanto, nos
nıveis mais avancados ele nao apresentou resultados satisfatorios. Como o numero de instancias
e baixo, pode ser difıcil para o classificador definir precisamente os nıveis de dificuldade. Con-
tudo, pode-se observar que 16% das musicas, apesar de classificadas incorretamente, foram
posicionadas em classes muito proximas (considerando ate 1 nıvel acima ou abaixo) e 26% da
musicas, em classes proximas ou moderadamente proximas (considerando ate 2 nıveis acima ou
abaixo). Se analisada essa circunstancia, 65% das vezes o sistema classificou a musica no nıvel
correto ou em nıveis muito proximos e 75% das vezes no nıvel correto, em nıveis proximos
ou moderadamente proximos. Outro fator relevante e que em 34% das vezes as musicas foram
classificadas em nıveis abaixo do nıvel estabelecido contra apenas 17% das vezes em nıveis
acima do estabelecido.
59
5 CRONOGRAMA
O cronograma apresentado na Tabela 19 mostra as atividades desempenhadas no de-
correr do trabalho. As atividades foram divididas em nove meses, tendo como inıcio o mes de
outubro de 2015 e termino no mes de junho de 2016.
A primeira fase do trabalho, que abordou a etapa de pesquisa, foi desempenhada nos
meses de outubro a dezembro de 2015. A segunda fase, que abordou a etapa de desenvolvi-
mento, foi desempenhada entre os meses de dezembro de 2015 e maio de 2016.
Atividades / Meses Out Nov Dez Jan Fev Mar Abr Mai Jun
Construcao da Base de Dados X X
Documentacao X X X X
Digitalizacao das Partituras X
Extracao das Caracterısticas X
Classificacao X
Analise dos Resultados X X X X X
Desenvolvimento do sistema Sure X X X X X
Desenvolvimento do Sure Web Service X X
Desenvolvimento do Sure Web Page X X
Teste de Desempenho X X X X
Elaboracao da Monografia X X X X X X X X
Correcoes finais X X
Defesa do Trabalho X
Tabela 19 - Cronograma
60
6 CONSIDERACOES FINAIS
Neste trabalho foi analisado um metodo de classificacao de nıveis de dificuldade para
o desenvolvimento de uma ferramenta que fosse capaz de classificar uma nova partitura mu-
sical em um nıvel de dificuldade. O resultado dessa analise demonstrou que a classificacao
automatica de nıveis de dificuldade utilizando as musicas do Suzuki Violin School nos padroes
estabelecidos resultou em uma precisao de cerca de 49%. No entanto, com esse trabalho foi
possıvel estudar uma nova forma de classificar e organizar os nıveis de dificuldade de uma
musica.
E importante notar que a maior parte dos dados posicionados incorretamente foram
classificados em nıveis proximos ao nıvel correto estabelecido. A classificacao de nıveis de di-
ficuldade, diferentemente de alguns outros tipos de classificacao em que precisao e baseada es-
tritamente nos acertos, pode ser considerada um tanto flexıvel quanto ao seu resultado. Mesmo
que o resultado nao indique a classe correta, a classificacao em outras classes que tenham pro-
ximidade com a classe correta e, de alguma forma, valida. Alem disso, existem poucos estudos
que fazem esse tipo de definicao automatica de nıveis de dificuldade, por isso, independente do
resultado deste, ainda sim e um dos poucos trabalhos existentes na area. Visando isso, outras
pesquisas na area sao necessarias utilizando este mesmo conceito de nıveis de dificuldade.
Uma proposta para trabalhos futuros seria explorar a utilizacao de uma quantidade
maior de musicas, como tambem outros livros de ensino de musica ou ate mesmo os livros do
Suzuki para outros instrumentos. Outra abordagem que poderia ser explorada seria o uso de di-
ferentes tipos de caracterısticas que definissem a musica com conceitos diferenciados, questoes
baseadas na dificuldade do aprendizado ou de um instrumento especıfico. E importante que esse
tema continue a ser estudado e que novas ferramentas sejam desenvolvidas para que possam es-
timular nao somente no ensino da musica mas na sua preservacao, acesso e entendimento.
61
REFERENCIAS
AMERICAS, S. A. of the. About the Suzuki Method. 1998. Acesso em 21 de setembro de
2015. Disponıvel em: <https://suzukiassociation.org/about/suzuki-method/>.
ANDERTON, C. Midi reloaded. Keyboard Magazine, p. 38–47, Mar. 2014.
ASSOCIATION, I. S. The Suzuki Method. 2005. Acesso em: 17 de setembro 2015. Disponıvel
em: <http://internationalsuzuki.org/method.htm>.
ASSOCIATION, M. The Technology of MIDI. 2011. Acesso em: 18 de setembro de 2015.
Disponıvel em: <http://www.midi.org/aboutmidi>.
BENNETT, R. Uma breve historia da musica. Rio de Janeiro: Zahar. 1986.
CAETANO, M. C. A importancia da musica na formacao do ser humano em perıodo escolar.
Educacao em Revista, v. 13, n. 2, p. 71–80, Jul.-Dez., 2012.
CHIU, S.-C. A study on difficulty level recognition of piano sheet music. Proceedings of the
IEEE International Symposium on Multimedia, p. 17–23, Dez., 2012.
GOOD, M. Musicxml: An internet-friendly format for sheet music. XML Conf. & Expo, p. 12,
2001.
GUERIN, R. MIDI Power! The Comprehensive Guide. 2. ed. [S.l.]: Course Technology,
2008.
KERR, D. Midi - the musical instrument digital interface. Mar. 2009.
KOELLE, D. JFugue: Music Programming for Java and JVM Languages. 2015. Disponıvel
em: <http://www.jfugue.org/>.
LIN, C.-C. An inteligent virtual piano tutor. Proceedings of the 2006 ACM International
Conference on Virtual Reality Continuum and its Aplications, p. 353–356, Jun. 2006.
MAKEMUSIC. MusicXML - Hello World. 2011. Acesso em 19 de setembro de 2015. Dis-
ponıvel em: <http://www.musicxml.com/tutorial/hello-world>.
MAKEMUSIC. Finale: The World Standard in Music Notation Software. 2015. Disponıvel
em: <http://www.finalemusic.com/>.
MCKAY, C. jsymbolic: A feature extractor for midi files. Proceedings of the International
Computer Music Conference, p. 302–5, 2006.
MCKAY, C. Automatic Music Classification with jMIR. Tese (Doutorado) — McGill Uni-
versity, Montreal, 2010.
MCKAY, C. jMIR. 2013. Disponıvel em: <https://jmir.sourceforge.net/>.
62
MUSESCORE. MuseScore: Create play and print beautiful sheet music. 2015. Acesso em
21 de setembro de 2015. Disponıvel em: <https://musescore.org/pt-br>.
MUSESCORE. MuseScore. 2016. Acesso em 05 de fevereiro de 2016. Disponıvel em:
<https://musescore.org/pt-br>.
ORACLE. JavaSever Faces Technology. 2010. Acesso em 05 de Fevereiro de 2016. Disponıvel
em: <http://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html>.
ORACLE. Java. 2016. Acesso em 05 de Fevereiro de 2016. Disponıvel em:
<https://www.java.com/>.
ORACLE. MySql. 2016. Acesso em 05 de fevereiro de 2016. Disponıvel em:
<http://www.mysql.com/>.
ORACLE. NetBeans. 2016. Acesso em 05 fevereiro de 2016. Disponıvel em:
<https://netbeans.org/>.
PRESSMAN, R. Engenharia de software. [S.l.]: Sao Paulo: MCGRAW-HILL, 2010.
SEBASTIEN, V. Score analyzer: Automatically determining scores difficulty level for instru-
mental e-learing. Proceedings of the13th International Society for Music Information Re-
trieval Conference, p. 571–576, 2012.
SOMMERVILLE, I. Engenharia de software. [S.l.]: Addison Wesley, 2003.
SONGQUITO. Song2See. 2012. Acesso em 20 de setembro de 2015. Disponıvel em:
<http://www.songs2see.com/index.php/en/>.
SUZUKI, S. Suzuki Violin School. [S.l.]: Summy-Birchard Inc., 1978. Volume 1.
SUZUKI, S. Suzuki Violin School. [S.l.]: Summy-Birchard Inc., 1978. Volume 2.
SUZUKI, S. Suzuki Violin School. [S.l.]: Summy-Birchard Inc., 1978. Volume 3.
SUZUKI, S. Suzuki Violin School. [S.l.]: Summy-Birchard Inc., 1978. Volume 4.
SUZUKI, S. Suzuki Violin School. [S.l.]: Summy-Birchard Inc., 1978. Volume 5.
SUZUKI, S. Suzuki Violin School. [S.l.]: Summy-Birchard Inc., 1978. Volume 6.
SUZUKI, S. Suzuki Violin School. [S.l.]: Summy-Birchard Inc., 1978. Volume 7.
SUZUKI, S. Suzuki Violin School. [S.l.]: Summy-Birchard Inc., 1978. Volume 8.
SUZUKI, S. Suzuki Violin School. [S.l.]: Summy-Birchard Inc., 1978. Volume 9.
SUZUKI, S. Suzuki Violin School. [S.l.]: Summy-Birchard Inc., 1978. Volume 10.
VISION, C. Astah Community. 2006. Acesso em 05 de fevereiro de 2016. Disponıvel em:
<http://astah.net/editions/community>.
VISIV. SharpEye Music Scanning. 2008. Acesso em 05 de fevereiro de 2016. Disponıvel em:
<http://www.visiv.co.uk/>.
63
WAIKATO, M. L. G. at the University of. Attribute-Relation File Format. 2002. Acesso em
21 de setembro de 2015. Disponıvel em: <http://www.cs.waikato.ac.nz/ml/weka/arff.html>.
WAIKATO, M. L. G. at the University of. Weka 3: Data Mining Software in Java. 2013.
Disponıvel em: <http://www.cs.waikato.ac.nz/ml/weka/>.
WITTEN, I. Data Mining: Practical Machine Learning Tools and Techniques. 2. ed. [S.l.]:
Morgan Kaufmann, 2005.