Incorrect signal handling while volume changes

Having trouble with LMMS? Ask about it here.
I've made a series of Screenshots... So let me explain in a few sentences what I did (and you - hopefully - can see).
I used LMMS 1.0.0.96 to create 2 small projects. In the first one I created a bassline which I sidechained by a kick, the second consist of one bar filled with 4 1/4 notes (C1) which volume I increased and decreased automatically from 0 to 100 (during 3/4 bar) and back to 0 (until the end of this bar, thus during 1/4 bar). I used Sonic Visualizer 2.4.1 to show what LMMS created.
Here are the screenshots, commented because of a slight frustration, to be honest - but watch the pictures and make up your own mind:
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image


I'm curious about your thoughts.

... If I change a volume using a slider in LMMS, these 'steps' seem to occur as well

Attachments

Yep. That's because the changes in models happen only once per period.

This is fixed in master, so starting from 1.2, there will be sample-exact models which allow smooth volume changes on all volume knobs. You'll just have to either wait until then, or use the currently unstable master branch (at your own risk).
not being an engineer, i just wonder if these anomalties are the reason for the 'crackle' artefact?
I have done hours of 'search' (eg freqence filtering) for the reason of this pesty crackle, and came up empty. The crackling is afaik not a frequence issue (well that a result too, actually)
But are these shots visualization of crackles?
musicbear, I tried the same in REAPER and made several tests with Sonic Visualizer as well. No noise and smooth waves. But I'm curious about diiz' statement and will test it.
I found it being a fact, that all kinds of volume changes (especially automatic changes with a significant change rate) lead to such noise. So I created these mini projects and tried to find out more using Sonic Visualizer, becaue it's ability to show all frequencies. Of course we know, that crackling usually are caused by high frequency parts. I just saw, that even in parts where the named automation increased the volume (comparably slow) there are peaks of high frequencies, which for sure can be amplified and made audible. If you want to see more screenshots I can give you some. But I think, you will find it by yourself, when you follow these steps:
Make LMMS increase and/or decrease a volume of some low frequency sound (preferably pure sine waves or only at maximum two sine waves), export these 'events' to a lossles codec (I used PCM-wav) and open Sonic Visualizer.
...open the just produced file
...go to Waveform layer in the first pane (in my configuration, which should be default, as far as I can remember)
...click the 'Normalize visible Area'-Button to make your signal be good visible
...next open a spectrogramm layer and open Spectrogramm-Tab on the right side.
...go to color-menue and choose 'high gain'
...once again click in this Spectrogramm 'Normalize'
...if this is still too less, ajust this amplification with the right knob (it's the knob at the far right of 'Scale')

This should show you all the noise, which can't be produces by sine waves, but by crackling.
Perhaps you also have to ajust 'Window' menue to a smaller value (usual it comes with 8192 Samples width, better values ar smaller than 1000 - I used 256).

Then you should see more.
diiz wrote:Yep. That's because the changes in models happen only once per period.

This is fixed in master, so starting from 1.2, there will be sample-exact models which allow smooth volume changes on all volume knobs. You'll just have to either wait until then, or use the currently unstable master branch (at your own risk).
I'm very curious and can't really await 1.2. Hopefully you're right.
musikbear wrote:not being an engineer, i just wonder if these anomalties are the reason for the 'crackle' artefact?
The crackle (in this case) is caused by too fast amplitude modulation. With our current handling of volume (no sample-exactness), all knobs (models) get modulated on a per-period rate: meaning that the value of the model gets changed every n frames, where n = period size (somewhat incorrectly called "buffer size" in preferences). This means that there will be sharp spikes in volume, and those cause crackling/popping artifacts.

With the sample-exact models feature, models will be able to receive sample-exact data from controllers, automations etc. This means that volume changes every frame, instead of every n frames, so volume changes are smooth and crackle-free. This is already a working feature in 1.2 (current master), in which you'll be able to eg. connect a controller to a mixer fader and have it modulate the amplitude smoothly.
AncientMind wrote: I'm very curious and can't really await 1.2. Hopefully you're right.
Well, seeing as I'm the person who implemented the sample-exact models feature for 1.2, I'm pretty sure I'm right...
super explanation diiz - Thanks!
Now that you have implemented sample-exact models in master (congrats -Super job!) , does that mean that there also are 'play sample-track from any posistion' in master now?
(perhaps you Remember we have talked a lot about that feature, in connection to exact-models)
musikbear wrote:super explanation diiz - Thanks!
Now that you have implemented sample-exact models in master (congrats -Super job!) , does that mean that there also are 'play sample-track from any posistion' in master now?
No, those features are not connected in any way.
diiz wrote:Well, seeing as I'm the person who implemented the sample-exact models feature for 1.2, I'm pretty sure I'm right...
Oh, of course I believe you if you made it. But to be honest: I wonder, why everyone refused to hear these artifacts and ignored the noise. That was a major reason for me to avoid the whole community, because in my eyes it makes no sense to stay in contact with people, who want to convince me of me making errors in LMMS's usage while the real reason is simply a - sorry to say this - everything but high quality programming of sound processing. I posted audible noise and was told to change my settings (!!!), what - under these circumstances - is completely ridiculous and told (and of course still tells) me enough about the people who gave me that great advice.

Freeware or not: A piece of software is usually expected to work at least halfway 'correct'. Sound processing is a sophisticated job and I know of course, that it is everything but a little bit 'hacking'. But when there is a community of people, who prefer smoothtalking instead of clearly speak about points to enhance, there is a nearly constant stasis. That's my criticism for such a 'community' - sorry, but my oppinion.
@AncientMind I agree with you 100% that no community should smooth talk something that could use fixing.

However, LMMS has not had an active development cycle until more recently. Whoever gave you bad advice about the program was more than likely going off the fact that for at least 2 years (afaik, could be way more or less) LMMS had zero updates. Users that were dedicated to LMMS and knew that the issues wouldn't be fixed for a while came up with ways to get around the problems.

Anyways, LMMS is now considered an active project and has seen much progression thanks to @diizy and others on the github repo (https://github.com/LMMS). With github we can state issues and know that they will be seen and at least discussed. However, some still like their work-arounds I suppose.