Odtwarzaj dźwięk, dowolny dźwięk [zamknięty]


43

Twój program musi powodować, że komputer wydaje dźwięk, każdy dźwięk.

Najkrótszy kod wygrywa, nie wcześniej niż 10 dni po pierwszej ważnej odpowiedzi. W przypadku remisu wygrywa ten zgłoszony wcześniej.

  • Program powinien działać na rozsądnym, niezbyt częstym komputerze osobistym.
  • Otwieranie wyskakującego okienka, okna komunikatu itp. (Na przykład na stronie internetowej) nie ma znaczenia, ponieważ mogą, ale nie muszą generować dźwięku, w zależności od wielu ustawień.
  • Samo wpisanie niewłaściwego polecenia lub nieprawidłowego znaku na konsoli i otrzymanie sygnału ostrzegawczego nie ma znaczenia, podobnie jak kompilator / interpreter / system operacyjny sygnalizujący błąd lub awarię również się nie liczy. Twój kod musi być poprawnym programem.

1
^ G aka dzwonek systemowy lub sygnał dźwiękowy systemu operacyjnego może być także tłumiony w wielu systemach (np. Przełączany na widoczny „dzwonek”) i powinien być traktowany jak odgłos wyskakujących okieków itd. Nie jest to prawidłowe rozwiązanie.
yeti

Każdy program, który wypisuje „\ a” na terminalu kończy się niepowodzeniem, jeśli xterm używa widocznego dzwonka.
kernigh

19
rm /spowoduje wiele krzyków.
cjfaure

Mój lewy fan umarł głośno od jakiegoś czasu. Czy to byłaby poprawna 0-bitowa odpowiedź?
Édouard

1
Myślę, że to pytanie powinno zostać ponownie otwarte. Odpowiedzi żartowe, które polegają na obracaniu się wentylatora lub otwarciu szuflady na płyty CD, są nieprawidłowe, ponieważ pytanie brzmi „odtwórz dźwięk”. Wydaje mi się dość jasne, że wyjście musi pochodzić z głośników w wyniku działania programu, a nie systemu operacyjnego, użytkownika lub sprzętu.
mbomb007,

Odpowiedzi:


21

dc, 2 znaki

ten również wypisuje znak dzwonka:

7P

Uruchom z $ dc <<< 7Plub zapisz 7Pdo pliku i uruchom $ dc file.

Również:

Befunge, 2 znaki

Podobne, ale nieskończenie zapętlające się i piszczące:

7,

1
Czy mógłbyś wyjaśnić, jaki to język? Nigdy o tym nie słyszałem, a jego nazwa jest zbyt krótka (i bardzo powszechny skrót), aby można ją było skutecznie wyszukać.
vsz

3
Ze strony podręcznika: dc is a reverse-polish desk calculator which supports unlimited precision arithmetic.- o ile wiem, jest uwzględniony w większości dystrybucji Linuksa / Unixa.
daniero

Jeszcze kilka przykładów, jeśli jesteś zainteresowany: 1 , 2 i 3 . Widziałem też kilka innych, którzy używają go tutaj.
daniero

9
@vsz dc jest oczywiście ukończony, tak jak powinien być każdy lepszy kalkulator, taki jak ghc.
FUZxxl,

4
Wszystkie dźwięki można wyłączyć. Po prostu zmniejsz głośność.
daviewales

49

bash (13)

sudo rm -rf /

Im szybszy dysk twardy, tym lepszy dźwięk. Nie współpracuj z dyskami SSD.
(Nie próbuj tego w domu, sudo rm -rf /usuwa wszystko z dysku twardego)


7
Myślę, że należy przyjść z zastrzeżeniem - „Nie próbuj tego w domu”: D
daniero

22
Tak, to jest dźwięk, jeśli komputer r EADS Twój m ail r eally f ast (rm -rf).
FUZxxl,

70
Czekaj, źle zrozumiałeś. Zadanie polega na tym, aby komputer wydawał dźwięk, a nie użytkownik ... chociaż muszę przyznać, że krzyk był dość imponujący ...
przestał się obracać przeciwnie do zegara

