เล่นเสียงเสียงใด ๆ [ปิด]


43

โปรแกรมของคุณต้องทำให้คอมพิวเตอร์สร้างเสียงหรือเสียงใด ๆ

รหัสที่สั้นที่สุดจะชนะไม่น้อยกว่า 10 วันหลังจากคำตอบที่ถูกต้องครั้งแรก หากมีการเสมอกันคนที่ส่งเร็วจะชนะ

  • โปรแกรมควรทำงานบนคอมพิวเตอร์ส่วนบุคคลที่สมเหตุสมผลและไม่ธรรมดาเกินไป
  • การเปิดป๊อปอัพกล่องข้อความ ฯลฯ (ตัวอย่างเช่นบนเว็บเพจ) จะไม่นับรวมเนื่องจากอาจหรือไม่มีเสียงขึ้นอยู่กับการตั้งค่าจำนวนมาก
  • เพียงแค่ป้อนคำสั่งที่ไม่ถูกต้องหรือตัวละครที่ไม่ถูกต้องบนคอนโซลและการรับบี๊บเตือนจะไม่นับรวมเช่นเดียวกับคอมไพเลอร์ / ล่าม / OS เสียงบี๊บในข้อผิดพลาดหรือความผิดพลาดจะไม่นับ รหัสของคุณจะต้องเป็นโปรแกรมที่ถูกต้อง

1
^ G aka กริ่งของระบบหรือเสียงเตือนของ OS อาจถูกระงับในหลาย ๆ ระบบเช่นกัน (เช่นเปลี่ยนเป็น "กริ่ง" ที่มองเห็นได้) และควรได้รับการจัดการเช่นเสียงของ popus และอื่น ๆ ด้วย: ไม่ใช่วิธีการแก้ปัญหาที่ถูกต้อง
yeti

ทุกโปรแกรมที่พิมพ์ "\ a" ไปยังเทอร์มินัลจะล้มเหลวหาก xterm ใช้เสียงระฆังที่มองเห็นได้
kernigh

19
rm /จะทำให้หลายคนกรีดร้อง
cjfaure

แฟนซ้ายของฉันตายไปแล้วอย่างน่ากลัวมาพักหนึ่งแล้ว นั่นจะเป็นคำตอบที่ถูกต้อง 0 บิตใช่ไหม
Édouard

1
ฉันคิดว่าคำถามนี้ควรจะเปิดใหม่ คำตอบตลกที่ต้องพึ่งพาการหมุนของพัดลมหรือการเปิดถาดซีดีนั้นไม่ถูกต้องเนื่องจากคำถามบอกว่า "เล่นเสียง" ดูเหมือนจะค่อนข้างชัดเจนสำหรับฉันว่าเอาต์พุตต้องมาจากลำโพงเนื่องจากโปรแกรมไม่ใช่ระบบปฏิบัติการหรือผู้ใช้หรือฮาร์ดแวร์
mbomb007

คำตอบ:


21

dc, 2 ตัวอักษร

อันนี้พิมพ์ตัวอักษรระฆังด้วย:

7P

ทำงานด้วย$ dc <<< 7Pหรือบันทึกไปยังแฟ้มและเรียกใช้7P$ dc file

นอกจากนี้:

Befunge 2 ตัวอักษร

คล้ายกัน แต่วนซ้ำและส่งเสียงบี๊บ:

7,

1
คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับภาษานั้นได้ไหม? ฉันไม่เคยได้ยินเกี่ยวกับมันและชื่อของมันสั้นเกินไป (และตัวย่อที่พบบ่อยมาก) เพื่อค้นหา
vsz

3
จาก man-page: dc is a reverse-polish desk calculator which supports unlimited precision arithmetic.- มันรวมอยู่ใน distros linux / unix ส่วนใหญ่เท่าที่ฉันรู้
daniero

ตัวอย่างบางมากขึ้นถ้าคุณสนใจ: 1 , 2และ3 เห็นคนอื่นไม่กี่คนใช้ที่นี่เช่นกัน
daniero

9
@vsz dc นั้นแน่นอนว่าจะเสร็จสมบูรณ์เหมือนเครื่องคิดเลขที่ดีกว่าอย่าง ghc
FUZxxl

