Einen Sound abspielen, jeden Sound [geschlossen]


43

Ihr Programm muss den Computer dazu bringen, einen Ton zu erzeugen, jeden Ton.

Der kürzeste Code gewinnt, frühestens 10 Tage nach der ersten gültigen Antwort. Bei Gleichstand gewinnt derjenige, der früher eingereicht wurde.

  • Das Programm sollte auf einem vernünftigen, nicht allzu ungewöhnlichen PC laufen.
  • Das Öffnen eines Popups, einer Nachrichtenbox usw. (z. B. auf einer Webseite) zählt nicht, da je nach den meisten Einstellungen möglicherweise ein Ton ausgegeben wird oder nicht.
  • Die Eingabe eines falschen Befehls oder eines ungültigen Zeichens auf einer Konsole und der Empfang eines Warntons zählen nicht, ebenso wenig wie der Compiler / Interpreter / Betriebssystem, der bei einem Fehler oder Absturz piept. Ihr Code muss ein gültiges Programm sein.

1
^ G aka Systemklingel- oder OS-Signalton kann auch auf vielen Systemen unterdrückt werden (z. B. als sichtbare "Klingel" geschaltet) und sollte wie Popus-Sounds behandelt werden.
Yeti

Jedes Programm, das "\ a" auf einem Terminal ausgibt, schlägt fehl, wenn xterm eine sichtbare Glocke verwendet.
Kernigh

19
rm /wird viel schreien verursachen.
cjfaure

Mein linker Fan ist eine Weile laut gestorben. Wäre das eine gültige 0-Bit-Antwort?
Édouard

1
Ich denke, diese Frage sollte wieder geöffnet werden. Die Scherzantworten, die sich auf das Drehen des Lüfters oder das Öffnen des CD-Fachs beziehen, sind ungültig, da die Frage "Sound abspielen" lautet. Mir scheint ziemlich klar, dass die Ausgabe aufgrund des Programms von den Lautsprechern kommen muss, nicht vom Betriebssystem, vom Benutzer oder von der Hardware.
mbomb007

Antworten:


21

Gleichstrom, 2 Zeichen

dieses druckt auch die Glocke:

7P

Mit ausführen $ dc <<< 7Poder 7Pin Datei speichern und ausführen $ dc file.

Ebenfalls:

Befunge, 2 Zeichen

Ähnlich, aber endlos wiederholbar und piepsend:

7,

1
Könnten Sie bitte erläutern, welche Sprache das ist? Ich habe noch nie davon gehört, und sein Name ist zu kurz (und eine sehr gebräuchliche Abkürzung), um effizient gesucht zu werden.
vsz

3
Aus der Manpage: dc is a reverse-polish desk calculator which supports unlimited precision arithmetic.- Soweit ich weiß, ist es in den meisten Linux / Unix-Distributionen enthalten.
Daniero

Ein paar weitere Beispiele, wenn Sie interessiert sind: 1 , 2 und 3 . Gesehen ein paar andere verwenden es auch hier.
Daniero

9
@vsz dc ist - natürlich - vollständig, so wie es ein besserer Rechner wie ghc sein sollte.
FUZxxl

4
Alle Sounds können deaktiviert werden. Drehen Sie einfach die Lautstärke herunter.
Daviewales

49

Bash (13)

sudo rm -rf /

Je schneller die Festplatte, desto besser der Klang. Arbeiten Sie nicht mit SSDs.
(Versuchen Sie dies nicht zu Hause, sondern sudo rm -rf /löschen Sie alles auf Ihrer Festplatte.)


7
Ich denke, dass man mit einem Haftungsausschluss kommen sollte - "Versuchen Sie das nicht zu Hause": D
daniero

22
Ja, das ist der Klang , wenn Sie Ihren Computer r eads Ihre m ail r eally f ast (rm -rf).
FUZxxl

70
Warten Sie, Sie haben es falsch verstanden. Die Aufgabe ist es, das machen Computer produzieren einen Sound, der Benutzer ... obwohl ich , dass Schrei zugeben war sehr beeindruckend ...
aufgehört wiederum counterclockwis

4
Ohne geht es nicht --no-preserve-root, außer vielleicht auf alten Systemen.
Nyuszika7h

1
@ Nyuszika7h alten wie vor 2005.
Jwosty

44

* sh (5)

