Linux

如何將任何內容通過管道傳輸到音頻輸出?

  • May 16, 2020

如何將任何數據通過管道傳輸到音頻輸出?例如,我想听一個文件——一個檔案、一個驅動器備份、一個程序。或者我想听我的硬碟——我隱約記得大約 7 年前讀過一些關於這可能的東西,但現在找不到任何東西。

所以,文件、磁碟讀取,甚至網路連接——我希望能夠聽到任何東西。我知道 Linux 絕對可以。我該怎麼做?使用 Lubuntu 20.04

我發現管道的東西aplay效果很好。

journalctl | aplay聽起來並不漂亮,但效果卻出奇的好。

下面是一個例子aplay(1)

aplay -c 1 -t raw -r 22050 -f mu_law foobar
             will play the raw file "foobar" as a 22050-Hz, mono, 8-bit, Mu-Law .au file.

它可以作為alsa-utilsdebian/ubuntu 軟體包的一部分找到。

這是一個我喜歡的 1-liner,它將一個小型 C 程序回顯到 gcc 中,並執行編譯後的版本,將其通過管道傳輸到 aplay。結果是一首令人驚訝的好聽的 15 分鐘重複歌曲。

echo "g(i,x,t,o){return((3&x&(i*((3&i>>16?\"BY}6YB6$\":\"Qj}6jQ6%\")[t%8]+51)>>o))<<4);};main(i,n,s){for(i=0;;i++)putchar(g(i,1,n=i>>14,12)+g(i,s=i>>17,n^i>>13,10)+g(i,s/3,n+((i>>11)%3),10)+g(i,s/5,8+n-((i>>10)%3),9));}"|gcc -xc -&&./a.out|aplay

引用自:https://unix.stackexchange.com/questions/587002