• Nenhum resultado encontrado

Evolução preditiva do relógio virtual

2.2 Pré-processador da entrada

2.4.2 Evolução preditiva do relógio virtual

Existe uma latência inerente ao processo completo que engloba o recebimento de um evento da entrada, a detecção de um casamento, a emissão de um relato e a atualização das informações sobre o relógio virtual (ilustrado na figura2.38). Técnicas que possuem uma abordagem puramente reativa irão fazer com que o sistema sempre chegue em um ponto específico da partitura depois do músico. Desse modo, notas do acompanhamento que estavam definidas na partitura para soar simultaneamente à entrada (ver figura2.39) serão executadas com um certo atraso.

Figura 2.38: Tempos do processo para emissão de um evento na saída (t4− t1 deveria ser zero).

Christopher Raphael afirma no artigo Current Directions With Music Plus One [Rap09] que em teoria poderíamos construir um sistema puramente responsivo cujo atraso seja musicalmente insignificante, porém que é essencial construir um sistema cujo comportamento seja apoiado em predições.

Um dos sistemas mais avançados desenvolvidos nos últimos anos - Music Plus One - possui técnicas de predição na geração do acompanhamento musical para tratar a latência inevitável des- crita acima. No artigo Musical Accompaniment Systems [Rap04], Christopher Raphael se baseia no comportamento humano para fornecer ao sistema a capacidade de prever a execução de sua parte. Ele afirma que “o músico humano entende essa latência de escuta como parte do problema básico de tocar em grupo e responde continuamente prevendo a evolução musical futura baseado no que

2.4 ACOMPANHADOR 29

Figura 2.39: Exemplo de um ponto da partitura no qual eventos do solo e do acompanhamento devem soar sincronizados.

ouviu até o momento e, de uma maneira ou de outra, o computador deve abordar esse problema fundamental do mesmo jeito” [Rap04].

Para isso, o autor enumera o que é esperado de um músico profissional atuando dentro de um grupo. Primeiramente, ele deve ter conhecimentos básicos teóricos e práticos para conseguir tocar uma música a primeira vista caso isso seja requisitado. Em segundo lugar, ele deve ter a capacidade de se afastar do que está rigorosamente determinado na partitura a fim de executar a música conforme a interpretação do grupo. Por último, ele deve ter a habilidade de aprender como o grupo executa a peça de maneira particular, após diversos ensaios, para se antecipar em momentos em que essa interpretação difere muito da partitura.

Apoiando-se nessas habilidades, o autor desenvolve um modelo estatístico com centenas de variá- veis aleatórias gaussianas para mesclar diversas fontes de informação sobre a execução: a partitura, a análise em tempo real do que o solista está tocando, a interpretação demonstrada pelo solista em ensaios e execuções humanas do acompanhamento. Com tais variáveis, o autor deseja adicionar uma variedade rítmica na interpretação do acompanhamento. Os tempos de cada evento originais da partitura do acompanhamento são redefinidos a partir de variáveis para mudanças globais de andamento, para acentuações agógicas, entre outras, modeladas a partir da análise das diversas fon- tes de informação consideradas. Após essa modelagem, a tarefa do Acompanhador agora é somente agendar os eventos.

Um artigo posterior ao de Christopher Raphael afirma explicitamente que tal técnica, apesar de utilizar modelos probabilísticos bem sofisticados, possui restrições quanto a generalidade de gêneros musicais aplicáveis [AW10a]. Andreas Arzt e Gerhard Widmer afirmam que o sistema enfoca o repertório ocidental clássico, que possui um ritmo mais regular e que exige uma sincronização mais rígida entre solo e acompanhamento. Em busca de uma solução mais simples e mais ampla, os autores introduzem uma técnica robusta para antecipação na geração do acompanhamento musical. Essa técnica também utiliza dados coletados de outras execuções da mesma peça musical como detalhado a seguir.

Inicialmente, são armazenadas informações de diversas execuções diferentes para uma mesma música. Os dados de entrada dessas execuções são, na sequência, fornecidos como entrada para uma versão offline do rastreador do sistema. Executar o algoritmo de rastreamento de partitura no modo offline aumenta a qualidade do pareamento entre entrada e partitura, pois o algoritmo poderá enxergar os eventos do futuro e isso garante a detecção do casamento global ótimo entre os dois.

Com os pareamentos ótimos detectados para todas as execuções armazenadas, temos diversas curvas de evolução do tempo virtual por diversos músicos que são fornecidas para o rastreador online as utilizarem como informações adicionais para calcular uma melhor estimativa do andamento. Isso é feito através dos seguintes passos.

O rastreador mantém um histórico com as últimas 50 notas da curva de andamento da execução atual. A cada iteração do algoritmo, as N curvas armazenadas são normalizadas para representar o mesmo andamento da execução atual. Na sequência, são calculadas medidas de similaridade entre a curva de andamento atual e cada uma das N curvas armazenadas no intervalo que corresponde ao trecho com as últimas 50 notas.

Figura 2.40: Exemplo de possíveis curvas armazenadas no histórico para um dado trecho da música.

Os autores utilizam os seguintes cálculos como medida de similaridade entre duas curvas: são calculadas as distâncias euclidianas entre elas e os valores obtidos são invertidos e normalizados para que pertençam ao intervalo [0, 1].

Figura 2.41: Sobreposição das curvas do histórico com a curva da execução atual em um dado trecho da música.

Com os valores de similaridades entre a curva de andamento atual e as curvas armazenadas, podemos estimar o andamento da execução no ponto atual. Os autores afirmam que a posição atual sempre estará entre dois eventos oje oj+1da partitura (podendo incluir um deles ou não). Portanto, o andamento atual é calculado com a seguinte fórmula:

PN

i=1(ti,oj+ti,oj+1)×si

2

Onde ti,oj e ti,oj+1 são os andamentos normalizados da curva i para os inícios de notas oj e oj+1, respectivamente, e si é a similaridade entre a curva i e a curva atual da execução.

Um fato importante de ser observado é que a técnica apresentada aqui não necessariamente utiliza como histórico as execuções de um mesmo músico. Esse fato a diferencia das técnicas de outros artigos que, normalmente, consideram as execuções de um solista para as execuções futuras dele mesmo. Isso é possível pela utilização da medida de similaridade que aumenta a influência de execuções de solistas que interpretaram a música de maneira mais parecida com a execução atual. Inclusive, trechos com interpretações diferentes terão seus andamentos influenciados por diferentes execuções do histórico. Em outras palavras, o músico pode tocar a primeira metade da peça tendo o acompanhamento previsto por uma execução do histórico como a mais similar (e consequentemente a mais influente) e a segunda metade por outra execução do histórico.

Ao final do artigo, os autores apresentam os resultados medidos no sistema com e sem a técnica de predição apresentada acima e tais resultados demonstram que ela é robusta, apesar de simples. Em relação à sincronia, existem casos nos quais os relatos não são gerados de forma sequencial. Isso se deve ao fato do músico não tocar de forma linear (e dar pulos na partitura) ou do Rastreador emitir relatos errados (por erros de detecção) e corrigir-se em seguida. Em ambos os casos, o Acompanhador estará se baseando em um histórico que, com a chegada de um relato conflitante, pode ser considerado inválido. Alguns artigos da literatura que tratam a detecção de assincronia serão apresentados a seguir.

2.4 ACOMPANHADOR 31

Documentos relacionados