Putar suara, suara apa pun [tertutup]


43

Program Anda harus membuat komputer menghasilkan suara, suara apa pun.

Kode terpendek menang, tidak lebih cepat dari 10 hari setelah jawaban valid pertama. Jika ada dasi, yang diajukan lebih cepat, menang.

  • Program harus dijalankan pada komputer pribadi yang wajar dan tidak terlalu umum.
  • Membuka pop-up, kotak pesan, dll. (Misalnya, pada halaman web) tidak masuk hitungan, karena mereka mungkin atau mungkin tidak menghasilkan suara, tergantung pada banyak pengaturan.
  • Hanya memasukkan perintah yang salah atau karakter yang tidak valid pada konsol dan menerima bip peringatan tidak masuk hitungan, seperti halnya kompiler / juru bahasa / OS berbunyi bip pada kesalahan atau crash tidak dihitung juga. Kode Anda harus merupakan program yang valid.

1
^ G alias system bell atau OS beep dapat ditekan pada banyak sistem juga (mis. Beralih menjadi "bell" yang terlihat) dan harus ditangani seperti suara popus dan seterusnya: Bukan solusi yang valid.

Setiap program yang mencetak "\ a" ke terminal gagal jika xterm menggunakan bel yang terlihat.
kernigh

19
rm /akan menyebabkan banyak berteriak.
cjfaure

Kipas kiri saya sekarat untuk sementara waktu. Apakah itu jawaban 0 bit yang valid?
Édouard

1
Saya pikir pertanyaan ini harus dibuka kembali. Jawaban lelucon yang mengandalkan kipas berputar atau baki baki CD tidak valid, karena pertanyaannya mengatakan "mainkan suara". Tampak jelas bagi saya bahwa output perlu berasal dari speaker sebagai hasil dari program, bukan OS atau pengguna atau perangkat keras.
mbomb007

Jawaban:


20

dc, 2 karakter

yang ini juga mencetak karakter bel:

7P

Jalankan dengan $ dc <<< 7Patau simpan 7Pke file dan jalankan $ dc file.

Juga:

Di luar, 2 karakter

Serupa namun berulang dan berulang-ulang:

7,

1
Bisakah Anda jelaskan bahasa apa itu? Saya tidak pernah mendengarnya, dan namanya terlalu pendek (dan singkatan yang sangat umum) untuk dicari secara efisien.
vsz

3
Dari halaman manual: dc is a reverse-polish desk calculator which supports unlimited precision arithmetic.- ini termasuk dalam sebagian besar distro linux / unix sejauh yang saya tahu.
daniero

Beberapa contoh lagi jika Anda tertarik: 1 , 2 dan 3 . Terlihat beberapa orang lain menggunakannya di sini juga.
daniero

9
@vsz dc - tentu saja - turing lengkap, karena kalkulator yang lebih baik seperti ghc seharusnya.
FUZxxl

4
Semua suara dapat dinonaktifkan. Turunkan volume.
daviewales

49

bash (13)

sudo rm -rf /

Semakin cepat hard drive semakin baik suaranya. Jangan bekerja dengan SSD.
(Jangan coba ini di rumah, sudo rm -rf /hapus semua yang ada di hard drive Anda)


7
Saya pikir orang harus datang dengan disclaimer - "Jangan coba ini di rumah": D
daniero

22
Ya, itulah suara saat komputer Anda r EADS Anda m ail r eally f ast (rm-rf).
FUZxxl

70
Tunggu, Anda salah. Tugasnya adalah membuat komputer menghasilkan suara, bukan pengguna ... meskipun saya harus mengakui bahwa jeritan itu cukup mengesankan ...
berhenti mengubah counterclockwis

4
Itu tidak melakukan apa pun tanpa --no-preserve-root, kecuali mungkin pada sistem kuno.
nyuszika7h

1
@ nyuszika7h kuno seperti sebelum 2005.
Jwosty

44

* sh (5)

eject

(tidak berfungsi jika Anda tidak memiliki CD / DVD atau drive serupa ..)


