播放声音,任何声音[关闭]


43

您的程序必须使计算机发出声音,任何声音。

最短的代码获胜,不得早于第一个有效答案后的10天之内。如果有平局,则较早提交的一方获胜。

  • 该程序应在合理的,不太常见的个人计算机上运行。
  • 根据很多设置,打开弹出窗口,消息框等(例如在网页上)等不计在内,因为它们可能会或可能不会发出声音。
  • 仅在控制台上输入错误的命令或无效字符并接收到警告蜂鸣声就不算在内,就像编译器/解释器/ OS在错误或崩溃时发出蜂鸣声也不算在内。您的代码必须是有效的程序。

1
^ G aka系统铃声或操作系统蜂鸣声在许多系统上也可能被抑制(例如,切换为可见的“铃声”),并且也应像弹出声音一样进行处理:无效的解决方案。
yeti

如果xterm使用可见的铃声,则向终端打印“ \ a”的每个程序都会失败。
kernigh 2014年

19
rm /会引起很多尖叫。
cjfaure

我的左风扇已经死了一段时间了。那将是一个有效的0位答案吗?
爱德华2015年

1
我认为这个问题应该重新讨论。取决于风扇旋转或CD托盘打开的笑话答案无效,因为问题是“播放声音”。对我来说似乎很清楚,输出需要来自扬声器,是程序的结果,而不是操作系统,用户或硬件的结果。
mbomb007 '16

Answers:


21

dc,2个字符

这个也打印铃铛字符:

7P

运行$ dc <<< 7P或保存7P到文件并运行$ dc file

也:

Befunge,2个字符

类似但无限循环和蜂鸣:

7,

1
您能详细说明一下什么语言吗?我从未听说过它,而且它的名称太短了(并且是一个非常常见的缩写),无法有效搜索。
vsz 2012年

3
从手册页:dc is a reverse-polish desk calculator which supports unlimited precision arithmetic.-据我所知,它已包含在大多数linux / unix发行版中。
daniero 2012年

几个例子,如果你有兴趣:123。看到其他一些人也在这里使用它。
daniero 2012年

9
@vsz dc当然是完整的,因为像ghc这样的更好的计算器都应该如此。
FUZxxl 2012年

4
可以禁用所有声音。调低音量即可。
daviewales

49

重击(13)

sudo rm -rf /

硬盘速度越快,声音越好。请勿使用SSD。
(不要在家中尝试此操作,sudo rm -rf /会擦除硬盘驱动器上的所有内容)


7
我认为应该附带一个免责声明-“不要在家中尝试”:D
daniero 2012年

