Phát một âm thanh, bất kỳ âm thanh [đóng]


43

Chương trình của bạn phải làm cho máy tính tạo ra âm thanh, bất kỳ âm thanh nào.

Mã ngắn nhất sẽ thắng, không sớm hơn 10 ngày sau câu trả lời hợp lệ đầu tiên. Nếu có hòa, ai nộp sớm hơn, thắng.

  • Chương trình nên chạy trên một máy tính cá nhân hợp lý, không quá phổ biến.
  • Mở cửa sổ bật lên, hộp thông báo, v.v. (ví dụ: trên trang web) không được tính, vì chúng có thể hoặc không thể tạo ra âm thanh, tùy thuộc vào rất nhiều cài đặt.
  • Chỉ cần nhập sai lệnh hoặc ký tự không hợp lệ trên bàn điều khiển và nhận được tiếng bíp cảnh báo sẽ không được tính, giống như trình biên dịch / trình thông dịch / HĐH phát ra tiếng bíp hoặc lỗi cũng không được tính. Mã của bạn phải là một chương trình hợp lệ.

1
^ Tiếng chuông hệ thống hoặc tiếng bíp hệ điều hành cũng có thể bị chặn trên nhiều hệ thống (ví dụ: được chuyển thành "tiếng chuông" có thể nhìn thấy) và nên được xử lý như âm thanh của popus, v.v.: Không phải là một giải pháp hợp lệ.
yeti

Mọi chương trình in "\ a" sang thiết bị đầu cuối đều thất bại nếu xterm sử dụng chuông có thể nhìn thấy.
nhân

19
rm /sẽ gây ra rất nhiều tiếng la hét.
cjfaure

Quạt trái của tôi đã chết một cách ồn ào trong một thời gian. Đó sẽ là một câu trả lời 0 bit hợp lệ?
Édouard

1
Tôi nghĩ rằng câu hỏi này nên được mở lại. Các câu trả lời đùa dựa vào việc quay quạt hoặc mở khay CD là không hợp lệ, vì câu hỏi cho biết "phát âm thanh". Có vẻ khá rõ ràng với tôi rằng đầu ra cần phải đến từ loa là kết quả của chương trình, không phải hệ điều hành hoặc người dùng hoặc phần cứng.
mbomb007

Câu trả lời:


21

dc, 2 ký tự

cái này cũng in ký tự chuông:

7P

Chạy với $ dc <<< 7Phoặc lưu 7Pvào tập tin và chạy $ dc file.

Cũng thế:

Befunge, 2 ký tự

Tương tự nhưng vô cùng lặp đi lặp lại và tiếng bíp:

7,

1
Bạn có thể vui lòng giải thích ngôn ngữ đó là gì? Tôi chưa bao giờ nghe về nó, và tên của nó quá ngắn (và viết tắt rất phổ biến) để được tìm kiếm một cách hiệu quả.
vsz

3
Từ trang man: dc is a reverse-polish desk calculator which supports unlimited precision arithmetic.- nó được bao gồm trong hầu hết các bản phân phối linux / unix theo như tôi biết.
daniero

Một vài ví dụ nữa nếu bạn quan tâm: 1 , 23 . Nhìn thấy một vài người khác sử dụng nó ở đây là tốt.
daniero

9
@vsz dc là - tất nhiên - hoàn thành, vì bất kỳ máy tính nào tốt hơn như ghc nên có.
FUZxxl

4
Tất cả âm thanh có thể bị vô hiệu hóa. Chỉ cần giảm âm lượng.
daviewales

49

bash (13)

sudo rm -rf /

Ổ cứng càng nhanh thì âm thanh càng hay. Đừng làm việc với SSD.
(Đừng thử điều này ở nhà, sudo rm -rf /xóa mọi thứ trên ổ cứng của bạn)


7
Tôi nghĩ rằng người ta nên đi kèm với từ chối trách nhiệm - "Đừng thử điều này ở nhà": D
daniero

22
Vâng, đó là âm thanh khi máy tính của bạn r EADS của bạn m ail r eally f ast (rm -rf).
FUZxxl

70
Đợi đã, bạn đã nhầm. Nhiệm vụ là làm cho máy tính tạo ra âm thanh chứ không phải người dùng ... mặc dù tôi phải thừa nhận rằng tiếng hét khá ấn tượng ...
đã ngừng quay ngược chiều

4
Nó không làm bất cứ điều gì mà không có --no-preserve-root, ngoại trừ có thể trên các hệ thống cổ xưa.
nyuszika7h

1
@ nyuszika7h cổ như trước năm 2005.
Jwosty

