如何在Mac OS X 10.6中发出硬件蜂鸣声

elh*_*bre 166 macos bash applescript beep

我只是想让Mac OS X 10.6像开放式suse和其他发行版那样发出硬件蜂鸣声.我尝试了以下方法

终端 - > beep = -bash:beep:找不到命令

终端 - >说beep =语音说出来的嘟嘟声(不是硬件发出的嘟嘟声,但真棒;))

applescript - > beep = Macintosh bell(我想要一个硬件嘟嘟声!)

有人知道如何在bin/bash或applescript中发出硬件蜂鸣声吗?

bro*_*ofa 258

tput bel 适用于大多数贝壳.

在OS X中,如果终端不在前台时执行该命令,则此(以及使铃声关闭的任何其他命令)也会获得徽章:

  • 令人敬畏的副作用(至少在Lion终端)当你在后台有一个铃声响起时,文档上的图标会跳跃,你会得到一个红色指示,表示已完成某些事情.试试这个:"sleep 5; tput bel"运行该命令,然后跳出终端,当铃声响起时,你会收到警报.正是我在寻找的! (34认同)
  • `echo -e"\ a"`也适用于OS X,可能更便携 (6认同)
  • @EricHu -iTerm2现在支持这个 - https://github.com/gnachman/iTerm2/commit/ef4589f02404075760e5bec44d0ffa8fb0639265 (4认同)

And*_*rei 133

印刷\a并不总是对我有用(MBA,10.7.4).我改用它:

say "beep"
Run Code Online (Sandbox Code Playgroud)

  • 哇 - 你可以放任何东西,例如:说"build completed" (13认同)
  • 哈哈.你可以让人们想知道他们是否通过将两个声音叠加在一起听到事情:运行`说'注意我"&`和`说-v Whisper'我拥有你"和``连续. (7认同)

k00*_*0ka 96

事实上,以下是有效的,有点旋律:

say -v Bells "dong dong dong"
Run Code Online (Sandbox Code Playgroud)

[更新]不幸的是,Bells不再包含在最新的OS X中.尝试:

say -v Victoria Do your homework!
Run Code Online (Sandbox Code Playgroud)

使用以下方法探索声音:

say -v \?
Run Code Online (Sandbox Code Playgroud)

  • 说-v丹尼尔哈利波特哈利波特 (7认同)
  • 可以通过系统偏好设置一直到 Big Sur 重新添加铃声!系统偏好设置 > 辅助功能 > 语音内容 > 系统语音 > 自定义 (5认同)

mxh*_*ack 55

echo ^G在bash中.创建^G新闻ctrl+v然后ctrl+g.

  • `/ usr/bin/printf"\ a"`和`osascript -e"beep 1"`也运行得很好 (18认同)
  • echo -ne'\ 007' (7认同)
  • @EricJones `^G` 是一个“控制字符”,即一个不可打印的字符,用于引起某种效果,例如触发铃声/蜂鸣声。看看[这篇维基百科文章](https://en.wikipedia.org/wiki/Control_character#In_ASCII) (3认同)
  • 不,它禁用音频铃不起作用. (2认同)
  • 谁能解释一下“echo ^G”正在做什么(即这个命令用外行人的话来说是什么)?这是 OSX 中表示蜂鸣声的特殊字符吗?还有其他相关的特殊字符吗?@mxhaack @wongo888 (2认同)

小智 27

这将遍历所有声音(适用于约塞米蒂):

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
Run Code Online (Sandbox Code Playgroud)

  • 太好笑了,宝藏!:D (2认同)

Zap*_*hod 26

在终端类型中:

echo -e "\a"

-e参数告诉echo处理转义字符.由于\n是新行字符,\ a是钟形符号(与Ctrl + G相同).

  • 对于那些喜欢钟声但对引号懒惰的人来说,`echo -e \\a` 也适用。 (2认同)

dus*_*uff 23

macOS中没有"硬件蜂鸣声".

您正在考虑的功能是非常古老的(20世纪90年代以前)IBM PC兼容硬件的工件.在大多数计算机都有声卡之前,大多数机器都有一个小型扬声器或压电蜂鸣器连接到定时器芯片的一个通道.这可用于生成简单的音调或哔哔声.即使在许多计算机集成声卡之后,计算机将此输出路由到单独的内部扬声器仍然很常见.最近,许多计算机,尤其是笔记本电脑,已将此功能集成到板载声卡中.

(如果您对PC扬声器接口如何工作的技术细节感到好奇,这里有更多细节.)

Apple硬件从未存在过这种硬件.唯一可用的音频输出是通过声卡,macOS中唯一的系统蜂鸣声是用户的警报声.

  • 7年后,搜索结束了^^谢谢你在互联网上的狗.但我仍然喜欢人们回答这个问题的所有创造性方式,所以请继续关注! (4认同)
  • @IanDunn当然可以 - 仔细阅读第一段和最后一段.问题是要求一些不存在的东西. (3认同)
  • 终端铃声比 90 年代的 PC 早近 100 年:https://en.wikipedia.org/wiki/Bell_character (2认同)

fea*_*ool 19

播放任意警报声 afplay

我很惊讶没人提到afplay:那是播放任意声音文件的命令行程序.自从OS X的原始版本(和NeXTSTEP,如果你的记忆很长)以来它一直存在.

例如,您可以从命令行运行它或将其放在脚本中:

$ afplay /System/Library/Sounds/Ping.aiff
Run Code Online (Sandbox Code Playgroud)

你不仅限于系统声音; 使用的一个优点afplay是您可以选择自己的声音文件作为警报.例如,您可以下载其中一个声音文件并选择您喜欢的.

(如果你能找到电传模型33铃的录音,可以加分!)

  • `afplay /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/AnimationFlyToDownloads.aiff` 是一个打字机铃声,默认安装在 macOS 12.3 上(或者随 Xcode 一起提供)。 (2认同)

Alb*_*ert 13

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

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


Ale*_*lan 10

printf "\a"
Run Code Online (Sandbox Code Playgroud)

如果你看一下man printf,它会给你一个转义字符列表,包括\a:

\a      Write a <bell> character.
Run Code Online (Sandbox Code Playgroud)


mor*_*des 8

这对我有用(mac os 10.14.6)

echo "\x07"  
Run Code Online (Sandbox Code Playgroud)


小智 7

printf "\a" 也适用于终端,并将播放设置的警报声.


Ned*_*udi 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
Run Code Online (Sandbox Code Playgroud)

:)