Bem, então eu estava lendo sobre este tutorial sobre framboesa pi que faz você reproduzir arquivos de áudio de pi framboesa e transmiti-los em um sinal de FM e algo me deixou curioso. Você pode transmitir arquivos .wav, o que é ok, mas há um comando que faz o stream de áudio ao vivo do microfone.
Estou curioso sobre como isso funciona. Este é o comando:
arecord -d0 -c2 -f S16_LE -r 22050 -twav -D copy | sudo ./pifm -
Bem, estou curioso sobre como isso funciona. Eu pesquisei e entendi que o arecord é um programa que grava áudio do seu microfone. Tem uma opção onde você pode escrever o nome do arquivo e ele salvará o arquivo gravado para você. Mas neste exemplo, algo está acontecendo: parece que o áudio está indo diretamente para python, ao vivo. Quero dizer, como isso é possível? O arecord do programa está alimentando python com dados de som?
Eu só vi esta sintaxe neste comando, por exemplo:
cat file.txt | grep 'test'
que é uma maneira de ler o arquivo 'file.txt', mas apenas exibe as linhas com 'test' escritas nele.
Então, o que, em geral, o símbolo |
significa no linux? O que está acontecendo quando ele faz | sudo ./pifm
depois de algum programa?
Eu realmente gostei dessa possibilidade no linux, é algo que eu nunca vi antes. Estou certo sobre minhas suposições? Além disso, como o Python recebe esses dados? Existe uma biblioteca para isso?