4
เสียงทั้งหมดสามารถปิดการใช้งาน เพียงแค่ลดระดับเสียงลง
daviewales

49

ทุบตี (13)

sudo rm -rf /

ยิ่งฮาร์ดไดรฟ์เร็วเท่าไรเสียงก็จะยิ่งดีขึ้นเท่านั้น ไม่ทำงานกับ SSD
(อย่าลองทำที่บ้านsudo rm -rf /ลบทุกอย่างในฮาร์ดไดรฟ์ของคุณ)


7
ฉันคิดว่าควรมีข้อจำกัดความรับผิดชอบ - "อย่าลองทำที่บ้าน": D
daniero

22
ใช่ว่าเสียงเมื่อคอมพิวเตอร์ของคุณR EADS ของคุณ Ail R eally AST (RM -rf)
FUZxxl

70
เดี๋ยวก่อนคุณเข้าใจผิด ภารกิจคือการทำให้คอมพิวเตอร์สร้างเสียงไม่ใช่ผู้ใช้ ... แม้ว่าฉันต้องยอมรับว่าเสียงกรีดร้องนั้นน่าประทับใจทีเดียว ...
หยุดหมุน counterclockwis

4
มันไม่ได้ทำอะไรโดยไม่--no-preserve-rootได้ยกเว้นในระบบโบราณ
nyuszika7h

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

1
kernigh: ถูกต้อง ในทางกลับกันก็อาจจะประสบความสำเร็จในหลาย ๆ ระบบโดยไม่ต้องมีการ์ดเสียงหรือลำโพงที่มากที่สุดของการแก้ปัญหาอื่น ๆ จะล้มเหลว
mykhal

37

Befunge, 0

ถ้าฉันอ่านข้อมูลจำเพาะอย่างถูกต้องนี่เป็นลูปที่ไม่มีที่สิ้นสุด
Endless loop = คุณจะได้ยินว่า 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
+1 สำหรับไม่ใช่แค่อาศัยเทอร์มินัลเพื่อแปลตัวอักษร BEL เป็นเสียงบี๊บ
Ilmari Karonen

25

brainfuck: 8

+++++++.

พิมพ์ตัวอักษรระฆัง


16
+1 BF Solution เข้าใจได้ง่ายและสั้นกว่า C
OldCurmudgeon

15
สมองที่ย่อยง่ายกว่าสมองซีเราควรเรียนรู้จากเหตุการณ์นี้
Camilo Martin

23

bash (Mac OS X) 5

say a

แม้ว่าโวหารฉันชอบอีกต่อไปค่อนข้าง:

say 'Hello, Code Golf !'

1
หาก Mac ของคุณตั้งค่าเป็นภาษาอังกฤษคุณก็สามารถทำได้เช่นsay 'hahahahahahahahahahahahahahahahahahahahahahahahahaj'กัน
tomsmeding

21
โอ้ ... ฉันมี SSH สามารถเข้าถึงกล่อง OSX ...
บูธบี้

1
คำสั่งนี้ทำงานใน AppleScript ฉันไม่รู้ว่ามันใช้งานได้ใน Terminal เช่นกัน ตลกด้วย ssh!
Nicolas Barbulesco

1
ควันหลงบน Linux: espeak...
daviewales


16

Python 3.3.3 หนึ่งตัวละคร

<bell character>

ข้อความแสดงข้อผิดพลาดจะมีตัวอักษรระฆังซึ่งทำให้เกิดเสียง

Python 3.3.3, 10 ตัวอักษร

หากไม่ได้รับอนุญาตข้อผิดพลาดวิธีนี้จะไม่ส่งข้อความข้อผิดพลาดเฉพาะเสียง

print('<bell character>')

ทำไม downvote รหัสนี้สร้างเสียงจริง

1
1 ถ่าน O_o เป็นคนดี +1
Timtech

13

Golfscript 3

'.'

(ในกรณีที่.ในความเป็นจริงตัวละครเบลล์)

การเป็นตัวแทน HEX ของรหัสข้างต้นคือ:

27 07 27

