소리, 모든 소리를 재생합니다.


43

당신의 프로그램은 컴퓨터가 소리를 내도록해야합니다.

첫 번째 유효한 답변 후 10 일 이내에 가장 짧은 코드가 승리합니다. 동점 인 경우, 더 빨리 제출 한 사람이 승리합니다.

  • 이 프로그램은 드물지 않은 합리적인 개인용 컴퓨터에서 실행되어야합니다.
  • 팝업, 메시지 상자 등 (예 : 웹 페이지)을 열면 많은 설정에 따라 소리가 나거나 들리지 않을 수 있으므로 계산되지 않습니다.
  • 콘솔에 잘못된 명령이나 유효하지 않은 문자를 입력하고 경고음을 수신하는 것은 오류나 충돌시 컴파일러 / 통역사 / OS 경고음이 울리는 것처럼 계산되지 않습니다. 코드는 유효한 프로그램이어야합니다.

1
^ 일명 시스템 벨 또는 OS 경고음은 많은 시스템에서 억제 될 수 있으며 (예 : 눈에 보이는 "벨"로 전환됨) 포 푸스 소리처럼 처리해야합니다. 유효한 솔루션이 아닙니다.
yeti 2016 년

xterm이 가시적 벨을 사용하면 터미널에 "\ a"를 인쇄하는 모든 프로그램이 실패합니다.
kernigh 2016 년

19
rm /비명을 많이 일으킬 것입니다.
cjfaure

왼쪽 팬이 시끄럽게 죽어 가고 있습니다. 유효한 0 비트 답변입니까?
Édouard

1
이 질문을 다시 열어야한다고 생각합니다. "소리 재생"이라는 질문에 팬 회전 또는 CD 트레이 열기에 의존하는 농담 답변이 유효하지 않습니다. OS, 사용자 또는 하드웨어가 아닌 프로그램의 결과로 스피커에서 출력을 가져와야한다는 것이 분명합니다.
mbomb007

답변:


21

dc, 2 자

이것도 종 캐릭터를 인쇄합니다.

7P

실행 $ dc <<< 7P또는 저장 7P파일을 실행에 $ dc file.

또한:

Befunge, 2 자

비슷하지만 무한 반복 및 경고음 :

7,

1
어떤 언어인지 자세히 설명해 주시겠습니까? 나는 그것에 대해 들어 본 적이 없으며 그 이름이 너무 짧아서 매우 일반적인 약어로 효율적으로 검색 할 수 없습니다.
vsz

3
맨 페이지에서 : dc is a reverse-polish desk calculator which supports unlimited precision arithmetic.-내가 아는 한 대부분의 리눅스 / 유닉스 배포판에 포함되어 있습니다.
daniero

관심이있는 경우 몇 가지 예 : 1 , 23 . 다른 사람들도 여기에서 사용하는 것을 보았습니다.
daniero

9
@vsz dc는 ghc와 같은 더 나은 계산기가되어야하므로 튜링 완료입니다.
FUZxxl

4
모든 소리를 비활성화 할 수 있습니다. 볼륨을 낮추십시오.
daviewales

49

배쉬 (13)

sudo rm -rf /

하드 드라이브가 빠를수록 소리가 좋아집니다. SSD에서는 작동하지 않습니다.
(집에서 시도하지 말고 sudo rm -rf /하드 드라이브의 모든 내용을 지 웁니다)


7
나는 "면책을 집에서 시도하지 마십시오"라는 면책 조항을 제공해야한다고 생각합니다. : D
daniero

22
그래, 그 때 컴퓨터 사운드의 R의 EADS 당신 m의 괴롭히다의 R eally F AST (RF RM은).
FUZxxl

70
잠깐, 틀렸어 작업은 만드는 것입니다 컴퓨터 나는 그 비명은 매우 인상적이었다 인정해야하지만 ... ... 농산물을 소리가 아닌 사용자
차례에 중단 counterclockwis

4
--no-preserve-root고대 시스템을 제외하고는 없이는 아무것도하지 않습니다 .
nyuszika7 시간

