Consider disabling optimizations for SWH Multiband EQ
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
Currently, we use a CMake-adapted version of Steve Harris' Makefile and use optimizations `-03`, but several upstream bug reports/upstream comments suggest this could cause some audio artifacts under certain configurations, notably some 32-bit hosts.
The symptoms are crackling/frying noise. Oddly, not all LADSPA hosts exhibit the problem, quoting:
> Bit of a dredge... but I am also getting EXACTLY the same noise/hiss/crackle as you are playing your `ogg `file.
>
> it is strange - since `aplay` and `mpg123` play fine directly to alsa configured `alsaequal` or direct LADSPA plug ins. This works for `zm1`, `vynil` and `mbeq` on my ArchlinuxARM system.
>
> However - when i use mbeq under [MPD](https://www.musicpd.org/) (either via `alsaequal` or `ladspa`) - I am getting the noise you are.
>
> This was working fine on my old ArchlinuxARM version - so I'm guessing a downstream package upgrade has broken things... I've tried "forcing" downgrades - everything works (until you really go into the bowels) - e.g. `alsa-lib`, `fftw`, `gsm`, yet the hiss from `mbeq` is there.
>
> I can get all plugins working via `mpg123` and `aplay` clients. [MPD](https://www.musicpd.org/) works with `vinyl` via LADSPA direct, or `zm1`, but hisses / crackles via LADSPA or alsaequal under MPD (same asound.conf). The funny thing is MPD works fine with alsaequal's 10 band EQ (in `caps.so`) under MPD.
Upstream bug reports:
* https://github.com/swh/ladspa/issues/64#issuecomment-711483179
* https://github.com/swh/ladspa/issues/70#issuecomment-849536444
https://github.com/LMMS/lmms/blob/4dc04a612afbe12da218338f4886db2998b80f57/plugins/LadspaEffect/swh/CMakeLists.txt#L12
There's really no immediate action needed here on LMMS' end, I just found the issue to be popular enough that eventually someone will run into it downstream on our project and sometimes these optimization issues are [really hard to track down](https://github.com/LMMS/lmms/issues/1757#issuecomment-77509367). 😅
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with plugins/LadspaEffect/swh/CMakeLists.txt at the referenced optimization setting, then read upstream reports 64 and 70 and the linked LMMS issue for reproduction context. Determine whether the optimization setting can cause the reported crackling on supported configurations and document a reproducible verification of the chosen build behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake
- Domain
- audio-video-rtc, build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100