Pergunta

Eu gostaria de implementar um algoritmo evolutivo interativo para geração de música (provavelmente apenas melodias simples para começar).

Eu gostaria de usar JFugue para isso. Seus site afirma que ele está bem adaptado à música evolutiva, mas não consigo encontrar qualquer exemplos evolutivas.

Já tenho um quadro para fornecer o maquinário evolutonary. O que estou procurando é algum simples, código de trabalho que demonstra abordagens viáveis ??para a parte musical (por exemplo codificações adequadas e operadores evolutivas para as músicas evoluídos).

Eu tenho algumas idéias de como isso pode ser alcançado, mas eu não estou particularmente bem informados sobre teoria musical, assim que começar com eu gostaria reimplementar algo apenas que é conhecido por trabalho.

Então, alguém tem, ou sabe de, qualquer código livremente disponível (qualquer língua é bom) que demonstra um ou mais se aproxima à música evolutiva?

EDIT:. Eu estou procurando especificamente código evolutivo, em vez de outras técnicas que poderiam ser usados ??para a síntese da música

Foi útil?

Solução 2

Até agora tenho encontrado apenas este , que é um exemplo de programação genética em C.

Atualizar (janeiro de 2010): E este sistema on-line, o que não faz tem o código-fonte, mas é um exemplo do que pode ser alcançado. Eu também achei Grammidity , que permite sequências de eventos MIDI a ser evoluído a partir de gramáticas.

Update (Julho de 2011): Eu apenas encontrei algum código Python relevante no site MIT Open Courseware .

Outras dicas

Você provavelmente vai querer olhar para Cadeias de Markov - Eles são provavelmente mais útil para você do que um algoritmo evolutivo para começar, como julgar a qualidade da produção, a fim de produzir o melhor é vai ser um pesadelo (subjetiva e demorado), e eles são ideais para combinar com a programação evolutiva.

Há uma boa introdução a eles em Coding Horror . O artigo explica o conceito e demonstra os resultados notáveis, os comentários mencionar música muito mais (eu estava perdido por horas nos comentários e os sites que eles ligados a). Há alguns detalhes mais específicos e mais leitura sobre Wikipedia .

cadeias

Markov têm um elemento de probabilidade para eles, então este é o lugar onde você pode combiná-los com programação evolucionária -. evoluindo um método de escolha que não seja o rolo de um dado alternativas

Há alguma investigação em curso em usar Cellular Automata para a música geradora. Tal como acontece com todos os outros geração de música, é realmente uma questão de mapeamento em vez de geração. Você pode usar praticamente qualquer coisa como entrada, contanto que você definir o seu mapeamento para que ele soa "bom" (bem, eu acho interessante é uma palavra melhor).

Googling "música autômatos celulares" dá muito poucos hits. Outra fonte boa para informações é o Computer Music Journal se você pode ter acesso a seus arquivos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top