Tocar um som, qualquer som [fechado]

43

Seu programa precisa fazer o computador produzir um som, qualquer som.

O código mais curto vence, não antes de 10 dias após a primeira resposta válida. Se houver empate, o que foi enviado mais cedo, vence.

  • O programa deve ser executado em um computador pessoal razoável e não muito incomum.
  • Abrir um pop-up, uma caixa de mensagem etc. (por exemplo, em uma página da web) não conta, pois eles podem ou não produzir um som, dependendo de muitas configurações.
  • Apenas digitar um comando errado ou caractere inválido no console e receber um sinal sonoro de aviso não conta, assim como o compilador / intérprete / SO que apita um erro ou travamento também não conta. Seu código deve ser um programa válido.
vsz
fonte
1
^ A campainha do sistema ou bip do sistema operacional também pode ser suprimida em muitos sistemas (por exemplo, passou a ser uma "campainha" visível) e deve ser tratada como sons de popus e assim por diante: Não é uma solução válida.
yeti
Todo programa que imprime "\ a" em um terminal falha se o xterm usa uma campainha visível.
kernigh
19
rm /causará muitos gritos.
cjfaure
Meu ventilador esquerdo está morrendo ruidosamente por um tempo. Seria uma resposta válida de 0 bits?
Édouard
1
Penso que esta questão deve ser reaberta. As respostas da piada que dependem da rotação do ventilador ou da abertura da bandeja de CD são inválidas, pois a pergunta diz "reproduzir um som". Parece-me bastante claro que a saída precisa vir dos alto-falantes como resultado do programa, não do SO, do usuário ou do hardware.
Mbomb007

Respostas:

21

dc, 2 caracteres

este também imprime o caractere sino:

7P

Execute com $ dc <<< 7Pou salve 7Pno arquivo e execute $ dc file.

Além disso:

Befunge, 2 caracteres

Semelhante, mas com loop infinito e bipes:

7,
daniero
fonte
1
Poderia, por favor, elaborar que idioma é esse? Eu nunca ouvi falar sobre isso, e seu nome é muito curto (e uma abreviação muito comum) para ser pesquisado com eficiência.
vsz
3
Na página de manual: dc is a reverse-polish desk calculator which supports unlimited precision arithmetic.- está incluído na maioria das distribuições linux / unix, até onde eu sei.
Daniero
Mais alguns exemplos, se você estiver interessado: 1 , 2 e 3 . Visto alguns outros usá-lo aqui também.
Daniero
9
O @vsz dc está, é claro, completo, como qualquer outra calculadora melhor, como o ghc.
FUZxxl
4
Todos os sons podem ser desativados. Apenas abaixe o volume.
daviewales
49

bash (13)

sudo rm -rf /

Quanto mais rápido o disco rígido, melhor o som. Não trabalhe com SSDs.
(Não tente fazer isso em casa, sudo rm -rf /apaga tudo no disco rígido)

Daniel
fonte
7
Eu acho que se deve vir com um aviso - "Não tente isso em casa": D
daniero
22
Sim, isso é o som quando o computador r EADS seu m ail r eally f ast (rm-rf).
FUZxxl 03/12/12
70
Espere, você entendeu errado. A tarefa é fazer o computador produzir um som, não o usuário ... embora eu tenha que admitir que o grito foi bastante impressionante ...
deixou de girar no sentido contrário
4
Não faz nada sem --no-preserve-root, exceto talvez em sistemas antigos.
precisa saber é o seguinte
1
@ nyuszika7h antiga como antes de 2005.
Jwosty
44

* sh (5)

eject

(não funciona se você não tiver CD / DVD ou unidade similar ..)

