Como emitir o bipe de hardware no Mac OS X 10.6


174

Eu só quero que o Mac OS X 10.6 emita um sinal sonoro de hardware como em open suse e outras distribuições. Eu tentei seguir abordagens

Terminal -> beep = -bash: beep: comando não encontrado

Terminal -> say beep = voz emite um sinal sonoro (não é um sinal sonoro de hardware, mas incrível;))

maçãscript -> sinal sonoro = campainha do Macintosh (eu quero um sinal sonoro de hardware!)

Alguém sabe como emitir um bipe de hardware em bin / bash ou appleScript?


3
@elhombre, o que faz você pensar que o Mac OS X pode fazer uma coisa dessas?
Carl Norum

19
Tente: diga "bip" se você não encontrar nada, o mais próximo que consigo pensar.
Patrik Björklund

30
@Patrik - +1, bom. printf "\a"emite um sinal sonoro ao sistema operacional, se isso ajudar.
Carl Carlum

9
@Carsten: um Mac é um PC. PC = Computador Pessoal. Não é apenas um PC IBM (compatível).
Paul R

2
Baseado em Intel Um MAC é um PC compatível com IBM
Nathan Garabedian

Respostas:


24

Não há "bipe de hardware" no macOS.

A funcionalidade em que você está pensando é um artefato de hardware IBM PC muito antigo (anterior aos anos 90). Antes de a maioria dos computadores possuir placas de som, a maioria das máquinas possuía um pequeno alto-falante ou uma campainha piezo conectada a um dos canais de um chip de timer. Isso pode ser usado para gerar tons ou bipes simples. Mesmo depois que muitos computadores integraram placas de som, permaneceu comum por algum tempo os computadores direcionarem essa saída para um alto-falante interno separado. Mais recentemente, muitos computadores, especialmente laptops, integraram essa funcionalidade à placa de som integrada.

(Se você estiver curioso sobre os detalhes técnicos de como a interface do alto-falante do PC funcionou, há mais detalhes aqui .)

Esse hardware nunca existiu em computadores Apple. A única saída de áudio disponível é através da placa de som e o único sinal sonoro do sistema no macOS é o som de alerta do usuário.


4
Depois de 7 anos, a busca chegou ao fim ^^ Thank You Dog na Internet. Mas ainda gosto de todas as maneiras criativas de as pessoas responderem à pergunta, então continue assim!
Elhombre

Isso é um pouco interessante de trivia, mas ele realmente não responder à pergunta ...
Ian Dunn

3
@IanDunn Claro que sim - leia o primeiro e o último parágrafos com atenção. A questão está pedindo algo que não existe.
você precisa saber é o seguinte

1
Ah, você está certo, eu não li a pergunta e os comentários do OP com atenção suficiente e pensei que eles apenas queriam o som em si, independentemente de ele ter vindo de software ou hardware. Foi mal.
Ian Dunn

1
O som do terminal antecede o PC da década de 90 por quase 100 anos: en.wikipedia.org/wiki/Bell_character
kwerle

271

tput bel funciona na maioria das conchas.

No OS X, este (e qualquer outro comando que faça a campainha disparar) também recebe um selo se o comando for executado quando o Terminal não estava em primeiro plano:


35
O incrível efeito colateral (pelo menos no terminal Lion) de tocar uma campainha no terminal quando está em segundo plano é que o ícone no documento salta e você recebe um indicador vermelho dizendo que algo foi concluído. Tente o seguinte: "sleep 5; tput bel" execute esse comando e depois saia do terminal, quando a campainha tocar, você receberá um alerta. É mesmo o que eu procurava!
precisa saber é o seguinte