eject

(Funktioniert nicht, wenn Sie kein CD / DVD- oder ähnliches Laufwerk haben.)


Ich mag dieses. Auf meinem Mac (Mac OS X) wird der Befehl jedoch nicht gefunden:sh: eject: command not found
Nicolas Barbulesco,

3
Nicolas:
Richtig

@ Mykhal - Wenn Sie diesen Weg gehen, habe ich eine Lösung, die auf allen modernen Macs funktioniert
Nicolas Barbulesco

1
Dies schlägt mit OpenBSD fehl. usage: eject [-t] deviceDas Geräteargument ist nicht optional! Die kürzeste, die hier funktioniert, ist eject cd0für 9 Zeichen. Wenn sich im Laufwerk keine Schublade befindet (wie bei einem Laufwerk mit Einschub), wird nur dann eject cd0ein Geräusch erzeugt, wenn sich eine Disc im Laufwerk befindet.
Kernigh

1
Kernigh: Du hast recht. Auf der anderen Seite könnte dies auf vielen Systemen ohne Soundkarte oder Lautsprecher gelingen, bei denen die meisten anderen Lösungen fehlschlagen würden
mykhal

37

Befunge, 0

Wenn ich die Spezifikation richtig gelesen habe, ist dies eine Endlosschleife.
Endlosschleife = Sie hören, wie sich Ihr CPU-Kühler dreht.


27

sh 7

w|aplay

Spielt ein kurzes Geräusch.

Auch 7:

aplay *

Versammlung

Eine weitere Lösung ohne Klingel. Die resultierende Binärdatei enthält nur 15 Byte.

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

Zusammenbauen mit nasm sound.asm -o sound.com. Kann mit probiert werden dosbox sound.com.


9
+1, weil Sie sich nicht nur auf ein Terminal verlassen müssen, um BEL-Zeichen in Pieptöne zu übersetzen.
Ilmari Karonen

25

Gehirnfick: 8

+++++++.

Druckt das Klingelzeichen.


16
+1 BF Lösung sowohl verständlich als auch kürzer als C.
OldCurmudgeon

15
Ein Brainfuck ist mental leichter zu verdauen als C ... wir sollten aus diesem Vorfall lernen.
Camilo Martin

23

bash (Mac OS X) 5

say a

stilistisch bevorzuge ich allerdings das etwas längere:

say 'Hello, Code Golf !'

1
Wenn Ihr Mac auf Englisch eingestellt ist, können Sie dies auch tun say 'hahahahahahahahahahahahahahahahahahahahahahahahahaj'.
Tomsmeding

21
Oooh ... Ich habe SSH-Zugang zu einer OSX-Box ...
Stand

1
Dieser Befehl funktioniert in AppleScript. Ich wusste nicht, dass es auch im Terminal funktioniert. Lustig mit ssh!
Nicolas Barbulesco

1
Folgerung unter Linux: espeak...
daviewales


16

Python 3.3.3, ein Zeichen

<bell character>

Die Fehlermeldung enthält ein Klingelzeichen, das den Ton verursacht.

Python 3.3.3, 10 Zeichen

Wenn Fehler nicht zulässig sind, gibt diese Lösung nicht die Fehlermeldung, sondern nur den Ton aus.

print('<bell character>')

Warum das Downvote, erzeugt dieser Code tatsächlich einen Ton.

1
1 char O_o nice +1
Timtech

13

Golfscript 3

'.'

(wo das .eigentlich ein BELL Charakter ist)

Die HEX-Darstellung des obigen Codes lautet:

27 07 27

2
Autsch, Golfscript schlägt wieder zu!
vsz

12

Java - 222

Genug von diesem Klingelzeichen oder vordefinierten Signalton-Funktionen, das macht einen echten Sound :)

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 ist
total verrückt

1
@boothby nicht immer, check this out
aditsu

20
Okay, Java ist zum Golfen verrückt, es sei denn, die Herausforderung besteht darin, Fehler zu werfen. ;)
Stand


2
@JopVernooij Das ist kein Golf, das ist ein hinterhältiger Beliebtheitswettbewerb.
Jwosty

11

DOS-Eingabeaufforderung / DOS-Skript

a:

Benötigt 3,5 "Diskettenlaufwerk :)


Welche Magie ist das?
Siehe auch