4
Bez niej nic nie robi --no-preserve-root, może poza starożytnymi systemami.
nyuszika7h

1
@ nyuszika7h starożytny jak przed 2005 r.
Jwosty

44

* sh (5)

eject

(nie działa, jeśli nie masz napędu CD / DVD lub podobnego ...)


Ten mi się podoba. Ale na moim Macu (Mac OS X) nie znaleziono polecenia:sh: eject: command not found
Nicolas Barbulesco

3
Nicolas: racja, na Macu, polecenie „wysunięcia” wydaje się znacznie krótsze: (:
mykhal

@ mykhal - Jeśli pójdziesz tą drogą, mam rozwiązanie, które działa na wszystkich współczesnych komputerach Mac: 🔊
Nicolas Barbulesco

1
Nie udaje się to w przypadku OpenBSD. usage: eject [-t] deviceArgument urządzenia nie jest opcjonalny! Najkrótsza, która tu działa, to eject cd09 znaków. Ponadto, jeśli napęd nie ma tacy (jak w przypadku napędu do ładowania szczelin), eject cd0nie będzie hałasował, chyba że w napędzie znajduje się dysk.
kernigh

1
kernigh: masz rację. z drugiej strony może się powieść na wielu systemach bez karty dźwiękowej lub głośnika, w których
zawiodłaby

37

Befunge, 0

Jeśli poprawnie odczytam specyfikację, jest to nieskończona pętla.
Niekończąca się pętla = usłyszysz, jak obraca się Twój procesor.


27

sh 7

w|aplay

Odtwarza krótki hałas.

Także 7:

aplay *

montaż

Kolejne rozwiązanie bez dzwonka. Wynikowy plik binarny ma tylko 15 bajtów.

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

Zbierz z nasm sound.asm -o sound.com. Można spróbować z dosbox sound.com.


9
+1 za nie tylko poleganie na terminalu w tłumaczeniu znaków BEL na sygnały dźwiękowe.
Ilmari Karonen,

25

pieprzenie mózgu: 8

+++++++.

Drukuje znak dzwonka.


16
Rozwiązanie +1 BF zarówno zrozumiałe, jak i krótsze niż C.
OldCurmudgeon

15
Uderzenie mózgu jest łatwiejsze do strawienia psychicznego niż C ... powinniśmy wyciągnąć wnioski z tego incydentu.
Camilo Martin,

23

bash (Mac OS X) 5

say a

choć stylistycznie wolę nieco dłużej:

say 'Hello, Code Golf !'

1
Jeśli Twój komputer Mac jest ustawiony na angielski, możesz to zrobić say 'hahahahahahahahahahahahahahahahahahahahahahahahahaj'.
tomsmeding

21
Oooh ... Mam dostęp ssh do skrzynki
OSX

1
To polecenie działa w AppleScript. Nie wiedziałem, że to też działa w terminalu. Zabawne z ssh!
Nicolas Barbulesco

1
Wniosek dotyczący systemu Linux: espeak...
daviewales


16

Python 3.3.3, jeden znak

<bell character>

Komunikat o błędzie będzie zawierał dzwonek, powodujący dźwięk.

Python 3.3.3, 10 znaków

Jeśli błędy nie są dozwolone, to rozwiązanie nie wyświetli komunikatu o błędzie, tylko dźwięk.

print('<bell character>')

Po co głosować, ten kod faktycznie wydaje dźwięk.

1
1 char O_o nice +1
Timtech

13

Golfscript 3

'.'

(gdzie .w rzeczywistości jest to znak DZWONKA)

Reprezentacja HEX powyższego kodu to:

27 07 27

2
Ojej, Golfscript znów uderza!
vsz

12

Java - 222

Dość tego znaku dzwonka lub predefiniowanych funkcji sygnału dźwiękowego, to wydaje prawdziwy dźwięk :)

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 naprawdę jest do bani dla golfa
stoisko do

1
@boothby nie zawsze sprawdzić to out
aditsu

20
Okej, Java jest do kitu dla golfa, chyba że wyzwaniem jest rzucanie błędów. ;)
stoisko do


2
@JopVernooij To nie jest golf, to zawiły konkurs popularności.
Jwosty

