acorde hasta que el nivel de sonido baje lo suficiente

Estoy intentando implementar reconocimiento de voz constante en mi Pi en este momento, estoy logrando esto teniendo dos hilos en ejecución, uno constantemente grabando (con arecord en un script bash) por X cantidad de segundos, guardando esa información en un WAV y luego reiniciándose, cada vez que se escribe este WAV, el otro hilo realiza el reconocimiento en el file WAV.

Esto funciona bastante bien, sin embargo, si por casualidad la oración de los usuarios se corta y comienza de nuevo en el siguiente bucle de grabación, la oración se fragmenta entre dos resultados de reconocimiento.

Mi pregunta es: ¿hay alguna forma de asegurar que arecord grabe hasta que el nivel de sonido caiga por debajo de un cierto umbral, de modo que toda la oración se capture en la grabación y luego, una vez que el usuario haya dejado de hablar por unos segundos, la grabación ¿detener?

(Estoy usando Python para todo esto por cierto)

Además, si hay una forma mejor de resolver este problema, estoy abierto a sugerencias, soy relativamente nuevo en Pi, por lo que no estoy muy versado en todas las cosas maravillosas que puede lograr.