LMMS / LMMS/lmms

Highpass filter frequency automations get scaled down proportional with the Export sample rate

Open
#6,319 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C++
Stars
10.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
7

Description

### Bug Summary
Automations which control the cutoff frequency of a Highpass filter appear to be scaled down pro This means that in a high-resolution export, any highpass filter automations effectively disappear. This appears to happen with both the GLAME Butterworth Highpass Filter, the standard Glame Highpass Filter, and the Single-pole High Pass filter plugins:

![Affected plugins](https://user-images.githubusercontent.com/19616023/155212423-0dd6335e-2aab-4c61-8507-a4a5f4082060.png)

#### Steps to reproduce

1. Add a highpass filter to any audio track, instrument, or FX Mixer channel
2. Create an Automation track with an automation that controls the Cutoff Frequency for the Highpass filter
3. Export the track at 192KHz
4. Observe the amplitude of the automation

#### Expected behavior
Amplitude of the automation remains constant, and the exported audio contains the changes from the highpass filter automation

#### Actual behavior
Amplitude of the automation changes

#### Screenshot

Normal highpass filter level:
![lmmsbug-highpassnormal](https://user-images.githubusercontent.com/19616023/155211868-c80d4257-7171-4a24-bc50-82133a59750e.png)

During 192K export:
![lmmsbug-highpass-diminished](https://user-images.githubusercontent.com/19616023/155211897-cbc0c232-6d9c-4c02-b75d-c9bd2a1c1a02.png)

#### Affected LMMS versions

Version 1.2.2 (Linux/x86_64, Qt 5.15.2, GCC 10.2.0)
Installed from Apt: `1.2.2+dfsg1-2build2`

#### Logs

Click to expand

Output of `journalctl -b `which lmms`:

```-- Journal begins at Thu 2022-02-10 10:33:07 MST, ends at Tue 2022-02-22 13:38:27 MST. --
Feb 22 13:06:26 akira lmms.desktop[18818]: Connection established.
Feb 22 13:06:26 akira lmms.desktop[18818]: Stream successfully created
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:06:32 akira lmms.desktop[18818]: QtXmlWrapper::loadXMLfile(): empty data
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:13 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QMetaMethod::invoke: Unable to handle unregistered datatype 'MidiTime'
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open
Feb 22 13:10:17 akira lmms.desktop[18818]: QIODevice::read (QFile, "samples/empty.wav"): device not open```

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named. Reproduce the issue with each listed highpass filter, an automated cutoff frequency, and a 192 kHz export; trace the automation and export sample-rate handling, and consider the issue done when cutoff automation retains the same amplitude in the exported audio.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.