![Page 1: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/1.jpg)
Geber Ramalho
Acompanhamento musical em tempo real
![Page 2: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/2.jpg)
Jam Session
![Page 3: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/3.jpg)
3 Geber Ramalho
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
![Page 4: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/4.jpg)
4 Geber Ramalho
Sistemas de acompanhamento e improvisaçãoSistema Intrumentos Estilo
Band in a box B, D, P 20 estilos
NeurSwing B, D, P standard
Cybernetic Composer B, D, P Blues, standard,rock, rag time,
ImPact B 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
![Page 5: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/5.jpg)
5 Geber Ramalho
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
![Page 6: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/6.jpg)
A tarefa de um agente Jazzmanraciocínioraciocínio
Conhecimento:- teoria musical, frases melódicas, ...- habilidade instrumental ...
Objetivos:- ficar feliz- tocar bem
Ações:- escolher e tocar notas
execuçãoexecuçãopercepçãopercepção
Acordes: ... A7(b9 | Cm7 | F7 | Fm7 | Bb7 | Ebmaj7 . . .
Solo: ...Piano: ...Bateria: ...Publico: ...Baixo: ...
Agente
![Page 7: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/7.jpg)
7 Geber Ramalho
Exemplo de uma Grade de Acordes
E min7(b5) A 7 C min 7 F 7
F min 7 Bb 7 Eb maj7 Ab 7
Bb maj7 Emin7(b5) A7 D min7 G min7 C7
F maj7 G min7 C7 Amin7(b5) D 7
G 7 G7 C min7 C min7
Eb min7 Eb min7 Ab 7 Bb maj7 Bb maj7
E min7(b5) A 7 D min7(b5) G 7
C min7(b5) F 7 Bb maj7 Bb maj7
Stella by Starlight
![Page 8: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/8.jpg)
8 Geber Ramalho
É possível modelar este tipo de atividade? Problema “mal colocado”
• muitas soluções, objetivos dinâmicos e mal definidos
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
A7(b9) | Cm7 | F7 | Fm7 | Bb7 . . .
![Page 9: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/9.jpg)
9 Geber Ramalho
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
![Page 10: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/10.jpg)
10 Geber Ramalho
Fragmentos melódicos e rítmicos (1/2)
Dm7 A7
Miles Davis:
Eles têm um papel fundamental no jazz• aprendizado por imitação
• reutilização de frases (“clichês”)
![Page 11: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/11.jpg)
11 Geber Ramalho
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
Em7(b5) A7
tons vizinhos, dissonante, pouco denso, ascendente, etc.
arpejado, consonante, relativamente denso, em V, etc.
![Page 12: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/12.jpg)
12 Geber Ramalho
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
![Page 13: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/13.jpg)
13 Geber Ramalho
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
![Page 14: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/14.jpg)
14 Geber Ramalho
Quatro questõe
s fundamenta
is
Qual a natureza e o tamanho dos fragmentos?
Como representá-los?
Como indexá-los?
Qual critérios utilizar para preferir um fragmento particular?
![Page 15: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/15.jpg)
15 Geber Ramalho
alturas: {C3, D3, Eb3, E3, F3, D3, G3, G#3, A} 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}...
Hodgson (67 sax), Ramalho (256 baixo)Band-in-a-box (100)
spector (5)
Ulrich (16)Baggi (16 piano + 22 bateria)
Natureza dos casos
Conteúdo• com relação às dimensões: altura, duração, e amplitude
![Page 16: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/16.jpg)
16 Geber Ramalho
Critérios• plausibilidade musical (fixo x variável)• granularidade (continuidade x reatividade)
Soluções atuais: • unidade de tempo (beat) - Johnson-Laird, • compasso - Brown, Baggi• acorde - Band-in-a-box, Pachet• esquema de acorde (II-V, II-V-I, II-SubV-I, ... ) - Ramalho, Hodgson
|Em7(b5) | A7(b9) | Cm7 | F7 | Fm7 ...
Comprimento dos casos
![Page 17: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/17.jpg)
17 Geber Ramalho
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:
![Page 18: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/18.jpg)
18 Geber Ramalho
Frase a ser armazenada
Janela de indexação
Indexação dos casos: exemplo
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.
![Page 19: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/19.jpg)
19 Geber Ramalho
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
![Page 20: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/20.jpg)
20 Geber Ramalho
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
![Page 21: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/21.jpg)
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 segmentoa - 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
![Page 22: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/22.jpg)
22 Geber Ramalho
Exemplo
“Stella by Starlight” segmentada
E min7(b5) A 7 C min 7 F 7
F min 7 Bb 7 Eb maj7 Ab 7
Bb maj7 Emin7(b5) A7 D min7 G min7 C7
F maj7 G min7 C7 Amin7(b5) D 7
G 7 G7 C min7 C min7
Eb min7 Eb min7 Ab 7 Bb maj7 Bb maj7
E min7(b5) A 7 D min7(b5) G 7
C min7(b5) F 7 Bb maj7 Bb maj7
1
5
9
13
17
21
25
29
![Page 23: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/23.jpg)
23 Geber Ramalho
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
![Page 24: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/24.jpg)
24 Geber Ramalho
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
![Page 25: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/25.jpg)
|Em7(b5) | A7(b9) | Cm7 | F7 | Fm7 | Bb7
# @ % § $
O públicoaplaude
Agente (execução)
Cenário
O solista tocacromáticamente
Todos tocam “hot”
Grade
Cenário: simulando o ambiente A escuta é muito difícil de implementar (Hidaka et al. 95,
Pennycook et al. 93, Walker 94)
![Page 26: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/26.jpg)
Seleção de PACTs
segmentoatual
PACT 76PACT 75PACT 74
PACT 21
PACT 63
PACT 2
tempo
PACT 37
PACT 65
|Em7(b5) | A7(b9) | Cm7 | F7 | Fm7 | Bb7 | Ebmaj7 | Ab7 ...
![Page 27: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/27.jpg)
PACTsestado inicial Estado final (PACT tocável)
Espaço de montagem
combine propagueelimine elimine combine propague elimine
Montagem de PACTs
Resolução de conflitos e combinação de informação
![Page 28: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/28.jpg)
Recuperação dos casosCaso 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.html
![Page 29: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/29.jpg)
29 Geber Ramalho
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)
![Page 30: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/30.jpg)
30 Geber Ramalho
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
![Page 31: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/31.jpg)
31 Geber Ramalho
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!
![Page 32: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/32.jpg)
32 Geber Ramalho
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
![Page 33: Geber Ramalho Acompanhamento musical em tempo real](https://reader036.vdocuments.net/reader036/viewer/2022062818/570638401a28abb8238f1427/html5/thumbnails/33.jpg)
33 Geber Ramalho
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