GNU/Linux >> Linux の 問題 >  >> Linux

オーディオ出力に何かをパイプする方法は?

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-utils の一部として見つけることができます パッケージは debian/ubuntu にあります。

これは、小さな C プログラムを gcc にエコーし、コンパイルされたバージョンを実行し、それを aplay にパイプする、私が気に入っている 1 ライナーです。その結果、驚くほど素晴らしい 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

/dev/dsp で可能でした 、これは OSS の一部であり、Linux カーネルの一部ではありませんでした。以前は cat some_file >/dev/dsp と同じくらい簡単でした または some_program >/dev/dsp .

PulseAudio は padsp を提供します .

<ブロック引用>

padsp 指定されたプログラムを起動し、そのアクセスを OSS 互換オーディオ デバイスにリダイレクトします (/dev/dsp および補助デバイス) を PulseAudio サウンド サーバーに送信します。

例:

  • ランダムデータ

    </dev/urandom padsp tee /dev/dsp >/dev/null
    
  • 通常のファイル

    </etc/fstab padsp tee /dev/dsp >/dev/null
    
  • ネットワーク活動

    sudo tcpdump | padsp tee /dev/dsp >/dev/null
    
  • ブロックデバイス

    sudo cat /dev/sda | padsp tee /dev/dsp >/dev/null
    

私のUbuntu 18.04.4 LTS padspでは pulseaudio-utils からです パッケージ。


Linux
  1. / dev/randomを使用してLinuxでランダムパスワードを生成する方法

  2. Linux:/ dev / console、/ dev / tty、/ dev / tty0の違いは?

  3. /dev/random または /dev/urandom を base64 でエンコードする方法は?

  1. /dev/urandom を Linux サウンド出力にパイプする方法は?

  2. Linux:/dev/console 、 /dev/tty 、 /dev/tty0 の違い

  3. echo または print /dev/stdin /dev/stdout /dev/stderr

  1. LinuxソフトウェアRAIDで故障したハードディスクを交換する方法

  2. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  3. /dev/tcp を使用するために < または > が必要な理由