openwebrx/README-FORK.md
DevBench 5206e5b0ae DAB+ audio: WAV default for all sample rates (24/32/48 kHz), stereo input fix
- Default: dablin -w so ffmpeg reads rate and channels from WAV header;
  all DAB+ services (24/32/48 kHz, mono/stereo) play at correct speed.
- Fallback: OPENWEBRX_DAB_USE_WAV=0 uses PCM path with
  OPENWEBRX_DAB_INPUT_RATE (24000|32000|48000).
- Fix: treat dablin output as stereo (-ac 2); mono caused consistently
  slow playback.
- Optional OPENWEBRX_DAB_CAPTURE_RAW=1 for raw PCM capture (PCM path).
- README-FORK.md: document env vars and behaviour.
2026-02-06 02:14:19 +00:00

31 lines
2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# dom-robinson/openwebrx fork DAB+ sample rate fix
This is a clone of [dom-robinson/openwebrx](https://github.com/dom-robinson/openwebrx) with branch **feature/dab-audio-fix** containing improvements over upstream [jketterl/openwebrx PR #419](https://github.com/jketterl/openwebrx/pull/419): **Fix DAB+ audio sample rate issues using ffmpeg resampling**.
## Whats in this branch
- **owrx/dab/dablin.py** DAB+ audio fix with **automatic handling of all sample rates (24/32/48 kHz)** and mono/stereo:
- **Default (WAV path):** `dablin -w` so ffmpeg reads sample rate and channel count from the WAV header; resample to 48 kHz stereo. All DAB+ services play at correct speed without configuration.
- **Fallback (PCM path):** Set `OPENWEBRX_DAB_USE_WAV=0` and optionally `OPENWEBRX_DAB_INPUT_RATE=24000|32000|48000` if WAV causes issues. Optional `OPENWEBRX_DAB_CAPTURE_RAW=1` tees raw PCM to `/tmp/dablin_capture.raw` for analysis.
- **Critical fix:** Treat dablin output as **stereo** (`-ac 2`) when using PCM; using mono caused consistently slow playback.
- **docker/scripts/install-dependencies.sh** Add `sox` to static packages.
- **Dockerfile.hotfix** Optional image that builds dablin from source and applies the dablin.py patch.
## Environment variables (optional)
| Variable | Default | Description |
|----------|---------|-------------|
| `OPENWEBRX_DAB_USE_WAV` | `1` | Use dablin WAV output so rate/channels are automatic. Set `0` to use PCM path with fixed rate. |
| `OPENWEBRX_DAB_INPUT_RATE` | `32000` | Only when `OPENWEBRX_DAB_USE_WAV=0`: input rate 24000, 32000, or 48000. |
| `OPENWEBRX_DAB_CAPTURE_RAW` | unset | Set to `1` to tee raw PCM to `/tmp/dablin_capture.raw` (PCM path only, for analysis). |
## Push this branch to the fork
From this directory, with GitHub auth set up:
```bash
git push -u origin feature/dab-audio-fix
```
After pushing, the fork on GitHub will list the branch and you can open or update a PR to jketterl/openwebrx, or build images from it.