HOWTO: use GUI to record currently playing audio

Forum Forums General Software HOWTO: use GUI to record currently playing audio

  • This topic has 1 reply, 1 voice, and was last updated Feb 7-10:05 am by roytobin.
Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #6271
    Member
    roytobin

      HOWTO: use GUI to record currently playing audio in AntiX 16.2 Aug 2017
      HOWTO: use GUI to capture currently playing sound in AntiX 16.2 Aug 2017

      Background: I wanted to record (i.e. capture to filesystem) the PCM
      samples actively being presented to the sound card’s DAC. Basically to
      record whatever the computer is currently playing (i.e what is being
      heard on the external speakers). The source of this audio could come
      from any process, eg SMTube, firefox, xmms.

      What I found works for me on my hardware using Antix 16.2 is the package
      audio-recorder from this repo:
      deb http://iso.mxrepo.com/mx/testrepo/ mx15 test

      Audio-recorder describes itself thusly:

      This program allows you to record your favorite music or audio to
      a file. It can record audio from your system sound card, microphones,
      browsers and webcams. Put simply; if it plays out of your speakers,
      you can record it. This program has a timer that can start, stop
      or pause recording on certain conditions such as audio level, file
      size and clock time. This recorder can automatically record your
      Skype calls. It supports several audio (output) formats such as OGG
      audio, Flac, MP3 and WAV.

      Details follow

      This solution is circa Aug 2017 running on:
      model name : Intel(R) Atom(TM) CPU 230 @ 1.60GHz
      MemTotal: 1018928 kB
      Audio: Card Intel NM10/ICH7 Family High Def. Audio Controller
      driver: snd_hda_intel
      Sound: ALSA v: k4.4.10-antix.1-486-smp
      % cat /etc/debian_version
      8.10
      % cat /etc/antix-version
      antiX-16.2_386-base Berta Cáceres 15 June 2017
      % egrep ‘audio-recorder|pulse’ *log
      2017-08-16.095652.log:libpulsedsp (5.0-13.0nosystemd1)
      2017-08-16.095652.log:pulseaudio (5.0-13.0nosystemd1)
      2017-08-16.095652.log:pulseaudio-utils (5.0-13.0nosystemd1)
      2017-08-16.114027.log:audio-recorder (1.9.7-1mx15+1)
      2017-08-16.114027.log:gstreamer1.0-pulseaudio (1.4.4-2+deb8u3)
      2017-08-16.114850.log:gstreamer0.10-pulseaudio (0.10.31-3+nmu4+deb8u2)

      #6273
      Member
      roytobin
        Helpful
        Up
        0
        ::

        (command line solution)
        HOWTO: recording currently playing audio in AntiX 16.2 August 2017
        HOWTO: capture currently playing sound in AntiX 16.2 August 2017

        Background: I wanted to record (i.e. capture to filesystem) the PCM
        samples actively being presented to the sound card’s DAC.
        Basically to record whatever the computer is currently playing (i.e
        what is being heard on the external speakers). The source of this audio
        could come from any process, eg SMTube, firefox, xmms.

        Short answser: remove any $HOME/.asoundrc you may have; install pulse
        audio from synaptic; reboot, then use pacat(1) command.

        Long answer follows.

        I struggled with ALSA to no end. Lots of “solutions” on the web
        about creating a $HOME/.asoundrc file and using arecord(1) command.
        Tried the heavyweight program audacity(1). Nothing worked. Then,
        thinking is was simply my ignorance of the ALSA mindset, I delved into
        long articles about the detailed workings and configuration of ALSA.
        Wow, what a forest. I wasn’t setting up a home recording studio.
        I wasn’t setting up a surround sound home entertainment system.
        I didn’t want to do sample conversion. I didn’t want to record from
        the microphone or “line in.” I didn’t want to do analog loopback with
        a patch cord. All the options of alsamixer(1) were confusing. I simply
        wanted to record/capture/monitor the audio currently eminating from the
        speaker jack. Please don’t take this the wrong way, but that function
        which TotalRecorder does most excellently on uSoft’s vunerable OS.

        Credit for the solution that worked for me on AntiX 16.2 (debian 8.9
        jessie) is cited and replicated for posterity below:

        https://superuser.com/questions/597227/linux-arecord-capture-sound-card-output-rather-than-microphone-input

        (answered Dec 21 2016 by user hochl)
        …found another solution here. The main idea is to use pacat. For me
        it works like this:

        1) find monitor device:

        $ pacmd list | grep “\.monitor”
        name: <alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor>
        name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
        alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor/#0: Monitor of HDA NVidia Digital Stereo (HDMI)
        alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#2: Monitor of Built-in Audio Analog Stereo
        2) Capture audio to file:

        $ pacat –record -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor > dump.raw
        3) Convert file to wav:

        sox -t raw -r 44100 -e signed-integer -L -b 16 -c 2 dump.raw output.wav
        That’s it!

      Viewing 2 posts - 1 through 2 (of 2 total)
      • You must be logged in to reply to this topic.