LMMS / LMMS/lmms

ALSA backend distorts low frequencies while JACK doesn't (suspect: ALSA to JACK bridge)

Open
#276 4 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

Listen to these samples:
http://unfamusic.com/5h1+/samples.zip

I've played the original sample via Sound File Processor. It sounded different - I heard high frequency content that was not present in the original sample.

I've noticed I have ALSA back-end selected. I changed to JACK and re-tried. The distortion was gone.

I was using JACK anyway so the ALSA back-end was bridged back to JACK. And then - the bass sample had additional high frequency content that must have been created by some kind of aliasing or bad interpolation.

I've captured the distorted sample with jack_capture program.

What's strange - the distortion also appears in the rendered project, however it sounds different.

I've tried using ALSA directly (with no JACK running) and the distortion is gone.

So it's probably ALSA-to-JACK bridge that adds this distortion, however - why does it affect the rendered output? THIS is what bothers me most. Why does dummy back-end allow rendering then?
How does the rendering work? Maybe the signal from LMMS to WAV file passes through something unneeded half-way through?

Anyway - we should notify whoever is working on ALSA-JACK bridge about this, maybe it's their bug.

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

Start with the samples.zip linked in the report and reproduce the distortion using the ALSA, JACK, direct ALSA, and dummy backends, including rendered output. Done means the responsible path is identified and the rendering-versus-backend behavior is documented clearly enough to determine whether LMMS or the ALSA-to-JACK bridge needs a fix.

Written by the indexing model from the issue text.

Assessment

Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.