Re: How to record audio from a live video (youtube via firefox) ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/27 10:47, Robert M. Riches Jr. wrote:

Hi Robert,

thanks a lot for your reply!

This seems to record as soon as .asoundrc is "active". In my case,
this isn't exactly what I am trying to acchieve.

After I posted my initial question I finally found something, which
may be kinda solution....if it would work.... ;)

It seems, that with the kernel module snd_aloop and the command
alsaloop one is able to create a "copy" of the existing soundcard
in a way, that what goes into the real soundcard (the sound, firefox
creates) can be recorded from the loopback device.

But until now I can't get this working.

The .asoundrc so far looks like this (with the setup/hardware listed
in my initial posting):


# .asoundrc
pcm.multi {
    type route;
    slave.pcm {
        type multi;
        slaves.a.pcm "output";
        slaves.b.pcm "loopin";
        slaves.a.channels 2;
        slaves.b.channels 2;
        bindings.0.slave a;
        bindings.0.channel 0;
        bindings.1.slave a;
        bindings.1.channel 1;
        bindings.2.slave b;
        bindings.2.channel 0;
        bindings.3.slave b;
        bindings.3.channel 1;
    }

    ttable.0.0 1;
    ttable.1.1 1;
    ttable.0.2 1;
    ttable.1.3 1;
}

pcm.!default {
	type plug
	slave.pcm "multi"
} 

pcm.output {
	type hw
	card 0
}

pcm.loopin {
	type plug
	slave.pcm "hw:Loopback,0,0"
}

pcm.loopout {
	type plug
	slave.pcm "hw:Loopback,1,0"
}

(this is copied from the web mainlu)

But - as mentioned - this does not work currently. The recorded audio
(arecord) produces an "The Sound of Silence"... ;)

But may be this is a starting point ... I am still at the very
beginning of all this it seems...

Cheers!
Meino





