Cách tạo tiếng bíp phần cứng trong Mac OS X 10.6


174

Tôi chỉ muốn Mac OS X 10.6 phát ra tiếng bíp phần cứng giống như trong bản mở và các bản phân phối khác. Tôi đã thử làm theo cách tiếp cận

Terminal -> beep = -bash: beep: lệnh không tìm thấy

Terminal -> nói tiếng bíp = giọng nói phát ra tiếng bíp (Không phải tiếng bíp Phần cứng nhưng tuyệt vời;))

applescript -> beep = chuông Macintosh (Tôi muốn có tiếng bíp Phần cứng!)

Có ai biết làm thế nào để làm cho tiếng bíp Phần cứng trong bin / bash hoặc applescript không?


3
@elhombre, điều gì khiến bạn nghĩ Mac OS X thậm chí có thể làm một việc như vậy?
Carl Norum

19
Hãy thử: nói "bíp" nếu bạn không tìm thấy gì, gần nhất tôi có thể nghĩ ra.
Patrik Bjorklund

30
@Patrik - +1, tốt đẹp. printf "\a"cung cấp cho hệ điều hành tiếng bíp, nếu điều đó giúp.
Carl Norum

9
@Carsten: Mac PC. PC = Máy tính cá nhân. Nó chỉ không phải là một máy tính IBM (tương thích).
Paul R

2
MAC dựa trên Intel một PC tương thích với IBM
Nathan Garabedian

Câu trả lời:


24

Không có "tiếng bíp phần cứng" trong macOS.

Chức năng mà bạn nghĩ đến là một tạo tác của phần cứng tương thích với IBM PC (trước những năm 1990). Trước khi hầu hết các máy tính có card âm thanh, hầu hết các máy đều có loa nhỏ hoặc loa piezo được kết nối với một trong các kênh của chip hẹn giờ. Điều này có thể được sử dụng để tạo ra âm thanh đơn giản hoặc tiếng bíp. Ngay cả sau khi nhiều máy tính tích hợp card âm thanh, vẫn khá phổ biến trong một thời gian để máy tính định tuyến đầu ra này đến một loa bên trong riêng biệt. Gần đây, nhiều máy tính, đặc biệt là máy tính xách tay, đã tích hợp chức năng này vào card âm thanh trên bo mạch.

(Nếu bạn tò mò về các chi tiết kỹ thuật về cách giao diện loa PC hoạt động, có nhiều chi tiết hơn ở đây .)

Phần cứng này chưa bao giờ tồn tại trong máy tính Apple. Đầu ra âm thanh duy nhất có sẵn là thông qua card âm thanh và tiếng bíp hệ thống duy nhất trong macOS là âm thanh cảnh báo của người dùng.


4
Sau 7 năm, cuộc tìm kiếm đã kết thúc ^^ Cảm ơn chú chó trên Internet. Nhưng tôi vẫn thích tất cả những cách sáng tạo mà mọi người trả lời câu hỏi, vì vậy hãy tiếp tục đến!
elhombre

Đó là một câu đố nhỏ thú vị, nhưng nó không thực sự trả lời câu hỏi ...
Ian Dunn

3
@IanDunn Chắc chắn là có - đọc đoạn đầu tiên và đoạn cuối một cách cẩn thận. Câu hỏi là yêu cầu một cái gì đó không tồn tại.
duskwuff -inactive-

1
À, bạn nói đúng, tôi đã không đọc câu hỏi và nhận xét của OP đủ chặt chẽ, và nghĩ rằng họ chỉ muốn âm thanh phát ra, bất kể nó đi qua phần mềm hay phần cứng. Lỗi của tôi.
Ian Dunn

1
Chuông thiết bị đầu cuối trước PC của thập niên 90 gần 100 năm: en.wikipedia.org/wiki/Bell_character
kwerle

271

tput bel hoạt động trong hầu hết các vỏ.

Trong OS X, lệnh này (và bất kỳ lệnh nào khác làm cho chuông tắt) cũng sẽ mang lại cho bạn một huy hiệu nếu lệnh được thực thi khi Terminal không ở phía trước:


