Acompanhamento musical
em tempo real
Geber Ramalho
Jam Session
Porque modelar este tipo de atividade?
 A dificuldade intrínseca do problema
• faz a pesquisa em IA avançar...
• e pode ser útil em problemas semelhantes (ex. monitorar
uma UTI)
 É relevante no mercado de software musical
• companheiro de ensaio
• companheiro de palco
• assistente de arranjo
 E em outros...
• jogos de computadores
Geber Ramalho
3
Sistemas de acompanhamento e improvisação
Sistema
Intrumentos
Estilo
Band in a box
B, D, P
20 estilos
NeurSwing
B, D, P
standard
Cybernetic Composer
B, D, P
ImPact
B
Blues, standard,
rock, rag time,
standard
Hodgson´s
Sax
standard
Hidaka´s
B, D
standard
Giomi´s
Sax
standard
Johnson-Laird’s
B
standard
Pachet
B, D
standard
Improvisation builder
B, P, B
standard
Levitt’s
B, P
blues & standard
Geber Ramalho
4
Roteiro da apresentação
 O que é um agente de acompanhamento?
• Definição da tarefa
• Dificuldades de implementação
 Acompanhamento por reutilização de fragmentos
musicais
• Conceitos básicos e funcionamento
• Pontos críticos da concepção
 Sistema ImPact
