GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich etwas zum Audioausgang leiten?

Ich finde, dass Dinge in aplay geleitet werden funktioniert gut.

journalctl | aplay klingt nicht schön, funktioniert aber überraschend gut.

Hier ist ein Beispiel aus 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.

Es kann als Teil des alsa-utils gefunden werden Paket auf debian/ubuntu.

Hier ist ein Einzeiler, der mir gefällt, der ein kleines C-Programm in gcc wiedergibt und die kompilierte Version ausführt und an aplay weiterleitet. Das Ergebnis ist ein überraschend schöner, sich wiederholender 15-Minuten-Song.

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

Mit /dev/dsp war das möglich , das Teil von OSS ist, das seit langem nicht mehr Teil des Linux-Kernels ist. Früher war es so einfach wie cat some_file >/dev/dsp oder some_program >/dev/dsp .

PulseAudio bietet padsp .

padsp startet das angegebene Programm und leitet seinen Zugriff auf OSS-kompatible Audiogeräte um (/dev/dsp und Zusatzgeräte) an einen PulseAudio-Soundserver.

Beispiele:

  • Zufallsdaten

    </dev/urandom padsp tee /dev/dsp >/dev/null
    
  • normale Datei

    </etc/fstab padsp tee /dev/dsp >/dev/null
    
  • Netzwerkaktivität

    sudo tcpdump | padsp tee /dev/dsp >/dev/null
    
  • Gerät blockieren

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

In meinem Ubuntu 18.04.4 LTS padsp stammt von pulseaudio-utils Paket.


Linux
  1. So ersetzen Sie eine ausgefallene Festplatte in einem Linux-Software-RAID

  2. So generieren Sie ein zufälliges Passwort unter Linux mit /dev/random

  3. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  4. So ordnen Sie /dev/sdX- und /dev/mapper/mpathY-Geräte vom /dev/dm-Z-Gerät zu

  5. Wie kann /dev/random oder /dev/urandom mit base64 codiert werden?

So leiten Sie die Ausgabe unter Linux nach /dev/null um

Wann sollte /dev/random vs. /dev/urandom verwendet werden?

Wie kann /dev/urandom zur Linux-Soundausgabe geleitet werden?

Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

Wie kann ich die Anzahl und Größe von Linux-Ramdisks (/dev/ram0 - /dev/ram15) ändern?

Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0