sox e rec sem o microfone

4

Estou tentando gravar a saída dos meus alto-falantes, mas quando faço isso, também grava do microfone. Gostaria de registrar apenas os dispositivos sem microfone.

Tentando:

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

Eu também tentei o 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

Eu vi coisas elaboradas como:

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

Proposta on-line, mas isso ainda registra o microfone e vem com opções obsoletas de sox.

Como posso gravar somente entradas que não sejam mic no ubuntu 14.04+?

    
por Mittenchops 09.10.2016 / 21:24

2 respostas

3
  1. Verifique as fontes disponíveis

    $ 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. Especifique o dispositivo do monitor como entrada para o comando de gravação.

    • Usando avconv / ffmpeg

      Instale-o (somente para avconv )

      sudo apt-get update
      sudo apt-get install libav-tools
      

      Gravar usando:

      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
      

      AFAIK, Ubuntu instala apenas uma ferramenta e a outra é apenas alias (depois, libav foi bifurcada do ffmpeg)

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

      Instale os formatos necessários

      sudo apt-get install libsox-fmt-pulse libsox-fmt-mp3
      

      ou isso para instalar todos os formatos

      sudo apt-get install libsox-fmt-all
      

      Gravar usando:

      sox -t pulseaudio alsa_output.pci-0000_00_05.0.analog-stereo.monitor -t mp3 test.mp3
      
por user.dz 10.10.2016 / 00:20
3

Este método mostra como gravar qualquer áudio que esteja sendo reproduzido em seu computador, semelhante a gravar "mixagem estéreo" no Windows. Isso possibilita a gravação de áudio reproduzido por qualquer aplicativo, incluindo vídeos em flash.

Estou usando o aplicativo Sound Recorder que vem em instalações padrão do Ubuntu. Para configurá-lo usando outros programas (como o Audacity), basta substituí-lo nestas instruções.

  1. Instale pavucontrol (controle de volume PulseAudio) usando apt-get ou o Ubuntu Software Center.
  2. Abra o Controle de Volume do PulseAudio. Deve estar no menu de aplicativos em Som e Vídeo.
  3. Abra o Gravador de som e inicie a gravação. Tocar qualquer som neste momento seria útil, pois seu indicador de nível deve reagir assim que terminar.
  4. Vá para a guia "Gravação" na janela Controle de volume do PulseAudio.
  5. Verifique se "Aplicativos" está selecionado no menu suspenso da guia "Gravação".
  6. Escolha "Monitor de áudio interno analógico Atereo" no menu "Gravar fluxo de" na entrada Gravador de som da lista de aplicativos.

Isso parece ser persistente para que você tenha que fazer isso apenas uma vez, mas será necessário repetir essas etapas para gravar em outro aplicativo.

Todo o crédito desta resposta vai para este post .

    
por Owen Hines 10.10.2016 / 00:16