11

DOS Prompt / DOS Script

a:

Wymaga napędu dyskietek 3,5 ":)


Co to za magia?
patrz

1
Powoduje, że DOS próbuje odczytać z dyskietki, co powoduje dźwięk. Błędem jest jednak to, że wymaga napędu dyskietek 3,5 "; napęd dyskietek 5,25" działa jeszcze lepiej.
celtschk

Zawsze. Czy 5.25 nie byłoby normalnie b:?
svidgen

1
Wypróbuj napęd CD z uszkodzonym dyskiem w środku, też działa świetnie :)
Alejandro

Litera napędu w systemie DOS zależała od tego, do których złączy kabla napęd został podłączony (a na nowszych komputerach ustawienie BIOS). Mój pierwszy komputer miał tylko 5,25-calowy dysk i musiałem podłączyć go jako master (co czyni go dyskiem A), ponieważ nie można go uruchomić z urządzenia slave.
Dennis

9

J (2)

a.

Spowoduje to wydrukowanie wszystkich znaków od 0 do 255, w tym dzwonka.

Jeśli muszę to zrobić bez drukowania czegokolwiek innego, są to 4 znaki:

7{a.

9

Pascal: 30 znaków

uses Crt;begin
Sound(999)
end.

Wykorzystuje to brak jakiejkolwiek reguły dotyczącej czasu trwania dźwięku. Więc po prostu włącza głośnik na 999 Hz i pozwala na to. (Przynajmniej dopóki inny program nie zadzwoni Nosoundlub komputer nie zostanie wyłączony).


Czy dźwięk krzyczy nawet po zakończeniu programu? Podoba mi się ten! :-)
Nicolas Barbulesco

@NicolasBarbulesco, dokładnie. Takie było normalne zachowanie wszystkich programów w DOS, w tym programów napisanych w C lub asemblerze.
manatwork

-2: Zmiana 9 Hz: Sound(9).
Erik the Outgolfer,

@ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ, trudno byłoby udowodnić, że dźwięk jest rzeczywiście generowany. Zakres częstotliwości słuchu ludzkiego
manatwork

@manatwork Cóż, dodaj identyczny kod z inną słyszalną częstotliwością. Ponieważ kody są identyczne, można to udowodnić. (zmienia się tylko liczba)
Erik the Outgolfer

8

Matematyka 6

To wywoła dźwięk systemu. Na moim komputerze jest to obecnie ćwierkanie.

Beep[]

8

Bash, 22

W latach 90. mój brat nauczył mnie tego - do pracy w laboratorium komputerowym, w którym ma się zdalny dostęp i zna osobę, która ma być sama w tym laboratorium. Dzieciaki w dzisiejszych czasach nie będą wiedziały, czym jest laboratorium komputerowe ... ale cóż.

cd /dev;cat sda1>audio