2
อุ๊ย Golfscript โจมตีอีกครั้ง!
vsz

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
Java ดูดจริงๆสำหรับเล่นกอล์ฟ
บูธ

1
@boothby ไม่เคยตรวจสอบนี้ออก
aditsu

20
เอาล่ะ Java ดูดสำหรับกอล์ฟยกเว้นเมื่อความท้าทายคือการโยนข้อผิดพลาด ;)
บูธของ

@boothby แล้วเรื่องนี้ล่ะ? codegolf.stackexchange.com/a/28818/24965
stommestack

2
@JopVernooij ไม่ใช่กอล์ฟมันเป็นการประกวดที่ได้รับความนิยม
Jwosty

11

DOS Prompt / สคริปต์ DOS

a:

ต้องใช้ฟลอปปี้ไดรฟ์ 3.5 ":)


นี่คือเวทมนตร์อะไร
seequ

1
มันทำให้ DOS พยายามอ่านจากฟลอปปี้ซึ่งทำให้เกิดเสียง อย่างไรก็ตามมันผิดที่ต้องใช้ไดรฟ์ฟลอปปี้ขนาด 3.5 นิ้วฟลอปปี้ไดรฟ์ขนาด 5.25 นิ้วทำงานได้ดียิ่งขึ้น
celtschk

ใช่ จะไม่ได้เป็น 5.25" ปกติจะb:?
svidgen

1
ลองไดรฟ์ซีดีที่มีอยู่ภายในดิสก์ที่มีข้อบกพร่องการทำงานที่ดีมากเกินไป :)
Alejandro

อักษรชื่อไดรฟ์ใน DOS ขึ้นอยู่กับการเชื่อมต่อของสายเคเบิลที่ไดรฟ์เชื่อมต่อกับ (และในเครื่องที่ใหม่กว่านั้นคือการตั้งค่า BIOS) คอมพิวเตอร์เครื่องแรกของฉันมีไดรฟ์ 5.25 นิ้วเท่านั้นและฉันต้องแนบมันเป็นหลัก (ทำให้เป็นไดรฟ์ A) เนื่องจากไม่สามารถบูตจากทาสได้
Dennis

9

J (2)

a.

สิ่งนี้จะพิมพ์อักขระทั้งหมดตั้งแต่ 0 ถึง 255 ซึ่งรวมถึงเสียงระฆัง

ถ้าฉันต้องทำโดยไม่ต้องพิมพ์สิ่งอื่นมันคือ 4 ตัวอักษร:

7{a.

9

Pascal: 30 ตัวอักษร

uses Crt;begin
Sound(999)
end.

สิ่งนี้ใช้ประโยชน์จากการขาดกฎเกณฑ์ใด ๆ เกี่ยวกับระยะเวลาของเสียง ดังนั้นเพียงแค่เปิดลำโพงที่ 999 เฮิร์ตซ์และปล่อยให้มันเป็นเช่นนั้น (อย่างน้อยก็จนกว่าจะมีการเรียกโปรแกรมอื่นNosoundหรือปิดคอมพิวเตอร์)


และเสียงยังคงส่งเสียงกรีดร้องแม้หลังจากที่โปรแกรมหยุดทำงานไปแล้ว? ฉันชอบอันนี้! :-)
Nicolas Barbulesco

@ NicolasBarbulesco แน่นอน นั่นเป็นพฤติกรรมปกติของโปรแกรมทั้งหมดใน DOS รวมถึงที่เขียนใน C หรือชุดประกอบ
จัดการ

-2: เปลี่ยนถึง 9 Sound(9)Hz:
Erik the Outgolfer

@ EʀɪᴋᴛʜᴇGᴏʟғᴇʀคงจะยากที่จะพิสูจน์ว่าเสียงนั้นถูกสร้างขึ้นจริง ช่วงความถี่ของการได้ยินของมนุษย์
จัดการ

@ การจัดการดีเพิ่มรหัสที่เหมือนกันกับความถี่อื่นที่สามารถได้ยิน เนื่องจากรหัสเหมือนกันจึงสามารถพิสูจน์ได้ (จำนวนการเปลี่ยนแปลงเท่านั้น)
Erik the Outgolfer

8

Mathematica 6

