GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menyalurkan sesuatu ke output audio?

Saya menemukan hal-hal yang disalurkan ke aplay bekerja dengan baik.

journalctl | aplay kedengarannya tidak bagus tetapi ternyata bekerja dengan sangat baik.

Berikut adalah contoh dari 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.

Itu dapat ditemukan sebagai bagian dari alsa-utils paket di debian/ubuntu.

Inilah 1-liner yang saya suka yang menggemakan program C kecil ke gcc, dan menjalankan versi yang dikompilasi, menyalurkannya ke aplay. Hasilnya adalah lagu berulang berdurasi 15 menit yang sangat bagus.

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

Itu dimungkinkan dengan /dev/dsp , yang merupakan bagian dari OSS, yang sudah lama tidak menjadi bagian dari kernel Linux. Dulu semudah cat some_file >/dev/dsp atau some_program >/dev/dsp .

PulseAudio menyediakan padsp .

padsp memulai program yang ditentukan dan mengalihkan aksesnya ke perangkat audio yang kompatibel dengan OSS (/dev/dsp dan perangkat tambahan) ke server suara PulseAudio.

Contoh:

  • data acak

    </dev/urandom padsp tee /dev/dsp >/dev/null
    
  • file biasa

    </etc/fstab padsp tee /dev/dsp >/dev/null
    
  • aktivitas jaringan

    sudo tcpdump | padsp tee /dev/dsp >/dev/null
    
  • blokir perangkat

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

Di Ubuntu 18.04.4 LTS saya padsp adalah dari pulseaudio-utils paket.


Linux
  1. Cara membuat kata sandi acak di linux menggunakan /dev/random

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  1. Kapan Menggunakan /dev/random Vs /dev/urandom?

  2. Cara memetakan perangkat /dev/sdX dan /dev/mapper/mpathY dari perangkat /dev/dm-Z

  3. Bagaimana cara menyalurkan /dev/urandom ke output suara linux?

  1. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  2. Linux:Perbedaan antara /dev/console , /dev/tty dan /dev/tty0

  3. Bagaimana Linux menggunakan /dev/tty dan /dev/tty0