Geber Ramalho Acompanhamento musical em tempo real.

33
Geber Ramalho Acompanhamento musical em tempo real

Transcript of Geber Ramalho Acompanhamento musical em tempo real.

Page 1: Geber Ramalho Acompanhamento musical em tempo real.

Geber Ramalho

Acompanhamento musical em tempo real

Page 2: Geber Ramalho Acompanhamento musical em tempo real.

Jam Session

Page 3: Geber Ramalho Acompanhamento musical em tempo real.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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 29: Geber Ramalho Acompanhamento musical em tempo real.

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.

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.

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 33: Geber Ramalho Acompanhamento musical em tempo real.

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