สิ่งนี้จะทำให้ระบบส่งเสียงบี๊บ บนคอมพิวเตอร์ของฉันมันเป็นเสียงร้องเจี๊ยก ๆ

Beep[]

8

Bash, 22

ย้อนกลับไปในยุค 90 พี่ชายของฉันสอนฉันเรื่องนี้ - เพื่อใช้ในห้องปฏิบัติการคอมพิวเตอร์ที่มีการเข้าถึงระยะไกลและรู้ว่ามีคนอยู่คนเดียวในห้องแล็บดังกล่าว เด็ก ๆ สมัยนี้ไม่รู้ว่าห้องปฏิบัติการคอมพิวเตอร์คืออะไร ... แต่ก็ไม่เป็นไร

cd /dev;cat sda1>audio

1
ฉันbash: audio: Permission deniedยังทำงานภายใต้ sudo :(
Riking

2
สิ่งนี้ใช้ได้กับ Debian ตั้งแต่ปี 2006 ฉันไม่สามารถทำให้มันทำงานบนกล่อง Ubuntu ของฉัน: * (
บูธโดย

1
ฉันคิดว่าคุณหมายถึง dsp ไม่ใช่เสียง ดูตัวอย่างที่คล้ายกันด้านล่างที่ฉันเขียนโดยใช้ / dev / random

3
หรือcat /dev/sda | aplay
TheDoctor

1
@TheDoctor หรือaplay</dev/sda(UUOC ;-))
Digital Trauma

7

cat / type / 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

@NicolasBarbulesco: โปรแกรมนี้มีหนึ่งไบต์ ( \x07) แต่เนื่องจากเป็นเลขฐานสองฉันไม่สามารถวางที่นี่ได้ คุณสามารถเรียกใช้มันใน PHP CLI phpกับ
Konrad Borowski

มันไม่ชัดเจน. แต่มันใช้งานได้! catกับ เคล็ดลับคือ ASCII ถ่าน 7 "ระฆัง"
Nicolas Barbulesco

นั่นไม่ใช่ความพยายามอย่างจริงจัง
user48538




5

ดอส 5

ทางอ้อมต้องการความร่วมมือจากผู้ใช้

pause

6
เรียกใช้โปรแกรม ร่วมมือกัน ฟัง.
บูธบี้

2
คุณต้องกดปุ่ม ... ซึ่งทำให้เสียง @ มานาเขาบอกว่ามันเป็นทางอ้อม - pauseไม่ทำเสียงคุณทำ
Riking

2
@ การขี่จักรยานวิธีการที่สอดคล้องกับ"โปรแกรมของคุณต้องทำให้คอมพิวเตอร์ผลิตเสียง" เป็นส่วนหนึ่งของความต้องการ?
ผลิต

5
ฉันไม่เข้าใจโปรแกรมเมอร์ในไซต์ปริศนาที่ไม่สามารถคิดนอกกรอบได้
บูธบี้

4
ฉันไม่ได้วิจารณ์คำตอบของคุณ ฉันกำลังวิจารณ์คำถาม คำถามไร้สาระจะได้รับคำตอบอย่างไม่มีจุดหมาย คำตอบของคุณก็สมเหตุสมผลเท่ากับคำตอบอื่น ๆ ของคำถามโง่ ๆ นั้น ดังนั้นฉันจะให้ +1

5

PowerShell, 24 17

เนื่องจากยังไม่มีใครโพสต์เวอร์ชันนี้:

[console]::beep()

UPDATE:ลบความถี่ดังนั้นจึงใช้ความถี่และระยะเวลาเริ่มต้น ( MSDN บอกว่าค่าเริ่มต้นคือ 800 เฮิรตซ์และ 200 มิลลิวินาที )


อย่างน้อยคุณก็สามารถใช้ตัวเลขที่น้อยลงได้
Dennis Jaheruddin

4

Python 9 ตัวอักษร


สร้างเสียงเตือนเมื่อดำเนินการ

print'\a'

1
คุณสามารถย่อให้เหลือ 8 ตัวอักษรหากคุณแทนที่\aด้วยตัวอักษรจริง (รหัส ASCII 7)
flornquake

แต่จะพิมพ์ด้วยความช่วยเหลือของค่า 7 ได้อย่างไร
Anbarasan

1
Alt+07คุณสามารถพิมพ์ตัวอักษรระฆังลงในโปรแกรมแก้ไขของคุณด้วย หรือคุณสามารถเรียกใช้ตัวอย่างนี้เพื่อสร้างไฟล์หลามด้วยโซลูชั่น 8 ตัวอักษร:open("play_a_sound.py", 'w').write("print'"+chr(7)+"'")
flornquake

รับทันที ขอบคุณมาก!
Anbarasan


4

Mathematica 7

การใช้ความสามารถด้านข้อความเป็นคำพูดของ Mathematica

Speak@x

จะทำให้มันพูดว่า "x"


4

& aplay - 9

top มีจังหวะ!

top|aplay

บางครั้งการแสดงผลตามช่วงเวลานั้นไม่ได้ทำให้เสียงดีขึ้นเร็วพอ แต่aplayยังคงดำเนินต่อไปหลังจากที่บิต ... :-)

