Um jogo musical. Primeiros passos.

Iniciei este projeto de investigação porque acho que há uma relação interessante entre o jogo e a música, até o ponto de que acho que são várias as dimensões da música que têm algum tipo de faceta lúdica, desde a criação à audição, passando pela interpretação. Tocar e jogar são a mesma palavra em vários idiomas, e até jogar e brincar são denominados pela mesma palavra em outras. Neste post falarei sobre como criei o primeiro jogo musical, utilizando Max MSP.

Ver mais

O harmonizador

Um dos problemas que costumo confrontar ao programar para uma peça interativa é o tratamento da harmonia, isto é, como é possível que o computador tome decisões sobre que acorde escolher, e que voicings aplicar.

Nesta ocasião, procurei uma forma simples de harmonizar o jogo da caça à nota. No jogo, dá-se a circunstância de que há sempre duas notas a soar em simultâneo. Estas duas notas formam um intervalo, e seja qual for a classe de intervalo que formarem, esta classe existe em, pelo menos, uma das 5 tétrades básicas do jazz, isto é, Xma7, Xmi7, X7, Xmi7b5 e X°7. Isto permite-nos escolher um intervalo dentro de um desses acordes e ajustá-lo a essas notas. Depois, são activadas todas as notas do acorde entre essas duas notas.

Ver mais

O harmonizador (2) – Tonal Interval Space

Na entrada anterior debrucei-me sobre a possibilidade de encontrar um acorde para cada intervalo tocado na caça à nota. Um dos problemas que ainda tinha por resolver era como fazer uma ligação significativa entre um acorde e o seguinte. Uma possibilidade para encarar este problema seria o de utilizar cadeias de Markov. Tal e como fiz na caça à nota, para respeitar a simetria por transposição (devia haver as mesmas possibilidades de transitar de Cmaj7 a D-7 que de Ebmaj7 a F-7), os diferentes estados da cadeia poderiam ser pitch delta + qualidade de acorde. Porém, isto obriga a definir uma grande quantidade de transições.

Ver mais

Uma peça multi-jogador cooperativa

Numa versão anterior do programa tinha selecionado duas vias para melhorar a harmonização: a utilização do Tonal Interval Space para procurar progressões de acordes que fossem próximas e a utilização de constraints com a livraria bach para limitar o número de notas escolhidas. Esta última parte demostrou ser um desafio que ainda está em estudo, portanto, optei por retomá-la mais tarde.

Em vez disto, e mais uma vez, por conselho do meu professor Rui Penha, decidi compor uma peça-jogo para começar. Uma vez que já conheço o suficiente do objeto-instrumento, esta primeira peça permitir-me-á decidir o que preciso de fazer com o harmonizador antes de continuar a implementá-lo.

Ver mais