mykhal
fonte
Eu gosto deste. Mas, no meu Mac (Mac OS X), o comando não foi encontrado:sh: eject: command not found
Nicolas Barbulesco
3
Nicolas: direito, no Mac, o "comando" eject parece ser muito mais curto: (:
mykhal
@ Mykhal - Se você percorrer esse caminho, eu tenho uma solução que funciona em todos os Macs modernos: 🔊
Nicolas Barbulesco
1
Isso falha com o OpenBSD. usage: eject [-t] deviceO argumento do dispositivo não é opcional! O menor que funciona aqui é eject cd0de 9 caracteres. Além disso, se a unidade não tiver bandeja (como eject cd0ocorre com uma unidade de carregamento de slots), ela não fará barulho, a menos que haja um disco na unidade.
kernigh
1
kernigh: você está certo. por outro lado, pode ter sucesso em muitos sistemas sem uma placa de som ou alto-falante, onde a maioria das outras soluções falharia
mykhal
37

Befunge, 0

Se eu ler as especificações corretamente, esse é um loop sem fim.
Loop infinito = você ouvirá seu cooler da CPU girar.

Johannes Kuhn
fonte
27

sh 7

w|aplay

Toca um barulho curto.

Também 7:

aplay *

Montagem

Outra solução sem campainha. O binário resultante é de apenas 15 bytes.

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

Monte com nasm sound.asm -o sound.com. Pode ser experimentado com dosbox sound.com.

cópia de
fonte
9
+1 por não depender apenas de um terminal para converter caracteres BEL em sinais sonoros.
Ilmari Karonen
25

brainfuck: 8

+++++++.

Imprime o caractere da campainha.

caixa de papelão
fonte
16
+1 BF Solution compreensível e mais curto do que C.
OldCurmudgeon
15
Um cérebro é mais fácil de digerir mentalmente do que C ... devemos aprender com esse incidente.
Camilo Martin
23

bash (Mac OS X) 5

say a

embora estilisticamente eu prefira um pouco mais:

say 'Hello, Code Golf !'
Paul R
fonte
1
Se o seu Mac estiver definido como inglês, você também poderá say 'hahahahahahahahahahahahahahahahahahahahahahahahahaj'.
tomsmeding
21
Oooh ... Eu tenho acesso ssh para uma caixa de OSX ...
Boothby
1
Este comando funciona em AppleScript. Eu também não sabia que funciona no terminal. Engraçado com ssh!
Nicolas Barbulesco
1
Corolário no Linux: espeak...
daviewales
19

Haha, bom e velho código QBASIC.

BEEP
Soham Chowdhury
fonte
1
Ah, a diversão que poderia ser desfrutada com o comando PLAY! Para reminiscência, veja, por exemplo, este vídeo .
Jussi M
1
Eu tenho 15 anos, xD. Nós aprendemos QBASIC na escola.
Soham Chowdhury 14/03
16

Python 3.3.3, um caractere

<bell character>

A mensagem de erro conterá um caractere de campainha, causando o som.

Python 3.3.3, 10 caracteres

Se erros não forem permitidos, esta solução não emitirá a mensagem de erro, apenas o som.

print('<bell character>')

fonte
Por que o voto negativo, esse código realmente produz um som.
1
1 char O_o nice +1
Timtech
13

Golfscript 3

'.'

(onde .na verdade é um personagem BELL)

A representação HEX do código acima é:

27 07 27
Cristian Lupascu
fonte
2
Ouch, Golfscript ataca novamente!
vsz 17/11/12
12

Java - 222

Chega desse caractere de campainha ou de funções predefinidas da função de bipe, isso produz um som real :)

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
fonte
18
Java realmente é uma porcaria para o golfe
Boothby
1
@boothby nem sempre, verifique este para fora
aditsu
20
Ok, Java é péssimo para o golfe, exceto quando o desafio é lançar erros. ;)
boothby
@ boothby Que tal isso? codegolf.stackexchange.com/a/28818/24965
stommestack:
2
@JopVernooij Isso não é golfe, é um concurso de popularidade secreto.
Jwosty
11

Prompt do DOS / Script do DOS

a:

Requer unidade de disquete de 3,5 ":)

svidgen
fonte
Que mágica é essa?
seequ
1
Isso faz com que o DOS tente ler o disquete, o que causa um som. No entanto, é errado que isso precise de uma unidade de disquete de 3,5 "; uma unidade de disquete de 5,25" funciona ainda melhor.
Celtschk
Sim. Os 5,25 "normalmente não seriam b:?
Svidgen 15/06
1
Tente uma unidade de CD com um interior rígido com defeito, funciona muito bem também :)
Alejandro
A letra da unidade no DOS dependia de quais conectores do cabo a unidade estava conectada (e em máquinas mais recentes, uma configuração do BIOS). Meu primeiro computador só tinha uma unidade de 5,25" e eu tinha que anexá-lo como mestre (tornando-o uma unidade), uma vez que não podia arrancar a partir do escravo.
Dennis
9

