web-dev-qa-db-fra.com

sox et rec sans le micro

J'essaie d'enregistrer la sortie de mes haut-parleurs, mais lorsque je le fais, cela enregistre également à partir du microphone. Je voudrais enregistrer uniquement les périphériques non-microphone.

En essayant:

$ (AUDIODEV=hw:0,0; rec test.mp3)    
$ rec -d hw:0,0 test.mp3

J'ai aussi essayé ffmpeg:

$ ffmpeg -f alsa -i hw:CARD=PCH,DEV=0 test.mp3
$ ffmpeg -f alsa -i front:CARD=PCH,DEV=0 test.mp3
$ ffmpeg -f alsa -i surround40:CARD=PCH,DEV=0 test.mp3

J'ai vu des choses complexes telles que:

$ parec -v -d analog-output-speaker | sox -t raw -e signed-integer b 16 -r 44100 -c 2 test.mp3

Proposé en ligne, mais cela enregistre toujours le micro et vient avec des options obsolètes de sox.

Comment puis-je enregistrer uniquement des entrées non-mic dans Ubuntu 14.04+?

4
Mittenchops
  1. Vérifier les sources disponibles

    $ pactl list short sources
    0   alsa_output.pci-0000_00_05.0.analog-stereo.monitor  module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
    1   alsa_input.pci-0000_00_05.0.analog-stereo   module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
    
  2. Spécifiez le moniteur en tant qu'entrée pour la commande d'enregistrement.

    • tilisation de avconv/ffmpeg

      Installez-le (uniquement pour avconv)

      Sudo apt-get update
      Sudo apt-get install libav-tools
      

      Enregistrez en utilisant:

      avconv -f Pulse -i alsa_output.pci-0000_00_05.0.analog-stereo.monitor test.mp3
      

      ou

      ffmpeg -f Pulse -i alsa_output.pci-0000_00_05.0.analog-stereo.monitor test.mp3
      

      Autant que je sache, Ubuntu n’installe qu’un seul outil l’autre alias (après, libav a été créé à partir de ffmpeg)

      $ file /usr/bin/avconv 
      /usr/bin/avconv: symbolic link to ffmpeg
      
    • tilisation de sox

      Installer les formats nécessaires

      Sudo apt-get install libsox-fmt-Pulse libsox-fmt-mp3
      

      ou ceci pour installer tous les formats

      Sudo apt-get install libsox-fmt-all
      

      Enregistrez en utilisant:

      sox -t pulseaudio alsa_output.pci-0000_00_05.0.analog-stereo.monitor -t mp3 test.mp3
      
3
user.dz

Cette méthode montre comment enregistrer l’audio lu par votre ordinateur, comme si vous enregistriez un "mixage stéréo" sous Windows. Cela rend l'enregistrement audio joué par n'importe quelle application, y compris les vidéos flash, possible.

J'utilise l'application Sound Recorder fournie avec les installations Ubuntu standard. Pour configurer ceci en utilisant d'autres programmes (comme Audacity), il suffit de le remplacer dans ces instructions.

  1. Installez pavucontrol (Contrôle du volume PulseAudio) à l’aide de apt-get ou du Centre logiciel Ubuntu.
  2. Ouvrez le contrôle du volume PulseAudio. Il devrait être dans le menu des applications sous son et vidéo.
  3. Ouvrez Sound Recorder et démarrez l'enregistrement. Jouer n'importe quel son à ce stade serait utile, car votre indicateur de niveau devrait réagir une fois que vous avez terminé.
  4. Allez à l'onglet "Enregistrement" dans la fenêtre Contrôle du volume PulseAudio.
  5. Assurez-vous que "Applications" est sélectionné dans le menu déroulant de l'onglet "Enregistrement".
  6. Choisissez "Moniteur de l'audio analogique analogique" dans le menu "Enregistrer le flux à partir de" de l'entrée Magnétophone de la liste des applications.

Cela semble persister et vous ne devrez le faire qu'une fois, mais vous devrez répéter ces étapes pour enregistrer dans une autre application.

Tout le crédit pour cette réponse va à cet article .

3
Owen Hines