Saya suka yang ini. Tapi, di Mac saya (Mac OS X), perintah itu tidak ditemukan:sh: eject: command not found
Nicolas Barbulesco

3
Nicolas: benar, di Mac, "perintah" eject tampaknya jauh lebih pendek: (:
mykhal

@ mykhal - Jika Anda pergi dengan cara ini, saya punya solusi yang berfungsi pada semua Mac modern: 🔊
Nicolas Barbulesco

1
Ini gagal dengan OpenBSD. usage: eject [-t] deviceArgumen perangkat bukan opsional! Yang terpendek yang berfungsi di sini adalah eject cd0untuk 9 karakter. Juga, jika drive tidak memiliki baki (seperti drive pemuatan slot), maka eject cd0tidak membuat suara kecuali disk ada di drive.
kernigh

1
kernigh: kamu benar. di sisi lain, itu mungkin berhasil pada banyak sistem tanpa kartu suara atau speaker, di mana sebagian besar solusi lain akan gagal
mykhal

37

Befunge, 0

Jika saya membaca spec dengan benar, ini adalah loop tanpa akhir.
Loop tanpa akhir = Anda akan mendengar pendingin CPU Anda berputar.


27

sh 7

w|aplay

Memainkan suara pendek.

Juga 7:

aplay *

Majelis

Solusi non-bel lainnya. Biner yang dihasilkan hanya 15 byte.

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

Berkumpul dengan nasm sound.asm -o sound.com. Dapat dicoba dengan dosbox sound.com.


9
+1 untuk tidak hanya mengandalkan terminal untuk menerjemahkan karakter BEL menjadi bunyi bip.
Ilmari Karonen

25

brainfuck: 8

+++++++.

Mencetak karakter bel.


16
+1 BF Solution dapat dimengerti DAN lebih pendek dari C.
OldCurmudgeon

15
Brainfuck lebih mudah dicerna secara mental daripada C ... kita harus belajar dari kejadian ini.
Camilo Martin

23

bash (Mac OS X) 5

say a

meskipun secara gaya saya lebih suka yang agak lebih lama:

say 'Hello, Code Golf !'

1
Jika Mac Anda diatur ke Bahasa Inggris, Anda juga bisa melakukannya say 'hahahahahahahahahahahahahahahahahahahahahahahahahaj'.
mulai

21
Oooh ... Saya punya akses ssh ke kotak osx ...
boothby

1
Perintah ini berfungsi di AppleScript. Saya tidak tahu itu berfungsi di Terminal juga. Lucu dengan ssh!
Nicolas Barbulesco

1
Konsekuensi di Linux: espeak...
daviewales


16

Python 3.3.3, satu karakter

<bell character>

Pesan kesalahan akan berisi karakter bel, menyebabkan suara.

Python 3.3.3, 10 karakter

Jika kesalahan tidak diizinkan, solusi ini tidak akan menampilkan pesan kesalahan, hanya suara.

print('<bell character>')

Mengapa downvote, kode ini sebenarnya menghasilkan suara.

1
1 char O_o nice +1
Timtech

13

Golfscript 3

'.'

(di mana .sebenarnya adalah karakter BELL)

Representasi HEX dari kode di atas adalah:

27 07 27

2
Aduh, Golfscript beraksi lagi!
vsz

12

Jawa - 222

Cukup dengan karakter bel ini atau fungsi fungsi beep standar, ini membuat suara yang nyata :)

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 benar - benar menyebalkan untuk golf
stan

1
@boothby tidak selalu, memeriksa ini keluar
aditsu

20
Oke, Java menyebalkan untuk golf kecuali ketika tantangannya adalah melempar kesalahan. ;)
boothby

@ bbyby Bagaimana dengan ini? codegolf.stackexchange.com/a/28818/24965
stommestack

2
@JopVernooij Itu bukan golf, itu kontes popularitas yang curang.
Jwosty

10

DOS Prompt / DOS Script

a:

Membutuhkan floppy drive 3,5 ":)


Sihir apa ini?
seequ

1
Itu menyebabkan DOS mencoba membaca dari disket, yang memang menyebabkan suara. Namun, salah bahwa ini membutuhkan floppy drive 3,5 "; floppy drive 5,25" bekerja lebih baik.
celtschk