35
Hiệu ứng phụ tuyệt vời (ít nhất là trong thiết bị đầu cuối Lion) có tiếng chuông trong thiết bị đầu cuối của bạn khi nó ở chế độ nền là biểu tượng trên tài liệu nhảy và bạn nhận được một chỉ báo màu đỏ cho biết đã có một cái gì đó hoàn thành. Hãy thử điều này: "ngủ 5; tput bel" chạy lệnh đó và sau đó thoát ra khỏi thiết bị đầu cuối, khi chuông tắt bạn sẽ nhận được cảnh báo. Chỉ cần những gì tôi đang tìm kiếm!
BadPirate

Người dùng Iterm: đây là tiếng bíp, nhưng không tạo huy hiệu cảnh báo :(
Eric Hu

4
@EricHu -iTerm2 hiện hỗ trợ điều này - github.com/gnachman/iTerm2/commit/
mẹo

1
tputlà một lệnh tuyệt vời với rất nhiều tùy chọn . Lệnh này cũng hoạt động trên Linux.
Drew Noakes

7
echo -e "\a"cũng hoạt động trên OS X và có lẽ dễ mang theo hơn
wap26

139

In ấn \akhông phải lúc nào cũng làm việc cho tôi (MBA, 10.7.4). Tôi sử dụng điều này thay thế:

say "beep"

cách duy nhất làm việc cho tôi (OSX 10.8). Cả echo -e "\ a" hay printf "\ a" đều không hoạt động.
Valeriy Van

13
Ồ - bạn có thể đặt bất cứ thứ gì vào đó, ví dụ: nói "bản dựng đã hoàn thành"
Pete

1
Cách sử dụng tốt nhất mà tôi thấy trong Little Snitch - khi tôi chạy một ứng dụng toàn màn hình và không thấy cảnh báo bật lên LS thông thường, đó saylà tôi (chỉ khi ở chế độ toàn màn hình), tức là ứng dụng nào đã bị chặn khi cố gắng kết nối với một số máy chủ. Thực sự tốt đẹp. Cách đây một thời gian, tôi cần theo dõi các thay đổi trên một trang web trong một ngày, vì vậy thay vì ngồi trước màn hình, tôi thường saycho tôi biết những gì đang diễn ra (chỉ có văn bản có ý nghĩa - đó là quảng cáo bán hàng).
Andrei

@RandyHoward Đây là một điều thực sự hài hước, cảm ơn! Dưới đây là danh sách các tùy chọn khác nếu bất kỳ ai quan tâm: pastebin.com/raw.php?i=czJ8MVW3
Andrei

7
Haha. Bạn có thể khiến mọi người tự hỏi liệu họ có nghe thấy mọi thứ không bằng cách đặt hai giọng nói lên nhau: Chạy say "Pay attention to me" &say -v Whisper "I own you" &liên tiếp.
Matt

100

Thật vậy, sau đây là hiệu quả và hơi du dương:

say -v Bells "dong dong dong"

[Cập nhật] Thật không may, Bells không còn được bao gồm trong OS X mới nhất. Hãy thử:

say -v Victoria Do your homework!

Sử dụng cách sau để khám phá giọng nói:

say -v \?

7
nói -v Daniel harry potter harry potter
Madmartigan

1
Hoặc chỉ : say -v Bells "beep".
kenorb

1
Không có giọng nói Beels trên macos cập nhật của tôi.
Martin

Vâng, Bells dường như đã được gỡ bỏ. Sử dụng say -v '?'để liệt kê tất cả các giọng nói. Sử dụng say -v '?' | egrep `echo $LANG | sed "s/\..*//"`để liệt kê giọng nói cho ngôn ngữ hiện tại của bạn.
k00ka

56

viết echo ^Gtrong bash. để tạo ra ^Gbáo chí ctrl+vvà sau đó ctrl+g.


20
/usr/bin/printf "\a"osascript -e "beep 1"cũng hoạt động đủ tốt
abe

bất cứ ai có thể giải thích những gì echo ^Gđang làm (tức là lệnh này nói gì trong các điều khoản của giáo dân)? Đây có phải là một nhân vật đặc biệt mà meens bíp cho OSX? Có bất kỳ nhân vật đặc biệt liên quan khác? @mxhaack @ wongo888
Eric Jones

2
@EricJones ^Glà một "ký tự điều khiển" tức là một ký tự không in được / được sử dụng để gây ra một hiệu ứng nhất định như ví dụ kích hoạt chuông / tiếng bíp. Hãy xem bài viết trên wikipedia này
coffeejunk

30

Điều này sẽ lặp qua tất cả các giọng nói (hoạt động trên 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
Vui nhộn, một kho báu như vậy! : D
idleherb

27

Trong loại thiết bị đầu cuối:

tiếng vang -e "\ a"

Tham số -e cho biết tiếng vang để xử lý các ký tự thoát. Vì \ n là ký tự dòng mới, \ a là ký tự chuông (giống như Ctrl + G).


Một lợi ích của phương pháp này là nó cũng hoạt động trong Linux (và những người khác?). Như đã đề cập ở nơi khác, bạn cũng có thể thửprintf "\a"
rinogo

1
Đối với những người yêu thích chuông nhưng lười biếng về báo giá, echo -e \\acông việc cũng có.
SeldomNeedy

26

Phát âm thanh cảnh báo tùy ý với afplay

Tôi ngạc nhiên không ai đề cập afplay: đó là chương trình dòng lệnh phát các tệp âm thanh tùy ý. Nó đã xuất hiện kể từ khi phiên bản gốc của OS X (và NeXTSTEP, nếu bộ nhớ của bạn dài như vậy).

Ví dụ: bạn có thể chạy nó từ dòng lệnh hoặc đặt nó trong một tập lệnh:

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

Bạn không bị giới hạn bởi âm thanh hệ thống; Một lợi thế của việc sử dụng afplaylà bạn có thể chọn tệp âm thanh của riêng mình làm cảnh báo. Ví dụ: bạn có thể tải xuống một trong những tệp âm thanh này và chọn mục yêu thích của bạn.

(Thêm điểm nếu bạn có thể tìm thấy bản ghi của chuông Teletype Model 33!)


Chuông máy chữ có thể đủ gần.
Andriy Makukha

13

Trong các thiết bị đầu cuối OS X, thực thi lệnh: osascript -e 'beep'

Sử dụng công nghệ OSA (Open Script Architecture) để báo cho AppleScript thực thi lệnh beep.


10
printf "\a"

Nếu bạn nhìn vào man printf, nó sẽ cung cấp cho bạn một danh sách các ký tự thoát, bao gồm \a:

\a      Write a <bell> character.

7

printf "\a" cũng hoạt động trong một thiết bị đầu cuối và sẽ phát âm thanh cảnh báo đã đặt.


7

Nếu bạn cần một cái gì đó, điều đó nghe có vẻ "quan trọng"

bạn có thể dùng

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

trên MacOS X, tùy chọn "cảnh báo âm thanh" (Terminal / Preferences) phải được kích hoạt để có âm thanh.


1
Trên thực tế, nó được gọi là "Chuông âm thanh". Đó là trong Cài đặt / Nâng cao.
Denis Malinovsky


0

Nếu bạn đã cài đặt XCODE, bạn có thể tạo tiếng bíp / chuông. Tôi đã không hình dung rằng tôi có thể làm cho printf "\a"nhân vật hoạt động trong C.

Có một cách để làm cho âm báo hoạt động khi chương trình chạy, khởi động XCODE, trình đơn thả xuống trong XCODE, Tùy chọn, Hành vi, chọn hộp đầu tiên CHƠI SOUND, chọn từ danh sách hoặc thêm âm thanh.

Đó là một cách để làm điều đó, nhưng chỉ khi chương trình chạy, tôi tin.


1
"Hành vi" Xcode chỉ được thực thi khi các sự kiện tương ứng xảy ra trong Xcode. Họ không áp dụng ở nơi khác trong hệ thống.
duskwuff -inactive-

0

osascript -e 'tell application "System Events" tiếng bíp '

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.