Diffusion software Airomate RDS encoder and stereo encoder
Home Products Downloads Buy now Support Links Contact Login
Airomate Chronos Little SineGen StereoCoder


New products


Airomate software
stereo encoder
with RDS!!!

Click here

Software stereo encoder to generate a digital MPX stereo signal for FM radio stations.

- About this stereo encoder project
- Advantages
- Disadvantages
- Which soundcard to be used
- Minimum system requirements
- How does it work
- Adjust the stereo signal
- Version history

About this stereo encoder project

This project makes it possible to use a “normal” soundcard to generate a stereo signal for FM radio transmitters. The stereo encoder is a simple application that runs with Windows XP with service pack 1 or higher.

The maximum frequency of a MPX stereo signal goes up to 53 kHz. So you need a soundcard that can handle a minimum frequency of 53 kHz. Nowadays there are cheap soundcards which have a samplerate of 192 kHz. These soundcards can produce frequencies up to 96 kHz. For a frequency of 96 kHz you will need a minimum samplerate of 192 kHz.
Most operating systems can not handle a samplerate of 192 kHz. Windows XP WITH Service pack 1 is the first Windows version which can handle this.


By using a media player on the same computer, the audio-signal will be edited fully digital, so there is no loss in quality produced by A/D converters.
The stereo signal will be calculated digital, so that a perfect stereo signal will be generated and a good stereo separation will be reached.


Little latency between the input and output signal. (can be controlled manually)

Which soundcard to be used

There are a few soundcards who can handle a samplerate of 192 kHz. Most of them can handle the surround 7.1 system. For this project I use the Terratec Aureon Space. But the new SoundBlaster soundcards can probably do this job too. If you have experience with other soundcards, share it with us by using the contact form.

Minimum system requirements

Processor: 600MHz
Soundcard: at least a samplerate of 192 kHz.
Operating system: Windows XP with Service Pack 1

How does it work

After the program started up, you see a window like above. Select a soundcard for the Input and Output device. The same soundcard can be used as Input and Output device. If you do that, be sure you configure the record configuration well (the soundcard must not "hear" himself).
Adjust the Buffer size. Try to make the Buffer size as small as possible, to keep the latency low.
Also the pre-emphasis, clipper and 15 kHz low pass filter can be switched on or off.
The pre-emphasis can be switched between 50 and 75 micro seconds. The European standard uses 50 micro seconds. The American standard uses 75 micro seconds.
The clipper can be used after the pre-emphasis. This will cut the high peaks. Because it works after the pre-emphasis, it will mostly cut the high frequencies so there will be no notable distortion heard. If you use the clipper, my advice is to also use the 15 kHz low pass filter.
The 15 kHz low pass filter will take care that frequencies above the 15 kHz will be filtered out. This filter is a 10th order IIR Butterworth filter.
Use the clipper and the 15 kHz low cut filter to stay within the Stokke mask.
The amplitude of the 38 kHz signal can be controlled manually, so that an optimal stereo separation can be reached. It’s also possible to use the 38 kHz controller as a stereo widener by shifting him above the 100%. Using this method, the mono signal will not be affected.
The Output peak is to watch if the signal will not be distorted. The Output peak shows every second the highest output signal. The Output peak can have a maximum of 100%. If it gets over the 100% then the volume of the input signal has to be lowered. Adjust the volume of the input signal to an average of 90% on the input peak meters. When there is no input signal, the Output peak will still show a peak of 8%. This happens because the 19 kHz pilot tone will always be on the output.
The Start button explains himself. By pressing this button, the stereo coder will do his job.

Adjust the stereo signal

Connect only 1 output channel from you soundcard to the input of the transmitter. Do not combine the left and the right channel. Switch on the clipper and the 15 kHz low cut filter. Adjust the volume from the input signal so that the Input Peak level meters reaches a average of 90%. Adjust the Master volume and the Wave volume on the mix console from the Output device to maximum. Adjust the input signal of your transmitter up to 0 dB.
Try to decrease the buffer size. If you hear drop outs, increase the buffer size.

This program has been tested on a Pentium III 600 MHz. with 192 MB internal memory. Operating system Windows XP pro with service pack 1. For the Input device, I used a SoundBlaster Live Platinum soundcard and for the Output device a Terratec Aureon Space.

Version history

version 1.0
  • First release.
version 1.1
  • Improved 19 and 38 kHz sinus generator.
    Sinus generator works faster and more accurate.
  • 19 and 38 kHz signals are phase locked.
    Due to the rounding process in the digital domain, there was a little phase shift. By phase locking the two signals, this issue has now been solved.
  • Buffer size can be adjusted.
version 1.20
  • Totally rewritten audio input and output threads.
  • Multi threaded.
  • 32 bit processing.
  • Supports 32 bit output.
  • Added a synchronization algorithm between input and output.
  • Supports 50 and 75 micro seconds pre-emphasis.
  • Added a clipper to cut high peaks after the pre-emphasis.
  • Lower CPU usage.
  • Lower latency between the input and output signal.
version 1.30
  • Bug fixed in the synchronization routine.
  • Improved synchronization routine.
  • Improved 19 and 38 kHz sinus generator.
  • Settings are now saved in an ini file.
  • Changed layout.
  • Redesigned output peak level meter.
  • Added input peak level meters.
  • Added clip indication for every peak level meter.

Copyright © 2007 - 2023, Diffusion software     |     sitemap