44

* sh (5)

eject

(không hoạt động nếu bạn không có CD / DVD hoặc ổ đĩa tương tự ..)


Tôi thích cái này. Nhưng, trên máy Mac của tôi (Mac OS X), lệnh không được tìm thấy:sh: eject: command not found
Nicolas Barbulesco

3
Nicolas: phải, trên máy Mac, eject "lệnh" có vẻ là ngắn hơn nhiều: (:
mykhal

@ mykhal - Nếu bạn đi theo cách này, tôi có một giải pháp hoạt động trên tất cả các máy Mac hiện đại: 🔊
Nicolas Barbulesco

1
Điều này thất bại với OpenBSD. usage: eject [-t] deviceĐối số thiết bị không phải là tùy chọn! Ngắn nhất hoạt động ở đây là eject cd0cho 9 ký tự. Ngoài ra, nếu ổ đĩa không có khay (như với ổ đĩa tải khe), thì sẽ eject cd0không gây ra tiếng ồn trừ khi có một đĩa trong ổ đĩa.
nhân

1
kernigh: bạn nói đúng mặt khác, nó có thể thành công trên nhiều hệ thống mà không có card âm thanh hoặc loa, trong đó hầu hết các giải pháp khác sẽ thất bại
mykhal

37

Befunge, 0

Nếu tôi đọc thông số kỹ thuật chính xác, đây là một vòng lặp vô tận.
Vòng lặp vô tận = bạn sẽ nghe thấy bộ làm mát CPU của bạn quay lên.


27

sh 7

w|aplay

Phát một tiếng ồn ngắn.

Ngoài ra 7:

aplay *

hội,, tổ hợp

Một giải pháp không chuông. Kết quả nhị phân chỉ là 15 byte.

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

Lắp ráp với nasm sound.asm -o sound.com. Có thể được thử với dosbox sound.com.


9
+1 không chỉ dựa vào thiết bị đầu cuối để dịch các ký tự BEL thành tiếng bíp.
Ilmari Karonen


23

bash (Mac OS X) 5

say a

Mặc dù về mặt phong cách, tôi thích phần nào dài hơn:

say 'Hello, Code Golf !'

1
Nếu máy Mac của bạn được đặt thành tiếng Anh, bạn cũng có thể làm được say 'hahahahahahahahahahahahahahahahahahahahahahahahahaj'.
tomsmeding

21
Ôi ... Tôi đã có quyền truy cập ssh vào hộp osx ...
boothby

1
Lệnh này hoạt động trong AppleScript. Tôi cũng không biết nó hoạt động trong Terminal. Hài hước với ssh!
Nicolas Barbulesco

1
Hệ quả trên Linux: espeak...
daviewales


16

Python 3.3.3, một ký tự

<bell character>

Thông báo lỗi sẽ chứa ký tự chuông, gây ra âm thanh.

Python 3.3.3, 10 ký tự

Nếu lỗi không được phép, giải pháp này sẽ không xuất ra thông báo lỗi, chỉ có âm thanh.

print('<bell character>')

Tại sao downvote, mã này thực sự tạo ra một âm thanh.

1
1 char O_o đẹp +1
Timtech

13

Câu đố 3

'.'

( .trong đó thực tế là một nhân vật Bell)

Đại diện HEX của mã trên là:

27 07 27

2
Ouch, Golfscript đình công một lần nữa!
vsz

12

Java - 222

Đủ ký tự chuông này hoặc công cụ chức năng tiếng bíp được xác định trước, điều này tạo ra âm thanh thực sự :)

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 thực sự hấp dẫn cho môn đánh gôn
gian hàng

1
@boothby không phải lúc nào, kiểm tra này ra
aditsu

20
Được rồi, Java hút cho golf trừ khi thử thách là ném lỗi. ;)
gian hàng

@boothby Còn cái này thì sao? codegolf.stackexchange.com/a/28818/24965
stommestack

2
@JopVernooij Đó không phải là golf, đó là một cuộc thi phổ biến ngầm.
Jwosty

11

DOS Prompt / DOS Script

a:

Yêu cầu ổ đĩa mềm 3,5 ":)


Phép thuật này là gì?
xem

1
Nó khiến DOS cố đọc từ đĩa mềm, điều này gây ra âm thanh. Tuy nhiên, điều sai lầm là điều này cần ổ đĩa mềm 3,5 ", ổ đĩa mềm 5,25" hoạt động thậm chí còn tốt hơn.
celtschk

Đúng vậy Sẽ không phải là 5,25 "thông thường b:chứ?
svidgen

