Cara membuat suara bip perangkat keras di Mac OS X 10.6


174

Saya hanya ingin Mac OS X 10.6 melakukan suara bip perangkat keras seperti pada open suse dan distribusi lainnya. Saya mencoba mengikuti pendekatan

Terminal -> beep = -bash: beep: perintah tidak ditemukan

Terminal -> say beep = voice beep (Not a Hardware beep but awesome;))

applescript -> beep = Macintosh bell (Saya ingin beep Hardware!)

Adakah yang tahu cara membuat Bunyi bip perangkat keras di nampan / bash atau applescript?


3
@elhombre, apa yang membuatmu berpikir Mac OS X bahkan bisa melakukan hal seperti itu?
Carl Norum

19
Coba: ucapkan "bip" jika Anda tidak menemukan apa pun, terdekat yang bisa saya pikirkan.
Patrik Björklund

30
@ Patrik - +1, bagus. printf "\a"memberikan bunyi bip OS, jika itu membantu.
Carl Norum

9
@ Karsten: Mac adalah PC. PC = Komputer Pribadi. Hanya saja bukan IBM (-compatible) PC.
Paul R

2
MAC berbasis Intel adalah PC yang kompatibel dengan IBM
Nathan Garabedian

Jawaban:


24

Tidak ada "bip perangkat keras" di macOS.

Fungsi yang Anda pikirkan adalah artefak perangkat keras yang kompatibel dengan IBM PC yang sangat lama (pra-1990-an). Sebelum sebagian besar komputer memiliki kartu suara, sebagian besar mesin memiliki speaker kecil atau bel piezo yang terhubung ke salah satu saluran chip timer. Ini dapat digunakan untuk menghasilkan nada atau bunyi bip sederhana. Bahkan setelah banyak komputer terintegrasi kartu suara, tetap umum untuk beberapa waktu bagi komputer untuk mengarahkan output ini ke speaker internal yang terpisah. Baru-baru ini, banyak komputer, terutama laptop, telah mengintegrasikan fungsi ini ke kartu suara onboard.

(Jika Anda ingin tahu tentang rincian teknis tentang cara kerja antarmuka speaker PC, ada detail lebih lanjut di sini .)

Perangkat keras ini tidak pernah ada di komputer Apple. Satu-satunya output audio yang tersedia adalah melalui kartu suara, dan satu-satunya sistem bip di macOS adalah suara peringatan pengguna.


4
Setelah 7 tahun, pencarian berakhir. ^^ Terima kasih, Anjing di Internet. Tapi saya masih menikmati semua cara kreatif orang menjawab pertanyaan, jadi teruskan!
elhombre

Itu sedikit hal yang menarik, tetapi itu tidak benar-benar menjawab pertanyaan ...
Ian Dunn

3
@IanDunn Tentu saja - baca paragraf pertama dan terakhir dengan seksama. Pertanyaannya adalah menanyakan sesuatu yang tidak ada.
duskwuff -inactive-

1
Ah, Anda benar, saya tidak cukup membaca pertanyaan dan komentar OP, dan berpikir bahwa mereka hanya menginginkan suaranya sendiri, terlepas dari apakah itu datang melalui perangkat lunak atau perangkat keras. Salahku.
Ian Dunn

1
Bel terminal mendahului PC tahun 90-an hampir 100 tahun: en.wikipedia.org/wiki/Bell_character
kwerle

271

tput bel bekerja di sebagian besar cangkang.

Di OS X, ini (dan perintah lain yang membuat bel berbunyi) juga memberi Anda lencana jika perintah dijalankan ketika Terminal tidak ada di latar depan:


35
Efek samping yang luar biasa (setidaknya di terminal Lion) dari memiliki lonceng mati di terminal Anda ketika di latar belakang adalah bahwa ikon pada dokumen melompat, dan Anda mendapatkan indikator merah mengatakan ada sesuatu yang selesai. Coba ini: "sleep 5; bel tput" jalankan perintah itu dan kemudian tab keluar dari terminal, ketika bel berbunyi Anda mendapatkan peringatan. Apa yang saya cari!
BadPirate

