2015-10-17 3 views
0

J'ai un code simple pour traiter un tampon flottant avec un filtre passe-bas. est ici la fonction:Problèmes avec filtre passe-bas utilisant TarsosDSP pour Android

public static float[] lowPass(float[] buffer, float frequnecy) { 

    AudioFormat audioFormat = new AudioFormat(SAMPLE_RATE, 16, 1, true, false); 
    AudioEvent audioEvent = new AudioEvent(audioFormat, 1024); 
    audioEvent.setFloatBuffer(buffer); 

    LowPassFS lowPassFilter = new LowPassFS(frequnecy, DSP.SAMPLE_RATE); 
    lowPassFilter.process(audioEvent); 

    return audioEvent.getFloatBuffer(); 
} 

Le résultat est que la mémoire tampon n'est pas traitée du tout et est retourné comme il est. Je ne peux pas trouver un exemple de travail connexe partout difficile.

Merci à l'avance

Répondre

0

Essayez de remplacer getFloatBuffer() avec getByteBuffer(), il se peut que le tampon de flotteur maintient la valeur d'entrée, mais je l'ai fait un filtre passe-bas avec succès (il ne fonctionne pas trop bien au-dessus coupure de 300Hz si) et getByteBuffer() donne définitivement les valeurs filtrées.