DL4YHF's Amateur Radio Software:
Soundcard/Audio-Utilities

Last updated: December 29, 2011.

Main Site: www.qsl.net/dl4yhf
Backup site: www.mydarc.de/dl4yhf

Sound Input Utility

This program reads -in the simplest form- audio samples from the soundcard and puts them into a normal disk file. It can be used if you want to process samples from the soundcard in a continuous audio stream (means "without losing anything") but don't want to go into the details of soundcard programming under windows.
You can handle the files produced by this utility even in a DOS box. All your favourite programming language must be able to do is...

  • Check if a disk file exists, or some kind of error handling if opening a file fails
  • Open and read binary data from a file
  • Delete a file after reading the contents

Usually you will not see this control window, because the utility works silently in the background (the control window can be turned on or off via command line switch). The bargraphs on the right side show the buffer usage and the peak levels on left and right audio channel.

A lot of parameters can be specified in the command line when the utility is started from another application (or from a shortcut icon on the desktop). The parameters for the "soundcard input" utility include:

  • sample rate for the soundcard's A/D-converter
  • number of input channels (mono, stereo)
  • output data format (8-bit, 16-bit, or floating point)
  • sample rate decimation (or "downsampling", if you don't need the full bandwidth)
  • optional frequency conversion with adjustable center frequency and I/Q- or real output
  • maximum "exchange file" size
  • planned: frequency demodulator, useful for sensors with voltage controlled oscillators

All this can be defined in the command line when you start the utility from your own program, but it does not have to. If no parameters are specified, some built-in default values are used which are something like...

  • 11025 samples/second
  • 16-bit integer samples, MONO (one channel)
  • no decimation, no frequency shift, no I/Q-output

The manual provides more info about the supported file formats, all command line options, and how the "audio file exchange" between the utility ("audio file server") and the application ("audio file client"). See links below.

Sound Output Utility

This program reads -in the simplest form- audio samples from a disk file and sends them to the soundcard's digital-to-analogue converter. It can be used if you want to produce audio signals (etc) with the soundcard in a continuous audio stream (means "without gaps") but don't want to go into the details of soundcard programming under windows.
You can produce the files (which represent the audio stream) even with a program running in a DOS box.

Serial Input Utility

From an applications's point of view, this utility does almost the same as the "Sound Input Utility", but the analog samples are read from the serial port. You need an external A/D converter for this, like DL4YHF's "PIC-based A/D converter for the serial port". The PIC digitizes two channels with a sampling rate of 2500 sample pairs / second. The resolution is a little over 10 bit, because 4 ten-bit-values are added before the PIC sends them to the PC (the presence of weak noise helps a bit here to keep the the least significant bit moving).

What can the Sound Utilities be used for ?

  • use them "as they are" for own experiments with the soundcard if you don't want to dive into the depths of windows API programming
  • use them to replace the soundcard access routines in Spectrum Lab (so you can even use the soundcard on ANOTHER PC and let the audio samples travel across a local network)
  • use them as a "skeleton" to write a simple interface betwen your audio hardware (a PIC with serial interface, etc) and Spectrum Lab or any other program which can handle audio files as input. These drivers should then be called "Audio Utility" which is a more general term than "Sound Utility".

Links for the audio utilities... (these links may only work if you are on my 'main' website)

Download executable 'sound input- and output-utilities' and manual (uses the soundcard)

Download executable 'serial input utilitiy' and manual (for external ADC on COM port)

Download the sourcecode archive (only required if you want to modify and compile the utilities)

Download PIC12F675 firmware for the "Serial PIC ADC" (manual and HEX file)

If you are interested in the source files, ask for them in an email to dl4yhf(at)qsl(dot)net . The projects may be "under construction" at the moment and I don't want to waste my time for useless uploads... :-). Like most of my programs, the utilities are programmed in C++, but -in contrast to Spectrum Lab- they don't use Borland's VCL, so you don't need any special DLLs to run them.

Good luck with your own experiments,
Wolf (DL4YHF)

 Back to the Software Overview