Portaudio.PortAudio is a free, cross platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' that will compile and run on many platforms including Windows and Linux.Starting in version 03.09 Linrad can be compiled with portaudio. Under Linux that allows The portaudio interface in Linrad-03.09 is written for Portaudio version 19. The old direct interface to the soundcards is left in place and the user can select to use the old routines or to access the sound system through Portaudio. Linrad may use four soundcard channels: 1. Receiver input (Disabled when SDR-14 or other USB devices are used.) 2. Receiver output (Can be disabled. Typically when writing the output to the network.) 3. Transmitter input (Early development stage). 4. Transmitter output (Early development stage). In Linrad-03.09 only the receiver output can be set to use Portaudio. Portaudio for Linrad under Windows.There are three alternative executables:linrad.exe Without Portaudio. linradpa.exe With Portaudio. (Needs portaudio.dll) linradvc.exe. With Portaudio. (Needs PA19.dll) Visual C run time must be installed. The package wlr03-09.zip contains all three executables. Experiences will tell wheter more than one version will be needed in the long run. Microsoft Visual C can not be installed under Windows 98 so only the two first alternatives will be available under the now obsolete Windows version. To use linradpa.exe or linradvc.exe, download this file linrad-pa.zip (433983 bytes) and unpack it into your Linrad directory. The zip file contains the two dll files as well as two library files and a header file. If you have downloaded the Linrad source code, the make command will produce all three versions of Linrad automatically if the library files and a header file are present. (Rerun configure after adding these files.) Only linrad.exe will be produced by the make command if any of the files is missing. Portaudio for Linrad under Linux.Portaudio must be installed after Jack in case you want to use Jack. On a 64 bit system the 32 bit version of Jack has to be installed.Jack can be installed with the system installer that belongs to your Linux distribution. Install these packages: (The lists may be incomplete. If you have additional information, please send a mail to:
Debian and Ubuntu jackd libjack0 libjack0-dev Mandriva jack qjackctl libalsa-plugins-jack libsamplerate-progs libbio2jack0 libjack-devel libbio2jack-devel jackit arts Fedora jack-audio-connection-kit qjackctl Suse 64bit jack-32bit libjack0-32bit qjackctl alsa-plugins-jack-32bit Fedora 64 bit qjackctl jack-audio-connection-kit-devel-0.116.1-4.fc11.i586 The installers take care of dependencies. The above lists might contain too many packages. I do not know what is really needed, but with the above lists I have produced working installations of Linrad with Portaudio and Jack under the specified distributions. Download the latest portaudio source code from http://www.portaudio.com/download.html Get root privileges (sudo su root under Ubuntu where plain su root does not work.) Place the portaudio archive in /usr/src and unpack it with tar xvfz pa_snapshot.tgz This will generate the directory /usr/src/portaudio. Descend into this directory and execute these commands: ./configure make make install ldconfig The linrad configure script has to be run after the sucessful installation of portaudio to make Linrad aware of the fact that portaudio is available. Linrad does not use the installed portaudio.h. The file pa-linrad.h which is included in the Linrad package is used instead. It is a renamed copy of portaudio.h from Portaudio V19 which was downloaded Oct 14 2009. Portaudio for Windows when compiling from source code.The files pa-lir.lib and pa-vclir.lib must be present when the configure script (configure.exe under Windows) is run. If any of them is missing, the corresponding .exe file will not be produced. The files are contained in linrad-pa.tbz (392032 bytes) It is exactly the same contents that is present in linrad-pa.zip (433983 bytes) the configure script looks for these files and if they are present, the make linrad.exe command (make.bat under Windows) will produce linrad.exe, linradpa.exe and linradvc.exeThe following information can hopely be helpfull if a user wants to generate his own portaudio binaries instead of using the precompiled files from linrad-pa.zip The files contained in linrad-pa.zip were generated as follows: 1.PA19.dll and pa-vclir.lib *************************** These files were generated by Bob, N4HY, using Visual Studio 2008, as described in the mail: http://music.columbia.edu/pipermail/portaudio/2009-June/009254.html This mail states: Visual Studio 2008 C++ Express is free and the distribution license is "have a good time" so far as portaudio library distribution is concerned. svn://206.216.146.154/svn/repos_sdr_windows/PowerSDR/branches/n4hy/portaudio_VS2008 is my repository for a VS2008 build, 32 bit, 64 bit (had to disable IsDebuggerPresent) for portaudio. It is up to date. It has directX, wdmks, asio, wasapi all enabled. I BELIEVE if you open the vcproj in the build directory with VS2008 C++ Express, it will build. You will need to satisfy the library requirements. directX SDK, Windows SDK will have to be installed and the environment variables have to be set so allow them to be when you are asked. PA19.dll is a copy of the 32 bit version found in / /portaudio_VS2008/build/msvc/Win32/Release/PA19.dll pa_vclir.lib is a renamed copy of the 32bit version found in / /portaudio_VS2008/build/msvc/Win32/Release/PA19.lib The portaudio version is: PortAudio ver 1899 PortAudio V19-devel (built May 11 2009 22:01:20) A compressed copy (as of Oct 2009) of N4HY's portaudio_VS2008 directory (without the asio SDK )can be downloaded here: portaudio_VS2008.tbz (1662183 bytes) The asio SDK must be downloaded from: http://www.steinberg.net/en/company/3rd_party_developer/sdk_download_portal.html After unzip, the folders common and host from the SDK must be copied into /portaudio_VS2008/src/hostapi/asio/asiosdk 2.portaudio.dll and pa-lir.lib ****************************** This portaudio.dll provides Hostapi's for MME, DirectSound wasapi and ASIO. The installation steps are: 1.Install MinGW/GCC 3.4.5 by downloading mingw516nasm.zip (23919121 bytes) Unzip it in C:\ to get a C:\mingw directory. (DO NOT use older mingw versions or the compilation will fail.) 2.Download the latest portaudio snapshot from http://portaudio.com/download.html Unpack it into C:\ to get a C:\portaudio directory. The files with extention .tgz (short for .tar.gz) may have to be unpacked in two steps. 3.Download dx8sdk.zip (17732 bytes) Unzip it into the C:portaudio directory. It will place dsound.h and winver.h into the include sub-folder. 4. Go to: http://www.steinberg.net/en/company/3rd_party_developer/sdk_download_portal/create_3rd_party_developer_account.html Register and agree to their license agreement. Then you can login as a 3rd party developer here: http://www.steinberg.net/en/company/3rd_party_developer/sdk_download_portal.html Download the ASIO SDK from Steinberg. Unzip it and copy the Asiosdk2 with its subdirectories to C:\portaudio\src\hostapi\asio. 5.Download this file pacomp.zip (1570 bytes) and unpack it into the C:\portaudio directory. 6.Open a command window (DOS prompt) in XP or Vista. From the Dos prompt, cd to the C:\portaudio directory and enter the make command to execute make.bat. In case there are no fatal errors you would get the portaudio.dll and pa-lir.lib files in the portaudio directory. The make command will also generate 3 portaudio test programs in the portaudio directory: pa_devs.exe paqa_devs.exe patest_record.exe 7.If the testprograms run fine, copy the portaudio.dll and pa-lir.lib files in the linrad directory and recompile linrad. All the work of interfacing Linrad to portaudio was done by Pierre, ON5GN who once again made a major contribution to the Linrad development. To SM 5 BSZ Main Page |