que curioso. y pensar que yo cada vez que reinstalo windows lo primero que hago es quitarle todos esos soniditos que (segun yo) no hacen mas que molestar.
en fin. lo quieres para algun entorno particular (en kde es tremendamente facil, de hecho, apuesto a que es solo localizar el sitio de los soniditos y activar el de turno), o generico??
por cierto, hacer eso en bash es tremendamente complicado. (hacerlo medianamente bien). mas que nada, porque es un bucle (es un daemon, y un daemon es un bucle en toda regla), y en cuanto lleva un rato, los PID del sistema se disparan (si, tengo experiencia con ese tipo de cosas, y queda muy feo que lances un proceso a los ~5 minutos del arranque y tenga PID 30 000

)
lo suyo seria hacerlo en C o algo asi (un unico proceso monitoriza todo), pero si no te quieres liar con un lenguaje como C, yo tengo implementadas cosas similares con conky. si, no es muy elegante, pero conky traga muy pocos recursos, no hace cosas raras, y para monitorizar algun tipo de fichero es la leche (en mi caso, tengo a conky controlando la velocidad de la CPU, para que veas tu lo que es el no tener ganas de aprender C.

pero controlando literalmente: es conky quien decide a que velocidad va.

)
la idea con conky seria la siguiente (y cuidado porque la sintaxis de conky es un dolor de muelas. de los gordos. ) tu lo pones a monitorizar, por ejemplo, si esta montada yoqueseque particion (ciertamente, integrarlo con el automount seria otro mundo). y en cuanto detecte que este montada, que reproduzca un sonido por una sola vez (esta parte no tengo muy clara como iria

). una vez detecta que deja de estar montada, reproduce otro sonido.
PD: por si quieres coger el ejemplo de como hice yo lo de la CPU (que se parece un poco), te paso esto:
http://man-linux.comli.com/?p=241 y ahi se aclara bastanet la sintaxis de conky.