2011-04-26 9 views
6

Estoy trabajando en una aplicación de iOS que permite a un usuario grabar algo de audio. El audio se graba usando AVAudioRecorder y luego se guarda en un archivo.Desconexión de audio grabado en AVAudioRecorder

Me gustaría quitar el silencio desde el principio hasta el final del audio grabado.

¿Alguna idea?

Respuesta

1

Actualmente estoy trabajando en una tarea similar. No es trivial de ninguna manera. Porque el silencio no va a ser una línea directa de ceros. va a haber alguna fluctuación.

Si tiene garantizada una señal limpia, sería bastante trivial establecer un marcador en la primera muestra con un valor absoluto mayor que, por ejemplo, 0.001.

Puede establecer un marcador final sin tener que caminar hacia atrás a través del archivo. todo lo que haces es que, cada muestra mayor a este umbral, configuras el marcador final en esta muestra.

Si su entrada tiene la posibilidad de contener blips y squirts antes de que comience correctamente, necesitará una técnica más avanzada. Publique un comentario a continuación y extenderé la respuesta.

1

Cuando he creado aplicaciones de audio para iOS, el audio finalmente termina en un servidor. No sé si tu aplicación es similar en ese sentido. Si es así, puede hacer lo que hice:

use SoX en el back-end para procesar el audio, eliminando el silencio usando un umbral.

Si tiene que hacerlo todo por teléfono, va a ser más difícil. Debe construir un filtro de nivel de potencia usando OpenAL o OpenAL wrapper library

Cuestiones relacionadas