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]);
}