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.
vsz
sumber
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,
daniero
sumber
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)

Daniel
sumber
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 ..)

mykhal
sumber
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.

Johannes Kuhn
sumber
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.

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

brainfuck: 8

+++++++.

Mencetak karakter bel.

kotak kardus
sumber
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 !'
Paul R
sumber
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
19

Haha, kode QBASIC yang bagus.

BEEP
Soham Chowdhury
sumber
1
Ah, kesenangan yang bisa didapat dengan perintah MAIN! Untuk kenangan, lihat misalnya video ini .
Jussi M
1
Saya 15, xD. Kami belajar QBASIC di sekolah.
Soham Chowdhury
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>')

sumber
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
Cristian Lupascu
sumber
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){}}}
aditsu
sumber
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 ":)

svidgen
sumber
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.
marinus
sumber
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.)

manatwork
sumber
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[]
DavidC
sumber
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
stan
sumber
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
Konrad Borowski
sumber
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

benwaffle
sumber
5

R 9

Karakter bel

cat("\a")
Alasan
sumber
5

Ruby, 7

$><<?\a

Diuji pada Windows dengan Ruby 1.9.3.

Roy Tinker
sumber
5

DOS, 5

Tidak langsung, membutuhkan kerja sama pengguna.

pause
stan
sumber
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.
5

PowerShell, 24 17

Karena belum ada yang memposting versi ini:

[console]::beep()

UPDATE: Frekuensi dihapus sehingga menggunakan frekuensi dan durasi default ( MSDN mengatakan default adalah 800 hertz dan 200 milidetik )

ub3rst4r
sumber
Tentunya Anda setidaknya bisa menggunakan angka yang lebih kecil
Dennis Jaheruddin
4

Python 9 karakter


menghasilkan suara bip saat dieksekusi.

print'\a'
Anbarasan
sumber
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.

Mathias
sumber
4

Mathematica 7

Menggunakan kemampuan built in text to speech dari Mathematica.

Speak@x

Akan membuatnya mengatakan "x"

Menghitung
sumber
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/


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

> <> 3

Seperti dalam semua jawaban, cetak bel (0x07) ke stdout.

7o;
tommeding
sumber
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.

Johannes Kuhn
sumber
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"

Trevor Hickey
sumber
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
2

Ruby 8

 puts"\a"

Diuji pada Windows dengan Ruby 1.9.3.

Cristian Lupascu
sumber