1
@ nyuszika7h 2005 년 이전과 같이 고대.
Jwosty

44

* sh (5)

eject

CD / DVD 또는 유사한 드라이브가없는 경우 작동하지 않습니다.


난이게 좋아. 그러나 내 Mac (Mac OS X)에서는 다음 명령을 찾을 수 없습니다.sh: eject: command not found
Nicolas Barbulesco

3
니콜라스 : 맞습니다. Mac에서, "명령"꺼내기 훨씬 더 짧은 것 같습니다 : (:
mykhal

@ mykhal —이 방법으로 가면 모든 최신 Mac에서 작동하는 솔루션이 있습니다. 🔊
Nicolas Barbulesco

1
이것은 OpenBSD에서 실패합니다. usage: eject [-t] device장치 인수는 선택 사항이 아닙니다! 여기서 가장 짧은 것은 eject cd09 자입니다. 또한 드라이브에 트레이가없는 경우 (슬롯 로딩 드라이브와 같이) 드라이브 eject cd0에 디스크가 없으면 소음이 없습니다.
kernigh 2016 년

1
커니 : 네 말이 맞아. 반면에 사운드 카드 나 스피커가없는 많은 시스템에서 성공할 수 있습니다. 대부분의 다른 솔루션이 실패 할 것입니다.
mykhal

37

베 펀지, 0

사양을 올바르게 읽으면 무한 루프입니다.
무한 루프 = CPU 쿨러 회전 소리가 들립니다.


27

쉬 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
BEL 문자를 경고음으로 변환하기 위해 터미널에만 의존하는 것이 아니라 +1입니다.
Ilmari Karonen

25

brainfuck : 8

+++++++.

벨 문자를 인쇄합니다.


16
+1 BF 솔루션은 C보다 이해하기
쉽고

15
두뇌 성교는 C보다 정신적으로 소화하기가 더 쉽습니다 ... 우리는이 사건에서 배워야합니다.
Camilo Martin

23

bash (Mac OS X) 5

say a

문체 적으로는 다소 길지만 선호합니다.

say 'Hello, Code Golf !'

1
Mac이 영어로 설정되어 있다면 할 수도 있습니다 say 'hahahahahahahahahahahahahahahahahahahahahahahahahaj'.
tomsmeding

21
우 .. 난 osx 상자에 ssh 액세스 권한이 있습니다 ...
boothby

1
이 명령은 AppleScript에서 작동합니다. 터미널에서도 작동한다는 것을 몰랐습니다. ssh와 함께 재미있다!
Nicolas Barbulesco 2016 년

1
리눅스에 대한 추론 : espeak...
daviewales


16

파이썬 3.3.3, 한 문자

<bell character>

오류 메시지에 벨 문자가 포함되어 소리가납니다.

파이썬 3.3.3, 10 자

오류가 허용되지 않으면이 솔루션은 오류 메시지를 출력하지 않고 소리 만 출력합니다.

print('<bell character>')

downvote 인 이유는이 코드가 실제로 사운드를 생성하는 것입니다.

1
1 char O_o nice +1
Timtech

13

골프 스크립트 3

'.'

( .실제로 BELL 캐릭터입니다)

위 코드의 HEX 표현은 다음과 같습니다.

27 07 27

2
아야, Golfscript가 다시 파업!
vsz

12

자바-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
자바는 골프를
좋아한다

1
항상 @boothby 확인 밖으로
aditsu

20
문제는 오류를 던질 때를 제외하고 Java는 골프를 좋아합니다. ;)
부스


2
@JopVernooij 그건 골프가 아니고, 언더 핸드 인기 콘테스트입니다.
Jwosty

11

DOS 프롬프트 / DOS 스크립트

a:

3.5 "플로피 드라이브 필요 :)


이것이 무슨 마법입니까?
seequ

1
DOS가 플로피에서 읽히려고하면 소리가납니다. 그러나이 드라이브에 3.5 "플로피 드라이브가 필요하다는 것은 잘못된 것입니다; 5.25"플로피 드라이브가 더 잘 작동합니다.
celtschk 2016 년

