GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo canalizar algo a la salida de audio?

Encuentro cosas de tuberías en aplay funciona bien.

journalctl | aplay no suena bonito pero funciona sorprendentemente bien.

Aquí hay un ejemplo de 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.

Se puede encontrar como parte del alsa-utils paquete en debian/ubuntu.

Aquí hay un 1-liner que me gusta que hace eco de un pequeño programa C en gcc, y ejecuta la versión compilada, canalizándola a un juego. El resultado es una canción repetida sorprendentemente agradable de 15 minutos.

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

Fue posible con /dev/dsp , que es parte de OSS, que no ha sido parte del kernel de Linux durante mucho tiempo. Solía ​​ser tan fácil como cat some_file >/dev/dsp o some_program >/dev/dsp .

PulseAudio proporciona padsp .

padsp inicia el programa especificado y redirige su acceso a dispositivos de audio compatibles con OSS (/dev/dsp y dispositivos auxiliares) a un servidor de sonido PulseAudio.

Ejemplos:

  • datos aleatorios

    </dev/urandom padsp tee /dev/dsp >/dev/null
    
  • archivo normal

    </etc/fstab padsp tee /dev/dsp >/dev/null
    
  • actividad de la red

    sudo tcpdump | padsp tee /dev/dsp >/dev/null
    
  • bloquear dispositivo

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

En mi Ubuntu 18.04.4 LTS padsp es del pulseaudio-utils paquete.


Linux
  1. Cómo generar una contraseña aleatoria en Linux usando /dev/random

  2. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  3. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  4. ¿Cuándo usar /dev/random Vs /dev/urandom?

  5. Cómo mapear dispositivos /dev/sdX y /dev/mapper/mpathY desde el dispositivo /dev/dm-Z

Cómo reemplazar un disco duro fallido en el software RAID de Linux

Cómo redirigir la salida a /dev/null en Linux

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

Cómo usa Linux /dev/tty y /dev/tty0

hacer eco o imprimir /dev/stdin /dev/stdout /dev/stderr

¿Por qué se requieren < o > para usar /dev/tcp?