Como posso fazer o reconhecimento do som pela interface de áudio de um aparelho Android e reconhecer a nota musical para emissão na tela?

Este é um desafio que preciso cumprir para dar prosseguimento ao meu TCC. Se alguém já tiver feito algum trabalho parecido, gostaria de saber por onde começar a estudar. Desde já agradeço!

Adendo: é preciso tomar muito cuidado com o “iniciando em …”. Quando você diz que está iniciando, eu imagino que você esteja aprendendo sintaxe básica (if, else, for, do…while) e lógica de programação.

Se você já tem conceitos até de OO, então você não está iniciando. Mas se você é, de fato, iniciante, dificilmente vai conseguir cumprir o que você está querendo.

Então, com a mentalidade mudada, me diga: Você está iniciando em Java? Até para podermos te ajudar melhor…

Eu estou no último período de um faculdade de análise e desenvolvimento de Sistemas. Estudei orientação a objetos e outros paradigmas. Mas estou realmente perdido em como começar a fazer esse tipo de software.

Primeiramente, o @FearX está correto em sua colocação. “Novato” é quem nunca mexeu com programação e está aprendendo o básico. Se passou disso, não é mais novato.

Quebre o problema em partes menores. Resolva uma coisa de cada vez.
1 - Como “ler” um sinal sonoro pelo android?
2 - Como identificar qual frequência cada nota representa (considerando as oitavas respectivas)
3 - Como comparar o som “lido” com cada frequência?

Seguindo estes passos, creio que resolva o problema.

1 curtida

Entendi. Então você já “está bem grandinho” em Java.

Vamos lá: O seu desafio basicamente consistem em:

  • Fazer uma aplicação Android que capture o som do microfone;
  • Após capturar o som, você tem que armazenar ele de alguma forma para poder trabalhar com ele. Você pode trabalhar com ele na forma de array de bytes, na forma de um arquivo .mp3 que você vai salvar… tudo vai depender do próximo passo
  • Achar uma biblioteca que faça a identificação da nota musical baseado na análise do áudio. Como a biblioteca funciona? Ela pede um arquivo mp3 ou um array de bytes contendo o som? A partir de como a lib funciona, você volta e estrutura seu código.
  • Por fim, usando a biblioteca, imprimir o resultado.

Espero que esse passo-a-passo possa te ajudar a achar o caminho dos tijolos de ouro! Parte de ser programador é quebrar a cabeça procurando soluções, e eu sinceramente acho que essa é a parte mais difícil. Mas, fazer o que! Ossos do ofício, rs.

Boa sorte e qualquer coisa dá um pulo por aqui! :]

[]'s

1 curtida