Bagaimana saya bisa memainkan suara dari baris perintah di Mac OS X?

38

Saya ingin memutar file suara pendek dari baris perintah di Mac OS X, terlepas dari aplikasi pemutar audio apa pun, untuk memberikan pemberitahuan bahwa pekerjaan yang panjang telah selesai.

Kevin Reid
sumber

Jawaban:

46

Ada built-in tool: afplay <sound file>. Halaman manual tidak mendokumentasikan semua opsi yang ada, yang dapat ditemukan melalui 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

Itu tidak akan memutar lebih dari satu file audio.

Kevin Reid
sumber
1
afplay terkadang memiliki bug ini: superuser.com/questions/319174/… . Apakah ada alternatif lain?
tog22
Hati-hati dengan -vopsi: nilai 1tampaknya berarti "100%"!
doctaphred
20

Suatu ketika, ketika listrik padam, mengetahui bahwa firewall saya akan kembali ke keadaan terakhir (dihidupkan) ketika listrik menyala kembali, saya menulis sebuah skrip dalam bash yang menggunakan sayperintah untuk membangunkan saya ketika daya datang kembali.

Gereja
sumber
13
Saya suka menyalahgunakan sayperintah.
NReilingh
Memang, sayrelevan dengan masalah semacam ini dan solusi alternatif yang baik. Beri suara! Saya mencari secara khusus untuk memainkan suara pendek, karena mendengar frasa akan melelahkan untuk kasus penggunaan saya.
Kevin Reid
Catatan menarik: jika Anda secara remote login ke mesin melalui ssh, saytidak akan berfungsi kecuali jika Anda sudomemilikinya. (Sangat menyenangkan untuk membuat komputer orang lain berbicara kepada mereka.)
Daniel Griscom
11

Sudahkah Anda mempertimbangkan printf "\a\a\a"atau echo -e "\a\a\a"?

blahdiblah
sumber
Bagi mereka yang tidak tahu ini adalah urutan kontrol karakter untuk 'lonceng', yang pada kebanyakan sistem akan membuat 'bonking' suara
John Hunt