LMMS / LMMS/lmms

Bitcrush effect applies a lowpass filter even if sample-rate reduction is disabled

Open
#5,893 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

Using a bitcrush effect on a signal will result in a lowpass filter at Nyquist frequency, even if the sample-rate reduction is disabled.
Enabling the sample-rate reduction will further filter the signal.

Steps to reproduce

From default project, create two Mixer channels.
Route the first to the second.
Send the TripleOscillator to the first, and set it up so that it only produces white noise.
Add a Bitcrusher effect on the second mixer channel, leave the default values but uncheck the sample-rate reduction led, to disable it. Disabling the quantization reduction doesn't have any effect.

Expected behavior

Signal should be untouched, the two spectrums should be the same.

Actual behavior

A lowpass filter at nyquist frequency is applied to the signal with the bitcrush effect

Screenshot

Screenshot_4

Affected LMMS versions

1.3.0 alpha 1.33+g4f74151f0
1.2.2

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

Reproduce the issue in the default project with two Mixer channels, white noise from TripleOscillator, and Bitcrusher sample-rate reduction disabled. Inspect the Bitcrusher effect implementation and compare the input and output spectrums; done means disabling sample-rate reduction leaves the signal untouched while enabling it retains its filtering behavior.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.