Como posso tocar um som na linha de comando no Mac OS X?

38

Gostaria de reproduzir um pequeno arquivo de som na linha de comando do Mac OS X, independentemente de qualquer aplicativo do reprodutor de áudio, para notificar que um trabalho longo foi concluído.

Kevin Reid
fonte

Respostas:

46

Há uma ferramenta built-in: afplay <sound file>. A página do manual não documenta todas as suas opções, que podem ser encontradas em afplay -h:

Usage:
afplay [option...] audio_file

Options: (may appear before or after arguments)
  {-v | --volume} VOLUME
    set the volume for playback of the file
  {-h | --help}
    print help
  { --leaks}
    run leaks analysis
  {-t | --time} TIME
    play for TIME seconds
  {-r | --rate} RATE
    play at playback rate
  {-q | --rQuality} QUALITY
    set the quality used for rate-scaled playback (default is 0 - low quality, 1 - high quality)
  {-d | --debug}
    debug print output

Não reproduzirá mais de um arquivo de áudio.

Kevin Reid
fonte
1
Às vezes, o afplay tem esse bug: superuser.com/questions/319174/… . Existem alternativas?
precisa saber é
Cuidado com a -vopção: um valor de 1parece significar "100%"!
doctaphred
20

Uma vez, quando a energia foi desligada no trabalho, sabendo que meu firewall retornaria ao último estado (ligado) quando a eletricidade voltasse, escrevi um script no bash que usava o saycomando para me acordar quando a energia chegava De volta.

Kirk
fonte
13
Eu amo abusar do saycomando.
NReilingh
De fato, sayé relevante para esse tipo de problema e uma boa solução alternativa. Tenha um voto! Eu estava procurando especificamente reproduzir um som curto, pois ouvir uma frase seria cansativo para o meu caso de uso.
Kevin Reid
Nota interessante: se você estiver conectado remotamente a uma máquina via ssh, saynão funcionará a menos que você sudo. (Muito divertido para fazer computadores de outras pessoas falar com eles.)
Daniel Griscom
11

Você já considerou printf "\a\a\a"ou echo -e "\a\a\a"?

blahdiblah
fonte
Para aqueles que não sabem este é o personagem seqüência de controle para 'sino', o que na maioria dos sistemas vai fazer um 'bonking' som
John Hunt