Capturar som e descobrir a frequencia dominante

Bom dia turma,
estou com algumas dúvidas aqui.
Minha intenção é pegar som com o microfone do celular,
e aplicar um Fourrier para descobrir a frequencia dominante.

Lendo artigos sobre descobri os seguintes passos:

Short-Time Fourrier Transform -> Detection of Partials -> Estimation of Partials -> F0 Determination

Com relação ao j2me tenho o seguinte código:

RecordControl rc = (RecordControl)p.getControl("RecordControl"); ByteArrayOutputStream output = new ByteArrayOutputStream(); rc.setRecordStream(output); rc.startRecord(); p.start(); Thread.currentThread().sleep(256); rc.commit(); p.close();
Este código é responsável por “ouvir” o microfone e gravar num ByteArrayOutputStream.
Minha dúvida é :

1 - Passarei o “output” para o algoritmo de Forrier?
2 - Consegui algumas bibliotecas na internet, dentre elas o JTransform. O problema é que os métodos geralmente pedem um array de double.
Eu teria que converter o “output” para double?

Só preciso esclarecer estes pontos, para deslanchar.

Desde já muito obrigado.

http://ww2.ce.pdn.ac.lk/users/roshanr/research/papers/herath07implementation.pdf

Cuidado: você tem de mudar o formato padrão de gravação para “PCM” - o formato AMR poda as frequências altas e baixas, deixando apenas as correspondentes à voz humana.

Analisei o documento e estou tentando implementar.
Valeu!