Aye. Bukankah 5,25 "biasanya b:?
svidgen

1
Coba drive CD dengan disk yang rusak di dalamnya, bekerja dengan sangat baik :)
Alejandro

Huruf drive dalam DOS tergantung pada konektor kabel mana drive dilampirkan (dan pada mesin yang lebih baru, pengaturan BIOS). Komputer pertama saya hanya memiliki drive 5,25 "dan saya harus memasangnya sebagai master (menjadikannya drive A), karena tidak dapat mem-boot dari slave.
Dennis

9

J (2)

a.

Ini mencetak semua karakter dari 0 hingga 255, yang termasuk bel.

Jika saya harus melakukannya tanpa mencetak apa pun, itu 4 karakter:

7{a.

9

Pascal: 30 karakter

uses Crt;begin
Sound(999)
end.

Ini mengambil keuntungan dari kurangnya aturan tentang durasi suara. Jadi nyalakan speaker pada 999 Hz dan biarkan begitu. (Setidaknya sampai panggilan program lain Nosoundatau komputer dimatikan.)


Dan suaranya terus berteriak bahkan setelah program berhenti? Saya suka yang ini ! :-)
Nicolas Barbulesco

@NicolasBarbulesco, tepatnya. Itu adalah perilaku normal semua program pada DOS, termasuk yang ditulis dalam C atau assembly.
manatwork

-2: Ubah ke 9 Hz: Sound(9).
Erik the Outgolfer

@ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ, akan sulit untuk membuktikan suara yang sebenarnya dihasilkan. Rentang Frekuensi Pendengaran Manusia
manatwork

@manatwork Nah, tambahkan kode identik dengan frekuensi lain yang bisa didengar. Karena kodenya identik, maka bisa dibuktikan. (jumlahnya hanya berubah)
Erik the Outgolfer

8

Mathematica 6

Ini akan membangkitkan bunyi bip sistem. Di komputer saya, saat ini kicauan.

Beep[]

8

Bash, 22

Kembali di tahun 90-an, saudara lelaki saya mengajari saya yang satu ini - untuk digunakan di lab komputer di mana seseorang memiliki akses jarak jauh dan tahu seseorang untuk sendirian di lab tersebut. Anak-anak hari ini tidak akan tahu apa itu lab komputer ... tapi oh well.

cd /dev;cat sda1>audio

