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?

Elhombre
sumber
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.

duskwuff -inactive-
sumber
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:

broofa
sumber
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"
Andrei
sumber
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 \?
k00ka
sumber
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.

kopi junk
sumber
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
Jason Ryan Taylor
sumber
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).

Zaphod
sumber
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!)

fearless_fool
sumber
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.

Albert
sumber
10
printf "\a"

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

\a      Write a <bell> character.
Alex Coplan
sumber
7

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

Oantby
sumber
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

:)

Nedudi
sumber
1

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

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

Ini bekerja untuk saya (mac os 10.14.6)

echo "\x07"  
kode morgancodes
sumber
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.

Stewart Scott
sumber
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 '

Nuh
sumber