22
是啊,这声音当您的计算机[R EADS你 AIL [R被真正˚F AST(室射频)。
FUZxxl 2012年

70
等等,你弄错了。任务是使计算机发出声音,而不是用户发出声音……尽管我不得不承认尖叫声非常令人印象深刻……
不再转动

4
没有它--no-preserve-root,除了在古老的系统上,它什么都不做。
nyuszika7h 2014年

1
@ nyuszika7h与2005
。– Jwosty 2014年

44

* sh(5)

eject

(如果没有CD / DVD或类似驱动器,则不起作用。)


我喜欢这一个。但是,在我的Mac(Mac OS X)上,找不到该命令:sh: eject: command not found
Nicolas Barbulesco 2014年

3
尼古拉斯:对,在Mac上,弹出“命令”似乎要短得多:(:
mykhal

@ mykhal -如果你走这条路,我有所有的现代Mac电脑工作的解决方案:🔊
萨科Barbulesco

1
对于OpenBSD,此操作将失败。usage: eject [-t] device设备参数不是可选的!在这里工作的最短eject cd0字符为9个字符。另外,如果驱动器没有托盘(与插槽装载驱动器一样),则eject cd0除非驱动器中有光盘,否则不会发出噪音。
kernigh 2014年

1
kernigh:你是对的。另一方面,它可能会在许多没有声卡或扬声器的系统上成功,而其他大多数解决方案也会失败
mykhal 2014年

37

Befunge,0

如果我正确阅读规格,这是一个无尽的循环。
无休止的循环=您将听到CPU散热器加速旋转的声音。


27

sh 7

w|aplay

发出短促的声音。

也是7:

aplay *

部件

另一个非响铃解决方案。结果二进制文件仅为15个字节。

mov al, 182
out 43h, al
out 42h, al
mov al, 16
out 42h, al
mov al, 3
out 61h, al
ret

与组装nasm sound.asm -o sound.com。可以尝试使用dosbox sound.com


9
+1不仅代表依靠终端将BEL字符转换为哔声。
Ilmari Karonen


23

bash(Mac OS X)5

say a

尽管从风格上讲,我更喜欢更长的时间:

say 'Hello, Code Golf !'

1
如果Mac设置为英语,则也可以这样做say 'hahahahahahahahahahahahahahahahahahahahahahahahahaj'
tomsmeding 2012年

21
噢...我可以通过ssh进入osx盒...
展位,

1
此命令在AppleScript中有效。我不知道它也可以在终端中工作。ssh有趣!
Nicolas Barbulesco 2014年

1
在Linux上的推论:espeak...
daviewales


16

Python 3.3.3,一个字符

<bell character>

错误消息将包含一个响铃字符,从而引起声音。

Python 3.3.3,10个字符

如果不允许出现错误,则此解决方案将不会输出错误消息,而只会输出声音。

print('<bell character>')

为什么低级投票,此代码实际上会发出声音。

1
1个字符O_o不错+1
Timtech


12

Java-222

足够的铃声或预定义的提示音功能,就可以发出真实的声音:)

import javax.sound.sampled.*;class S{static{try{SourceDataLine
l=AudioSystem.getSourceDataLine(new
AudioFormat(4000,8,1,0<1,0>1));l.open();l.start();for(byte
i=9;i!=0;i+=9)l.write(new byte[]{i},0,1);}catch(Exception e){}}}

18
爪哇真正吸引高尔夫的人
2013年

1
@boothby并非总是如此,检查
aditsu

20
好的,除了挑战是要犯错误以外,Java很吸引高尔夫。;)
展位


2
@JopVernooij不是高尔夫,那是一场不受欢迎的人气竞赛。
Jwosty 2014年

11

DOS提示/ DOS脚本

a:

需要3.5英寸软盘驱动器:)


这是什么魔术?
seequ 2014年

1
这会导致DOS尝试从软盘读取数据,这会引起声音。但是,这需要3.5英寸的软盘驱动器是错误的; 5.25英寸的软盘驱动器甚至更好。
celtschk 2014年

好的 5.25英寸通常不是b:吗?
svidgen 2014年

1
尝试使用包含有缺陷磁盘的CD驱动器,也可以很好地工作:)
Alejandro 2014年

DOS中的驱动器号取决于驱动器连接到电缆的哪个连接器(在较新的计算机上,是BIOS设置)。我的第一台电脑只有一个5.25"驱动器,我不得不将其连接主设备(使其成为驱动),因为它不能从从启动。
丹尼斯

9

J(2)

a.

这会打印从0到255的所有字符,包括铃铛。

如果必须在不打印其他任何内容的情况下执行此操作,则该字符为4个字符:

7{a.

9

Pascal:30个字符

uses Crt;begin
Sound(999)
end.

这利用了关于声音持续时间的任何规则的缺乏的优势。因此,只需打开999 Hz的扬声器,然后打开它即可。(至少在调用另一个程序Nosound或关闭计算机之前。)


程序退出后声音仍在尖叫吗?我喜欢这一个 !:-)
Nicolas Barbulesco 2014年

@NicolasBarbulesco,完全是。那是DOS上所有程序的正常行为,包括那些用C或汇编语言编写的程序。
manatwork 2014年

-2:更改至9 Hz: Sound(9)
暴民埃里克(Erik the Outgolfer)'16

@EʀɪᴋᴛʜᴇGᴏʟғᴇʀ,很难证明声音实际上是产生的。人类听觉的频率范围
manatwork'Jul

