<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"><title>Sound Card Setup</title><meta content="w1hkj" name="author"></head><body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 204);" alink="#000099" link="#000099" vlink="#990099"><h1 style="text-align: center;">Sound Card Configuration</h1> <h4>Sound Card Configuration</h4>A few words about sound I/O on the PC. "You are in a maze of twisty little passages, all alike".<br><p>PortAudio, PulseAudio and OSS are different ways in which fldigi can access your sound card through the various sound systems.<br><br>OSS was the first audio backend in fldigi. It works with the Linux sound system of the same name, which has now been replaced by ALSA but is still supported via an emulation layer. Its only advantage, as an audio backend, is that it's simple and doesn't require any external libraries.<br><br>The PortAudio backend was written subsequently to support <a href="http://www.opensound.com/">OSS</a> on Linux and FreeBSD, <a href="http://www.alsa-project.org/">ALSA</a> and <a href="http://jackaudio.org/">JACK</a> on Linux, CoreAudio on OS X, and also the various sound APIs on Windows -- all through the same <a href="http://www.portaudio.com/">PortAudio</a> library.<br><br><a href="http://www.pulseaudio.org/">PulseAudio</a> is more than an audio hardware access layer; refer to its website for a summary of what it does. Fldigi supports it mainly because many Linux distributions are now integrating it with their desktops, but also because it has a few interesting features: </p><ul><li>it can take care of the resampling and volume control for us,</li><li>it can stream audio over the network, and </li><li>it makes it easier to run multiple fldigi instances (all accessing the same sound card).</li></ul><p>In the future it might be possible to replace all of these with a single backend, without any loss of functionality, performance, sound system or platform support. That'll be the day! Until then:<br></p><p>On Linux:</p><ul><li>Use PulseAudio if your Linux distro ships it, and you already have the pulseaudio daemon running (this is the case with Fedora 8/9 and Ubuntu 8.04, probably also with openSUSE 11.0). Or if you want networked audio, etc. etc.</li><li>Otherwise, use PortAudio and select a device from the list(s). PortAudio is also the best way to access JACK, through which you can use other programs as audio sources/sinks -- particularly useful with SDR software. As with PulseAudio, you can select different capture and playback audio devices.</li><li>The OSS backend should be used only as a last resort. Note that it has not been updated to support user-configurable sample rates.</li></ul>On Windows:<br><ul><li>Use the PortAudio and select the device from the list(s).</li></ul><div style="text-align: center;"><img style="width: 499px; height: 272px;" alt="" src="images/config-audio-devices.png"><br><br></div>Select the <span style="font-style: italic;">SndCrd</span> tab on the configuration dialog.<br><br>On Linux Fldigi can interface to the sound card using either the OSS, the Portaudio, or the PulseAudio. Each of the appropriate libraries must be present on the computer to use that particular sound i/o.<br><br>On Windows Fldigi uses the Portaudio sound driver only.<br><br>It is also possible to configure Fldigi with File I/O only, which is useful for testing the application without an interface to the sound card. In the File I/O only configuration you can record and playback audio files in a number of different formats including the "wav" format associated with the Windows operating system.<br><br>The program will find all active sound cards and the associated drivers for both. Select the sound card and driver type that will be used with the program. I recommend using the PortAudio device driver if that is available on your Linux distribution. <br><br><div style="text-align: center;"><img style="width: 500px; height: 247px;" alt="" src="images/config-audio-settings.png"><br><br></div>If PortAudio is selected then you can either allow the program to use the auto detect to determine the best sound card sampling rate, or you can pick from the drop down list. If you know your RX and TX sound card oscillator correction factors you can enter them now. If not you can determine the RX rate correction using a special WWV modem built into <span style="font-style: italic;">Fldigi. </span>The decoder and encoder logic for each of the various modems require a specific sound card sample rate which may not be the the actual sound card sample rate. The conversion between the modem sample rate and the sound card sample rate is accomplished by one of a set of sample rate converters. <br><br>Sound card oscillators may have a slight error in frequency that causes their sampling rate to not be the value specified. This error is usually small enough to be measured in a parts per million. Fldigi uses a technique called rate conversion to correct the sampled waveform for this error. The error can be measured and the correction factor determined by using the <a href="DigiWWV.html">WWV calibration</a> modem. The supporting library used for the converter provides several different levels of conversion, Best, Medium, Fastest and Liner Interpolator. The default, Medium interpolator, will be satisfactory for most sound cards. If you are running fldigi on a computer with limited cpu power you might find it necessary to select one of the more cpu efficient converters, either Fastest or Linear. Each gives progressively poorer performance but use fewer cpu cycles to perform the frequency conversion. You should also be sure that the cpu type is set to <a href="ConfigMisc.html">"Slow cpu"</a> on the miscellaneous configuration tab.<br> <br><div style="text-align: center;"><img style="width: 501px; height: 179px;" alt="" src="images/config-audio-mixer.png"><br></div><br>Mixer controls are only active on Linux. Select whether you will be using Line-In or Mic-In for the audio connection from the receiver output. Fldigi ALWAYS expects to use the Line-Out for driving the transmitter audio. Set the PCM level for your soundcard. If you check "Manage mixer" then the Tx and Rx "volume" controls on the main fldigi dialog will be active.<br><br> </body></html>