Geber Ramalho
5
A tarefa de um agente Jazzman
raciocínio
Agente
Conhecimento:
Objetivos:
- teoria musical, frases melódicas, ... - ficar feliz
- tocar bem
- habilidade instrumental ...
percepção
Acordes:
Solo:
Piano:
Bateria:
Publico:
Baixo:
...
...
...
...
...
...
- escolher e tocar notas
execução
A7(b9 | Cm7 | F7
b
Ações:

| Fm7 | Bb7 | Ebmaj7 . . .
Exemplo de uma Grade de Acordes
Stella by Starlight
E min7(b5)
A7
C min 7
F7
F min 7
Bb 7
Eb maj7
Ab 7
Bb maj7
Emin7(b5)
A7
F maj7
G min7 C7
Amin7(b5)
G7
Eb min7
G7
Eb min7
Ab 7
D min7
G min7
C7
D7
C min7
C min7
Bb maj7
Bb maj7
E min7(b5)
A7
D min7(b5)
G7
C min7(b5)
F7
Bb maj7
Bb maj7
Geber Ramalho
7
É possível modelar este tipo de atividade?
 Problema “mal colocado”
• muitas soluções, objetivos dinâmicos e mal definidos
A7(b9)
| Cm7
| F7
| Fm7
| Bb7 . . .
 Criação coletiva e em tempo real
• Reações adequadas, rápidas e coordenadas
 Ambiente complexo
• dinâmico, não-determinista, contínuo, e não-episódico
Geber Ramalho
8
Conhecimento musical
 Sua aquisição é o problema central!
• grande “gap” entre a grade de acordes e a música tocada
• falta de introspecção sobre como raciocinam
• falta de justificativa em termos de nota por nota
Geber Ramalho
9
Fragmentos melódicos e rítmicos (1/2)
 Eles têm um papel fundamental no jazz
• aprendizado por imitação
• reutilização de frases (“clichês”)
Dm7
A7
Miles Davis:
Geber Ramalho
10
Fragmentos melódicos e rítmicos (2/2)
 Eles permitem minimizar o esforço de aquisição de
conhecimento
• Estão disponíveis
• Exemplificam o conhecimento que é difícil de ser formalizado
Cm7(b5)
F7
tons vizinhos, dissonante,
pouco denso, ascendente,
etc.
Em7(b5)
A7
arpejado, consonante,
relativamente denso, em V,
etc.
Geber Ramalho
11
Solução atual de maior “sucesso”
 Reutilização de fragmentos musicais!
 Idéia:
• Resolver novos problemas baseando-se em problemas já
resolvidos
 Observação
• igual ao case-based reasoning,
• onde novos problemas (ex. seqüência de acordes) são
resolvidos adaptando-se soluções (ex. fragmentos
melódicos) de problemas já resolvidos
Geber Ramalho
12
Funcionamento: laço principal
 Para um dado instrumento, enquanto sua
posição_atual < final_da_grade, faça:
• Descreva o contexto atual C;
• Busque na biblioteca B o fragmento P mais adequado c/
relação a C;
• Adapte P a C, obtendo P’;
• Adicione (cole) P’ à melodia ou linha rítmica composta até
então
Geber Ramalho
13
Quatro questões fundamentais
 Qual a natureza e o tamanho dos fragmentos?
 Como representá-los?
 Como indexá-los?
 Qual critérios utilizar para preferir um fragmento
particular?
Geber Ramalho
14
Natureza dos casos
 Conteúdo
• com relação às dimensões: altura, duração, e amplitude
Hodgson (67 sax),
Ramalho (256 baixo)
Band-in-a-box (100)
alturas:
{C3, D3, Eb3, E3, F3, D3, G3, G#3, A}
spector (5)
intervalos: {2M, 2m, 2m, 2m, -3m, 4, 1#, 2m}
intervalos diatônicos : {2, 2, 2, 2, 3, 4, 1, 2}
durações: {1, 1, 1, 1, 0.5, 0.5, 1, 1, 1}
Ulrich (16)
Baggi (16 piano + 22 bateria)
...
Geber Ramalho
15
Comprimento dos casos
 Critérios
• plausibilidade musical (fixo x variável)
• granularidade (continuidade x reatividade)
|Em7(b5)
| A7(b9)
| Cm7
| F7
| Fm7 ...
 Soluções atuais:
•
•
•
•
unidade de tempo (beat)
compasso
acorde
esquema de acorde (II-V, II-V-I, II-SubV-I, ... )
Geber Ramalho
- Johnson-Laird,
- Brown, Baggi
- Band-in-a-box, Pachet
- Ramalho, Hodgson
16
Indexação dos casos
 Objetivo
• conjunto de índices para uma recuperação rápida e
apropriada
 Dois tipos de índices
• Descrição do contexto: acordes sub-jascentes, posição,
andamento, próximos acordes , ...
• Propriedades musicais do fragmento: dissonância,
densidade, tessitura, contorno melódico, dinâmica, ...
 Janela: quão do passado deve ser considerado?
• é preciso determinar o tamanho da janela de indexação:
Geber Ramalho
17
Indexação dos casos: exemplo
Janela de indexação
Frase a ser armazenada
 Contexto
• acordes subjascentes = “Dbmaj7 Gb7”; esquema de acorde
= “II-V maior”; posição = “turnaround”; etc.
 Propriedades
• dissonância = baixa; densidade = média; sincopado = médio,
estilo = arpejo; etc.
Geber Ramalho
18
Preferência
 Caracterização da recuperação
• Query Q = (C, D) ,
– onde
C = {c1,...,ck} contexto
D = {d1,...,dj} propriedades musicais
 Função de recuperação
• F(Q,L) -> fragmento P, onde L é a base de casos
 F pode ser:
• aleatória
• baseada em similaridade
• baseada em pesos fornecidos pelo usuário
Geber Ramalho
19
Adaptação
 Objetivos:
• coerência harmônica, continuidade melódica, intenções
musicais...
 Complicado:
• transformações complexas e não ortogonais
 Adaptações implementadas até agora
• transposição, mudança de amplitude, inserção e eliminação
de notas, mudança de alturas
 Política de recuperação alternativa
• não só pensar na similaridade mas na adaptabilidade
também
Geber Ramalho
20
Abordagem Impact:
improvisação como resolução de problemas
1) Determinar o segmento S da grade segundo os
“esquemas de acordes” (ex. II-V-I)
2) Determinar os “critérios musicais” do segmento
a - Ativar novas PACTs em função dos dados perceptivos;
b - Selecionar as PACTs para o segmento S;
c - Montar as PACTs selecionadas.
3) Recuperar um fragmento da Memória Musical e adaptá-lo
segundo a PACT produzida no passo anterior
Exemplo
 “Stella by Starlight” segmentada
1
E min7(b5)
A7
C min 7
F7
5
F min 7
Bb 7
Eb maj7
Ab 7
9
Bb maj7
Emin7(b5)
A7
13
F maj7
G min7 C7
Amin7(b5)
17
G7
21
Eb min7
25
E min7(b5)
29
C min7(b5)
Geber Ramalho
G7
D min7
G min7
D7
C min7
C min7
Bb maj7
Bb maj7
A7
D min7(b5)
G7
F7
Bb maj7
Bb maj7
Eb min7
Ab 7
C7
22
Ativação de PACTs
 Formato das regras
