Thread: [Alsa-user] Recording a playback stream
Brought to you by:
perex
From: Edward C. <edw...@gm...> - 2007-08-11 05:32:20
|
Is there any plugin or asoundrc trick that I can use to record a playback stream? My situation is this: I'm using a USB headset with Skype 1.4 and I'd like to record the conversation, but Skype provides no way of doing this. The USB audio device doesn't provide any "mix" input that I can record, the only capture stream it appears to produce is the one from the microphone (which I _can_ record during a Skype conference, but it's not all that useful without the other voices). I have managed to record the two streams directly to raw files using the File plugin, but this is less than ideal because they then need to be manually aligned, and it appears that if Skype is interrupted and re-opens the sound device, it will start overwriting the output files from the start. What I'd like is to be able to set Audacity recording from a virtual "mix" device, then start the Skype conference and have Audacity record both my voice, and the voices of the others in the conference. I'm using ALSA 1.0.14 in Debian (Lenny) for i386. Thanks, Ed. |
From: J. P. <jp...@gm...> - 2007-08-11 14:06:32
|
If you can write to a file then it should be possible to write to a FIFO (man 7 fifo). Just create a FIFO with "mkfifo /tmp/whatever", adjust your asoundrc to write to that file, start something like "lame -b 128 - somefile.mp3" in a terminal and then start skype (in that order). The result should be the same as before but your conversation doesn't get overwritten and it should be mp3 instead of wav (if lame could handle the raw data from alsa; don't know that for sure). Cheers, Jan Edward Coffey wrote: > Is there any plugin or asoundrc trick that I can use to record a > playback stream? > > My situation is this: I'm using a USB headset with Skype 1.4 and I'd > like to record the conversation, but Skype provides no way of doing > this. The USB audio device doesn't provide any "mix" input that I can > record, the only capture stream it appears to produce is the one from > the microphone (which I _can_ record during a Skype conference, but it's > not all that useful without the other voices). I have managed to record > the two streams directly to raw files using the File plugin, but this is > less than ideal because they then need to be manually aligned, and it > appears that if Skype is interrupted and re-opens the sound device, it > will start overwriting the output files from the start. > > What I'd like is to be able to set Audacity recording from a virtual > "mix" device, then start the Skype conference and have Audacity record > both my voice, and the voices of the others in the conference. > > I'm using ALSA 1.0.14 in Debian (Lenny) for i386. > > Thanks, > Ed. |
From: Jonathan L. <jon...@gm...> - 2007-08-12 20:47:29
|
I found this how-to for linux/skype/alsa users here. Hope this helps, jonathan On Aug 10, 2007, at 10:32 PM, Edward Coffey wrote: > Is there any plugin or asoundrc trick that I can use to record a > playback stream? > > My situation is this: I'm using a USB headset with Skype 1.4 and > I'd like to record the conversation, but Skype provides no way of > doing this. The USB audio device doesn't provide any "mix" input > that I can record, the only capture stream it appears to produce is > the one from the microphone (which I _can_ record during a Skype > conference, but it's not all that useful without the other voices). > I have managed to record the two streams directly to raw files > using the File plugin, but this is less than ideal because they > then need to be manually aligned, and it appears that if Skype is > interrupted and re-opens the sound device, it will start > overwriting the output files from the start. > > What I'd like is to be able to set Audacity recording from a > virtual "mix" device, then start the Skype conference and have > Audacity record both my voice, and the voices of the others in the > conference. > > I'm using ALSA 1.0.14 in Debian (Lenny) for i386. > > Thanks, > Ed. |
From: Bill U. <un...@ph...> - 2007-08-13 00:13:26
|
On Sun, 12 Aug 2007, Jonathan Leonard wrote: > I found this how-to for linux/skype/alsa users here. Would probably be more useful if you actually told us where you found it. > > Hope this helps, > > jonathan > > On Aug 10, 2007, at 10:32 PM, Edward Coffey wrote: > >> Is there any plugin or asoundrc trick that I can use to record a playback >> stream? >> >> My situation is this: I'm using a USB headset with Skype 1.4 and I'd like >> to record the conversation, but Skype provides no way of doing this. The >> USB audio device doesn't provide any "mix" input that I can record, the >> only capture stream it appears to produce is the one from the microphone >> (which I _can_ record during a Skype conference, but it's not all that >> useful without the other voices). I have managed to record the two streams >> directly to raw files using the File plugin, but this is less than ideal >> because they then need to be manually aligned, and it appears that if Skype >> is interrupted and re-opens the sound device, it will start overwriting the >> output files from the start. >> >> What I'd like is to be able to set Audacity recording from a virtual "mix" >> device, then start the Skype conference and have Audacity record both my >> voice, and the voices of the others in the conference. >> >> I'm using ALSA 1.0.14 in Debian (Lenny) for i386. >> >> Thanks, >> Ed. > |
From: Edward C. <edw...@gm...> - 2007-08-13 00:34:01
|
Regarding the link - http://programmablebrain.us/wiki/index.php?title=HOWTO:Record_a_Skype_Conversation/Linux - That solution relies on having a sound device that provides a capture stream which can include the sound being sent to the speakers, which my USB headphones do not. However, I have found a solution to my problem, using the pipes suggestion earlier in the thread, it just took me a while to work out how to keep the encoders going despite the fact that Skype causes the pipes to be opened and closed several times during startup. Thanks to everyone that contributed to the thread, my .asoundrc and the script I use to start recording follow: .asoundrc: ########################################## # The headset speaker mix pcm.headset_speakers { ipc_key 1025 type dmix slave { pcm "hw:Headset,0" rate 44100 channels 1 } } # The headset microphone capture pcm.headset_microphone { ipc_key 1027 type dsnoop slave { pcm "hw:Headset,0" rate 44100 } } # File output for the headset speaker mix pcm.headset_speaker_file { type file slave.pcm "headset_speakers" file "/home/username/skype/speakers" } # File output for the headset microphone capture pcm.headset_microphone_file { type file slave.pcm "headset_microphone" file "/home/username/skype/microphone" } # Unified device combining microphone and speakers from headset pcm.recorded_headset { type asym playback.pcm "headset_speaker_file" capture.pcm "headset_microphone_file" } # Converter to allow unified headset device to accept a range of formats # Use this as the audio device in ALSA pcm.converted_recorded_headset { type plug slave.pcm "recorded_headset" } # A ctl device for the converter ctl.converted_recorded_headset { type hw card Headset } ########################################## start script: ########################################## #!/bin/bash ### Settings ### podcasting_home=/home/username/skype speaker_filename=speakers microphone_filename=microphone ogg_quality=8 raw_rate=44100 recordings_dir=recordings ### Script ### date_stamp=`date +%Y%m%d%H%M%S` cd $podcasting_home rm -f $speaker_filename rm -f $microphone_filename mkfifo $speaker_filename mkfifo $microphone_filename sleep 999d > $speaker_filename & speaker_pid=$! sleep 999d > $microphone_filename & microphone_pid=$! oggenc -Q -r -B 16 -C 1 -R $raw_rate -q $ogg_quality -o $recordings_dir/$date_stamp-s.ogg $speaker_filename & oggenc -Q -r -B 16 -C 1 -R $raw_rate -q $ogg_quality -o $recordings_dir/$date_stamp-m.ogg $microphone_filename & echo Starting Skype, recording files with timestamp: $date_stamp skype &> /dev/null kill -hup $speaker_pid kill -hup $microphone_pid rm -f $speaker_filename rm -f $microphone_filename ########################################## |
From: Rene H. <ren...@gm...> - 2007-08-13 00:45:48
|
On 08/13/2007 02:30 AM, Jonathan Leonard wrote: > Sorry about that, Bill. Maybe you are in text only mode. Not only he, the list is. Many thanks for the useful response, but if you could avoid HTML (and top-posting) that would be great. Rene. |
From: Jonathan L. <jon...@gm...> - 2007-08-13 01:18:50
|
On Aug 12, 2007, at 5:42 PM, Rene Herman wrote: > On 08/13/2007 02:30 AM, Jonathan Leonard wrote: > >> Sorry about that, Bill. Maybe you are in text only mode. > > Not only he, the list is. Many thanks for the useful response, but > if you could avoid HTML (and top-posting) that would be great. > > Rene. Apologies to everyone involved! I will not send html and nor will I top post to this list. A visit to wikipedia gave me a very informative summary of top posting, its possible origins, and which groups complain about it the most. I can totally appreciate how this would as a habit affect future searches and the readability of digests. Glad to hear that Edward cleverly programmed his own solution and how to keep those files when the pipes get reset! Keep on Rockin! jonathan |
From: Jonathan L. <jon...@gm...> - 2007-08-13 00:30:39
|
Sorry about that, Bill. Maybe you are in text only mode. http://programmablebrain.us/wiki/index.php? title=HOWTO:Record_a_Skype_Conversation/Linux Best, jonathan On Aug 12, 2007, at 5:13 PM, Bill Unruh wrote: > On Sun, 12 Aug 2007, Jonathan Leonard wrote: > >> I found this how-to for linux/skype/alsa users here. > > Would probably be more useful if you actually told us where you > found it. > > >> >> Hope this helps, >> >> jonathan >> >> On Aug 10, 2007, at 10:32 PM, Edward Coffey wrote: >> >>> Is there any plugin or asoundrc trick that I can use to record a >>> playback stream? >>> My situation is this: I'm using a USB headset with Skype 1.4 and >>> I'd like to record the conversation, but Skype provides no way of >>> doing this. The USB audio device doesn't provide any "mix" input >>> that I can record, the only capture stream it appears to produce >>> is the one from the microphone (which I _can_ record during a >>> Skype conference, but it's not all that useful without the other >>> voices). I have managed to record the two streams directly to raw >>> files using the File plugin, but this is less than ideal because >>> they then need to be manually aligned, and it appears that if >>> Skype is interrupted and re-opens the sound device, it will start >>> overwriting the output files from the start. >>> What I'd like is to be able to set Audacity recording from a >>> virtual "mix" device, then start the Skype conference and have >>> Audacity record both my voice, and the voices of the others in >>> the conference. >>> I'm using ALSA 1.0.14 in Debian (Lenny) for i386. >>> Thanks, >>> Ed. >> |
From: Bill U. <un...@ph...> - 2007-08-13 01:07:46
|
On Sun, 12 Aug 2007, Jonathan Leonard wrote: > Sorry about that, Bill. Maybe you are in text only mode. Yup. That is all I ever use. Pine. Thanks > > http://programmablebrain.us/wiki/index.php?title=HOWTO:Record_a_Skype_Conversation/Linux > > Best, > > jonathan > > > On Aug 12, 2007, at 5:13 PM, Bill Unruh wrote: > >> On Sun, 12 Aug 2007, Jonathan Leonard wrote: >> >> > I found this how-to for linux/skype/alsa users here. >> >> Would probably be more useful if you actually told us where you found it. >> >> >> > >> > Hope this helps, >> > >> > jonathan >> > >> > On Aug 10, 2007, at 10:32 PM, Edward Coffey wrote: >> > >> > > Is there any plugin or asoundrc trick that I can use to record a >> > > playback stream? >> > > My situation is this: I'm using a USB headset with Skype 1.4 and I'd >> > > like to record the conversation, but Skype provides no way of doing >> > > this. The USB audio device doesn't provide any "mix" input that I can >> > > record, the only capture stream it appears to produce is the one from >> > > the microphone (which I _can_ record during a Skype conference, but >> > > it's not all that useful without the other voices). I have managed to >> > > record the two streams directly to raw files using the File plugin, but >> > > this is less than ideal because they then need to be manually aligned, >> > > and it appears that if Skype is interrupted and re-opens the sound >> > > device, it will start overwriting the output files from the start. >> > > What I'd like is to be able to set Audacity recording from a virtual >> > > "mix" device, then start the Skype conference and have Audacity record >> > > both my voice, and the voices of the others in the conference. >> > > I'm using ALSA 1.0.14 in Debian (Lenny) for i386. >> > > Thanks, >> > > Ed. >> > > |