330 likes | 430 Views
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
E N D
Acompanhamento musical em tempo real 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
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
raciocínio • Conhecimento: • - teoria musical, frases melódicas, ... • - habilidade instrumental ... • Ações: • - escolher e tocar notas Agente • Objetivos: • - ficar feliz • - tocar bem percepção execução Acordes: ... A7(b9 | Cm7 | F7 | Fm7 | Bb7 | Ebmaj7 . . . Solo: ... Piano: ... Bateria: ... Publico: ... Baixo: ... b n A tarefa de um agente Jazzman
Exemplo de uma Grade de Acordes Stella by Starlight
É 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 . . .
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
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:
Cm7(b5) F7 Em7(b5) A7 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 tons vizinhos, dissonante, pouco denso, ascendente, etc. arpejado, consonante, relativamente denso, em V, etc.
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
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
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?
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} 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} ... spector (5) Ulrich (16) Baggi (16 piano + 22 bateria)
|Em7(b5) | A7(b9) | Cm7 | F7 | Fm7 ... Comprimento dos casos • 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
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:
Janela de indexação Frase a ser armazenada 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.
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
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
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
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
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
O solista tocacromáticamente O públicoaplaude Cenário: simulando o ambiente • A escuta é muito difícil de implementar (Hidaka et al. 95, Pennycook et al. 93, Walker 94) Cenário # @ % § $ Todos tocam “hot” Agente (execução) |Em7(b5) | A7(b9) | Cm7 | F7 | Fm7 | Bb7 Grade
Seleção de PACTs PACT 76 PACT 75 PACT 74 PACT 65 PACT 63 PACT 37 PACT 21 PACT 2 segmento atual tempo |Em7(b5) | A7(b9) | Cm7 | F7 | Fm7 | Bb7 | Ebmaj7 | Ab7 ...
combine propague elimine combine Montagem de PACTs • Resolução de conflitos e combinação de informação Estado final estado inicial PACTs (PACT tocável) Espaço de montagem elimine propague elimine
Recuperação dos casos Caso fonte (memória musical) Caso alvo (query) Exemplo: http://www.di.ufpe.br/~musica/cmps/impact/caso.html proriedades do fragmento antecedente proriedades do fragmento conseqüente contexto do fragmento antecedente contexto do fragmento conseqüente
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)
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
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!
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
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