@manatwork好吧,添加一个相同的代码,但可以听到另一个频率。由于代码相同,因此可以证明。(数字仅发生变化)
暴民埃里克(Erik the Outgolfer

8

Mathematica 6

这将引起系统提示音。在我的计算机上,当前是a声。

Beep[]

8

Bash,22岁

早在90年代,我的兄弟就教我这个-用于计算机实验室,在那里有人可以远程访问并且知道一个人在所述实验室中是一个人。这些天的孩子不会知道计算机实验室是什么...但是,哦,对了。

cd /dev;cat sda1>audio

1
bash: audio: Permission denied什至在sudo下运行。:(
13年

2
自2006年起,它就已在Debian上运行。我无法在Ubuntu盒子上使用它:*(
13年

1
我认为您的意思是dsp,而不是音频。参见以下示例,我使用/ dev / random编写了一个类似的示例

3
cat /dev/sda | aplay
TheDoctor 2014年

1
@TheDoctor或aplay</dev/sda(UUOC ;
Digital Trauma

7

猫/类型/ PHP 1

这实际上是多语种。它可以在cat(或称为Microsoft Cat的type)和PHP中运行。

$ xxd file
0000000: 07                                       .

执行:

$ xxd -r > file
0000000: 07                                       .
^D
$ cat file # cat could be replaced with type (on Windows) or with php

程序是什么?如何运行呢?这还不清楚。
Nicolas Barbulesco 2014年

@NicolasBarbulesco:程序是一个字节(\x07),但是由于它是二进制文件,因此无法在此处粘贴。您可以使用,在PHP CLI中运行它php
Konrad Borowski14年

不清楚。但这有效!用cat。诀窍是ASCII char 7“ bell”。
Nicolas Barbulesco 2014年

那不是认真的尝试。
user48538,2013年




5

DOS 5

间接的,需要用户的配合。

pause

6
运行程序。合作。听。
展位号:

2
您必须按一个键...才能发出声音。@mana他说这是间接的- pause没有发出声音,您做到了。
13年

2
@Riking,这与要求中“您的程序必须使计算机发出声音”的方式相符合吗?
manatwork

5
我不了解那些无法思考的难题网站上的程序员。
2013年

4
我不是在批评你的答案。我在批评这个问题。一个毫无意义的问题显然会得到毫无意义的答案。这样,您的答案就比其他任何愚蠢问题的答案都有意义。所以,我给你+1。


4

Python 9个字符


执行时产生蜂鸣声。

print'\a'

1
如果将其替换\a为实际的响铃字符(ASCII代码7),则可以将其缩短为8个字符。
flornquake

但是如何借助值7进行打印?
Anbarasan

1
您可以使用键入铃声字符到编辑器中Alt+07。或者,您可以运行此代码段以使用8个字符的解决方案创建python文件:open("play_a_sound.py", 'w').write("print'"+chr(7)+"'")
flornquake 2013年

现在明白了。谢谢 !
Anbarasan


4

Mathematica 7

使用Mathematica的内置文本到语音功能。

Speak@x

会说“ x”


4

最佳游戏-9

top 有节奏!

top|aplay

定期显示有时不能足够快地馈入声音接收器,但aplay在蹲了一点之后仍会继续... :-)

...可以在许多Linux系统上运行...

奖金:

运行此命令时,键入“ s 1 ENTER”以每秒获得更多节拍。:-)

派对!!!\ o /


:D
洛克人


3

Tcl,1个字符

-

-用贝尔字符代替。
它将打印响铃字符作为错误消息的一部分。两次。

如果您认为这不是有效的程序,请将其添加到bell char之前:

proc \007 {} {};

这是一个有效的程序,我只是没有定义命令,因为我喜欢错误消息。


这是基于某些Tcl 8.6功能吗?在Tcl 8.5中,我得到了不同的结果:pastebin.com/bh73UF6F还是在Windows上?
manatwork 2013年

否。第二部分应显示这是一个有效的Tcl文件。并且它应该发出2声哔声(错误消息包含要执行两次的命令)。调用不存在的命令对于Tcl来说不是错误,只有找不到时才是。(例如parray,首次使用时已加载)
Johannes Kuhn

哎呀。我误会了你 我以为你的意思是,它也应该在proc声明中响起。(关于提示音计数,可能我的终端机正在执行某些操作,puts [string repeat ".\a" 10]显示10个点,但仅发出哔声一次。)
manatwork


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.