¿Cómo puedo forzar un aumento gradual del volumen cuando comienza a reproducirse algún sonido?

¿Cómo puedo forzar un aumento gradual del volumen cuando comienza a reproducirse algún sonido?

Escenario: pongo música a todo volumen. Dejo la computadora por una hora. Regreso y retomo la música, sin recordar que el volumen está al "alto nivel".

Pregunta: ¿Hay algo que pueda instalar, como un complemento de pulseaudio, que me permita especificar:

Dado que no se ha reproducido audio durante Asegundos y el volumen está por encima de B, cuando el audio comience a reproducirse, reprodúzcalo al volumen C, aumentando gradualmente el volumen hasta alcanzar Bmás de unos Dsegundos.

Sería muy preferible que esto se pudiera hacer "globalmente", de modo que no importe cuál sea la fuente del sonido.

Respuesta1

Puede instalar un reproductor de música que tenga dicha característica.

Que yo sepa, Clementine tiene esta característica y está disponible en el Centro de software de Ubuntu.

Respuesta2

Una opción es silenciar --- o bajar --- el volumen de su sistema en suspensión (o reanudación), con un script. Eso significa que tienes que descifrarlo manualmente después de reanudar, pero...

El comando que establece el volumen debería ser algo como:

pacmd set-sink-volume 0 20000

( pacmdestá en el paquete pulseaudio-utils), donde 0 es el receptor predeterminado (salida de sonido) y el volumen es un número de 16 bits (de 0 a 65535);más detalles en esta respuesta. Tienes que experimentar para encontrar el comando que funcione para tu sistema.

Para que eso sea automático en el momento de suspender/reanudar, puede utilizar la misma técnica explicada enesta publicación:(No lo probé --- pero debería funcionar).

  1. editar/crear el archivo

    gksudo gedit /etc/pm/sleep.d/02_shush

  2. Pon este contenido en él:

    #!/bin/sh
    
    # set the volume low on suspend and resume. Change the command to suite your 
    # system. You can do that just in suspend OR resume or whatever; edit to your 
    # taste...
    
    case "$1" in
        resume|thaw)
            # this command(s) will be executed at resume time
            pacmd set-sink-volume 0 20000 > /dev/null
        ;;
        suspend|hibernate)
            # this command(s) will be executed before suspend
            pacmd set-sink-volume 0 20000 > /dev/null
        ;;
    esac
    
  3. guardar y Salir

  4. hacerlo ejecutable:

    sudo chmod 755 /etc/pm/sleep.d/02_shush

información relacionada