Reconhecimento de voz (captura)

Olá galera, gostaria de saber se alguém já parou pra olhar o sinal de voz após capturado com a MMAPI (JSR 135). Eu já desenvolvi algo parecido para desktop usando o JavaSound, e funcionou perfeito. Agora estou querendo fazer a mesma coisa em um celular mas o sinal, no momento de silêncio, fica maluco, com valores muito altos. A maior dificuldade é identificar o que é silêncio e o que é voz. Por enquanto, eu estou testando só no Toolkit mesmo e plotando o gráfico no Octave. Abaixo segue os códigos (parte deles) de captura da fala. Alguém já passou por algo parecido, ou sabe qual é o problema?

//Aqui o código para capturar.
p = Manager.createPlayer("capture://audio?bits=8&rate=8000");
p.realize();
rc = (RecordControl)p.getControl("RecordControl");
output = new ByteArrayOutputStream();
rc.setRecordStream(output);
rc.startRecord();
p.start();
// Aqui ocorre quando o usuário termina de falar.
rc.stopRecord();
rc.commit();
p.stop();
init.append("Gravando...\n");
recordedSoundArray = output.toByteArray();
output.close();
int n = recordedSoundArray.length;
int[] audioData = new int[n];
for (int i = 0; i < n; i++) {
      audioData[i] = recordedSoundArray[i];
      System.out.println(audioData[i]);
}

Talvez seja esse o problema. Porque não testa em um celular real? Essas coisas mais “reais” é sempre bom testar no aparelho mesmo.

Olá npereirajr,

Eu testei no Emulador da Nokia da série S60, mas também não funcionou. Eu só gostaria de embarcar no último caso, ainda vou ter que comprar o aparelho… além de ter que implementar outros algoritmos. Pelo visto vai ser o jeito eu embarcar mesmo… valeu