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.
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/