GNU/Linux >> Tutoriels Linux >  >> Linux

Comment diriger quoi que ce soit vers la sortie audio ?

Je trouve des trucs de tuyauterie dans aplay fonctionne bien.

journalctl | aplay n'a pas l'air joli mais fonctionne étonnamment bien.

Voici un exemple 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.

Il peut être trouvé dans le cadre du alsa-utils paquet sur debian/ubuntu.

Voici un 1-liner que j'aime qui fait écho à un petit programme C dans gcc et exécute la version compilée, en la redirigeant vers aplay. Le résultat est une chanson répétitive de 15 minutes étonnamment agréable.

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

C'était possible avec /dev/dsp , qui fait partie d'OSS, qui ne fait pas partie du noyau Linux depuis très longtemps. C'était aussi simple que cat some_file >/dev/dsp ou some_program >/dev/dsp .

PulseAudio fournit padsp .

padsp démarre le programme spécifié et redirige son accès vers les périphériques audio compatibles OSS (/dev/dsp et appareils auxiliaires) à un serveur de son PulseAudio.

Exemples :

  • données aléatoires

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

    </etc/fstab padsp tee /dev/dsp >/dev/null
    
  • activité réseau

    sudo tcpdump | padsp tee /dev/dsp >/dev/null
    
  • bloquer l'appareil

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

Dans mon Ubuntu 18.04.4 LTS padsp vient du pulseaudio-utils paquet.


Linux
  1. Comment remplacer un disque dur défaillant dans un RAID logiciel Linux

  2. Comment générer un mot de passe aléatoire sous Linux en utilisant /dev/random

  3. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  4. Comment mapper les périphériques /dev/sdX et /dev/mapper/mpathY à partir du périphérique /dev/dm-Z

  5. Comment encoder en base64 /dev/random ou /dev/urandom ?

Comment rediriger la sortie vers /dev/null sous Linux

Comment puis-je modifier la quantité et la taille des disques RAM Linux (/dev/ram0 - /dev/ram15) ?

Linux :Différence entre /dev/console , /dev/tty et /dev/tty0

Comment Linux utilise /dev/tty et /dev/tty0

echo ou print /dev/stdin /dev/stdout /dev/stderr

Pourquoi < ou > sont-ils nécessaires pour utiliser /dev/tcp