web-dev-qa-db-fra.com

Comment faire tuer quelque chose à la sortie audio?

Comment puis-je piler toutes les données sur la sortie audio? Par exemple, je souhaite écouter un fichier - une archive, une sauvegarde de lecteur, un programme. Ou je veux écouter mon disque dur - je me souviens vaguement de lire quelque chose à propos de cela possible il y a environ 7 ans, mais je ne trouve rien maintenant.

Donc, les fichiers, les lectures de disque, même des connexions réseau - je veux pouvoir écouter quoi que ce soit. Je sais que c'est certainement possible avec Linux. Comment puis-je le faire? Utilisation de Lubuntu 20.04

Je trouve des choses de tuyauterie dans aplay fonctionne bien.

journalctl | aplay ne sonne pas jolie mais travaille é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 package alsa-utils sur Debian/Ubuntu.

Voici une 1-doublure que j'aime qui échoue à un petit programme C dans GCC, et exécute la version compilée, la pipi-elle à Aplay. Le résultat est une chanson répétée surprenante de 15 minutes de 15 minutes.

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
11
Stewart

C'était possible avec /dev/dsp, qui fait partie de l'OSS, qui n'a pas fait partie du noyau de Linux une très longue période. Il é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 aux périphériques audio compatibles OSS (/dev/dsp et appareils auxiliaires) à un serveur de son PULSAUDIO.

( Source )


Exemples:

  • données aléatoires

    </dev/urandom padsp tee /dev/dsp >/dev/null
    
  • dossier régulier

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

    Sudo tcpdump | padsp tee /dev/dsp >/dev/null
    
  • appareil de blocage

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

Dans mon Ubuntu 18.04.4 lts padsp est de la pulseaudio-utils emballer.

9