Mapeamento musical de artistas baseado em seus arranjos harmônicos usando cadeias de Markov – Parte 3: Que?! – Biochaves
Relatório 3 – Biochaves
Antes de qualquer coisa, olhe para a Figura 1 e me diga o que você vê (dê um zoom).
Figura 1. É isso aí
Nos episódios anteriores… (Recapitulando): Nos primeiros estágios deste trabalho modelei artistas musicais a partir das suas sequências de acordes usando uma cadeia de Markov de ordem 3. Em seguida estudei métodos de redução de dimensões e falei um monte de coisa que não pareceu fazer sentido (mas faz!) na respectiva reunião.
E essa Figura 1 aí?
Pois é, lembram que eu falei na última reunião (umas 4 vezes, por sinal) que o próximo passo do trabalho era plotar cada artista como um ponto em um gráfico e tentar clusterizar (agrupar) eles para ver se dava bom? Não? Tudo bem, agora você sabe. Então, esse é o resultado do plot para os 100 artistas com os arquivos mais pesados na base da letra A. Que base é essa? Leia o relatório 1 que lá explica.
Mais detalhadamente o que eu fiz foi:
1- Gerei um arquivo .csv com o modelo do artista;
2- Usei esse arquivo para fazer a decomposição SVD (comentada no relatório 2);
3- Fiz a média aritmética de todas as linhas da matriz U resultando em um vetor linha, e peguei os dois primeiros elementos deste vetor para servir de coordenadas x e y;
4- Repeti isso para todos os 100 artistas com arquivos mais pesados da base A;
5- Com umas mágicas do python (matlab deve fazer também) plotei os pontos de referente a cada artista junto com seu nome. É isso que você pode ver na Figura 1.
Beleza, mas e aí? Ela responde à sua hipótese?
Não! Maaaas, dá uma vaga idéia de que algo certo não está errado. Veja só, alguns artistas com estilos parecidos estão meio que agrupados, por exemplo: Aviões do Forró está próximo de Amanda Ferrari (Forró); …. e parece que é só isso mesmo. Isso está parecendo o pai de uma criança desdentada e cheia de furúnculo chamando ela de "coisa mais linda do mundo".
A verdade é que essa Figura 1 é só um monte de nome de artista jogado num gráfico. Sabe por que isso aconteceu? Porque o garoto maroto (alcione está lá na figura também) que vos escreve esqueceu uma coisa fundamental quando estava modelando os artistas: o modelo tem que ter parâmetros comparáveis entre os modelados.
Como assim? Da forma que está atualmente, cada linha da matriz do modelo representa um n-gram de acordes, ou seja, uma sequência de n acordes. As linhas, por outro lado, representam os acordes que aparecem após o n-gram. Até aí tudo bem, mas o problema é que o modelo atual só usa os n-grams e acordes que aparecem no artista e não todos os possíveis acordes e n-grams, o que tornaria a matriz de tamanho fixo e faria com que os modelos pudessem ser comparados diretamente usando o procedimento reportado na primeira página deste relatório. Os modelos que usei para gerar a Figura 1 possuem quantidades de linhas e colunas diferentes, então, até onde o software entende, eles podem representar qualquer coisa. Acontecer de duas bandas do mesmo estilo estarem próximas não passa de uma coincidência (pelo menos a meu ver).
Mas por que você não corrige isso e manda a Figura certa? Porque eu só fui perceber isso enquanto escrevia este maravilhoso relatório. E sendo um programador rápido como eu, só iria terminar isso lá pra o fim da tarde de quinta. Então, ao invés de mostrar resultados lindos, estou mostrando a vocês o que a falta de atenção pode levar. Não usem drogas! Só café mesmo.