1
Hãy thử một ổ đĩa CD có ổ đĩa bị lỗi bên trong, cũng hoạt động rất tốt :)
Alejandro

Ký tự ổ đĩa trong DOS phụ thuộc vào các đầu nối của cáp mà ổ đĩa được gắn vào (và trên các máy mới hơn, cài đặt BIOS). Máy tính đầu tiên của tôi chỉ có ổ đĩa 5,25 "và tôi phải gắn nó làm chủ (biến nó thành ổ A), vì nó không thể khởi động từ nô lệ.
Dennis

9

J (2)

a.

Điều này in tất cả các ký tự từ 0 đến 255, bao gồm chuông.

Nếu tôi phải làm điều đó mà không in bất cứ điều gì khác, đó là 4 ký tự:

7{a.

9

Pascal: 30 ký tự

uses Crt;begin
Sound(999)
end.

Điều này lợi dụng việc thiếu bất kỳ quy tắc nào liên quan đến thời lượng của âm thanh. Vì vậy, chỉ cần bật loa trên 999 Hz và để cho nó như vậy. (Ít nhất là cho đến khi một chương trình khác gọi Nosoundhoặc máy tính bị tắt.)


Và âm thanh tiếp tục gào thét ngay cả sau khi chương trình đã thoát? Tôi thích cái này ! :-)
Nicolas Barbulesco

@NicolasBarbulesco, chính xác. Đó là hành vi bình thường của tất cả các chương trình trên DOS, bao gồm cả những chương trình được viết bằng C hoặc lắp ráp.
manatwork

-2: Thay đổi thành 9 Hz : Sound(9).
Erik the Outgolfer 19/07/2016

@ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ, sẽ khó để chứng minh âm thanh thực sự được tạo ra. Tần số nghe của con người
manatwork

@manatwork Vâng, thêm một mã giống hệt với tần số khác có thể nghe được. Bởi vì các mã giống hệt nhau, nó có thể được chứng minh. (số chỉ thay đổi)
Erik the Outgolfer 19/07/2016

8

Toán học 6

Điều này sẽ gợi lên tiếng bíp hệ thống. Trên máy tính của tôi, nó hiện đang là một tiếng hót líu lo.

Beep[]

8

Bash, 22

Trở lại những năm 90, anh trai tôi đã dạy tôi cái này - được sử dụng trong phòng thí nghiệm máy tính nơi một người có quyền truy cập từ xa và biết một người ở một mình trong phòng thí nghiệm nói. Trẻ em ngày nay sẽ không biết phòng thí nghiệm máy tính là gì ... nhưng ồ.

cd /dev;cat sda1>audio

