Obtendo o alto-falante do PC para bipar [duplicado]

12

Tem sido escrito muito sobre como obter o som do bipe dos lançamentos do Ubuntu ao longo dos anos. Exemplo: corrigindo o bipe

Minhas necessidades são um pouco diferentes, pois não quero garantir que os sinais sonoros da placa de som estejam funcionando. Em vez disso, quero os sinais sonoros do alto-falante do PC, o tipo produzido pelo alto-falante original porque acredito que eles produzirão menos carga de CPU. Confirmei que meu computador tem o alto-falante do PC desconectando os alto-falantes externos e desligando o Ubuntu. Em algum ponto do processo de desligamento e reinício, um bipe é ouvido, mesmo que os alto-falantes externos não tenham energia.

Eu tentei o seguinte:

Em /etc/modprobe.d/blacklist.conf , transforme essas linhas em comentários:

#blacklist snd_pcsp
#blacklist pcspkr

Em .bashrc

/usr/bin/xset b on
/usr/bin/xset b 100

Ativar no terminal do gnome: Editar > Perfil Prefs > Geral > Sino de terminal

Assegure-se de que não há seleções "sem áudio" em: Sistema > Prefs > Som > várias guias (desmarque todas elas).

Selecione "Ativar sons de janela e botão" em: Sistema > Prefs > Som > Efeitos sonoros

Em gconf-editor área de trabalho > gnome > som, selecione as três caixas de seleção de som.

Em gconf-editor apps > metacity > Em geral, selecione a caixa de seleção audible bell .

Ainda assim, não recebo nenhum sinal sonoro do PC quando envio o código 7 para o console através do meu programa Java ou uso

echo -e '\a'

ou equivalentemente

echo -e "\a"

na linha de comando do bash. (A opção -e significa ativar a interpretação da sequência de escape.) O que mais devo tentar?

Atualização Como meu objetivo é minimizar a carga na CPU, aqui está uma comparação dos tempos decorridos. Cada teste é para 100.000 iterações. Cada variante foi realizada três vezes, então três resultados são apresentados para cada um.

printwriter.format("%c", 7); 
// 1.3 seconds, 1.5 seconds, 1.5 seconds

Toolkit.getDefaultToolkit().beep(); 
// 0.8 seconds, 0.3 seconds, 0.5 seconds

try { Runtime.getRuntime().exec("beep"); } catch (IOException e) { } 
// 10.3 seconds, 16.3 seconds, 11.4 seconds

Essas execuções foram feitas dentro do Eclipse, portanto, multiplique por algum valor menor que 1 para execução independente. Infelizmente, o bipe do Toolkit está em silêncio no meu computador, assim como o código 7. O utilitário beep funciona, mas tem o maior custo.

    
por H2ONaCl 18.01.2012 / 14:26

4 respostas

3

Em 14.04.3, LTS parece suficiente para editar /etc/modprobe.d/blacklist.conf e ativar pcspkr comentando a linha da lista negra.

#blacklist pcspkr

O # transforma a linha em um comentário.

Certifique-se de que o terminal (gnome-terminal) permita a ativação do console na guia de preferências.

Isso foi testado via backspace em uma linha terminal vazia. Isso também foi testado por meio do utilitário beep (supondo que você o tenha instalado). Em vez disso, você pode fazer um bipe programático por meio do objeto java.awt.Toolkit:

java.awt.Toolkit.getDefaultToolkit().beep() .

O objeto Toolkit é mais eficiente que o utilitário beep .

A propósito, algumas pessoas não gostam do alto-falante do PC. Link

    
por H2ONaCl 11.01.2016 / 04:40
4

No meu sistema Oneiric eu tive que fazer o seguinte para fazer o XBell / XkbBell funcionar novamente:

  1. Carregue o módulo pcspkr (como você já fez por /etc/modprobe.d/blacklist.conf )
  2. Remova o pacote pulseaudio-module-x11 (que parece absorver todos os eventos do XBell)
  3. Coloque options snd-hda-intel beep_mode=2 em /etc/modprobe.d/enable-beep.conf (você só precisa desse caso, você possui um sistema com um chip de som Intel como o meu Latitude E6420). Ative o falante no alsamixer depois disso.

Alguns terminais (como o konsole, veja o bug Bug 177861 ) ignoram o caractere da campainha. Uma boa maneira de testar o bipe do sistema é com o comando xkbbell .

Depois que eu fiz tudo isso, a chamada java Toolkit.getDefaultToolkit().beep() funciona bem.

    
por exo_cw 25.02.2012 / 13:36
1

Certifique-se de que seu terminal e tema não comem o evento. p>

Ferramentas externas funcionam, você diz. Você poderia mergulhar no código deles. Isso pode ajudar.

    
por Cees Timmerman 18.01.2012 / 16:19
0

Use o programa beep (http://johnath.com/beep/), eu compilei a v1.3, porque o 1.2.2 nos repositórios do Lucid não funciona.

  • você precisa executá-lo com o sudo
  • o módulo pcspkr deve ser carregado, como você fez tudo pronto
por playerum 18.01.2012 / 14:51

Tags