Upload
pietro-jorge
View
223
Download
4
Embed Size (px)
Citation preview
Everaldo Apolinario SilvaPaulo Roberto Pereira da Silva
O Sistema MusES• Desenvolvido na Univ. Paris VI
– F. Pachet, G. Ramalho, P.-Y. Rolland, P. Roy, etc.
• Representação orientada a objeto dos componentes do conhecimento musical, com suas propriedades e operações mais comuns
• Cerca de 100 classes e 1.700 métodos• Smalltalk e, em breve, Java
Motivação
• Plataforma de representação, criação e manipulação de objetos musicais reutilizável em novas aplicações
Noções de Teoria Musical
• Nota: (início, duração, altura, intensidade, timbre)– altura (nome, acidente, oitava)
• Melodia (seqüência de notas)• Intervalo (distância de notas)• Acorde (conj. de notas “tocadas” ao mesmo tempo)• Escala (conj. de 7 notas representando 7 intervalos)
Objetos Musicais
• Pacotes– Harmonia– Temporal– Editores– Análise Harmônica
Objetos Harmônicos
• Pitch-classes• Notas octave-dependent• Intervalos• Acordes• Escalas
Pitch-classes (Note)
• Object ()– Note ()
• NaturalNote (name following preceding sharp flat semiToneCount)
• AlteredNote (natural)– SharpNote (sharp)– FlatNote (flat)– DoubleFlatNote ()– DoubleSharpNote ()
Exemplo de uma Pitch-classe
• Pitch-class: A (La)– name: A– following: B– preceding: G– sharp: A#– flat: Ab– semiToneCount: 10
Métodos• Sharp:
– PitchClass C sharp C#– PitchClass C sharp sharp C##– PitchClass C sharp sharp sharp Error!
• Flat:– PitchClass C flat Cb– PitchClass C flat flat Cbb– PitchClass C flat flat flat Error!
• PitchEquals:– Note C sharp pitchEquals: Note D flat true
Dependência de Oitava
• Classe OctaveDependentNote• Atributos:
– Pitch Class (A, B, C, D...)– Oitava(1, 2, 3...)
• Exemplo:– PitchClass C octave:3 C3 (OctaveDependentNote)
Intervalos
• Definição:– type: inteiro (segunda, terça ...) – semiTones: inteiro (2, 3, 4 ...)
• Exemplo:– terça maior:
• type = 3• semiTones = 5
Intervalos• Possíveis operações:
– Dado o topo ou o bottom de um intervalo, computar a outra extremidade:
• Interval diminishedFifth bottomIfTopIs: (PitchClass F sharp) C• PitchClass C flatFifth Gb
– Computar um intervalo, dadas duas notas:• PitchClass C intervalWith: PitchClass F sharp augmented fourth
– Adicionar intervalos:• Interval perfectFifth + Interval majorSecond majorSixth
– Encontrar intervalos inversos:• Interval majorThird reverse minor sixth
Escalas
• Definição:– root: nota (A, B, C ...) – type: tipo de escalas (majorScale,
harmonicMinorScale ...)• Exemplo:
– La Maior• root = A• type = majorScale
Escalas• Listar as notas de uma dada escala:
– Pitch Class flat majorScale notes (Ab Bb C Db Eb F G)
– PitchClass C harmonicMinorScale notes (C D Eb F G Ab B)
• Encontrar todas as escalas que contem n notas dadas
• Encontrar a assinatura das escalas
Acordes• Definição:
– root: nota (A, B, C ...)– structure (maj7, dim5, alg9 ...)
• Podem ser criados pelo nome ou pela lista de notas que os compõem:– (Chord new fromString: ‘D# maj7’) notes
Ordered Collection (D# F## A# C##)– Chord newFromNoteNames: ‘C E G’ [C]
Acordes
• Encontrar todos os possíveis acordes a partir de uma lista de notas:– a raiz é uma das notas:
• Chord allChordsFromlistOfNoteNames: ‘C E G’ OrderedColletion ([C] [E min no5 no7 no9 no11 dim 13] [G sus4 no5 6])
– a raiz é qualquer nota, possivelmente fora da lista:• Chord reallyAllChordsFromlistOfNoteNames: ‘C E G’
OrderedColletion ([A noRoot min 7] [BnoRoot sus4 no5 no7 dim9 dim13] [C] [D noRoot sus4 no5 7 9] ...)
Classes Temporais
• Lapse: define um intervalo de tempo– startTime– duration
• TemporalObject: definição geral de um objeto temporal
• TemporalCollection: coleção de objetos temporais
Classes Temporais
• Object ()– Lapse (startTime, duration)– TemporalObject (lapse)
• PlayableNote (octaveDependentNote, amplitude, midiChannel, etc)
• PlayableChord (octaveDependentChord, amplitude, midiChannel, etc)
Melodias
• Monofônicas e polifônicas• Atributos:
– Armadura– Compasso– Notas: como instância de TemporalCollection
Extensões
• Analise de seqüências de acordes de jazz• Simulação de improvisação em jazz• Satisfação de restrições e harmonização
automática• Batucada: um lego rítmico
Links
• www.poleia-lip6.fr/~fdp