1
Es veranlasst DOS, zu versuchen, von der Diskette zu lesen, was einen Ton verursacht. Es ist jedoch falsch, dass hierfür ein 3,5-Zoll-Diskettenlaufwerk erforderlich ist; ein 5,25-Zoll-Diskettenlaufwerk funktioniert sogar noch besser.
Celtschk

Ja. Wäre die 5,25 "normalerweise nicht b:?
Svidgen

1
Versuchen Sie es mit einem CD-Laufwerk mit einer defekten Festplatte, funktioniert auch
Alejandro

Der Laufwerksbuchstabe in DOS hing davon ab, an welche Anschlüsse des Kabels das Laufwerk angeschlossen war (und bei neueren Computern von einer BIOS-Einstellung). Mein erster Computer hatte nur ein 5,25 "-Laufwerk und ich musste es als Master anschließen (was es zum A-Laufwerk machte), da es nicht vom Slave booten konnte.
Dennis

9

J (2)

a.

Dies druckt alle Zeichen von 0 bis 255, einschließlich der Glocke.

Wenn ich es tun muss, ohne etwas anderes zu drucken, sind es 4 Zeichen:

7{a.

9

Pascal: 30 Zeichen

uses Crt;begin
Sound(999)
end.

Dies nutzt das Fehlen jeglicher Regeln bezüglich der Dauer des Klangs aus. Schaltet also einfach den Lautsprecher auf 999 Hz und lasst es so. (Zumindest bis ein anderes Programm aufruft Nosoundoder der Computer ausgeschaltet ist.)


Und der Ton schreit auch nach dem Beenden des Programms weiter? Ich mag dieses! :-)
Nicolas Barbulesco

@NicolasBarbulesco, genau. Dies war das normale Verhalten aller Programme unter DOS, einschließlich der in C oder Assembly geschriebenen.
Manatwork

-2: Ändern bis 9 Hz: Sound(9).
Erik der Outgolfer

@EʀɪᴋᴛʜᴇGᴏʟғᴇʀ, wäre schwer zu beweisen, dass der Ton tatsächlich erzeugt wird. Frequenzbereich des menschlichen Gehörs
Handarbeit

@manatwork Nun, fügen Sie einen identischen Code mit einer anderen Frequenz hinzu, die zu hören ist. Da die Codes identisch sind, kann dies nachgewiesen werden. (die Zahl ändert sich nur)
Erik der Outgolfer

8

Mathematica 6

Dies ruft den Signalton des Systems hervor. Auf meinem Computer ist es derzeit ein Zwitschern.

Beep[]

8

Bash, 22

In den 90er Jahren brachte mir mein Bruder dieses bei - es sollte in einem Computerlabor verwendet werden, in dem man Fernzugriff hat und eine Person kennt, die allein in diesem Labor ist. Kinder werden heutzutage nicht wissen, was ein Computerraum ist ... aber na ja.

cd /dev;cat sda1>audio

