Discontinuities in sample-exact automation in high tempo, resulting in crackles
Open
Nobody has claimed this yet.
bug
core
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
(Originally reported by @LostRobotMusic on Discord)
Bug Summary
- Sample-exact automation doesn't work well if a tick is shorter than the buffer size. Some jump discontinuities are observed in the automation.
Note this bug depends on your sample rate and buffer size settings. If you can't reproduce the bug, try higher tempo, larger buffer size and lower sample rate.
Steps to reproduce
- Set tempo to sufficiently high value(300 is enough for sample rate 44100Hz and buffer size 256)
- Add any instrument, and add amplifier effect in the track
- Connect the gain of the amplifier to an automation pattern with linear progression
- Render to a file
Here's an example project file:
bug.mmp.zip
Expected behavior
Smooth automation
Actual behavior
Discontinuity observed, resulting in audible crackles
Affected LMMS versions
Not sure
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 by reproducing the issue with the attached bug.mmp.zip project, using 300 BPM, a 44.1 kHz sample rate, and a buffer size of 256 or larger. Trace the sample-exact automation path during rendering and verify that the rendered amplifier gain remains smooth without discontinuities or audible crackles.
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
- 35/100