Estou pesquisando como desenvolver um aplicativo J2ME capaz de receber um sinal sonoro e exibir na tela a nota musical que corresponde ao sinal, possibilitando ao usuário utilizar a aplicação para afinar um instrumento qualquer usando o seu celular.
Para isso terei que seqüencialmente receber uma entrada de áudio do microfone do celular, armazená-la em um ByteArrayOutputStream e analizar a sua freqüência através de transformadas rápidas de Fourrier.
Já vi que é possível fazer a captação e armazená-la no ByteArrayOutputStream utilizando a MMAPI (Mobile Media API) que já vem com o J2ME e está implementada na maioria dos celulares atuais…
Entretanto eu quero pedir uma mão às pessoas que já mexeram com isso, dicas a respeito da MMAPI para jogar a captação no array, saber se alguém já tem um algoritmo (ou até mesmo um método) pronto para receber o trechinho do áudio captado no array e obter a sua freqüência… etc…
O algoritmo cíclico para captação de trechos adequados de áudio eu já esbocei, utilizando uma thread…
A parte gráfica será fácil visto que eu desenvolvo jogos em J2ME, farei uma interface bem intuitiva e amigável…
Só um pitaco na história, acho que a perda de qualidade na hora de se gravar o som via celular via MMAPI ira prejudicar ou até inviabilizar um afinador de instrumento pois imagino que tenha que se ter o som o mais puro e sem ruidos possível, a qualidade que se obtem não se pode dizer que é 100%…
bá mais tem dispositivos eletrônicos que fazem essa mesma função, recebem som e vão dando “pitacos” sobre a afinação do instrumento. Quem sabe não dê certo com J2ME!
Fazer o desenvolvimento com certeza é possivel por que não, se você consegue recuperar esse som, consegue tambem analisar ele. A unica questão é o quanto puro (qualidade) esse som precisa estar para se conseguir essa afinação corretamente, acho que só alguem que realmente entenda sobre isso que pode postar aqui.
Eu verifiquei isso também… a MMAPI permite utilizar ou implementar filtros acústicos, o importante é obter a freqüência dominante, e tudo é calculado considerando limites de erro sistemático e estatístico, com resultado em forma de intervalo…
Na verdade é uma análise física autêntica e, uma vez estabelecidas as margens de erro e precisão, o resultado final é perfeitamente confiável.
De qualquer forma, com qualquer afinador seria impossível afinar o instrumento do lado de uma linha de montagem de carros, por exemplo, é muito barulho entrando no aparelho, claro, a exceção são os afinadores que permitem entrada via cabo, e analisam só o sinal de áudio que vem pelo cabo…
Entretanto, instrumentos acústicos (não-elétricos), mesmo em orquestras, vêm sendo afinados com tuners eletrônicos sem problemas… normalmente você não afina o instrumento na Paulista na hora do rush, nem na feira (hahuahua), mas sim em um local mais silencioso onde irá ocorrer uma apresentação, ensaio ou aula de música! O espala (primeiro violinista da orquestra) traz o violino afinado de casa, ou afina nos bastidores com calma, depois dá uma nota lá e os demais músicos fazem a afinação utilizando esse lá como referência.
Dae rapaziada, não entendo de MMAPI nem de aplicações mobile, trabalho com aplicações Swing e aplicações Web.
Toco violão e guitarra e achei massa a idéia.
Vou dar um pitaco tbm.
Cara o importante no momento inicial é conseguir captar o mais perto possível da freqüência de afinação, tendo em vista o problema de ruídos.
Mas a principio o que o nosso colega falou anteriormente esta correto ninguém vai afinar um instrumento no meio de uma barulheira a não ser que o instrumento esteja plugado em um cabo. Mas a implementação para o cabo pode ficar para trabalhos futuros.
Hehe.
Legal a tua idéia cara, to meio atrapalhado agora com o projeto, gostaria de tocar isso junto.
Estou pesquisando como desenvolver um aplicativo J2ME capaz de receber um sinal sonoro e exibir na tela a nota musical que corresponde ao sinal, possibilitando ao usuário utilizar a aplicação para afinar um instrumento qualquer usando o seu celular.
:)[/quote]
Alguém já está trabalhando nisto. Talvez vocês possam trocar figurinhas…de uma olhada na página do rapaz…
Se vc pesquisar na net verá que não é algo inédito e que existem algumas aplicações para celular. Então se o dele não deu certo, os dos outros deram !! Hahaha…
Olá meu tcc será um afinador para celular
ha principio que ia fazer um diapazão, mas
vi que pelo seu post é viavel fazer um afinador que compare o audio
você poderia me dar umas dicas?
Eu também estava tentando fazer este afinador JAVA para celular! porém não tenho nehnhuma experiência em J2ME!!! Se precisar de ajuda estou aqui!!! Quero muito fazer este afinador!!!