Captura de audio apropiada y reducción de ruido.

En mi aplicación de Android, necesito capturar el habla del usuario desde el micrófono y luego pasarlo al servidor. Actualmente, utilizo elMediaRecorder clase. Sin embargo, no satisface mis necesidades, porque quiero hacer un efecto brillante, basado en el volumen actual del sonido de entrada, así que necesito un AudioStream, o algo así, supongo. Actualmente, uso lo siguiente:

    this.recorder = new MediaRecorder();
    this.recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    this.recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    this.recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    this.recorder.setOutputFile(FILENAME);

Estoy escribiendo usando API nivel 7, por lo que no veo ningún otro AudioEncoders, sino AMR Narrow Band. Tal vez esa es la razón del ruido horrible que escucho en mis grabaciones.

El segundo problema al que me enfrento es la mala calidad del sonido, el ruido, por lo que quiero reducirlo (cancelarlo, suprimirlo) porque es realmente horrible, especialmente en mi tableta china que no es la misma. Esto debería ser del lado del servidor, porque, que yo sepa, requiere una gran cantidad de recursos, y no todos los dispositivos modernos (especialmente las tabletas chinas que no son similares) pueden hacerlo tan rápido como sea posible. Soy libre de elegir qué plataforma usar en el servidor, por lo que puede ser ASP.NET, PHP, JSP o lo que sea que me ayude a mejorar el sonido. Hablando de ASP.NET, me he encontrado con una biblioteca, llamada NAudio, que puede ayudarme de alguna manera. Sé que no hay ninguna solución de reducción de ruido incorporada en la biblioteca, pero he encontrado algunos ejemplos sobre la FFT y la autocompletación al usarla, por lo que puede ayudar.
Para ser honesto, nunca antes he trabajado con el sonido tan cerca y no tengo idea de por dónde empezar. He buscado mucho en Google sobre técnicas de reducción de ruido, ejemplos de código y no he encontrado nada. Ustedes son mi última esperanza.
Gracias por adelantado.

Respuestas a la pregunta(3)

Su respuesta a la pregunta