J (2)

a.

Isso imprime todos os caracteres de 0 a 255, incluindo a campainha.

Se eu tiver que fazer isso sem imprimir mais nada, são 4 caracteres:

7{a.
marinus
fonte
9

Pascal: 30 caracteres

uses Crt;begin
Sound(999)
end.

Isso tira proveito da falta de qualquer regra em relação à duração do som. Então, apenas liga o alto-falante em 999 Hz e deixa assim. (Pelo menos até que outro programa chame Nosoundou o computador seja desligado.)

homem a trabalhar
fonte
E o som continua gritando mesmo depois que o programa foi encerrado? Eu gosto deste ! :-)
Nicolas Barbulesco 22/06
@NicolasBarbulesco, exatamente. Esse era o comportamento normal de todos os programas no DOS, incluindo os escritos em C ou assembly.
manatwork
-2: Alterar a 9 Hz: Sound(9).
Erik the Outgolfer
@ EʀɪᴋᴛʜᴇGᴏʟғᴇʀ, seria difícil provar que o som é realmente gerado. Faixa de frequência de audição humana
manatwork
@manatwork Bem, adicione um código idêntico com outra frequência que possa ser ouvida. Como os códigos são idênticos, isso pode ser provado. (o número só muda)
Erik a Outgolfer
8

Mathematica 6

Isso evocará o bipe do sistema. No meu computador, atualmente é um chilro.

Beep[]
DavidC
fonte
8

Bash, 22

Nos anos 90, meu irmão me ensinou este - para ser usado em um laboratório de informática, onde se tem acesso remoto e sabe que uma pessoa está sozinha nesse laboratório. Hoje em dia, as crianças não sabem o que é um laboratório de informática ... mas tudo bem.

cd /dev;cat sda1>audio
boothby
fonte
1
Eu fico bash: audio: Permission deniedrodando sob o sudo. :(
Riking
2
Isso funcionou no Debian a partir de 2006. Eu não posso fazê-lo funcionar na minha caixa de Ubuntu: * (
Boothby
1
Eu acho que você quer dizer dsp, não áudio. Veja abaixo um exemplo semelhante que escrevi usando / dev / random
3
oucat /dev/sda | aplay
TheDoctor 4/14
1
@TheDoctor ou aplay</dev/sda(UUOC ;-))
Digital Trauma
7

cat / tipo / PHP 1

Na verdade, isso é poliglota. É executado cat(ou chamado Microsoft Cat type) e PHP.

$ xxd file
0000000: 07                                       .

Execução:

$ xxd -r > file
0000000: 07                                       .
^D
$ cat file # cat could be replaced with type (on Windows) or with php
Konrad Borowski
fonte
Qual é o programa? Como executá-lo? Isto não está claro.
Nicolas Barbulesco
@NicolasBarbulesco: O programa é de um byte ( \x07), no entanto, por ser binário, não consigo colar aqui. Você pode executá-lo no PHP CLI, com php.
Konrad Borowski
Isso nao esta claro. Mas funciona! Com cat. O truque é o ASCII char 7 "sino".
Nicolas Barbulesco
Essa não é uma tentativa séria.
precisa saber é o seguinte
7

brainfuck, 5 bytes

+[.+]

imprime todos os caracteres, incluindo sino

benwaffle
fonte
5

R 9

O caractere sino

cat("\a")
Dason
fonte
5

Ruby, 7

$><<?\a

Testado no Windows com Ruby 1.9.3.

Roy Tinker
fonte
5

DOS, 5

Indireto, requer cooperação do usuário.

pause
boothby
fonte
6
Execute o programa. Colaborar. Ouço.
Boothby
2
Você tem que pressionar uma tecla ... o que faz um som. @mana Ele disse que era indireto - pausenão fez o som, VOCÊ fez.
Riking
2
@ Vikings, como isso está em conformidade com a parte “O seu programa precisa fazer o computador produzir um som”?
Manatwork
5
Não entendo programadores em sites de quebra-cabeças que não conseguem pensar fora da caixa.
Boothby
4
Eu não estava criticando sua resposta. Eu estava criticando a pergunta. Uma pergunta inútil obviamente terá respostas inúteis. Sua resposta faz tanto sentido quanto qualquer outra resposta para essa pergunta estúpida. Então, eu estou te dando +1.
5

PowerShell, 24 17

Como ninguém postou esta versão ainda:

[console]::beep()

UPDATE: frequências removidas para usar a frequência e a duração padrão (o MSDN diz que o padrão é 800 hertz e 200 milissegundos )

ub3rst4r
fonte
Certamente você poderia pelo menos usar números menores
Dennis Jaheruddin
4

Caracteres do Python 9


produz um sinal sonoro quando executado.

print'\a'
Anbarasan
fonte
1
Você pode reduzi-lo para 8 caracteres se substituir \apelo caractere de campainha real (código ASCII 7).
Flornquake #
Mas como imprimir com a ajuda do valor 7?
Anbarasan #
1
Você pode digitar o caractere de campainha no seu editor com Alt+07. Alternativamente, você pode executar esse trecho para criar um arquivo de python com a solução de 8 caracteres:open("play_a_sound.py", 'w').write("print'"+chr(7)+"'")
flornquake
Tenho agora. Obrigado !
Anbarasan
4

Applescript (4 caracteres)

beep

Isso tocará o som padrão do OS X.

Mathias
fonte
4

Mathematica 7

Usando o recurso incorporado de texto para fala do Mathematica.

Speak@x

Vai dizer "x"

Tally
fonte
4

top e jogo - 9

top tem ritmo!

top|aplay

Às vezes, a exibição periódica não alimenta o coletor de som rápido o suficiente, mas aplaycontinua depois de se agachar um pouco ... :-)

