Ativando o sinal sonoro do terminal / bipe no wheezy

8

Estou tentando ativar um sino / bipe de terminal audível através da saída de áudio mini-rca de 1/8 "(fone de ouvido) no debian wheezy com o modelo rapsberry pi b. O áudio normal funciona como esperado, ao reproduzir um arquivo de onda de choque no Midori com gnash por exemplo.

Virei a campainha audível configuração no LXTerminal preferências ON , e tentou o seguinte:

$ xkbbell (sem som)

$ xkbbell -dev 0 (X Erro de falha na solicitação: 146)

$ beepe $ beep -f 500 -l 700depois de instalá-lo com o apt (sem som)

Dito isso, tudo isso é uma tentativa de ouvir o som da campainha acionado pelo PuTTY , quando a Ação que ocorre quando uma campainha ocorre é definida como Fazer o som de alerta padrão do sistema . Não há opção, como na versão do PuTTY para Windows, para reproduzir um arquivo de som personalizado quando uma campainha ocorre.

Eu li que rodar # modprobe snd_hda_intelem outras máquinas Linux pode redirecionar a saída de som destinada ao alto-falante do PC (que falta na framboesa) para o ALSA. A execução desse comando me diz que este módulo não foi encontrado. Não sei como adquiri-lo com o apt.

Eu realmente espero que alguém tenha alguma ideia ... Estou tonto com o Google!

humbolight
fonte
Só para esclarecer, você quer ouvir o sino emitido pelo Raspberry Pi por conta própria ou quando você faz o SSH nele?
syb0rg
Quero ouvir o sino emitido pelo Raspberry Pi por si só. Eu pensei que isso poderia ser confuso.
Humbolight

Respostas:

4

Consegui obter os resultados desejados usando um programa chamado softbeep .

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

Eu precisava para obter os libncurses5 e libX11 pacotes de desenvolvimento para compilá-lo.

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

Após compilar ( make), eu precisava editar o sb-beeparquivo para (1) apontar para um arquivo de som disponível no pi e (2) reproduzir o som aplayem oposição a esdplayantes de instalar ( make install).

Trabalhou como um encanto! Obrigado Lennart Poettering (autor do softbeep).

humbolight
fonte
4

Descobri que era possível carregar os drivers de som e outras coisas no Raspbian com:

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

O primeiro comando carrega o módulo do driver de som, o segundo, acho que define a saída de som para o soquete de 3,5 mm.

Em seguida, você pode usar alsamixerpara ajustar o volume e speaker-test -c2 -t sinetestar os alto-falantes.

Você também pode usar o speaker-testutilitário para produzir sons diferentes, usando o -c1mono, c2para alternar entre cada canal do estéreo e -ffazer diferentes frequências de ruído - speaker-test --helpoferece muito mais opções:

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

Portanto, para gerar um sinal sonoro de 2 segundos, funcionou bem:

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

Para um sinal sonoro melhor, eu gerei um arquivo de 0,25 segundo no Audacity (Criou uma nova faixa de áudio, gerou um tom de 440 Hz, amplificou-o em 11) e depois copiei-o no meu Pi - então eu poderia tocá-lo aplay beep.wav. Então copiei ~/.locale criei esse script bash em ~/.local/bin/beep(executei mkdir ~/.local/binprimeiro):

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

Eu então criei essas linhas em ~/.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

e então eu corri o seguinte

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

e então eu poderia simplesmente correr beeppara emitir um sinal sonoro

Wilf
fonte
+1 para a pasta e ir exemplo de código para um sinal sonoro de 2 segundos com alto-falante-testspeaker-test -c1 -t sine -f 800 -P 2 -p 0.4 -l 1
domih
1

É possível fazer um som mais curto usando:

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

Isso envia um sinal após 0,09 s (mas mais devido à sobrecarga) para parar. O menor tempo que emitiu um som no meu sistema (Raspbian Stretch no Raspberry Pi 3) foi de 0,06 s. Eu redireciono toda a saída para / dev / null, para que pareça um comando normal. Veja man speaker-testpara explicação das opções.

mobluse
fonte