1
Ich laufe bash: audio: Permission deniedsogar unter sudo. :(
Riking

2
Dies funktionierte auf Debian ab 2006. Ich kann es nicht auf meiner Ubuntu-Box zum
Laufen bringen

1
Ich denke du meinst dsp, nicht Audio. Unten finden Sie ein ähnliches Beispiel, das ich mit / dev / random

3
odercat /dev/sda | aplay
TheDoctor

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

7

cat / type / PHP 1

Das ist eigentlich vielsprachig. Es läuft in cat(oder Microsoft Cat genannt type) und PHP.

$ xxd file
0000000: 07                                       .

Ausführung:

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

Was ist das Programm? Wie läuft es? Das ist nicht klar.
Nicolas Barbulesco

@NicolasBarbulesco: Das Programm ist ein Byte ( \x07), aber da es binär ist, kann ich es hier nicht einfügen. Sie können es mit PHP CLI ausführen php.
Konrad Borowski

Es ist nicht klar. Aber es funktioniert ! Mit cat. Der Trick ist die ASCII-Zeichen 7 "Glocke".
Nicolas Barbulesco

Das ist kein ernsthafter Versuch.
User48538

7

Brainfuck, 5 Bytes

+[.+]

druckt alle Zeichen einschließlich Glocke




5

DOS, 5

Indirekt, erfordert Benutzerkooperation.

pause

6
Führen Sie das Programm aus. Kooperieren. Hör mal zu.
Stand

2
Sie müssen eine Taste drücken ... und es ertönt ein Geräusch. @mana Er sagte, es sei indirekt - pausehabe nicht den Ton gemacht, DU hast.
Riking

2
@Riking, wie passt das zu der Anforderung "Ihr Programm muss den Computer dazu bringen, einen Sound zu produzieren"?
Manatwork

5
Ich verstehe keine Programmierer auf Puzzleseiten, die nicht über den Tellerrand hinaus denken können.
Stand

4
Ich habe deine Antwort nicht kritisiert. Ich habe die Frage kritisiert. Eine sinnlose Frage wird offensichtlich sinnlose Antworten erhalten. Ihre Antwort ergibt dann genauso viel Sinn wie jede andere Antwort auf diese dumme Frage. Also gebe ich dir +1.


4

Python 9 Zeichen


Bei der Ausführung ertönt ein Piepton.

print'\a'

1
Sie können diesen Wert auf 8 Zeichen verkürzen, wenn Sie ihn durch \adas tatsächliche Klingelzeichen (ASCII-Code 7) ersetzen .
Flornquake

Aber wie kann man mit Hilfe des Wertes 7 drucken?
Anbarasan

1
Sie können die Glocke mit in Ihren Editor eingeben Alt+07. Alternativ können Sie dieses Snippet ausführen, um eine Python-Datei mit der 8- open("play_a_sound.py", 'w').write("print'"+chr(7)+"'")
stelligen

Ich habe es verstanden. Vielen Dank !
Anbarasan

4

Applescript (4 Zeichen)

beep

Dies gibt den Standard-Piepton von OS X wieder.


4

Mathematica 7

Verwendung der integrierten Text-zu-Sprache-Funktion von Mathematica.

Speak@x

Lässt es "x" sagen


4

top & aplay - 9

top hat Rhythmus!

top|aplay

Die periodische Anzeige speist den Schall manchmal nicht schnell genug, sondern aplaysetzt sich nach einigem Grunzen fort ... :-)

... das läuft unter vielen Linuxen ...

Bonus:

Geben Sie dabei "s 1 ENTER" ein, um mehr Schläge pro Sekunde zu erhalten. :-)

Feier weiter!!! \O/


Das ist reines Genie ...: D
Mega Man


3

Tcl, 1 char

-

Ersetzen Sie -mit der Glocke char.
Es wird das Klingelzeichen als Teil der Fehlermeldung gedruckt. Zweimal.

Und wenn Sie denken, dass dies kein gültiges Programm ist, fügen Sie dies vor dem Klingelzeichen hinzu:

proc \007 {} {};

Es ist ein gültiges Programm, ich habe den Befehl nur nicht definiert, weil mir die Fehlermeldung gefällt.


Basiert das auf einer Tcl 8.6-Funktion? In Tcl 8.5 habe ich ein anderes Ergebnis erhalten: pastebin.com/bh73UF6F Oder sind Sie unter Windows?
Manatwork

Der 2. Teil sollte zeigen, dass dies eine gültige Tcl-Datei ist. Und es sollte 2x piepen (die Fehlermeldung enthält den Befehl, der zweimal ausgeführt werden soll). Das Aufrufen eines nicht vorhandenen Befehls ist für Tcl kein Fehler. Es ist nur einer, wenn es ihn nicht finden kann. (zB parraywelches beim ersten Gebrauch geladen wird)
Johannes Kuhn

Hoppla. Ich habe dich missverstanden. Ich dachte du meinst, es sollte auch bei der procErklärung piepen . (In Bezug auf die Anzahl der Signaltöne zeigt mein Terminal wahrscheinlich puts [string repeat ".\a" 10]10 Punkte an, gibt aber nur einmal Signaltöne aus.)
manatwork

3

C: 19

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

edit: Header-Datei wird für "Puts" nicht benötigt


2
Sie können das Leerzeichen zwischen #includeund entfernen <:)
tomsmeding

puts (char *); main () {puts ("\ a");} ist meiner Meinung nach kleiner.
FUZxxl

Sie können einfach die entfernen #include.
Ugoren

1
@FUZxxl Wie können Sie eine Meinung zur Codegröße haben?
Türklinke

@DoorknobofSnow Wegen der ersten Änderung?
FUZxxl

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.