21
Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Embed Size (px)

Citation preview

Page 1: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Everaldo Apolinario SilvaPaulo Roberto Pereira da Silva

Page 2: Everaldo Apolinario Silva Paulo 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

Page 3: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Motivação

• Plataforma de representação, criação e manipulação de objetos musicais reutilizável em novas aplicações

Page 4: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

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)

Page 5: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Objetos Musicais

• Pacotes– Harmonia– Temporal– Editores– Análise Harmônica

Page 6: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Objetos Harmônicos

• Pitch-classes• Notas octave-dependent• Intervalos• Acordes• Escalas

Page 7: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Pitch-classes (Note)

• Object ()– Note ()

• NaturalNote (name following preceding sharp flat semiToneCount)

• AlteredNote (natural)– SharpNote (sharp)– FlatNote (flat)– DoubleFlatNote ()– DoubleSharpNote ()

Page 8: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Exemplo de uma Pitch-classe

• Pitch-class: A (La)– name: A– following: B– preceding: G– sharp: A#– flat: Ab– semiToneCount: 10

Page 9: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

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

Page 10: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Dependência de Oitava

• Classe OctaveDependentNote• Atributos:

– Pitch Class (A, B, C, D...)– Oitava(1, 2, 3...)

• Exemplo:– PitchClass C octave:3 C3 (OctaveDependentNote)

Page 11: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Intervalos

• Definição:– type: inteiro (segunda, terça ...) – semiTones: inteiro (2, 3, 4 ...)

• Exemplo:– terça maior:

• type = 3• semiTones = 5

Page 12: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

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

Page 13: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Escalas

• Definição:– root: nota (A, B, C ...) – type: tipo de escalas (majorScale,

harmonicMinorScale ...)• Exemplo:

– La Maior• root = A• type = majorScale

Page 14: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

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

Page 15: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

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]

Page 16: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

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] ...)

Page 17: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Classes Temporais

• Lapse: define um intervalo de tempo– startTime– duration

• TemporalObject: definição geral de um objeto temporal

• TemporalCollection: coleção de objetos temporais

Page 18: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Classes Temporais

• Object ()– Lapse (startTime, duration)– TemporalObject (lapse)

• PlayableNote (octaveDependentNote, amplitude, midiChannel, etc)

• PlayableChord (octaveDependentChord, amplitude, midiChannel, etc)

Page 19: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Melodias

• Monofônicas e polifônicas• Atributos:

– Armadura– Compasso– Notas: como instância de TemporalCollection

Page 20: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

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

Page 21: Everaldo Apolinario Silva Paulo Roberto Pereira da Silva

Links

• www.poleia-lip6.fr/~fdp