For those who don’t know, I have recently switched over full-time to Linux. No, this wasn’t a requirement of my job, although, it didn’t hurt that I did it. I just did it so I can try and embody more of an open-source life style (even though I do use some closed source technology that I can’t really avoid).
One of the things I did missed when I moved from Windows to Linux was the ability to record Skype audio fairly easily. I’m assuming its easy because people who would need to do this in Windows wouldn’t really know how to go about setting it up. It actually took me a while to figure it out and I think I still had to use third-party software in order to record the audio. Things haven’t changed since 2008.
Linux has proved to be a different animal when setting this up. There are some third-party apps to get this working. However, because there are so many distributions of Linux (Debian, Ubuntu, Fedora, etc.) its hard to find what you are looking for as most people wrote and packaged their apps for use in more popular distributions (read: Ubuntu) and I use Fedora (which is the community based fork of Red Hat Enterprise Linux (RHEL)).
Luckily, I was able to come across some instructions that helped me set up my laptop to record The MajorTrain Show Episode 10. Essentially, what I did was route all audio (my mic and audio coming from Skype) into one stream and have Audacity record that stream.
Keep in mind that the following steps are for Fedora machines and that mileage may vary if using them on other distros like Ubuntu or even RHEL itself.
To set up your Fedora box to record all audio from Skype call
- Install necessary programs
- audacity (audacity-freeworld to import and export mp3 files)
- skype (obviously)
- If you are using a USB headset (preferred), unplug them.
- Open up Pulse Audio Volume Control (PAVU)
- Click the configuration tab
- Find the audio settings that output to your sound card
- Select Off in the profile menu. (This will cut out sound being sent to the sound card and will save your hearing later. Trust me.)
- Close PAVU
- Plug in USB headset
- Open up a terminal window
- Log in as root
- Type in the following commands
pactl load-module module-null-sink sink_name=mywiretap(This will create the one channel all other audio channels will funnel into)
pactl load-module module-loopback; pactl load-module module-loopback(This creates two loopback channels that take the audio from its source and points it somewhere else. In this case, it will point to the “funnel”)
- Open PAVU
- In the bottom-left corner, switch “Show:” from Applications to All Streams. Two loopback channels should be at the bottom of the list.
- To the right, there should buttons indicating where the audio is being directed. Click the button and select “Null Output”
- On the Recording Tab, switch “Show:” from Applications to All Streams. The same two loopback channels should show up.
- Set one loopback channel to listen to your mic and the other to listen for the audio being played to your headset.
- Open up Audacity
- Make sure that the ALSA panel is listening to and recording on default
- Do a test recording with Audacity so it can show up in PAVU.
- Set Audacity to listen to Null Output
- Stop Audacity recording and discard it.
- Open up Skype
- Start another test recording with Audacity
- Make a test call
- When test is complete, stop Audacity recording and listen to make sure all audio is set up properly.
I know that all the steps seem to be a little convoluted, but this is one way to get things working in Fedora when trying to record podcasts.
If you know of an easier way or if something in the steps provided doesn’t work, please let me know in the comments below.
Last, but certainly not least, I would like to thank the person and website who originally wrote an article to fix this very problem. He is Nathan Willis of Linux.com and the article can be read here!