찬성. 5.25 "가 일반적으로 b:
그렇지

1
작동, 결함이있는 디스크 내부에있는 CD 드라이브를 시도 위대한 너무 :)
알레한드로

DOS의 드라이브 문자는 드라이브가 연결된 케이블의 커넥터 (및 최신 시스템의 BIOS 설정)에 따라 다릅니다. 첫 번째 컴퓨터에는 5.25 인치 드라이브 만 있고 슬레이브로 부팅 할 수 없으므로 마스터 (A 드라이브) 연결해야했습니다.
Dennis

9

J (2)

a.

벨을 포함하여 0에서 255까지의 모든 문자를 인쇄합니다.

다른 것을 인쇄하지 않고 해야하는 경우 4 자입니다.

7{a.

9

파스칼 : 30 자

uses Crt;begin
Sound(999)
end.

사운드 지속 시간에 관한 규칙이 없다는 장점이 있습니다. 스피커를 999Hz로 켜면됩니다. (적어도 다른 프로그램이 호출 Nosound되거나 컴퓨터가 꺼질 때까지 )


그리고 프로그램이 종료 된 후에도 소리가 계속납니다. 난이게 좋아 ! :-)
Nicolas Barbulesco 2016 년

@NicolasBarbulesco, 정확히. C 나 어셈블리로 작성된 프로그램을 포함하여 DOS에있는 모든 프로그램의 정상적인 동작이었습니다.
manatwork

-2 : 9Hz로 변경 : Sound(9).
Outgolfer Erik

@ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ, 소리가 실제로 생성되는 것을 증명하기는 어려울 것입니다. 인간의 청각의 주파수 범위
manatwork

@manatwork 음,들을 수있는 다른 주파수를 가진 동일한 코드를 추가하십시오. 코드가 동일하기 때문에 증명할 수 있습니다. (숫자 만 변경됨)
아웃 골퍼 Erik 14

8

매스 매 티카 6

시스템 경고음이 울립니다. 내 컴퓨터에서는 현재 처프입니다.

Beep[]

8

배쉬, 22

90 년대에 오빠는 저에게 이것을 가르쳐주었습니다. 컴퓨터 실험실에서 원격 접근이 가능하고 실험실에서 혼자있는 사람을 알고있는 컴퓨터 실에서 사용하는 것이 었습니다. 요즘 아이들은 컴퓨터 실이 무엇인지 모르지만 ...

cd /dev;cat sda1>audio

