如何在Mac OS X 10.6中发出硬件提示音


174

我只希望Mac OS X 10.6像在开放使用和其他发行版中一样发出硬件提示音。我尝试了以下方法

终端->哔声= -bash:哔声:命令未找到

终端->发出哔声=声音会发出哔声(不是硬件哔声,而是很棒的声音;))

applescript->哔声= Macintosh铃声(我想要硬件哔声!)

有人知道如何在bin / bash或applescript中发出硬件提示音吗?


3
@elhombre,是什么让您认为Mac OS X甚至可以做到这一点?
卡尔·诺鲁姆

19
尝试:如果找不到任何内容,请说“哔”一声,我能想到的最接近。
PatrikBjörklund10年

30
@Patrik-+1,很好。 printf "\a"如果有帮助,则发出操作系统提示音。
卡尔·

9
@Carsten:Mac PC。PC =个人计算机。它不是IBM(兼容)PC。
Paul R

2
基于Intel的MAC IBM兼容的PC
Nathan Garabedian 2012年

Answers:


24

macOS中没有“硬件提示音”。

您正在考虑的功能是非常老的(1990年代以前)IBM PC兼容硬件的产物。在大多数计算机装有声卡之前,大多数计算机都将小型扬声器或压电蜂鸣器连接到计时器芯片的一个通道。这可以用来产生简单的声音或蜂鸣声。即使在许多计算机集成了声卡之后,计算机将此输出路由到单独的内部扬声器的时间仍很普遍。最近,许多计算机,特别是笔记本电脑,已将此功能集成到了板载声卡中。

(如果您对PC扬声器接口的工作方式的技术细节感到好奇,请在此处查看更多细节。)

在Apple计算机中从来没有这种硬件。唯一可用的音频输出是通过声卡,而macOS中唯一的系统提示音是用户的警报声音。


4
7年后,搜索结束了。^^谢谢Dog在Internet上。但是我仍然喜欢人们回答问题的所有创造性方式,因此请继续关注!
elhombre

这是一个有趣的琐事,但并不能真正回答问题……
Ian Dunn

3
@IanDunn当然可以-仔细阅读第一和最后一段。问题是要寻找不存在的东西。
duskwuff -inactive

1
嗯,您是对的,我没有仔细阅读过OP的问题和评论,并认为他们只是想要声音本身,而不管它是通过软件还是通过硬件发出的。我的错。
伊恩·邓恩

1
终端钟比90年代的PC早了近100年:en.wikipedia.org/wiki/Bell_character
kwerle

270

tput bel 适用于大多数外壳。

在OS X中,如果在Terminal不在前台的情况下执行了该命令(以及使铃声响起的任何其他命令),也会获得徽章:


34
当终端在后台响起钟声时(至少在Lion终端中),这是一个令人敬畏的副作用,即文档上的图标会跳转,并且您会看到一个红色指示灯,表示已完成某件事。尝试以下操作:“ sleep 5; tput bel”运行该命令,然后跳出终端,当铃声响起时,您会收到警报。正是我想要的!
BadPirate 2012年

Iterm用户:这会发出哔哔声,但不会创建警报徽章:(
Eric Hu

4
@EricHu -iTerm2现在支持这一点- github.com/gnachman/iTerm2/commit/...
broofa

1
tput是一个有很多选择的好命令。此命令在Linux上也适用。
Drew Noakes 2014年

6
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
哇-您可以在其中放任何东西,例如:说“构建完成”
皮特

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"

[更新]很遗憾,最新的OS X中不再包含Bells。请尝试:

say -v Victoria Do your homework!

使用以下内容探索声音:

say -v \?

7
说-v丹尼尔·哈利·
波特哈利·

1
或者只是:say -v Bells "beep"
kenorb '16

1
我最新的macOS上没有Beels声音。
马丁

是的,钟声似乎已被移走。使用say -v '?'列出所有的声音。使用say -v '?' | egrep `echo $LANG | sed "s/\..*//"`以列表的声音为你的当前语言。
k00ka

56

echo ^Gbash 写。创建^G新闻ctrl+v,然后ctrl+g


19
/usr/bin/printf "\a"并且osascript -e "beep 1"工作也足够好

谁能解释echo ^G正在做什么(即,该命令用外行的话说了什么)?这是对OSX发出哔哔声的特殊字符吗?还有其他相关的特殊字符吗?@mxhaack @ wongo888
埃里克·琼斯

2
@EricJones ^G是“控制字符”,即/不可打印的字符,用于/已引起某种效果,例如触发铃声/哔哔声。看一下这篇维基百科文章
coffeejunk

30

这将遍历所有声音(适用于优胜美地):

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
搞笑,这样的宝藏!:D
idleherb

27

在终端中输入:

回声-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是您可以选择自己的声音文件作为警报。例如,您可以下载这些声音文件之一,然后选择您喜欢的文件

(如果您能找到电传打字机33型钟的录音,则加分!)


打字机铃可能已经够近了。
Andriy Makukha

13

在OS X终端下,执行命令: osascript -e 'beep'

使用OSA(开放脚本体系结构)技术告诉AppleScript执行命令beep


10
printf "\a"

如果您查看man printf,它会为您提供转义字符列表,包括\a

\a      Write a <bell> character.

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

:)




0

如果您已安装XCODE,则可以发出哔声/铃声。我还没有想到我可以使printf "\a"角色在C语言中正常工作。

有一种方法可以使声音在程序运行时起作用,启动XCODE,在XCODE,首选项,行为下的下拉菜单,选中第一个复选框PLAY SOUND,从列表中选择或添加声音。

我认为这是一种方法,但是只有程序运行时,我才能相信。


1
Xcode“行为”仅在Xcode中发生相应事件时执行。它们不适用于系统中的其他位置。
duskwuff -inactive-

0

osascript -e 'tell application "System Events" 发出哔声

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.