• SE situação S ENTÃO ativar PACT Y
 Regras relacionadas com os acordes:
• SE o agente está em um acorde alterado, ENTÃO ativar
PACT “usar cromatismo” neste compasso
 Regras relacionadas com os outros músicos:
• SE o pianista esta tocando acordes dissonantes, ENTÃO
ativar PACT “tocar de maneira consonante privilegiando
arpejos” até que o pianista mude
Geber Ramalho
23
Ativação de PACTs
 Regras relacionadas com o próprio passado:
• SE faz mais de 2 compassos que o agente sobe por tons
vizinhos e si la tessitura já está alta, ENTÃO ativar PACT
“fazer um drop” agora
 Regras relacionadas com a forma:
• SE o agente está no começo de um chorus, ENTÃO ativar
PACT “tocar tônica no primeiro tempo” até o começo da
próxima seção
Geber Ramalho
24
Cenário: simulando o ambiente
 A escuta é muito difícil de implementar (Hidaka et al. 95,
Pennycook et al. 93, Walker 94)
O solista toca
cromáticamente
Cenário
#
@
O público
aplaude
%
§
$
Todos tocam “hot”
Agente (execução)
Grade
|Em7(b5)
| A7(b9)
| Cm7
| F7
| Fm7
| Bb7
Seleção de PACTs
PACT 76
PACT 75
PACT 74
PACT 65
PACT 63
PACT 37
PACT 21
PACT 2
segmento
atual
|Em7(b5) | A7(b9) | Cm7
| F7
tempo
| Fm7
| Bb7
| Ebmaj7 | Ab7 ...
Montagem de PACTs
 Resolução de conflitos e combinação de informação
estado inicial
PACTs
Espaço de montagem
elimine
combine
propague elimine
combine
Estado final
(PACT tocável)
propague elimine
Recuperação dos casos
Caso alvo (query)
proriedades
do
fragmento
antecedente
proriedades
do
fragmento
conseqüente
contexto do
fragmento
antecedente
contexto do
fragmento
conseqüente
Caso fonte (memória musical)
Exemplo: http://www.di.ufpe.br/~musica/cmps/impact/caso.htm
Resultados
 Sistema ImPact
•
•
•
•
•
Smalltalk-80 + MusES + NéOpus
Tempo real sem PC Pentium e Sun Sparc 10
Mais de 230 classes (OOP) e 5000 métodos
256 casos (354 fragmentos): Ron Carter
6 bases de regras (85 regras) et 3 meta-bases de regras
 Foi considerado o melhor baixo de jazz pelos
especialistas (1997)
Geber Ramalho
29
Continuação do trabalho...
 Outros estilos musicais, sobretudo os brasileiros
• frevo, maracatú, bossa-nova, etc.
 Outros instrumentos
• bateria, percussão, piano, etc.
• implica em sistema multiagentes
 Projeto D’Accord Guitar
• acompanhamento de violão onde ritmo segue mesma
abordagem e harmonia baseada em regras (por enquanto)
 Antecipação de acordes
• acompanhamento “de ouvido”
 Batucada: um lego rítmico
Geber Ramalho
30
Conclusões
 A reutilização de fragmentos musicais é uma técnica
promissora...
• aquisição de conhecimento mais simples
• melhores resultados musicais
• é independente do domínio
...mas é necessária a integração de mais conhecimento
• indexação, preferência, adaptação, etc.
...ou seja, a inteligência está na escolha do fragmento!
Geber Ramalho
31
Exemplos sonoros
 Exemplos sonoros (Autumn Leaves)
•
•
•
•
1 - Usando regras
2 - Usando só o CBR
3 - Usando CBR + PACTs
4 - Usando CBR + PACTs + Cenário
 http://www.di.ufpe.br/~glr/Thesis/examples.html
Geber Ramalho
32
Fragments Reuse
 Three benefits that justify our choice
•
Minimizes the formalization problem
– The fragments themselves embody a certain musical
knowledge
•
Scalable
– It is possible to use the same process to any instrument and
style
•
Improves expressiveness
– By reusing fragments directly captured from a human musician
performance nuances can be taken into account
Geber Ramalho
33
Download

Ramalho