วิธีทำให้ฮาร์ดแวร์ส่งเสียงบี๊บใน Mac OS X 10.6


174

ฉันแค่อยากให้ Mac OS X 10.6 ทำเสียงบี๊บของฮาร์ดแวร์เหมือนในลักษณะเปิดและกระจายอื่น ๆ ฉันลองทำตามวิธี

เทอร์มินัล -> beep = -bash: beep: ไม่พบคำสั่ง

เทอร์มินัล -> say beep = เสียงพูดบี๊บ (ไม่ใช่เสียงบี๊บฮาร์ดแวร์ แต่ยอดเยี่ยม;))

applescript -> beep = เบลล์ Macintosh (ฉันต้องการ Hardware beep!)

ไม่มีใครรู้วิธีทำให้ Hardware beep เป็น bin / bash หรือ applescript


3
@elhombre สิ่งที่ทำให้คุณคิดว่า Mac OS X สามารถทำสิ่งนั้นได้?
Carl Norum

19
ลอง: พูดว่า "บี๊บ" ถ้าคุณไม่พบอะไรเลยที่ใกล้เคียงที่สุดที่ฉันสามารถนึกได้
Patrik Björklund

30
@Patrik - +1 ดี printf "\a"ให้เสียงบี๊บของระบบปฏิบัติการหากเป็นไปได้
Carl Norum

9
@Carsten: a Mac เป็นพีซี PC = คอมพิวเตอร์ส่วนบุคคล ไม่ใช่แค่พีซีของ IBM (- ที่เข้ากันได้)
Paul R

2
MAC ที่ใช้ Intel เป็นพีซีที่ทำงานร่วมกับ IBM ได้
Nathan Garabedian

คำตอบ:


24

ไม่มี "บี๊บฮาร์ดแวร์" ใน macOS

ฟังก์ชั่นที่คุณคิดว่าเป็นสิ่งประดิษฐ์ของฮาร์ดแวร์ที่เข้ากันได้กับพีซีของ IBM ที่มีอายุมาก (ก่อนปี 1990) ก่อนที่คอมพิวเตอร์ส่วนใหญ่จะมีการ์ดเสียงเครื่องส่วนใหญ่จะมีลำโพงขนาดเล็กหรือสัญญาณเตือนแบบ piezo เชื่อมต่อกับหนึ่งในช่องสัญญาณของชิปจับเวลา สิ่งนี้สามารถใช้เพื่อสร้างเสียงหรือบี๊บอย่างง่าย แม้หลังจากคอมพิวเตอร์หลาย ๆ เครื่องรวมการ์ดเสียงเข้าด้วยกันมันก็ยังคงเป็นเรื่องปกติที่คอมพิวเตอร์จะจัดเส้นทางเอาต์พุตนี้ไปยังลำโพงภายในแยกต่างหาก เมื่อเร็ว ๆ นี้คอมพิวเตอร์จำนวนมากโดยเฉพาะแล็ปท็อปได้รวมฟังก์ชั่นนี้เข้ากับการ์ดเสียงออนบอร์ด

(หากคุณสงสัยเกี่ยวกับรายละเอียดทางเทคนิคเกี่ยวกับการทำงานของส่วนต่อประสานลำโพง PC มีรายละเอียดเพิ่มเติมที่นี่ )

ฮาร์ดแวร์นี้ไม่เคยมีอยู่ในคอมพิวเตอร์ Apple เอาต์พุตเสียงเดียวที่มีให้ใช้คือผ่านการ์ดเสียงและเสียงบี๊บระบบเดียวใน macOS คือเสียงเตือนของผู้ใช้


4
หลังจาก 7 ปีการค้นหาก็จบลง ^^ ขอบคุณ Dog บนอินเทอร์เน็ต แต่ฉันยังคงสนุกกับวิธีที่สร้างสรรค์ที่ผู้คนตอบคำถามดังนั้นมาเลย!
elhombre

นั่นเป็นบิตที่น่าสนใจของเรื่องไม่สำคัญ แต่มันไม่ได้โดดตอบคำถาม ...
เอียนดันน์

3
@IanDunn แน่ใจว่าทำได้ - อ่านย่อหน้าแรกและย่อหน้าสุดท้ายอย่างรอบคอบ คำถามกำลังถามหาสิ่งที่ไม่มีอยู่
duskwuff -inactive-

1
อาคุณพูดถูกฉันไม่ได้อ่านคำถามและความคิดเห็นของ OP อย่างใกล้ชิดและคิดว่าพวกเขาแค่ต้องการเสียงเองไม่ว่าจะมาจากซอฟต์แวร์หรือฮาร์ดแวร์ ความผิดฉันเอง.
Ian Dunn

1
เทอร์มินัลระฆังถือคอมพิวเตอร์พีซีในยุค 90 มาเกือบ 100 ปีแล้ว: en.wikipedia.org/wiki/Bell_character
kwerle