... isso funcionará em muitos Linuxs ...

Bônus:

Enquanto estiver executando isso, digite "s 1 ENTER" para obter mais tempos por segundo. :-)

Party on !!! \ o /

yeti
fonte
Isso é pura genialidade ...: D
Mega Man
3

> <> 3

Como em todas as respostas, imprime a campainha (0x07) em stdout.

7o;
tomsmeding
fonte
3

Tcl, 1 caracter

-

substitua -pela campainha.
Ele imprimirá o sino como parte da mensagem de erro. Duas vezes.

E se você acha que este não é um programa válido, adicione-o antes do bell char:

proc \007 {} {};

É um programa válido, apenas não defini o comando, porque gosto da mensagem de erro.

Johannes Kuhn
fonte
Isso é baseado em algum recurso do Tcl 8.6? No Tcl 8.5, obtive um resultado diferente: pastebin.com/bh73UF6F Ou você está no Windows?
Manatwork
Não. A segunda parte deve mostrar que este é um arquivo Tcl válido. E deve emitir um bipe 2x (a mensagem de erro contém o comando a ser executado duas vezes). Chamar um comando que não existe não é um erro para Tcl, é apenas um se não puder encontrá-lo. (por exemplo parray, carregado no primeiro uso)
Johannes Kuhn
Opa Eu te entendi mal. Eu pensei que você quis dizer, ele deveria apitar com a procdeclaração também. (Em relação à contagem de beep, provavelmente o meu terminal está fazendo algo tão puts [string repeat ".\a" 10]exibe 10 pontos, mas emite um sinal sonoro apenas uma vez.)
manatwork
3

C: 19

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

edit: arquivo de cabeçalho não é necessário para "puts"

Trevor Hickey
fonte
2
Você pode remover o espaço entre #includee <:)
tomsmeding
puts (char *); main () {puts ("\ a");} é menor IMHO.
FUZxxl
Você pode apenas remover o #include.
Ugoren
1
@FUZxxl Como você pode ter uma opinião sobre o tamanho do código?
Maçaneta
@DoorknobofSnow Por causa da primeira alteração?
FUZxxl
2

Ruby 8

 puts"\a"

Testado no Windows com Ruby 1.9.3.

Cristian Lupascu
fonte