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.