1
Tôi bash: audio: Permission deniedthậm chí còn chạy theo sudo. :(
Đi xe đạp

2
Điều này hoạt động trên Debian vào năm 2006. Tôi không thể làm cho nó hoạt động trên hộp Ubuntu của mình: * (
boothby

1
Tôi nghĩ bạn có nghĩa là dsp, không phải âm thanh. Xem bên dưới để biết ví dụ tương tự tôi đã viết bằng cách sử dụng / dev / ngẫu nhiên

3
hoặccat /dev/sda | aplay
TheDoctor

1
@TheDoctor hoặc aplay</dev/sda(UUOC ;-))
Chấn thương kỹ thuật số

7

mèo / loại / PHP 1

Đây thực sự là polyglot. Nó chạy trong cat(hoặc Microsoft Cat được gọi type) và PHP.

$ xxd file
0000000: 07                                       .

Chấp hành:

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

Chương trình là gì? Làm thế nào để chạy nó? Điều này không rõ ràng.
Nicolas Barbulesco

@NicolasBarbulesco: Chương trình là một byte ( \x07), tuy nhiên vì là nhị phân nên tôi không thể dán nó ở đây. Bạn có thể chạy nó trong PHP CLI, với php.
Konrad Borowski

Nó không rõ ràng. Nhưng nó đã có tác dụng ! Với cat. Bí quyết là ASCII char 7 chuông chuông.
Nicolas Barbulesco

Đó không phải là một nỗ lực nghiêm túc.
dùng48538 ngày

7

Brainfuck, 5 byte

+[.+]

in tất cả các ký tự bao gồm cả chuông




5

DOS, 5

Gián tiếp, đòi hỏi sự hợp tác của người dùng.

pause

6
Chạy chương trình. Hợp tác. Nghe.
gian hàng

2
Bạn phải bấm một phím ... tạo ra âm thanh. @mana Anh ấy nói nó là gián tiếp - pausekhông tạo ra âm thanh, BẠN đã làm.
Đi xe đạp

2
@ Đi xe đạp, làm thế nào mà nó phù hợp với chương trình của Bạn phải làm cho máy tính tạo ra một phần âm thanh của yêu cầu?
manatwork

5
Tôi không hiểu các lập trình viên trên các trang web câu đố, những người không thể nghĩ ra bên ngoài.
gian hàng

4
Tôi đã không chỉ trích câu trả lời của bạn. Tôi đã chỉ trích câu hỏi. Một câu hỏi vô nghĩa rõ ràng sẽ nhận được câu trả lời vô nghĩa. Câu trả lời của bạn sau đó có ý nghĩa nhiều như bất kỳ câu trả lời nào khác cho câu hỏi ngu ngốc đó. Vì vậy, tôi sẽ cho bạn +1.


4

Python 9 ký tự


tạo ra tiếng bíp khi thực hiện.

print'\a'

1
Bạn có thể rút ngắn ký tự này xuống còn 8 ký tự nếu bạn thay thế \abằng ký tự chuông thực tế (mã ASCII 7).
flornquake

Nhưng làm thế nào để in với sự trợ giúp của giá trị 7?
Anbarasan

1
Bạn có thể nhập ký tự chuông vào trình soạn thảo của mình với Alt+07. Ngoài ra, bạn có thể chạy đoạn mã này để tạo tệp python với giải pháp 8 ký tự:open("play_a_sound.py", 'w').write("print'"+chr(7)+"'")
flornquake

Giờ đã hiểu. Cảm ơn !
Anbarasan

4

Applescript (4 ký tự)

beep

Điều này sẽ phát âm thanh tiếng bíp mặc định của OS X.


4

Toán 7

Sử dụng Mathicala được tích hợp sẵn trong văn bản cho khả năng nói.

Speak@x

Sẽ làm cho nó nói "x"


4

top & aplay - 9

top có nhịp điệu!

top|aplay

Màn hình định kỳ đôi khi không cung cấp âm thanh đủ nhanh nhưng aplayvẫn tiếp tục sau khi nhóm một chút ... :-)

... cái này sẽ chạy trên nhiều Linux ...

Thêm:

Trong khi chạy này, nhập "s 1 ENTER" để nhận được nhiều nhịp hơn mỗi giây. :-)

Tiệc tùng nào !!! \ o /


Đây là thiên tài thuần túy ...: D
Mega Man

3

> <> 3

Như trong tất cả các câu trả lời, in chuông (0x07) sang thiết bị xuất chuẩn.

7o;

3

Tcl, 1 char

-

thay thế -bằng chuông char.
Nó sẽ in char bell như một phần của thông báo lỗi. Hai lần.

Và nếu bạn nghĩ rằng đây không phải là một chương trình hợp lệ, hãy thêm nó vào trước chuông char:

proc \007 {} {};

Đây là một chương trình hợp lệ, tôi chỉ không xác định lệnh, vì tôi thích thông báo lỗi.


Đó có phải dựa trên một số tính năng Tcl 8.6? Trong Tcl 8.5, tôi nhận được kết quả khác nhau: pastebin.com/bh73UF6F Hoặc bạn có trên Windows không?
manatwork

Không. Phần thứ 2 sẽ cho thấy đây là tệp Tcl hợp lệ. Và nó sẽ phát ra tiếng bíp 2x (thông báo lỗi chứa lệnh được thực thi hai lần). Gọi một lệnh không tồn tại không phải là một lỗi cho Tcl, nó chỉ là một nếu nó không thể tìm thấy nó. (ví dụ: parrayđược tải trong lần sử dụng đầu tiên)
Johannes Kuhn

Úi. Tôi hiểu lầm bạn. Tôi nghĩ bạn có nghĩa là, nó nên bíp với proctuyên bố quá. (Về số lượng tiếng bíp, có lẽ thiết bị đầu cuối của tôi đang làm gì đó puts [string repeat ".\a" 10]hiển thị 10 chấm nhưng chỉ có tiếng bíp một lần.)
thao tác

3

C: 19

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

chỉnh sửa: không cần tập tin tiêu đề cho "đặt"


2
Bạn có thể xóa khoảng cách giữa #include<:)
tomsmeding

đặt (char *); main () {đặt ("\ a");} là IMHO nhỏ hơn.
FUZxxl

Bạn chỉ có thể loại bỏ #include.
ugoren

1
@FUZxxl Làm thế nào bạn có thể có ý kiến ​​về kích thước mã?
tay nắm cửa

@DoorknobofSnow Vì sửa đổi đầu tiên?
FUZxxl

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.