Releases: va3jfl/Omega-FM
Release list
Omega-FM v1.20.1
OmegaFM v1.20.1 — first public release
Title: OmegaFM v1.20.1 — Digital FM Broadcast Audio Processor
OmegaFM is a complete digital FM broadcast audio processor for Windows:
an Optimod-style multiband chain, a distortion-cancelled final clipper,
a full stereo generator with RDS, and ITU-R BS.412 compliance — in one
app that runs on the hardware you already own. Free, open source, MIT.
This is the first public build. The processor has been developed and
tuned against a permanent validation suite: 51 automated measurements
(pilot protection, sibilant IMD bounds, AGC gate behavior, mono
compatibility, stereo separation, boot safety) run on every build — a
release that regresses does not ship.
Highlights
- Full broadcast chain — gated drive-independent AGC, 4-band EQ +
psychoacoustic bass, zero-mean coupled leveler, 4-band soft-knee
compression, then a 192 kHz back end: pole-limited 75/50 µs
pre-emphasis, dynamic-shelf HF limiter, 2 ms lookahead limiter,
distortion-cancelled clipper with phase-aligned overshoot
compensation, and an always-in 15 kHz wall. ~5.6 ms total latency. - Nine processing modules, on at power-up — azimuth/stereo repair,
de-clipper/de-lossifier, dehummer + gate, natural dynamics, de-esser,
sonic maximizer, power bass, stereo widener, multipath governor.
Repair modules include a TEST mode that simulates their target damage
so you can hear them work before trusting them on air. - Stereo generator + RDS — 19 kHz pilot, 38 kHz DSB, filtered
composite clipping, 192 kHz MPX output or de-emphasized L/R monitor;
EN 50067 RDS with PI/PS/PTY/RadioText and dynamic PS from a watched
now-playing file. 75 dB separation at 1 kHz. - BS.412 MPX power limiter — holds the sliding 60-second composite
power the regulator measures at your target, riding only the audio;
pilot and RDS injection verified untouched. Off by default — it is a
licensing choice. - Plugin drop-ins — any
.pyin~/.omegafm/plugins/overrides a
shipped module of the same id. The rack is yours.
Downloads
| Asset | Notes |
|---|---|
OmegaFM.exe |
Windows 10/11, 64-bit. Single file — everything bundled (Qt, DSP, PortAudio, LLVM JIT). No install, no accounts, no telemetry. |
First-run note: the binary is unsigned, so Windows SmartScreen may
show "Windows protected your PC" — choose More info → Run anyway.
Expect a few seconds on first launch while the bundle unpacks and the
JIT warms up.
Quick start
- Feed OmegaFM from any soundcard or virtual audio cable
(Input device in AUDIO I/O). - Pick your output: Stereo L/R at 48k to monitor through speakers,
or MPX composite at 192k into a transmitter/SDR (needs a
192 kHz-capable interface). - Press START. The app always boots into the factory reference —
AGGRESSIVE · LIGHT with the full nine-module rack calibrated and
live. Import a preset (.json) to load your own sound; station
identity (RDS, injection, I/O trims, devices) persists between
sessions on its own.
Running from source
pip install -r requirements.txt
python run_omegafm.py
Python 3.11+ recommended. numba is optional JIT acceleration — the
processor runs identically (bit-exact, a little slower) without it.
The validation suite: python tools/validate_chain.py.
Known notes
- BS.412 limiting costs loudness when enabled — that is its entire
legal purpose. - MPX output level maps 1.0 = 75 kHz deviation; calibrate your
exciter's input accordingly. - Repair-module TEST knobs are commissioning aids. Never leave TEST
on for air (you'd hear it anyway).
License
MIT. Read every line, fork it, build your station's sound on it.