3
respostas

App reconhecimento de partituras musical

Gostaria de criar, como parte de um projeto, um app que faça reconhecimento de uma partitura musical tirando uma foto pelo celular, e reconheça as notas, claves, tempos, tons e tudo mais, e gere um arquivo de saída padrão MIDI. Gostaria de saber, com vocês que tem mais experiência, quais tecnologias, linguagens, conhecimentos, técnicas, IA ou APIs, enfim, ou que for necessário para escolher os cursos e carreiras e seguir aqui na Alura, e poder realizar essa tarefa.

Obs: Esse app faz parte de um projeto maior feito por outros colegas de um robô pianista, que irá receber esse arquivo MIDI e executar a música.

Obs 2: anos atrás outro integrante de projeto tentou realizar essa tarefa, usando OpenCV eJava, porém não obteve muito sucesso. Não sei se seria o caso de continuar os passos dele ou se já existem novidades que sejam melhor hoje em dia.

3 respostas

Oi Carla, tudo bem?

Hoje existem muitas bibliotecas de reconhecimento de imagens, em java mesmo.

São muito boas, o maior problema é você adestrar o sistema para ver a imagem da partitura e entender como deve prosseguir com a imagem, esse é o maior desafio.

De restante acredito que você possa fazer o arquivo para emitir o som nesse formato.

Ola Carla

fazendo uma pesquisa na internet, parece que já existe um app que faz isso

https://itunes.apple.com/br/app/musicpal-snap-hear-play-learn-music/id976261614?mt=8

Olá Carla,

tenho algum conhecimento em Computação Musical e Recuperação de Informação Musical e já posso adiantar que essa tarefa é tão interessante quanto é complexa! Ela envolve uma miríade de técnicas e tecnologias diferentes. Elas vão desde o pré-processamento da imagem, até a construção da representação final em MIDI, passando pelo reconhecimento dos símbolos musicais e depois do reconhecimento da semântica desses símbolos. A área como um todo se chama OMR (Optical Music Recognition)

Muita pesquisa tem sido feita nessa área e existem muitos artigos científicos sobre o tema. Eu recomendo que você leia esse aqui: Rebelo, Ana, et al. "Optical music recognition: state-of-the-art and open issues." International Journal of Multimedia Information Retrieval 1.3 (2012): 173-190. Ele pode ser encontrado facilmente no Google Scholar

Lá você vai encontrar mais informações sobre cada uma dessas áreas e técnicas a serem implementadas. Além de artigos relacionados e software (comercial e aberto) que implementa cada uma dessas ideias.

Agora dando a minha opinião, sugiro que você foque em alguma parte específica, como por exemplo o aplicativo móvel e utilize os outros programas no seu processo. Implementar todos eles seria um trabalho hercúleo e provavelmente ineficiente.

Para te ajudar com isso, temos vários cursos na Alura sobre Aplicações Móveis e também sobre Machine Learning + Python (que será útil principalmente pelo python, onde muitas bibliotecas do meio científico são implementadas).

Os cursos são esses aqui:

Android

iOS

Dê uma olhada nas carreiras para outros cursos de Mobile

Python

E se precisar de Machine Learning, temos também esse curso aqui

Qualquer coisa, pode perguntar e a gente vai conversando! Abraços!