Pós-Graduação em Ciência da Computação Programa de Mestrado Ritornello Um Framework para Representação de Conhecimento Musical ORIENTANDO - Sylvio Pessoa ORIENTADOR - Geber Ramalho 1 Roteiro O Problema Padrões, APIs e Frameworks Musicais Características do Ritornello O projeto Trabalhos Futuros Sugestões de Exercícios 2 Roteiro O Problema Padrões, APIs e Frameworks Musicais Características do Ritornello O projeto Trabalhos Futuros Sugestões de Exercícios 3 O Problema 4 O Problema Modelagem ad hoc de elementos musicais no desenvolvimento de aplicações musicais Complexidade e relevância de elementos da teoria musical Poucos esforços em efetiva reutilização de conhecimento musical 5 Roteiro O Problema Padrões, APIs e Frameworks Musicais Características do Ritornello O projeto Trabalhos Futuros Sugestões de Exercícios 6 Padrões Musicais Aplicação Framework API Manipulação Musical Padrão/Protocolo Musical MIDI / XMF + Fácil manipulação dos dados + Pequeno espaço ocupado pelo arquivo - Pouco expressivo para representação do conhecimento musical - Dificuldade de conversão para partitura eletrônica MusicXML + Modelagem alto nível de elementos musicais + Facilidade para conversão para partitura eletrônica + XML - Não é operacional 7 Padrões Musicais Aplicação Framework API Manipulação Musical MusicXML (cont.) Padrão/Protocolo Musical Principais elementos do MusicXML 8 APIs de Manipulação Musical Aplicação Framework API Manipulação Musical Padrão/Protocolo Musical Java Sound Java + MIDI - Representação dos elementos musicais é muito simples e não reflete as particularidades da teoria musical 9 Frameworks de Conhecimento Musical API Manipulação Musical MusES Padrão/Protocolo Musical Aplicação Framework Longo projeto Modelagem orientada a objetos complexa de elementos musicais de base Implementação em Smalltalk + Vários aspectos da complexidade da harmonia tonal foram tratados - Rara utilização de metodologias de modelagem e documentação orientadas a objetos - Incompatibilidade com padrões musicais modernos 10 Roteiro O Problema Padrões, APIs e Frameworks Musicais Características do Ritornello O projeto Trabalhos Futuros Sugestões de Exercícios 11 Características do Ritornello Características Modelagem dos conceitos fundamentais da teoria musical Aplicações de análise, composição e execução musical Compatível com os padrões mais modernos de representação musical Abstração da linguagem de implementação MusicXML, MIDI, etc. Cursos x projetos de pesquisa Independência da API de manipulação 12 Camadas... Aplicação D’Accord Violão, ChordFinder, JSS, PET Framework Ritornello API Manipulação Musical Java Sound, MidiShare Padrão/Protocolo musical MIDI, XMF, MusicXML 13 Abordagem MusES como referência funcional Benefícios da maturidade e da agilidade da modelagem do MusicXML Reutilização 14 Roteiro O Problema Padrões, APIs e Frameworks Musicais Características do Ritornello O projeto Trabalhos Futuros Sugestões de Exercícios 15 Pacotes Diagrama de interação de pacotes 16 Visão Geral das Classes PitchName (from conceitual) Rollable -pitchName (from conceitual) Scale Note (from conceitual) (from conceitual) -root -root -third Chord (from conceitual) ...) -fifth -seventh Interval (from conceitual) PlayableNote PlayableElement (from playable) (from playable) KeySignature (from performance) -lapse -keySignature Measure (from performance) ...) -timeSignature -startMeasure PlayableChord (from playable) -lapse Lapse (from playable) Collection -measures (from core) TimeSignature (from performance) -staff Staff Clef (from performance) -clef (from performance) ...) Serializable (from performance) -staves -score Score Runnable (from performance) ...) (from performance) Diagrama de classes do Ritornello 17 A Nota Musical 1) 2) Fá# 3) Detalhe das classes de representação de nota musical 18 A Nota Musical Detalhe das classes de representação de nota musical 19 O Tempo Musical Res: 96 A representação de tempo no Ritornello 20 O Tempo Musical A representação de tempo no Ritornello 21 O Pacote Conceitual Diagrama das classes mais complexas do Ritornello 22 O Projeto Conclusões Hierarquia enxuta e estruturada Classes de execução refletem elementos do MusicXML Modelagem da nota musical Simples e poderosa Representação de tempo musical Facilita muito a reutilização e extensão dos componentes Elimina deficiências do formato do MusES Agrupamento de funcionalidades comuns em interfaces 23 Roteiro O Problema Padrões, APIs e Frameworks Musicais Características do Ritornello O projeto Trabalhos Futuros Sugestões de Exercícios 24 Trabalhos Futuros Expansão do Ritornello Editores musicais de partitura, tablatura e correlatos Classes para análise em harmonia funcional Ambiente interativo: interface visual + repositório de objetos (MusicXML) Implementação em C++ (D’Accord) 25 Roteiro O Problema Padrões, APIs e Frameworks Musicais Características do Ritornello O projeto Trabalhos Futuros Sugestões de Exercícios 26 Sugestões de Exercícios Criação de uma mini-peça musical para execução Substituição de notas musicais da mini-peça por enarmônicas. O som muda ? Identificação de intervalos musicais entre as notas da mini-peça Formação da escala Mi menor harmônica, e identificação do 7º grau desta escala Formação do acorde de Fá Maior, e identificação das suas notas Identificação de acordes através de suas notas musicais 27 Fim Obrigado ! Contato: [email protected] 28