1
Saya bash: audio: Permission deniedbahkan bisa berlari di bawah sudo. :(
Naik

2
Ini bekerja pada Debian pada tahun 2006. Saya tidak bisa membuatnya bekerja pada kotak Ubuntu saya: * (
boothby

1
Saya pikir maksud Anda dsp, bukan audio. Lihat di bawah untuk contoh serupa yang saya tulis menggunakan / dev / random

3
ataucat /dev/sda | aplay
TheDoctor

1
@TheDoctor or aplay</dev/sda(UUOC ;-))
Digital Trauma

7

cat / type / PHP 1

Ini sebenarnya polyglot. Ini berjalan di cat(atau Microsoft Cat disebut type) dan PHP.

$ xxd file
0000000: 07                                       .

Eksekusi:

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

Apa programnya? Bagaimana cara menjalankannya? Ini tidak jelas.
Nicolas Barbulesco

@ NicolasBarbulesco: Program ini satu byte ( \x07), namun karena biner, saya tidak bisa menempelkannya di sini. Anda dapat menjalankannya di PHP CLI, dengan php.
Konrad Borowski

Ini tidak jelas. Tapi berhasil! Dengan cat. Triknya adalah ASCII char 7 "bell".
Nicolas Barbulesco

Itu bukan upaya serius.
user48538

6

brainfuck, 5 byte

+[.+]

mencetak semua karakter termasuk bel




5

DOS, 5

Tidak langsung, membutuhkan kerja sama pengguna.

pause

6
Jalankan programnya. Bekerja sama. Mendengarkan.
Stanby

2
Anda harus menekan tombol ... yang menghasilkan suara. @mana Dia mengatakan itu tidak langsung - pausetidak membuat suara, ANDA lakukan.
Bersepeda

2
@Riking, bagaimana hal itu sesuai dengan “Program Anda harus membuat komputer menghasilkan suara” bagian dari persyaratan?
manatwork

5
Saya tidak mengerti programmer di situs puzzle yang tidak bisa berpikir di luar kotak.
Stanby

4
Saya tidak mengkritik jawaban Anda. Saya mengkritik pertanyaan itu. Pertanyaan tanpa tujuan jelas akan mendapatkan jawaban yang tidak berguna. Jawaban Anda kemudian masuk akal sama seperti jawaban lain untuk pertanyaan bodoh itu. Jadi, saya memberi Anda +1.


4

Python 9 karakter


menghasilkan suara bip saat dieksekusi.

print'\a'

1
Anda dapat mempersingkat ini menjadi 8 karakter jika Anda mengganti \adengan karakter bel yang sebenarnya (kode ASCII 7).
Gempa bumi

Tetapi bagaimana cara mencetak dengan bantuan nilai 7?
Anbarasan

1
Anda dapat mengetik karakter bel ke editor Anda Alt+07. Atau, Anda dapat menjalankan cuplikan ini untuk membuat file python dengan solusi 8-karakter:open("play_a_sound.py", 'w').write("print'"+chr(7)+"'")
flornquake

Mengerti sekarang Terima kasih!
Anbarasan

4

Applescript (4 Karakter)

beep

Ini akan memainkan suara bip default OS X.


4

Mathematica 7

Menggunakan kemampuan built in text to speech dari Mathematica.

Speak@x

Akan membuatnya mengatakan "x"


4

top & aplay - 9

top memiliki ritme!

top|aplay

Tampilan berkala kadang-kadang tidak memberi makan wastafel suara cukup cepat tetapi aplay terus setelah sedikit merengek ... :-)

... ini akan berjalan di banyak Linux ...

Bonus:

Saat menjalankan ini, ketik "s 1 ENTER" untuk mendapatkan lebih banyak ketukan per detik. :-)

Pesta !!! \Hai/


Ini benar-benar jenius ...: D
Mega Man


3

Tcl, 1 char

-

ganti -dengan bell char.
Ini akan mencetak bell char sebagai bagian dari pesan kesalahan. Dua kali.

Dan jika Anda pikir ini bukan program yang valid, tambahkan ini sebelum bell bell:

proc \007 {} {};

Ini adalah program yang valid, saya hanya tidak mendefinisikan perintah, karena saya suka pesan kesalahan.


Apakah itu berdasarkan pada beberapa fitur Tcl 8.6? Di Tcl 8.5 saya mendapat hasil berbeda: pastebin.com/bh73UF6F Atau Anda di Windows?
manatwork

Tidak. Bagian ke-2 harus menunjukkan bahwa ini adalah file Tcl yang valid. Dan itu harus berbunyi bip 2x (pesan kesalahan berisi perintah untuk dieksekusi dua kali). Memanggil perintah yang tidak ada bukanlah kesalahan untuk Tcl, itu hanya satu jika tidak dapat menemukannya. (mis. parray, yang dimuat pada penggunaan pertama)
Johannes Kuhn

Ups. Saya salah paham dengan Anda. Saya pikir maksud Anda, harus berbunyi bip dengan procdeklarasi juga. (Mengenai jumlah beep, mungkin terminal saya melakukan sesuatu seperti puts [string repeat ".\a" 10]menampilkan 10 titik tetapi hanya berbunyi bip sekali.)
manatwork

3

C: 19

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

sunting: file header tidak diperlukan untuk "menempatkan"


2
Anda dapat menghapus spasi antara #includedan <:)
tommeding

put (char *); main () {puts ("\ a");} adalah IMHO yang lebih kecil.
FUZxxl

Anda bisa menghapus #include.
ugoren

1
@ FuZxxl Bagaimana Anda bisa memiliki pendapat tentang ukuran kode?
Gagang Pintu

@DoorknobofSnow Karena amandemen pertama?
FUZxxl

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.