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
Download

Ritornello