From Fedora Project Wiki

Revision as of 20:47, 26 April 2009 by Pfrields (talk | contribs) (Add note about pre-release now that I've tested that too)

This page contains instructions that allow you to create podcasts with 100% free software. Neither the closed-source, non-trusted Skype application nor any special audio equipment is required. However, you might find that a Linux-compatible USB headset with a built-in microphone is very desirable.

Assumptions

Default PulseAudio setup
This procedure has only been tested with a default PulseAudio setup. Your customizations may have unintended effects, caveat emptor.
  • You are running Fedora 10, Rawhide, or a Fedora 11 pre-release with all updates applied.
  • You are using the official Fedora versions of Ekiga and PulseAudio. If you are using Rawhide or have built from source, you're on your own.

Setup

Equipment

This procedure requires you to have appropriate input (mic) and output (speaker/headphone) devices. Most VoIP users prefer to use a Linux-compatible USB headset with a built-in mic and headphones. Many of the Logitech models are known to work well with Linux in general, and Fedora:

Choose a headset whose mic draws USB power if possible. This type of hardware results in a strong, clear voice signal for recording purposes.

Alternately, you might choose a standard set of headphones and use a separate USB-powered microphone. Many models are available for podcasters. Generally if a device works for both Windows and MacOS, it should work with Fedora.

Typically, built-in speakers and microphones on laptop computers provide very poor audio quality, and can cause feedback problems when recording.

Fedora account VoIP information

You must set up your Fedora account's VoIP information to use the Fedora Talk system. To set up VoIP information, visit the Fedora Account System, and select the VoIP link in the navigation menu. Enter the appropriate information and note your assigned extension.

Set up Fedora Talk

To set up Fedora Talk, visit the Fedora Talk page. A video available at the site shows you how to set up Ekiga, a popular VoIP application, to work with Fedora Talk.

Set up Ekiga audio devices

Setup your audio input and output devices to use Default (ALSA/PTLIB). Changing the ringer device is not required. Previously this setting caused Ekiga to crash immediately, but in Ekiga 3, the behavior is less erratic. You may need to quit Ekiga and restart it, however, before using it.

Set up PulseAudio utilities

Install the pulseaudio-utils and paman packages:

su -c 'yum install pulseaudio-utils paman'

Understanding PulseAudio

The parec command in the pulseaudio-utils package allows you to record from PulseAudio sources, even if they are in use by other applications. Even output devices, called sinks in PulseAudio, have an associated recordable device, called a monitor. A stereo sound output device on a laptop called HDA Intel - STAC92xx Analog, for example, has a monitor device called Monitor of HDA Intel - STAC92xx Analog. This monitor device allows you to tap the audio that is leaving through a specified output device or sink.

Each PulseAudio source and sink has a device name you can find using the paman utility. You can also use the pacmd utility, but since it does not currently take output from stdin, it is not as useful for this procedure.

Getting started

Open the PulseAudio Manager utility. Run the paman command, or from the main menu, choose Applications > Sound & Video > PulseAudio Manager.

Choose the Devices tab in the PulseAudio Manager to see the available source and sink devices. Note that monitor sources appear in the list of sources. Each device's name is listed to the left, and a more human-readable alias is listed on the right.

From the main menu, open a terminal by selecting Applications > System Tools > Terminal. In the terminal's shell, create a temporary alias for a new parec-voip command, using the device names found in the paman utility. You can use the Properties button in paman to open a helper window from which you can easily copy and paste the device name to avoid typographical errors.

Use the right devices!
Substitute the device names for the mic input and the monitor of the speaker output you plan to use for Ekiga in the command below.
alias parec-voip='parec -r -d <mic_source_device_name> \
  -n "Mic Rec" > mic-rec & \
  parec -r -d <mon_source_device_name> \
  -n "Mon Rec" > mon-rec &'

Open the PulseAudio Volume Control application. Use the pavucontrol command, or from the main menu select Applications > Sound & Video > PulseAudio Volume Control. This utility will allow you to ensure that the proper streams are being recorded, and monitor the recording levels.

Now call the party with whom you wish to create a podcast, using your Ekiga application. Once you are ready to begin recording, in the terminal where you previously set up the parec-voip alias, run the parec-voip command.

If you select the Recording tab in the PulseAudio Volume Control, you should see your parec commands, each one recording from the proper device. Your mic audio is captured to the mic-rec file, and the audio from the other party or parties on the call is captured to the mon-rec file.

Stopping the recording

Use the killall parec command in the terminal to destroy the running recording processes. The mic-rec and mon-rec files are still located in the working directory, or wherever you chose to write them.

Ekiga errors
Depending on the configuration selected, Ekiga sometimes refuses to quit politely when you use its menu item or the Ctrl+Q keycombo. In that case, use the killall ekiga command to force the application to quit.

How to use the recordings

You can import the raw audio into Audacity, usually as 16-bit stereo audio at 44100Hz. Then mix and sweeten as needed to produce your final audio, and compress it to an appropriate format and publish as desired.

Other ideas

Keep in mind that any other parties on the call could similarly record the input from their microphones. Then you can agree upon a method for the other parties to send you their audio, which can be mixed to provide a much more pristine podcast.

Note, though, that the default audio file size will be about 12 MB per minute of recording, so you may choose to compress it before such a transfer. In this case, use a high-quality codec like Ogg Vorbis, and a sufficiently high audio quality with the oggenc command, such as -q5.