1
나는 bash: audio: Permission denied심지어 sudo에서 달렸다. :(
Riking

2
이것은 2006 년 현재 데비안에서 작동했습니다. 우분투 상자에서는 작동하지 않습니다 : * (
boothby

1
오디오가 아니라 dsp를 의미한다고 생각합니다. / dev / random을 사용하여 작성한 비슷한 예는 아래를 참조하십시오

3
또는cat /dev/sda | aplay
TheDoctor

1
@TheDoctor 또는 aplay</dev/sda(UUOC ;-))
디지털 외상

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 2016 년

@NicolasBarbulesco : 프로그램은 1 바이트 ( \x07)이지만 바이너리이기 때문에 여기에 붙여 넣을 수 없습니다. 을 사용하여 PHP CLI에서 실행할 수 있습니다 php.
Konrad Borowski

명확하지 않습니다. 그러나 작동합니다! 로 cat. 트릭은 ASCII 문자 7 "bell"입니다.
Nicolas Barbulesco 2016 년

그것은 심각한 시도가 아닙니다.
user48538

7

brainfuck, 5 바이트

+[.+]

벨을 포함한 모든 문자를 인쇄합니다



5

루비, 7

$><<?\a

Ruby 1.9.3을 사용하여 Windows에서 테스트되었습니다.


5

도스, 5

간접적으로 사용자 협력이 필요합니다.

pause

6
프로그램을 실행하십시오. 협력. 들리다.
boothby

2
소리를내는 키를 눌러야합니다. @mana 그는 간접적이라고 말했지만 pause소리를 내지 않았다.
Riking

2
@Riking, 요구 사항의 일부인 " 프로그램 에서 컴퓨터가 소리를 내도록해야 합니다 " 를 준수하는 방법은 무엇입니까?
manatwork

5
상자 밖에서 생각할 수없는 퍼즐 사이트의 프로그래머는 이해할 수 없습니다.
부스

4
나는 당신의 대답을 비판하지 않았습니다. 나는 그 질문을 비판했다. 무의미한 질문은 분명히 무의미한 답변을 얻습니다. 그러면 당신의 대답은 그 멍청한 질문에 대한 다른 대답만큼이나 의미가 있습니다. +1을드립니다.


4

파이썬 9 문자


실행될 때 경고음을냅니다.

print'\a'

1
\a실제 벨 문자 (ASCII 코드 7)로 바꾸면이 문자를 8 자로 줄일 수 있습니다 .
flornquake

그러나 값 7의 도움으로 인쇄하는 방법은 무엇입니까?
Anbarasan

1
으로 벨 문자를 편집기에 입력 할 수 있습니다 Alt+07. 또는이 스 니펫을 실행하여 8 자 솔루션으로 파이썬 파일을 만들 수 있습니다.open("play_a_sound.py", 'w').write("print'"+chr(7)+"'")
flornquake

알았어 감사 !
Anbarasan

4

애플 스크립트 (4 자)

beep

OS X의 기본 비프 음이 재생됩니다.


4

매스 매 티카 7

Mathematica의 내장 된 텍스트 대 음성 기능 사용.

Speak@x

"x"라고 말할까요?


4

탑 & 플레이-9

top 리듬이 있습니다!

top|aplay

주기적 디스플레이는 때때로 사운드 싱크를 충분히 빨리 공급하지 않지만 aplay조금 움켜 쥐고 나서 계속됩니다 ... :-)

... 이것은 많은 리눅스에서 실행될 것입니다 ...

보너스:

이것을 실행하는 동안 "s 1 ENTER"를 입력하면 초당 더 많은 비트를 얻을 수 있습니다. :-)

파티 !!! \영형/


이것은 순수한 천재입니다 ... : D
Mega Man


3

TCL, 1 문자

-

-벨 숯으로 교체하십시오 .
오류 메시지의 일부로 벨 문자를 인쇄합니다. 두번.

그리고 이것이 유효한 프로그램이 아니라고 생각하면 종 char 앞에 이것을 추가하십시오.

proc \007 {} {};

그것은 유효한 프로그램이며, 오류 메시지를 좋아하기 때문에 명령을 정의하지 않았습니다.


그것은 Tcl 8.6 기능을 기반으로합니까? Tcl 8.5에서 다른 결과를 얻었습니다. pastebin.com/bh73UF6F 또는 Windows를 사용하고 있습니까?
manatwork

두 번째 부분은 이것이 유효한 Tcl 파일임을 보여 주어야합니다. 그리고 경고음이 2 배가되어야합니다 (오류 메시지에는 두 번 실행될 명령이 포함되어 있습니다). 존재하지 않는 명령을 호출하는 것은 Tcl에 대한 오류가 아니며 찾을 수없는 경우에만 해당됩니다. (예 : parray처음 사용시로드 됨)
Johannes Kuhn

죄송합니다. 나는 당신을 오해했다. 나는 당신 proc도 그 선언으로 경고음을 내야한다는 것을 알았 습니다. (경고음 수와 관련하여 아마도 터미널에 puts [string repeat ".\a" 10]10 개의 점이 표시되지만 한 번만 경고음이 울립니다.)
manatwork

3

C : 19

main(){puts("\a");}

편집 : "풋"에 헤더 파일이 필요하지 않습니다


2
#include<: 사이의 공백을 제거 할 수 있습니다.
tomsmeding

puts (char *); main () {puts ( "\ a");}은 더 작은 IMHO입니다.
FUZxxl

을 제거하면 #include됩니다.
우고 렌

1
@FUZxxl 코드 크기에 대한 의견을 어떻게 가질 수 있습니까?
Doorknob

@DoorknobofSnow 첫 번째 수정 때문에?
FUZxxl

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.