Comment puis-je jouer un son à partir de la ligne de commande sous Mac OS X?

38

Je souhaite lire un court fichier son à partir de la ligne de commande sous Mac OS X, indépendamment de toute application de lecteur audio, afin de notifier la fin d’un long travail.

Kevin Reid
la source

Réponses:

46

Il est un outil intégré: afplay <sound file>. La page de manuel ne documente pas toutes ses options, qui peuvent être trouvées via 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

Il ne lira pas plus d’un fichier audio.

Kevin Reid
la source
1
afplay a parfois ce bogue: superuser.com/questions/319174/… . Y a-t-il des alternatives?
tog22
Attention à l' -voption: une valeur de 1semble signifier "100%"!
Doctaphred
20

Une fois, lorsque le courant a été coupé au travail, sachant que mon pare-feu allait revenir à son dernier état (sous tension) lorsque l'électricité a été rétablie, j'ai écrit un script sous bash qui utilisait cette saycommande pour me réveiller quand le courant est arrivé. revenir sur.

Église
la source
13
J'aime abuser de la saycommande.
NReilingh
En effet, sayest pertinent pour ce type de problème et une bonne solution alternative. Avoir un vote! Je cherchais particulièrement à jouer un son bref, car entendre une phrase deviendrait fastidieux pour mon cas d'utilisation.
Kevin Reid
Note intéressante: si vous êtes connecté à distance à une machine via ssh, saycela ne fonctionnera que si vous sudole faites . (C'est très amusant de faire parler les ordinateurs d'autres personnes.)
Daniel Griscom
11

Avez-vous envisagé printf "\a\a\a"ou echo -e "\a\a\a"?

blahdiblah
la source
Pour ceux qui ne le savent pas, il s'agit du caractère de séquence de contrôle de 'bell', qui, sur la plupart des systèmes, produira un son 'bonking'
John Hunt