271

tput bel ทำงานได้ในหอยส่วนใหญ่

ใน OS X คำสั่งนี้ (และคำสั่งอื่นใดที่ทำให้ระฆังหยุดทำงาน) จะทำให้คุณได้รับป้ายหากคำสั่งถูกดำเนินการเมื่อ Terminal ไม่อยู่ในเบื้องหน้า:


35
ผลข้างเคียงที่น่ากลัว (อย่างน้อยในเทอร์มินัล Lion) ของการมีสัญญาณกระดิ่งในเทอร์มินัลของคุณเมื่อมันอยู่ในพื้นหลังก็คือไอคอนบนเอกสารกระโดดขึ้นมาและคุณจะได้รับตัวบ่งชี้สีแดง ลองสิ่งนี้: "sleep 5; tput bel" เรียกใช้คำสั่งนั้นแล้วแท็บออกจากเทอร์มินัลเมื่อเสียงระฆังดังขึ้นคุณจะได้รับการแจ้งเตือน สิ่งที่ฉันกำลังมองหา!
BadPirate

ผู้ใช้ Iterm: สิ่งนี้ส่งเสียงบี๊บ แต่ไม่ได้สร้างตราแจ้งเตือน :(
Eric Hu

4
@EricHu -iTerm2 รองรับสิ่งนี้แล้ว - github.com/gnachman/iTerm2/commit/…
broofa

1
tputเป็นคำสั่งที่ดีกับตัวเลือกมากมาย คำสั่งนี้ทำงานบน Linux เช่นกัน
Drew Noakes

7
echo -e "\a"ยังใช้งานได้กับ OS X และน่าจะพกพาได้มากกว่า
wap26

139

การพิมพ์\aไม่ได้ผลสำหรับฉันเสมอ (MBA, 10.7.4) ฉันใช้สิ่งนี้แทน:

say "beep"

วิธีเดียวที่ใช้ได้ผลสำหรับฉัน (OSX 10.8) echo -e "\ a" หรือ printf "\ a" ไม่ทำงาน
Valeriy Van

13
ว้าว - คุณสามารถใส่อะไรลงไปในนั้นได้เช่น: พูดว่า "build เสร็จสมบูรณ์"
Pete

1
การใช้งานที่ดีที่สุดของมันที่ฉันเห็นในLittle Snitch - เมื่อฉันเรียกใช้แอปแบบเต็มหน้าจอและไม่เห็นคำเตือนป๊อปอัป LS ปกติมันsayเป็นตัวฉัน (เฉพาะเมื่อเป็นแบบเต็มหน้าจอ) นั่นคือแอปที่ถูกบล็อก ดีจริงๆ. เมื่อก่อนฉันต้องติดตามการเปลี่ยนแปลงของเว็บไซต์ในระหว่างวันดังนั้นแทนที่จะนั่งอยู่หน้าจอของฉันฉันก็เลยsayบอกให้ฉันรู้ว่าเกิดอะไรขึ้น (ข้อความที่ชัดเจนมีความหมายเท่านั้น
Andrei

@RandyHoward นี่เป็นเรื่องตลกจริงๆขอบคุณ! นี่คือรายการตัวเลือกอื่น ๆ หากใครสนใจ: pastebin.com/raw.php?i=czJ8MVW3
Andrei

7
ฮ่าฮ่า คุณสามารถทำให้ผู้คนสงสัยว่าพวกเขาได้ยินสิ่งต่าง ๆ หรือไม่โดยการใส่เสียงสองเสียงที่อยู่ติดกัน: วิ่งsay "Pay attention to me" &และsay -v Whisper "I own you" &ต่อเนื่องกัน
แมตต์

100

แท้จริงแล้วสิ่งต่อไปนี้มีประสิทธิภาพและค่อนข้างไพเราะ:

say -v Bells "dong dong dong"

[อัพเดต] ขออภัย Bells ไม่รวมอยู่ใน OS X ล่าสุดลอง:

say -v Victoria Do your homework!

ใช้สิ่งต่อไปนี้เพื่อสำรวจเสียง:

say -v \?

7
พูด -v แดเนียลแฮร์รี่พอตเตอร์แฮร์รี่พอตเตอร์
Madmartigan

1
หรือเพียงแค่: say -v Bells "beep".
kenorb

1
เสียงของ Beels ไม่มีใน macos ที่ทันสมัยของฉัน
Martin

ใช่ดูเหมือนว่าระฆังจะถูกลบออก ใช้say -v '?'เพื่อแสดงรายการเสียงทั้งหมด ใช้say -v '?' | egrep `echo $LANG | sed "s/\..*//"`เพื่อแสดงรายการเสียงสำหรับภาษาปัจจุบันของคุณ
k00ka

56

เขียนecho ^Gในทุบตี เพื่อสร้าง^Gกดแล้วctrl+vctrl+g


20
/usr/bin/printf "\a"และosascript -e "beep 1"ทำงานได้ดีพอ
abe

ใครสามารถอธิบายสิ่งที่echo ^Gกำลังทำ (เช่นคำสั่งนี้จะพูดอะไรในแง่ของคนธรรมดา)? นี่เป็นอักขระพิเศษที่ส่งเสียงบี๊บเตือน OSX หรือ มีอักขระพิเศษอื่น ๆ ที่เกี่ยวข้องหรือไม่ @mxhaack @ wongo888
Eric Jones

2
@EricJones ^Gเป็น "อักขระควบคุม" นั่นคืออักขระที่ไม่สามารถพิมพ์ได้ที่ / ถูกนำมาใช้เพื่อให้เกิดผลบางอย่างเช่นเรียกระฆัง / เสียงบี๊บ ดูบทความวิกิพีเดียนี้
coffeejunk


27

ในประเภทอาคาร:

echo -e "\ a"

พารามิเตอร์ -e บอก echo เพื่อประมวลผลอักขระที่หลีกเลี่ยง เนื่องจาก \ n เป็นอักขระบรรทัดใหม่ \ a จึงเป็นระฆังหนึ่ง (เหมือนกับ Ctrl + G)


ข้อดีอย่างหนึ่งของวิธีนี้ก็คือมันใช้งานได้ใน Linux (และอื่น ๆ ?) เช่นกัน ตามที่กล่าวไว้ที่อื่นคุณอาจลองprintf "\a"
rinogo

1
สำหรับผู้ที่รักระฆัง แต่ขี้เกียจเกี่ยวกับคำพูด, echo -e \\aการทำงานยัง
SeldomNeedy

26

เล่นเสียงเตือนโดยพลการด้วย afplay

ฉันประหลาดใจที่ไม่มีใครพูดถึงafplayนั่นคือโปรแกรมบรรทัดคำสั่งที่เล่นไฟล์เสียงตามอำเภอใจ มันมีมาตั้งแต่ OS X ดั้งเดิม (และ NeXTSTEP ถ้าหน่วยความจำของคุณยาวมาก)

ตัวอย่างเช่นคุณสามารถเรียกใช้จากบรรทัดคำสั่งหรือวางไว้ในสคริปต์:

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

คุณไม่ได้ จำกัด เสียงของระบบ ข้อดีอย่างหนึ่งของการใช้afplayคือคุณสามารถเลือกไฟล์เสียงของคุณเองเป็นการแจ้งเตือน ตัวอย่างเช่นคุณสามารถดาวน์โหลดไฟล์เสียงหนึ่งไฟล์เหล่านี้และเลือกรายการโปรดของคุณ

(คะแนนพิเศษถ้าคุณสามารถค้นหาบันทึกของ Teletype Model 33 bell!)



13

ภายใต้เทอร์มินัล OS X ให้ดำเนินการคำสั่ง: osascript -e 'beep'

ใช้ OSA (เปิดสคริปต์สถาปัตยกรรม) เทคโนโลยีที่จะบอก AppleScript beepดำเนินการคำสั่ง



7

printf "\a" ยังสามารถใช้งานในเครื่องเทอร์มินัลและจะเล่นเสียงเตือนที่ตั้งไว้


7

หากคุณต้องการบางอย่างฟังดูเหมือน "สำคัญ"

คุณสามารถใช้ได้

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

บน MacOS X จะต้องเปิดใช้งานตัวเลือก "การเตือนด้วยเสียง" (เทอร์มินัล / การตั้งค่า) เพื่อรับเสียง


1
จริงๆแล้วมันเรียกว่า "ออดเสียง" มันอยู่ในการตั้งค่า / ขั้นสูง
เดนิส Malinovsky


0

หากคุณติดตั้ง XCODE ไว้คุณสามารถส่งเสียงบี๊บ / ระฆังได้ ฉันไม่ได้คิดว่าฉันสามารถทำprintf "\a"ตัวละครทำงานในซี

มีวิธีหนึ่งในการทำให้โทนเสียงทำงานตามที่โปรแกรมรันเริ่ม XCODE เมนูแบบเลื่อนลงภายใต้ XCODE การตั้งค่าพฤติกรรมการทำเครื่องหมายเลือกช่อง SOUND เสียงแรกเลือกจากรายการหรือเพิ่มเสียง

นั่นเป็นวิธีหนึ่งในการทำ แต่ฉันเชื่อว่าเมื่อโปรแกรมทำงานเท่านั้น


1
Xcode "behaviours" จะถูกดำเนินการเฉพาะเมื่อเหตุการณ์ที่เกี่ยวข้องเกิดขึ้นใน Xcode พวกเขาไม่ได้ใช้ที่อื่นในระบบ
duskwuff -inactive-

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.