Como reproduzir sons a partir de arquivos com aplay

O aplay é um programa que reproduz sons via linha de comando no driver ALSA da placa de áudio.
Ele suporta vários formatos de arquivos e vários modelos de hardware com múltiplos dispositivos.
Em tese, é possível também enviar qualquer saída de texto pro aplay.
alto falante reproduzindo som
Neste texto, vou mostrar como usar o aplay para enviar o resultado da sua linha de comando para a placa de som do sistema — isto pode ser útil, em alguns casos, para criar avisos ou alarmes — muito embora o nosso objetivo, neste post, seja, mesmo, a diversão. 😉

Se você tem interesse em reproduzir suas músicas MP3 na linha de comando, visite esta seção.

A melhor forma de aprender é através de exemplos, que você pode alterar para ver outros resultados. Experimente.
Envie a atividade atual do kernel pro seu dispositivo de áudio:

sudo cat /proc/kcore | aplay
Playing raw data 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono

“Ouça” a saída do comando tcpdump pra sua placa de rede wireless:

sudo tcpdump -i wlan0 | aplay

Quanto maior a quantidade de dados envolvida, maior o tempo de reprodução.
Você pode interromper a execução do comando a qualquer momento com Ctrl + C.
Experimente enviar a listagem do seu diretório…

ls -R ~/ | aplay

Acima, a opção -R pede para que a listagem seja recursiva.
Experimente com outros comandos Linux.
O site TechFreaks, sugeriu a seguinte brincadeira, com o arquivo /dev/urandom, que exibe uma saída aleatória:

cat /dev/urandom > temp.wav  &”  sleep 1  ; pkill -9 cat ; aplay temp.wav

Na linha de comando acima, o conteúdo de /dev/urandom> é gravado no arquivo temp.wav. O processo é abortado com o comando pkill e, em seguida, o aplay é chamado para reproduzir o conteúdo de temp.wav.

Use o perl para produzir notas musicais

O exemplo, a seguir, usa código da linguagem de programação Perl, para produzir algumas notas musicais em conjunto com o programa aplay.
Entre as alterações que você pode fazer, tente alterar o texto e o valor de x:

perl -e '@w = split / /, "O homem nasceu para aprender, aprender tanto quanto a vida lhe permita."; print "$_\n"x1000 foreach @w;' | aplay 

A frase é de João Guimarães Rosa, caso você esteja curioso(a). 😉
Como você pode ver, o script produz uma nota para cada palavra.
Divirta-se! 😉
Referências: http://www.linux.com/learn/tutorials/790121-assorted-fun-linux-command-line-hacks-
http://techfreaks4u.com/blog/posts/geekist-things-i-ever-did-in-linux/