Habilitación de la campana / pitido del terminal audible en wheezy

8

Estoy tratando de habilitar una campana / pitido terminal audible a través de la salida de audio mini-rca de 1/8 "(conector para auriculares) en debian wheezy con el modelo rapsberry pi. El audio normal funciona como se esperaba, cuando se reproduce un archivo de ondas de choque en Midori con gnash por ejemplo.

Di vuelta a la campana sonora puesta en LXTerminal preferencias EN , y probamos el siguiente:

$ xkbbell (sin sonido)

$ xkbbell -dev 0 (X Error de solicitud fallida: 146)

$ beepy $ beep -f 500 -l 700después de instalarlo con apt (sin sonido)

Dicho esto, todo esto es un intento de escuchar el sonido de la campana activada por PuTTY , cuando la acción que sucederá cuando ocurra una campana está configurada para hacer que el sonido de alerta predeterminado del sistema . No hay ninguna opción, como en la versión de Windows de PuTTY, para reproducir un archivo de sonido personalizado cuando se produce una campana.

He leído que correr # modprobe snd_hda_intelen otras máquinas Linux puede redirigir la salida de sonido destinada al altavoz de la PC (que carece de frambuesa) a ALSA. Ejecutar ese comando me dice que este módulo no se encuentra. No sé cómo adquirirlo con apt.

Realmente espero que alguien tenga alguna idea ... ¡Estoy mareado por buscar en Google!

luz humana
fuente
Solo para aclarar, ¿desea escuchar la campana emitida por la Raspberry Pi por sí misma o cuando ingresa SSH?
syb0rg
Quiero escuchar la campana emitida por la Raspberry Pi por sí misma. Pensé que eso podría ser confuso.
humbolight

Respuestas:

4

Pude obtener los resultados deseados utilizando un programa llamado softbeep .

http://0pointer.de/lennart/projects/softbeep/softbeep-0.3.tar.gz

Necesitaba obtener los paquetes de desarrollo libncurses5 y libX11 para compilarlo.

sudo apt-get update
sudo apt-get install libncurses5-dev libX11-dev

Después de compilar ( make), necesitaba editar el sb-beeparchivo para (1) señalar un archivo de sonido disponible en el pi y (2) reproducir el sonido aplayen lugar de esdplayantes de instalar ( make install).

¡Trabajado como un encanto! Gracias Lennart Poettering (autor de softbeep).

luz humana
fuente
4

Descubrí que puedes cargar los controladores de sonido y otras cosas en Raspbian con:

sudo modprobe snd_bcm2835 && sudo amixer cset numid=3 1

El primer comando carga el módulo del controlador de sonido, el segundo creo que establece la salida de sonido en el zócalo de 3.5 mm.

Luego puede usar alsamixerpara ajustar el volumen y speaker-test -c2 -t sineprobar los altavoces

También puede usar la utilidad speaker-testpara producir diferentes sonidos, usando -c1para mono, c2para cambiar entre cada canal de estéreo y -fpara hacer diferentes frecuencias de ruido, speaker-test --helpofrece muchas más opciones:

speaker-test 1.0.25

Usage: speaker-test [OPTION]... 
-h,--help   help
-D,--device playback device
-r,--rate   stream rate in Hz
-c,--channels   count of channels in stream
-f,--frequency  sine wave frequency in Hz
-F,--format sample format
-b,--buffer ring buffer size in us
-p,--period period size in us
-P,--nperiods   number of periods
-t,--test   pink=use pink noise, sine=use sine wave, wav=WAV file
-l,--nloops specify number of loops to test, 0 = infinite
-s,--speaker    single speaker test. Values 1=Left, 2=right, etc
-w,--wavfile    Use the given WAV file as a test sound
-W,--wavdir Specify the directory containing WAV files

Recognized sample formats are: S8 S16_LE S16_BE FLOAT_LE S32_LE S32_BE

Entonces, para generar un pitido de 2 segundos, esto funcionó bien:

speaker-test -c1 -t sine -f 800 -P 2 -p 0.4 -l 1

Para un mejor pitido, generé un archivo de pitido de 0.25 segundos en Audacity ( creé una nueva pista de audio, generé un tono de 440 Hz, lo amplifiqué en 11) , luego lo copié en mi Pi; luego pude reproducirlo aplay beep.wav. Esto lo copié ~/.localy creé este script bash en ~/.local/bin/beep(ejecuté mkdir ~/.local/binprimero):

#!/bin/bash
aplay -q $HOME/.local/beep.wav
exit

Luego creé estas líneas en ~/.bash_profile:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:$HOME/.local/bin:$HOME/bin

export PATH

y luego ejecuté lo siguiente

chmod +x ~/.local/bin/beep
source ~/.bash_profile

y luego simplemente podía correr beeppara hacer un pitido

Wilf
fuente
+1 para la muestra de código de pegar y continuar durante un pitido de 2 segundos con prueba de altavozspeaker-test -c1 -t sine -f 800 -P 2 -p 0.4 -l 1
domih
1

Es posible hacer un sonido más corto usando:

( speaker-test -t sine -c 2 -s 2 -f 800 & TASK_PID=$! ; sleep 0.09 ; kill -s SIGINT $TASK_PID ) > /dev/null

Esto envía una señal después de 0.09 s (pero más tiempo debido a la sobrecarga) para detenerse. El tiempo más corto que emitió un sonido en mi sistema (Raspbian Stretch en Raspberry Pi 3) fue de 0.06 s. Redirijo toda la salida a / dev / null para que parezca un comando normal. Consulte man speaker-testpara obtener una explicación de las opciones.

mobluse
fuente