Geber Ramalho Acompanhamento musical em tempo real.

Post on 07-Apr-2016

219 views 3 download

Transcript of Geber Ramalho Acompanhamento musical em tempo real.

Geber Ramalho

Acompanhamento musical em tempo real

Jam Session

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

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

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

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

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

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

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

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”)

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.

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

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

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?

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

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

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:

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.

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

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

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

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

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

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

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

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

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

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)

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

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!

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