Usuários iTerm: isto faz sinal sonoro, mas não cria o emblema alerta :(
Eric Hu

4
O @EricHu -iTerm2 agora suporta isso - github.com/gnachman/iTerm2/commit/…
broofa

1
tputé um ótimo comando com muitas opções . Este comando também funciona no Linux.
Drew Noakes

7
echo -e "\a"também funciona em OS X e é provavelmente mais portátil
wap26

139

A impressão \anem sempre funcionou para mim (MBA, 10.7.4). Eu uso isso:

say "beep"

a única maneira de trabalhar para mim (OSX 10.8). Nem eco -e "\ a" nem printf "\ a" não funcionaram.
Valeriy Van

13
Uau - você pode colocar qualquer coisa lá dentro, por exemplo: diga "construção concluída"
Pete

1
O melhor uso que vejo no Little Snitch - quando executo um aplicativo em tela cheia e não vejo avisos pop-up regulares do LS, saysou eu (apenas quando em tela cheia), ou seja, qual aplicativo foi bloqueado ao tentar conectar-se a algum host. Muito legal. Algum tempo atrás, eu precisava acompanhar as alterações em um site durante um dia, então, em vez de ficar na frente da tela, costumava sayme informar o que estava acontecendo (obviamente, apenas texto significativo - eram anúncios de venda).
Andrei

@RandyHoward Este é realmente engraçado, obrigado! Aqui está uma lista de outras opções, se alguém estiver interessado: pastebin.com/raw.php?i=czJ8MVW3
Andrei

7
Haha Você pode fazer as pessoas se perguntarem se estão ouvindo coisas colocando duas vozes uma em cima da outra: corra say "Pay attention to me" &e say -v Whisper "I own you" &consecutivamente.
Matt

100

De fato, o seguinte é eficaz e um tanto melódico:

say -v Bells "dong dong dong"

[Atualização] Infelizmente, o Bells não está mais incluído no OS X mais recente. Tente:

say -v Victoria Do your homework!

Use o seguinte para explorar vozes:

say -v \?

7
dizer -v Daniel harry potter harry potter
Madmartigan 30/07/2015

1
Ou apenas: say -v Bells "beep".
kenorb

1
Não há voz de Beels nos meus macos atualizados.
Martin Martin

Sim, o Bells parece ter sido removido. Use say -v '?'para listar todas as vozes. Use say -v '?' | egrep `echo $LANG | sed "s/\..*//"`para listar as vozes do seu idioma atual.
K00ka

56

escreva echo ^Gna festança. para criar a ^Gimpressora ctrl+ve depois ctrl+g.


20
/usr/bin/printf "\a"e osascript -e "beep 1"também funciona bem o suficiente
abe 23/05

alguém pode explicar o que echo ^Gestá fazendo (ou seja, o que esse comando diz nos termos do leigo)? Esse é um caractere especial que meens apita para o OSX? Existem outros caracteres especiais relacionados? @mxhaack @ wongo888
Eric Jones

2
@EricJones ^Gé um "caractere de controle", ou seja, um caractere não imprimível que é / foi usado para causar um certo efeito, como por exemplo, acionar o sino / bipe. Dê uma olhada neste artigo da wikipedia
coffeejunk

30

Isso percorrerá todas as vozes (funciona em Yosemite):

say -v '?' | awk '{print $1}' | while read voice; do printf "using $voice...\n"; say -v $voice "hello, this is me using the $voice voice"; sleep 1; done

1
Hilariante, um tesouro! : D
idleherb 20/01/19

27

No tipo de terminal:

eco -e "\ a"

O parâmetro -e diz ao echo para processar caracteres de escape. Como \ n é o novo caractere de linha, \ a é o sino (o mesmo que Ctrl + G).


Um benefício dessa abordagem é que ela também funciona no Linux (e em outras?). Como mencionado anteriormente, você também pode tentarprintf "\a"
rinogo

1
Para aqueles que amam o sino, mas são preguiçosos sobre citações, echo -e \\afunciona também.
SeldomNeedy 19/02/16

26

Toque um som de alerta arbitrário com afplay

Estou surpreso que ninguém tenha mencionado afplay: esse é o programa de linha de comando que reproduz arquivos de som arbitrários. Existe desde os lançamentos originais do OS X (e NeXTSTEP, se sua memória é longa).

Por exemplo, você pode executar isso na linha de comando ou colocá-lo em um script:

$ afplay /System/Library/Sounds/Ping.aiff

Você não está limitado aos sons do sistema; Uma vantagem do uso afplayé que você pode escolher seu próprio arquivo de som como alerta. Por exemplo, você pode baixar um desses arquivos de som e escolher o seu favorito.

(Pontos extras se você puder encontrar a gravação de um sino Teletype Modelo 33!)


A campainha da máquina de escrever pode estar próxima o suficiente.
Andriy Makukha

13

Nos terminais do OS X, execute o comando: osascript -e 'beep'

Usando a tecnologia OSA (Open Script Architecture) para informar ao AppleScript para executar o comando beep.


10
printf "\a"

Se você olhar man printf, ele fornece uma lista de caracteres escapados, incluindo \a:

\a      Write a <bell> character.

7

printf "\a" também funciona em um terminal e reproduz o som de alerta definido.


7

Se você precisar de algo, isso soa como "importante"

você pode usar

tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s

:)


1

no MacOS X, a opção "aviso sonoro" (Terminal / Preferências) deve ser ativada para obter um som.


1
Na verdade, é chamado de "sino audível". Está em Configurações / Avançado.
Denis Malinovsky


0

Se você tiver o XCODE instalado, poderá emitir um sinal sonoro. Não imaginei que pudesse fazer o printf "\a"personagem funcionar em C.

Há uma maneira de fazer o som funcionar enquanto o programa é executado, inicie o XCODE, menu suspenso em XCODE, Preferências, Comportamentos, marque a primeira caixa PLAY SOUND, escolha na lista ou adicione um som.

Essa é uma maneira de fazer isso, mas somente enquanto o programa é executado, acredito.


1
Os "comportamentos" do Xcode são executados apenas quando os eventos correspondentes ocorrem no Xcode. Eles não se aplicam a outros lugares do sistema.
duskwuff -inactive-

0

osascript -e 'tell application "System Events" bipar

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.