Pergunta

Eu percebo que há algumas perguntas justas aqui com relação aos algoritmos de detecção de acordes; No entanto, a maioria deles parece estar relacionando mais para interpretar músicas em conjuntos de acordes ou transcrição de acordes. Meu problema deve ser muito mais simples, pois estou interessado apenas em gravar um único strum de um acorde de guitarra e, em seguida, analisando isso para retornar o acorde que foi jogado. E, se isso se mostrar muito difícil, seria um pouco adequado simplesmente ser capaz de dizer se um determinado acorde está sendo jogado corretamente ou não, e. Um usuário é apresentado com um acorde para tentar jogar e, depois de dedilhar, o aplicativo dirá se eles jogaram ou não o acorde correto (algo de um jogo de memória). Eu acho que essa segunda opção seria mais fácil, já que a aplicação já saberia o acorde esperar.

Eu já estou usando um FFT e o espectro de produto harmônico para um sintonizador de guitarra como parte do mesmo aplicativo e realmente gostaria de alguns conselhos sobre como eu poderia analisar a produção do espectro de frequência pelo FFT para reconhecer os acordes de guitarra. Eu também estou aberto a quaisquer outras sugestões sobre o assunto e realmente apreciaria qualquer ajuda que eu possa obter.

obrigado

Foi útil?

Solução 2

Para quem se perguntava como fazer esse tipo de coisa, olhe para perfis de espectro de produto harmônico e perfis de classe / croma vetores.Uma combinação destes é a chave.Além disso, usando os termos de pesquisa "Várias estimativas F0", em oposição à "Detecção de Chord", garantirá resultados muito melhores :)

Outras dicas

Você poderia tentar impressões digitais os acordes mais comuns e, em seguida, procurando o espectro normalizado de correspondência mais próximo dentro do seu conjunto de impressões digitais.por exemplo.Trate-o como um problema de correspondência de padrão no domínio de frequência.

Embora seja tarde demais para responder, espero que isso ajude você ..

Se você estiver programando para guitarra eletrônica ou MIDI ou qualquer outro instrumento MIDI, então há um pacote java muito eficaz, JFUGUE para essas coisas, como detectar as notas de acordes etc. para qualquer instrumento e há muito mais funcionalidade nestepacote. Eu sugiro que você tenha uma olhada nele

Eu mesmo achei difícil primeiro para identificar um acorde inteiro usando FFT.Mas, tanto quanto meu experimento foi, consegui fazer um identificador de acordes de guitarra usando FFT como o algoritmo básico para obter frequências de um único som de som.O problema dos sintonizadores de FFT é que eles detectam apenas a nota raiz de um som.Enquanto minha experiência provou que você pode tomar todas as notas das cordas que estão sendo jogadas e usar as notas identificadas para dizer que acorde estava sendo jogado.Como por enquanto, minha pesquisa ainda se limita a detectar grandes acordes de guitarra e alguns pequenos acordes como Em e AM para mais estudos.

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