1
Ja się bash: audio: Permission deniednawet działa pod sudo. :(
Riking

2

1
Myślę, że masz na myśli dsp, a nie audio. Zobacz poniżej podobny przykład, który napisałem przy użyciu / dev / random

3
lubcat /dev/sda | aplay
TheDoctor

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

7

cat / type / PHP 1

To właściwie poliglot. Działa w cat(lub nazywany Microsoft Cat type) i PHP.

$ xxd file
0000000: 07                                       .

Wykonanie:

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

Co to jest program Jak to uruchomić? To nie jest jasne.
Nicolas Barbulesco

@NicolasBarbulesco: Program jest jednobajtowy ( \x07), jednak ponieważ jest binarny, nie mogę go tutaj wkleić. Możesz uruchomić go w PHP CLI za pomocą php.
Konrad Borowski

To nie jest jasne. Ale to działa! Z cat. Sztuką jest „dzwonek” ASCII char 7.
Nicolas Barbulesco

To nie jest poważna próba.
user48538,

7

pieprzenie mózgu, 5 bajtów

+[.+]

drukuje wszystkie znaki, w tym dzwonek




5

DOS, 5

Pośrednio, wymaga współpracy użytkownika.

pause

6
Uruchom program. Współpracować. Słuchać.
stoisko do

2
Musisz nacisnąć klawisz ... który wydaje dźwięk. @mana Powiedział, że to pośrednie - pausenie wydało dźwięku, TY zrobiłeś.
Riking

2
@Riking, w jaki sposób jest to zgodne z „Twój program musi sprawić, aby komputer wydawał dźwięk”, część wymagań?
manatwork

5
Nie rozumiem programistów na łamigłówkach, którzy nie potrafią myśleć nieszablonowo.
stoisko do

4
Nie krytykowałem twojej odpowiedzi. Krytykowałem to pytanie. Bezcelowe pytanie oczywiście przyniesie bezcelowe odpowiedzi. Twoja odpowiedź ma więc tyle samo sensu, co każda inna odpowiedź na to głupie pytanie. Daję ci +1.


4

Python 9 znaków


po uruchomieniu wydaje dźwięk.

print'\a'

1
Możesz go skrócić do 8 znaków, jeśli zastąpisz \ago rzeczywistym znakiem dzwonka (kod ASCII 7).
trzęsienie ziemi

Ale jak drukować za pomocą wartości 7?
Anbarasan

1
Możesz wpisać znak dzwonka w swoim edytorze za pomocą Alt+07. Alternatywnie możesz uruchomić ten fragment open("play_a_sound.py", 'w').write("print'"+chr(7)+"'")
kodu,

Mam to teraz. Dzięki !
Anbarasan

4

Jabłkowy (4 znaki)

beep

Spowoduje to odtworzenie domyślnego sygnału dźwiękowego systemu OS X.


4

Matematyka 7

Korzystanie z wbudowanej w Mathematica funkcji zamiany tekstu na mowę.

Speak@x

Sprawi, że powie „x”


4

top & aplay - 9

top ma rytm!

top|aplay

Okresowe wyświetlanie czasami nie podaje wystarczająco szybko dźwięku, ale aplaykontynuuje po trochę zrzędzeniu ... :-)

... będzie działać na wielu Linuxach ...

Premia:

Podczas uruchamiania wpisz „s 1 ENTER”, aby uzyskać więcej uderzeń na sekundę. :-)

Bawić się!!! \ o /


To czysty geniusz ...: D
Mega Man


3

Tcl, 1 znak

-

zastąpić -dzwonkiem char.
Wydrukuje znak dzwonka jako część komunikatu o błędzie. Dwa razy.

A jeśli uważasz, że to nie jest poprawny program, dodaj to przed znakiem dzwonka:

proc \007 {} {};

Jest to poprawny program, po prostu nie zdefiniowałem polecenia, ponieważ podoba mi się komunikat o błędzie.


Czy jest to oparte na jakiejś funkcji Tcl 8.6? W Tcl 8.5 otrzymałem inny wynik: pastebin.com/bh73UF6F Czy jesteś na Windowsie?
manatwork

Nie. Druga część powinna pokazać, że jest to prawidłowy plik Tcl. I powinien emitować 2x sygnał dźwiękowy (komunikat o błędzie zawiera polecenie, które należy wykonać dwukrotnie). Wywołanie polecenia, które nie istnieje, nie jest błędem dla Tcl, jest tylko jedno, jeśli nie może go znaleźć. (np. parrayktóry jest ładowany przy pierwszym użyciu)
Johannes Kuhn

Ups Nie zrozumiałem cię. Myślałem, że masz na myśli, że powinna też sygnalizować dźwiękiem procdeklaracja. (Jeśli chodzi o liczbę puts [string repeat ".\a" 10]sygnałów , prawdopodobnie mój terminal robi coś, ponieważ wyświetla 10 kropek, ale wydaje tylko jeden dźwięk).
manatwork

3

C: 19

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

edit: plik nagłówkowy nie jest potrzebny do „puts”


2
Możesz usunąć odstęp między #includei <:)
tom

puts (char *); main () {puts ("\ a");} jest mniejszy IMHO.
FUZxxl,

Możesz po prostu usunąć #include.
ugoren,

1
@FUZxxl Jak możesz wyrazić opinię na temat rozmiaru kodu?
Klamka

@DoorknobofSnow Z powodu pierwszej poprawki?
FUZxxl,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.