Pengguna Iterm: ini berbunyi bip, tetapi tidak membuat lencana peringatan :(
Eric Hu

4
@EricHu -iTerm2 sekarang mendukung ini - github.com/gnachman/iTerm2/commit/…
broofa

1
tputadalah perintah yang bagus dengan banyak opsi . Perintah ini juga berfungsi di Linux.
Drew Noakes

7
echo -e "\a"juga bekerja pada OS X dan mungkin lebih portabel
wap26

139

Pencetakan \atidak selalu berhasil untuk saya (MBA, 10.7.4). Saya menggunakan ini sebagai gantinya:

say "beep"

satu-satunya cara bekerja untuk saya (OSX 10.8). Echo -e "\ a" atau printf "\ a" tidak berfungsi.
Valeriy Van

13
Wow - Anda dapat meletakkan apa saja di sana, misalnya: katakan "bangun selesai"
Pete

1
Penggunaan terbaik dari itu saya lihat di Little Snitch - ketika saya menjalankan aplikasi layar penuh dan tidak melihat peringatan popup LS biasa, itu saysaya mereka (hanya ketika dalam layar penuh), yaitu aplikasi apa yang telah diblokir mencoba terhubung ke beberapa host. Benar-benar bagus. Beberapa waktu lalu saya perlu melacak perubahan di situs web selama sehari, jadi alih-alih duduk di depan layar saya, saya biasa saymemberi tahu saya apa yang sedang terjadi (hanya teks yang bermakna - hanya iklan penjualan).
Andrei

@RandyHoward Ini benar-benar lucu, terima kasih! Berikut adalah daftar opsi lain jika ada yang tertarik: pastebin.com/raw.php?i=czJ8MVW3
Andrei

7
Ha ha. Anda dapat membuat orang bertanya-tanya apakah mereka mendengar sesuatu dengan menempatkan dua suara di atas satu sama lain: Berlari say "Pay attention to me" &dan say -v Whisper "I own you" &berturut - turut.
Mat

100

Memang, yang berikut ini efektif dan agak melodi:

say -v Bells "dong dong dong"

[Perbarui] Sayangnya Bells tidak lagi termasuk dalam OS X terbaru. Coba:

say -v Victoria Do your homework!

Gunakan yang berikut untuk mengeksplorasi suara:

say -v \?

7
say -v Daniel harry potter harry potter
Madmartigan

1
Atau hanya: say -v Bells "beep".
kenorb

1
Tidak ada suara Beels di makro saya yang terbaru.
Martin

Ya, Bells tampaknya telah dihapus. Gunakan say -v '?'untuk mendaftar semua suara. Gunakan say -v '?' | egrep `echo $LANG | sed "s/\..*//"`untuk membuat daftar suara untuk bahasa Anda saat ini.
k00ka

56

tulis echo ^Gdi bash. untuk membuat ^Gpers ctrl+vlalu ctrl+g.


20
/usr/bin/printf "\a"dan osascript -e "beep 1"juga bekerja cukup baik
abe

adakah yang bisa menjelaskan apa echo ^Gyang dilakukan (yaitu apa yang dikatakan perintah ini dalam istilah awam)? Apakah ini karakter khusus yang berbunyi bip untuk OSX? Apakah ada karakter khusus terkait lainnya? @mxhaack @ wongo888
Eric Jones

2
@EricJones ^Gadalah "karakter kontrol" yaitu karakter yang tidak dapat dicetak yang / telah digunakan untuk menyebabkan efek tertentu seperti misalnya memicu bel / bip. Lihat artikel wikipedia ini
coffeejunk

30

Ini akan mengulang semua suara (berfungsi di 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
Lucu, harta karun seperti itu! : D
idleherb

27

Dalam jenis terminal:

echo -e "\ a"

Parameter -e memberitahu echo untuk memproses karakter yang lolos. Karena \ n adalah karakter baris baru, \ a adalah karakter bel (sama dengan Ctrl + G).


Satu manfaat dari pendekatan ini adalah ia bekerja di Linux (dan lainnya?) Juga. Seperti disebutkan di tempat lain, Anda mungkin juga mencobaprintf "\a"
rinogo

1
Bagi mereka yang menyukai lonceng tetapi malas mengutip, echo -e \\abekerja juga.
SeldomNeedy

26

Putar suara peringatan sewenang-wenang dengan afplay

Saya terkejut tidak ada yang disebutkan afplay : itulah program baris perintah yang memutar file suara sewenang-wenang. Sudah ada sejak rilis asli OS X (dan NeXTSTEP, jika ingatan Anda selama itu).

Misalnya, Anda dapat menjalankan ini dari baris perintah atau meletakkannya di skrip:

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

Anda tidak terbatas pada suara sistem; satu keuntungan menggunakan afplayadalah Anda dapat memilih file suara Anda sendiri sebagai peringatan. Misalnya, Anda dapat mengunduh salah satu file suara ini dan memilih favorit Anda.

(Poin ekstra jika Anda dapat menemukan rekaman lonceng Model Teletype 33!)


Bel mesin tik mungkin cukup dekat.
Andriy Makukha

13

Di bawah terminal OS X, jalankan perintah: osascript -e 'beep'

Menggunakan teknologi OSA (Open Script Architecture) untuk memberi tahu AppleScript untuk mengeksekusi perintah beep.


10
printf "\a"

Jika Anda melihat man printf, itu memberi Anda daftar karakter yang lolos, termasuk \a:

\a      Write a <bell> character.

7

printf "\a" juga bekerja di terminal dan akan memainkan suara peringatan yang disetel.


7

Jika Anda membutuhkan sesuatu, itu terdengar seperti "penting"

kamu bisa memakai

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

pada MacOS X, opsi "peringatan suara" (Terminal / Preferensi) harus diaktifkan untuk mendapatkan suara.


1
Sebenarnya ini disebut "Bel terdengar". Ada dalam Pengaturan / Lanjutan.
Denis Malinovsky


0

Jika Anda sudah menginstal XCODE, Anda dapat membuat bunyi bip / bel. Saya belum menduga bahwa saya dapat membuat printf "\a"karakter berfungsi dalam C.

Ada satu cara untuk membuat nada berfungsi ketika program berjalan, mulai XCODE, menu drop down di bawah XCODE, Preferensi, Perilaku, centang kotak PLAY SOUND yang pertama, pilih dari daftar atau tambahkan suara.

Itu salah satu cara untuk melakukannya, tetapi hanya saat program berjalan, saya percaya.


1
"Perilaku" Xcode hanya dieksekusi ketika peristiwa yang sesuai terjadi di Xcode. Mereka tidak berlaku di tempat lain dalam sistem.
duskwuff -inactive-

0

osascript -e 'tell application "System Events" untuk berbunyi '

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.