... สิ่งนี้จะทำงานบน Linuxes จำนวนมาก ...

โบนัส:

ขณะที่ใช้งานอยู่ให้พิมพ์ "s 1 ENTER" เพื่อรับการเต้นต่อวินาทีเพิ่มเติม :-)

ปาร์ตี้บน !!! \ O /


นี่คืออัจฉริยะบริสุทธิ์ ... : D
Mega Man


3

Tcl, 1 อักขระ

-

แทนที่-ด้วย char char
มันจะพิมพ์ระฆังถ่านเป็นส่วนหนึ่งของข้อผิดพลาด สองครั้ง

และถ้าคุณคิดว่านี่ไม่ใช่โปรแกรมที่ถูกต้องให้เพิ่มโปรแกรมนี้ก่อนที่ตัวอักษรระฆัง:

proc \007 {} {};

มันเป็นโปรแกรมที่ถูกต้องฉันไม่ได้กำหนดคำสั่งเพราะฉันชอบข้อความแสดงข้อผิดพลาด


สิ่งนั้นขึ้นอยู่กับคุณสมบัติของ Tcl 8.6 หรือไม่ ใน Tcl 8.5 ฉันได้รับผลลัพธ์ที่แตกต่างกัน: pastebin.com/bh73UF6Fหรือคุณใช้ Windows?
ผลิต

ไม่ส่วนที่ 2 ควรแสดงให้เห็นว่านี่เป็นไฟล์ Tcl ที่ถูกต้อง และมันควรจะส่งเสียงบี๊บ 2x (ข้อความแสดงข้อผิดพลาดมีคำสั่งที่จะดำเนินการสองครั้ง) การเรียกคำสั่งที่ไม่มีอยู่นั้นไม่ใช่ข้อผิดพลาดสำหรับ Tcl มันเป็นเพียงคำสั่งเดียวหากไม่สามารถหาได้ (เช่นparrayซึ่งโหลดเมื่อใช้ครั้งแรก)
โยฮันน์คุห์น

อุ่ย ฉันเข้าใจคุณผิด ฉันคิดว่าคุณหมายถึงมันควรจะส่งเสียงบี๊บพร้อมprocคำประกาศด้วย (เกี่ยวกับการนับเสียงบี๊บบางทีเทอร์มินัลของฉันกำลังทำอะไรบางอย่างตามที่puts [string repeat ".\a" 10]แสดงเป็น10 จุด แต่ส่งเสียงบี๊บเพียงครั้งเดียว)
manatwork

3

C: 19

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

แก้ไข:ไฟล์ส่วนหัวไม่จำเป็นสำหรับ "puts"


2
คุณสามารถลบช่องว่างระหว่าง#includeและ<:)
ย้ำ

puts (char *); main () {puts ("\ a");} มีขนาดเล็กกว่า IMHO
FUZxxl

#includeคุณก็สามารถลบ
ugoren

1
@FUZxxl คุณมีความคิดเห็นเกี่ยวกับขนาดรหัสได้อย่างไร
ลูกบิดประตู

@DoorknobofSnow เพราะการแก้ไขครั้งแรก?
FUZxxl

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