> (Apologies if you want reply to list without also a direct reply.
> My mail client has 'reply' and 'Reply' only.)
> 
> I am also using pure ALSA.  After a little web searching a few
> days ago, I came up with this .asoundrc file that records to a
> raw file:
> 
> vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv cut here vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
> pcm.Intel { type hw; card Intel; }
> ctl.Intel { type hw; card Intel; }
> pcm.NVidia { type hw; card NVidia; }
> ctl.NVidia { type hw; card NVidia; }
> 
> pcm.rate48000Hz {
>   type rate
>   slave {
>     pcm writeFile # Direct to the plugin which will write to a file
>     format S16_LE
>     # channels 2
>     rate 48000
>   }
> #route_policy copy
> }
> 
> pcm.writeFile {
>   type file
>   slave {
>     pcm "Intel" # Now write to the actual sound card
>   }
>   file "aplay-D_card0-t_raw-f_S16_LE-r48000-c_2.raw"
>   format "raw"
> }
> 
> pcm.!default {
>   type plug
>   slave.pcm "rate48000Hz"
> }
> ctl.!default ctl.Intel
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cut here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> Caution: Some web browsers take liberties with how they deal with
> sound.  For example, some years ago, Firefox Hello (video chat)
> would work only with very specific .asoundrc content.
> 
> Changing the sample rate may or may not work.  With Musescore, I
> had to use exactly 48000, not 44100.
> 
> Here are example commands for converting to WAV and then to MP3:
> 
> Convert it to WAV:
> 
>     sox -r 48k -e signed -b 16 -c 2                 \
>         aplay-D_card0-t_raw-f_S16_LE-r48000-c_2.raw \
>         -r 44100 something.wav
> 
> Crop it as needed.
> 
> Optional: Convert it to MP3:
> 
>     ffmpeg -i something.wav something.mp3
> 
> HTH
> 
> Robert
> 
> 
> 
> > Date: Sun, 27 Dec 2020 10:25:14 +0100
> > From: tuxic@xxxxxxxxx
> > To: alsa-user@xxxxxxxxxxxxxxxxxxxxx
> > 
> > Hi,
> > 
> >  I want to record the audio of a live stream video (youtube).
> > 
> >  Everything I tried resulted in audio files with constant or
> >  intermitted sine wave like sounds.
> > 
> >  I am using pure alsa. I don't want pulseaudio and with jack
> >  started firefoxs audio does not work.
> > 
> >  How can I accomplish this recording task successfully ?
> > 
> >  My setup:
> > 
> >  GENTOO Linux
> >  External USB audio DAC (FIIO Olympus 2)
> > 
> >  No $HOME/.asoundrc
> >  /etc/conf.d/alsasound:
> > 
> >    # RESTORE_ON_START:
> >    # Do you want to restore your mixer settings?  If not, your cards will be
> >    # muted.
> >    # no - Do not restore state
> >    # yes - Restore state
> >    
> >    RESTORE_ON_START="yes"
> >    
> >    # SAVE_ON_STOP:
> >    # Do you want to save changes made to your mixer volumes when alsasound
> >    # stops? 
> >    # no - Do not save state
> >    # yes - Save state
> >    
> >    SAVE_ON_STOP="yes"
> > 
> >  arecord -l:
> > 
> > **** List of CAPTURE Hardware Devices ****
> > card 0: Audio [DigiHug USB Audio], device 0: USB Audio [USB Audio]
> >   Subdevices: 1/1
> >   Subdevice #0: subdevice #0
> > 
> > 
> >  arecord -L:
> > null
> >     Discard all samples (playback) or generate zero samples (capture)
> > default
> >     Default Audio Device
> > sysdefault
> >     Default Audio Device
> > lavrate
> >     Rate Converter Plugin Using Libav/FFmpeg Library
> > upmix
> >     Plugin for channel upmix (4,6,8)
> > vdownmix
> >     Plugin for channel downmix (stereo) with a simple spacialization
> > default:CARD=Audio
> >     DigiHug USB Audio, USB Audio
> >     Default Audio Device
> > sysdefault:CARD=Audio
> >     DigiHug USB Audio, USB Audio
> >     Default Audio Device
> > front:CARD=Audio,DEV=0
> >     DigiHug USB Audio, USB Audio
> >     Front output / input
> > usbstream:CARD=Audio
> >     DigiHug USB Audio
> >     USB Stream Output
> > 
> > aplay -l:
> > **** List of PLAYBACK Hardware Devices ****
> > card 0: Audio [DigiHug USB Audio], device 0: USB Audio [USB Audio]
> >   Subdevices: 1/1
> >   Subdevice #0: subdevice #0
> > card 0: Audio [DigiHug USB Audio], device 1: USB Audio [USB Audio #1]
> >   Subdevices: 1/1
> >   Subdevice #0: subdevice #0
> > 
> > lsusb -v (excerpt):
> > 
> > Bus 005 Device 002: ID 1852:7022 GYROCOM C&C Co., LTD Fiio E10
> > Device Descriptor:
> >   bLength                18
> >   bDescriptorType         1
> >   bcdUSB               1.10
> >   bDeviceClass            0 
> >   bDeviceSubClass         0 
> >   bDeviceProtocol         0 
> >   bMaxPacketSize0         8
> >   idVendor           0x1852 GYROCOM C&C Co., LTD
> >   idProduct          0x7022 Fiio E10
> >   bcdDevice            0.01
> >   iManufacturer           1 FiiO
> >   iProduct                2 DigiHug USB Audio
> >   iSerial                 0 
> >   bNumConfigurations      1
> >   Configuration Descriptor:
> >     bLength                 9
> >     bDescriptorType         2
> >     wTotalLength       0x0182
> >     bNumInterfaces          4
> >     bConfigurationValue     1
> >     iConfiguration          0 
> >     bmAttributes         0x80
> >       (Bus Powered)
> >     MaxPower              500mA
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        0
> >       bAlternateSetting       0
> >       bNumEndpoints           1
> >       bInterfaceClass         3 Human Interface Device
> >       bInterfaceSubClass      0 
> >       bInterfaceProtocol      0 
> >       iInterface              0 
> >         HID Device Descriptor:
> >           bLength                 9
> >           bDescriptorType        33
> >           bcdHID               1.00
> >           bCountryCode            0 Not supported
> >           bNumDescriptors         1
> >           bDescriptorType        34 Report
> >           wDescriptorLength      58
> >          Report Descriptors: 
> >            ** UNAVAILABLE **
> >       Endpoint Descriptor:
> >         bLength                 7
> >         bDescriptorType         5
> >         bEndpointAddress     0x81  EP 1 IN
> >         bmAttributes            3
> >           Transfer Type            Interrupt
> >           Synch Type               None
> >           Usage Type               Data
> >         wMaxPacketSize     0x0012  1x 18 bytes
> >         bInterval              32
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        1
> >       bAlternateSetting       0
> >       bNumEndpoints           0
> >       bInterfaceClass         1 Audio
> >       bInterfaceSubClass      1 Control Device
> >       bInterfaceProtocol      0 
> >       iInterface              3 FiiO USB DAC-E10
> >       AudioControl Interface Descriptor:
> >         bLength                10
> >         bDescriptorType        36
> >         bDescriptorSubtype      1 (HEADER)
> >         bcdADC               1.00
> >         wTotalLength       0x003e
> >         bInCollection           2
> >         baInterfaceNr(0)        2
> >         baInterfaceNr(1)        3
> >       AudioControl Interface Descriptor:
> >         bLength                12
> >         bDescriptorType        36
> >         bDescriptorSubtype      2 (INPUT_TERMINAL)
> >         bTerminalID             5
> >         wTerminalType      0x0605 SPDIF interface
> >         bAssocTerminal          0
> >         bNrChannels             2
> >         wChannelConfig     0x0003
> >           Left Front (L)
> >           Right Front (R)
> >         iChannelNames           0 
> >         iTerminal               0 
> >       AudioControl Interface Descriptor:
> >         bLength                12
> >         bDescriptorType        36
> >         bDescriptorSubtype      2 (INPUT_TERMINAL)
> >         bTerminalID             9
> >         wTerminalType      0x0101 USB Streaming
> >         bAssocTerminal          0
> >         bNrChannels             2
> >         wChannelConfig     0x0003
> >           Left Front (L)
> >           Right Front (R)
> >         iChannelNames           0 
> >         iTerminal               0 
> >       AudioControl Interface Descriptor:
> >         bLength                 9
> >         bDescriptorType        36
> >         bDescriptorSubtype      3 (OUTPUT_TERMINAL)
> >         bTerminalID             3
> >         wTerminalType      0x0605 SPDIF interface
> >         bAssocTerminal          0
> >         bSourceID              16
> >         iTerminal               0 
> >       AudioControl Interface Descriptor:
> >         bLength                 9
> >         bDescriptorType        36
> >         bDescriptorSubtype      3 (OUTPUT_TERMINAL)
> >         bTerminalID             7
> >         wTerminalType      0x0101 USB Streaming
> >         bAssocTerminal          0
> >         bSourceID               5
> >         iTerminal               0 
> >       AudioControl Interface Descriptor:
> >         bLength                10
> >         bDescriptorType        36
> >         bDescriptorSubtype      6 (FEATURE_UNIT)
> >         bUnitID                16
> >         bSourceID               9
> >         bControlSize            1
> >         bmaControls(0)       0x01
> >           Mute Control
> >         bmaControls(1)       0x02
> >           Volume Control
> >         bmaControls(2)       0x02
> >           Volume Control
> >         iFeature                0 
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        2
> >       bAlternateSetting       0
> >       bNumEndpoints           0
> >       bInterfaceClass         1 Audio
> >       bInterfaceSubClass      2 Streaming
> >       bInterfaceProtocol      0 
> >       iInterface              0 
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        2
> >       bAlternateSetting       1
> >       bNumEndpoints           1
> >       bInterfaceClass         1 Audio
> >       bInterfaceSubClass      2 Streaming
> >       bInterfaceProtocol      0 
> >       iInterface              0 
> >       AudioStreaming Interface Descriptor:
> >         bLength                 7
> >         bDescriptorType        36
> >         bDescriptorSubtype      1 (AS_GENERAL)
> >         bTerminalLink           7
> >         bDelay                  0 frames
> >         wFormatTag         0x0001 PCM
> >       AudioStreaming Interface Descriptor:
> >         bLength                26
> >         bDescriptorType        36
> >         bDescriptorSubtype      2 (FORMAT_TYPE)
> >         bFormatType             1 (FORMAT_TYPE_I)
> >         bNrChannels             2
> >         bSubframeSize           2
> >         bBitResolution         16
> >         bSamFreqType            6 Discrete
> >         tSamFreq[ 0]         8000
> >         tSamFreq[ 1]        16000
> >         tSamFreq[ 2]        32000
> >         tSamFreq[ 3]        44100
> >         tSamFreq[ 4]        48000
> >         tSamFreq[ 5]        96000
> >       Endpoint Descriptor:
> >         bLength                 9
> >         bDescriptorType         5
> >         bEndpointAddress     0x82  EP 2 IN
> >         bmAttributes            9
> >           Transfer Type            Isochronous
> >           Synch Type               Adaptive
> >           Usage Type               Data
> >         wMaxPacketSize     0x0184  1x 388 bytes
> >         bInterval               1
> >         bRefresh                0
> >         bSynchAddress           0
> >         AudioStreaming Endpoint Descriptor:
> >           bLength                 7
> >           bDescriptorType        37
> >           bDescriptorSubtype      1 (EP_GENERAL)
> >           bmAttributes         0x01
> >             Sampling Frequency
> >           bLockDelayUnits         2 Decoded PCM samples
> >           wLockDelay         0x0002
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        2
> >       bAlternateSetting       2
> >       bNumEndpoints           1
> >       bInterfaceClass         1 Audio
> >       bInterfaceSubClass      2 Streaming
> >       bInterfaceProtocol      0 
> >       iInterface              0 
> >       AudioStreaming Interface Descriptor:
> >         bLength                 7
> >         bDescriptorType        36
> >         bDescriptorSubtype      1 (AS_GENERAL)
> >         bTerminalLink           7
> >         bDelay                  0 frames
> >         wFormatTag         0x0001 PCM
> >       AudioStreaming Interface Descriptor:
> >         bLength                26
> >         bDescriptorType        36
> >         bDescriptorSubtype      2 (FORMAT_TYPE)
> >         bFormatType             1 (FORMAT_TYPE_I)
> >         bNrChannels             2
> >         bSubframeSize           3
> >         bBitResolution         24
> >         bSamFreqType            6 Discrete
> >         tSamFreq[ 0]         8000
> >         tSamFreq[ 1]        16000
> >         tSamFreq[ 2]        32000
> >         tSamFreq[ 3]        44100
> >         tSamFreq[ 4]        48000
> >         tSamFreq[ 5]        96000
> >       Endpoint Descriptor:
> >         bLength                 9
> >         bDescriptorType         5
> >         bEndpointAddress     0x82  EP 2 IN
> >         bmAttributes            9
> >           Transfer Type            Isochronous
> >           Synch Type               Adaptive
> >           Usage Type               Data
> >         wMaxPacketSize     0x0246  1x 582 bytes
> >         bInterval               1
> >         bRefresh                0
> >         bSynchAddress           0
> >         AudioStreaming Endpoint Descriptor:
> >           bLength                 7
> >           bDescriptorType        37
> >           bDescriptorSubtype      1 (EP_GENERAL)
> >           bmAttributes         0x01
> >             Sampling Frequency
> >           bLockDelayUnits         2 Decoded PCM samples
> >           wLockDelay         0x0002
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        3
> >       bAlternateSetting       0
> >       bNumEndpoints           0
> >       bInterfaceClass         1 Audio
> >       bInterfaceSubClass      2 Streaming
> >       bInterfaceProtocol      0 
> >       iInterface              0 
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        3
> >       bAlternateSetting       1
> >       bNumEndpoints           1
> >       bInterfaceClass         1 Audio
> >       bInterfaceSubClass      2 Streaming
> >       bInterfaceProtocol      0 
> >       iInterface              0 
> >       AudioStreaming Interface Descriptor:
> >         bLength                 7
> >         bDescriptorType        36
> >         bDescriptorSubtype      1 (AS_GENERAL)
> >         bTerminalLink           9
> >         bDelay                  0 frames
> >         wFormatTag         0x0001 PCM
> >       AudioStreaming Interface Descriptor:
> >         bLength                20
> >         bDescriptorType        36
> >         bDescriptorSubtype      2 (FORMAT_TYPE)
> >         bFormatType             1 (FORMAT_TYPE_I)
> >         bNrChannels             2
> >         bSubframeSize           2
> >         bBitResolution         16
> >         bSamFreqType            4 Discrete
> >         tSamFreq[ 0]        32000
> >         tSamFreq[ 1]        44100
> >         tSamFreq[ 2]        48000
> >         tSamFreq[ 3]        96000
> >       Endpoint Descriptor:
> >         bLength                 9
> >         bDescriptorType         5
> >         bEndpointAddress     0x03  EP 3 OUT
> >         bmAttributes            9
> >           Transfer Type            Isochronous
> >           Synch Type               Adaptive
> >           Usage Type               Data
> >         wMaxPacketSize     0x0184  1x 388 bytes
> >         bInterval               1
> >         bRefresh                0
> >         bSynchAddress           0
> >         AudioStreaming Endpoint Descriptor:
> >           bLength                 7
> >           bDescriptorType        37
> >           bDescriptorSubtype      1 (EP_GENERAL)
> >           bmAttributes         0x01
> >             Sampling Frequency
> >           bLockDelayUnits         2 Decoded PCM samples
> >           wLockDelay         0x0002
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        3
> >       bAlternateSetting       2
> >       bNumEndpoints           1
> >       bInterfaceClass         1 Audio
> >       bInterfaceSubClass      2 Streaming
> >       bInterfaceProtocol      0 
> >       iInterface              0 
> >       AudioStreaming Interface Descriptor:
> >         bLength                 7
> >         bDescriptorType        36
> >         bDescriptorSubtype      1 (AS_GENERAL)
> >         bTerminalLink           9
> >         bDelay                  0 frames
> >         wFormatTag         0x0001 PCM
> >       AudioStreaming Interface Descriptor:
> >         bLength                20
> >         bDescriptorType        36
> >         bDescriptorSubtype      2 (FORMAT_TYPE)
> >         bFormatType             1 (FORMAT_TYPE_I)
> >         bNrChannels             2
> >         bSubframeSize           3
> >         bBitResolution         24
> >         bSamFreqType            4 Discrete
> >         tSamFreq[ 0]        32000
> >         tSamFreq[ 1]        44100
> >         tSamFreq[ 2]        48000
> >         tSamFreq[ 3]        96000
> >       Endpoint Descriptor:
> >         bLength                 9
> >         bDescriptorType         5
> >         bEndpointAddress     0x03  EP 3 OUT
> >         bmAttributes            9
> >           Transfer Type            Isochronous
> >           Synch Type               Adaptive
> >           Usage Type               Data
> >         wMaxPacketSize     0x0246  1x 582 bytes
> >         bInterval               1
> >         bRefresh                0
> >         bSynchAddress           0
> >         AudioStreaming Endpoint Descriptor:
> >           bLength                 7
> >           bDescriptorType        37
> >           bDescriptorSubtype      1 (EP_GENERAL)
> >           bmAttributes         0x01
> >             Sampling Frequency
> >           bLockDelayUnits         2 Decoded PCM samples
> >           wLockDelay         0x0002
> >     Interface Descriptor:
> >       bLength                 9
> >       bDescriptorType         4
> >       bInterfaceNumber        3
> >       bAlternateSetting       3
> >       bNumEndpoints           1
> >       bInterfaceClass         1 Audio
> >       bInterfaceSubClass      2 Streaming
> >       bInterfaceProtocol      0 
> >       iInterface              0 
> >       AudioStreaming Interface Descriptor:
> >         bLength                 7
> >         bDescriptorType        36
> >         bDescriptorSubtype      1 (AS_GENERAL)
> >         bTerminalLink           9
> >         bDelay                  0 frames
> >         wFormatTag         0x2001 IEC1937_AC-3
> >       AudioStreaming Interface Descriptor:
> >         bLength                11
> >         bDescriptorType        36
> >         bDescriptorSubtype      2 (FORMAT_TYPE)
> >         bFormatType             3 (FORMAT_TYPE_III)
> >         bNrChannels             2
> >         bSubframeSize           2
> >         bBitResolution         16
> >         bSamFreqType            1 Discrete
> >         tSamFreq[ 0]        48000
> >       Endpoint Descriptor:
> >         bLength                 9
> >         bDescriptorType         5
> >         bEndpointAddress     0x03  EP 3 OUT
> >         bmAttributes            9
> >           Transfer Type            Isochronous
> >           Synch Type               Adaptive
> >           Usage Type               Data
> >         wMaxPacketSize     0x00c0  1x 192 bytes
> >         bInterval               1
> >         bRefresh                0
> >         bSynchAddress           0
> >         AudioStreaming Endpoint Descriptor:
> >           bLength                 7
> >           bDescriptorType        37
> >           bDescriptorSubtype      1 (EP_GENERAL)
> >           bmAttributes         0x01
> >             Sampling Frequency
> >           bLockDelayUnits         2 Decoded PCM samples
> >           wLockDelay         0x0002
> > Device Status:     0x0000
> >   (Bus Powered)
> > 
> > 
> > 
> > Cheers!
> > mcc
> > 
> > 
> > _______________________________________________
> > Alsa-user mailing list
> > Alsa-user@xxxxxxxxxxxxxxxxxxxxx
> > https://lists.sourceforge.net/lists/listinfo/alsa-user
> 


_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user



[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux