Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Almost all presets has no envelopes #5527

Closed
musikBear opened this issue Jun 6, 2020 · 22 comments · Fixed by #5529
Closed

Almost all presets has no envelopes #5527

musikBear opened this issue Jun 6, 2020 · 22 comments · Fixed by #5529
Labels

Comments

@musikBear
Copy link

Bug Summary

I have searched, but no issue seams to address this, but Almost all presets in LMMS has no envelopes. The zasfx presets does, but they are of cause internal, and not related to LMMS own ENV/LFO tab.
Most problematic are the samples, where many clicks and pops, but i have not been through all preset, so i cant say how many we got with artefacts.

Argumentation

On youTube LMMS is ridiculed and dissed as being of low quality. Popping and clicking presets is part of this. It is reasonably easy to fix. No coding is needed, just edit and resave.
Any user with good understanding of the presets, can do this.

Steps to reproduce

Open any default preset

Expected behavior

LMMS presets ought to have an envelope, that prevents clicks and pops from attack ao release. A default All-pass-filter could also be set.
This would not inflict old projects or any saved presets. All presets has envelopes hardcoded in both project-file, and preset-files.

Actual behavior

Most presets does not have either envelope or default filter

Affected LMMS versions

All

Suggested method

All presets are renamed with an _ infront of current name with a batch-script, then they can be saved with new envelopes, without the leading underscore, and nothing would have changed. Total backward comparability is preserved.

@musikBear musikBear added the bug label Jun 6, 2020
@zynskeywolf
Copy link
Contributor

This is a job for me. Can I do it?

@musikBear
Copy link
Author

@dj-pixus Wooo!
Are you done?
Have you tested every preset in both instruments and samples?
That was quick! 👍

@zynskeywolf
Copy link
Contributor

zynskeywolf commented Jun 8, 2020

I fixed the problematic presets of builtin instruments except for LB302, as it does not support envelopes.
Samples are a different thing. The default preset of the AFP is what needs to be changed in order to eliminate the "problem", the samples themselves have little to do with it. If you cut a wave at a non-zero value, then it will unavoidably click, this is just how sampling works.
Again this is one of the situations where we have to find a balance in dumb-proofness that is attractive both to newbies and professionals.

@musikBear
Copy link
Author

The default preset of the AFP is what needs to be changed in order to eliminate the "problem"

If only that was it, but each individual sample saved as a AFP-preset has its own hardcoded Envelope. It is simple XML, so perhaps some 'sanity' basic std could be bulk edited in, through some script, as a minimum 'solution', but it would not result in a flawless collection of samples.
........AND that may be ok anywitch, because it has long ago been agreed, that all samples has to be replaced, because of the state of origin of the current's .. 🧷

@zynskeywolf
Copy link
Contributor

What a timing! Just added the newly repaired presets to the PR, then read your comment. :)
Actually, I chose to test every preset with a Glame hi-pass filter and made the corrections manually, cause i found other problems as well, like clipping or even dc-offset. About the AFP, only a few samples were presetted, all the other samples are just samples, so what you quoted is still relevant.
Else: I don't know if it is intended but studying the presets i discovered that the sustain value is inverted on BitInvader compared to other plugins.

@musikBear
Copy link
Author

The replacement of all samples has been 'on the table' for .... guess 5-6 y...!
Once it was well in the makings, but then everything went seriously sour. Work was lost, so was people. I cant see a replacement in the near future
About Bitinvader envelopes:
They are fine! Those are an example og how all our presets should have been made! They are perfect, The Sustain is not inverted, it is made with a value, that is best for that preset!
but take a look at Nescaline |Detune lead, f.i.
Here you have an envelope/ filter setup as:
image
Or rather NO setup..
That preset is not finished. It needs an envelope, and (perhaps) an all-pass-filter
Being a lead it would make sense to design it as
image
There are many presets that looks like Nescaline |Detune lead, some sounds 'ok', but others does not, then there are some with an envelope, but they are too loud, and clip default, others are to low
Each Factory-preset needs to be inspected, and tested for sensible-envelope loudness and perhaps have an All-pass added. That last thing is 'something' i have read that all ..'producers' always does, and it is frowned apron, it it is not done.. Honestly, i have never done that on my own presets. Most often i add a LP-but opens the FREQ 100%, that is in a way an All-pass
But the bad ones are those with NO envelope
image
...Yelp
Then there are CUTOFF and RESO tab, havent thought about their ENVs at all ⛑️

@zynskeywolf
Copy link
Contributor

The sustain, i mean the lowest value is 0, highest is 1 at most instruments. But in BitInvader, 0 is 1 and 1 is 0. Not a problem with the sounds itself, but a technical inconsistency that made me recheck everything 6 times.
About allpass filters: I really don't see much sense using them. Can be used for phase effects, but nothing really useful in this situation. A low-pass can be good for killing inaudible frequencies, but where it needs to be, there already is.
And don't forget that the presets should honestly show what that plugin can do on its own.
There are some presets that i didn't set an envelope for, just because it sounded good as is.You know, if it ain't broke, then don't fix it.

@musikBear
Copy link
Author

You know, if it ain't broke, then don't fix it.

👼 to that

@Clutterbyte
Copy link

i did some changes to initial presets that could give a better audio experience. it is a mmpz compressed.
example.zip

@musikBear
Copy link
Author

@Clutterbyte The issue is already coded in a PR -Have you made code-changes, or are your changes made inside lmms?

@qnebra
Copy link
Collaborator

qnebra commented Jul 25, 2020

There were changes only inside lmms project, not in code. Also clicking was more to attack with value 0.0, not to hold have value 1.0

@Clutterbyte
Copy link

@musikBear "The issue is already coded in a PR -Have you made code-changes, or are your changes made inside lmms?" ive changed some presets giving you a idea about some changes in generators (initial volumen, ahdsr, etc). keeping similar to original configuration, removing unnesesary volume saturation and poping sounds, i didnt modified code.

@musikBear
Copy link
Author

@Clutterbyte Oki, but there is an issue with your idea, or perhaps a better expression would be: Your idea is good, but it must be done differently.
The issue is, that the ENV is general! There is only one. All LMMS instruments will initially be 'born' with exact same ENV-setting.
In 1.2.2 That is an absolute awful setting:
image
-And it is initially disabled
But That i have changed in code to
image
This ENV does not click or pop, and the sound-profile is 'piano-like'
But as you can see, it is not enabled!
That has a sad sad reason..
Unfortunately all presets of AFP are created in an awful way.
All our AFP-presets are made on 'Vanilla'-AFP, without any settings in ENV! -then the soundfile is added
...So
ALL AFP-presets has the exact same Envelope... 👎
But it is disabled!
That is the reason we cant have an enabled envelope at all!
If our default envelope is enabled, all AFP-presets will play wrong -Eg that would destroy all older projects! A default enabled envelope, would break the holy-graal : Backward-compatibility!
#Sigh#...
So Why is Your idea in your file actually a great idea?
Because used in a new way, it solves both issues!
Your setups should be used as a template!
If we made a template with your settings, the users could choose that template, and have fine instruments sounds for all Vanilla-instruments!
So your work should result in a new template in the template collection, thats how i like yours setups; For a new template!

@zynskeywolf
Copy link
Contributor

Envelope is saved in presets themselves, and even presets are hard-coded in projects. So why would a default setting break compatibility, I ask?

@Clutterbyte
Copy link

@musikBear ok, so envelope cannot start active and with a diferent configuration in every generator, but as i understand, is posible to change another parameters in vanilla instruments like organic volume from 100 to 50%, watsyn oscs to -12db, etc?

@musikBear
Copy link
Author

@dj-pixus

So why would a default setting break compatibility, I ask?

Because non of the AFP-presets has any envelope at all!
If we then added a default envelope, that envelope would for some odd/ ugly reason be invoked for all soundfile-presets in LMMS, and a lot of the AFP-presets plays only correctly, if they are allowed to play without an envelope.
Its a really dumb thing.. The 'solution' is to create sane envelopes for every AFP-preset, then the envelope-data would be in the preset, and the default-envelope would be ignored -Thats a l o t of envelope edits, especially since current samples are 'meant' to be replaces with better and also C0-licence samples... 'some' day...

@Clutterbyte Yes it a parameter IS changed, then it is written in the file. The issue with all Samples (AFP-presets are that nothing has been changed! Browse trough them in mySamples all has no own envelopes and all looks like the current default:
image
5 taken at random..

@Clutterbyte
Copy link

@musikBear ive an idea: make that lmms recognize old projects (created in previous version) and automatically for no break projects with AFP, disable envelope if it is off.
it could work but tell me if its impossible.


Mmpz.zip

this zip contains modifications in original lmms templates getting more natural sounds in these kits (adding ladspa reverb).

Example:

Comparison between new and old Clubmix.zip

@musikBear
Copy link
Author

@Clutterbyte

make that lmms recognize old projects (created in previous version)

It has been suggested many times :p
It is not 'directly' impossible, and upstream it may even be a necessity, but it is not wanted. The issue is that we already has several version-dependencies, and it gets messy.

this zip contains modifications in original lmms templates getting more natural sounds in these kits (adding ladspa reverb).

Sorry No! That we can not use! Those instruments would technically be presets, and then they belong in the folder My-presets.
That could however be an option. Making a collection of all native instruments, with fitted Envelopes, and some LADSPA effects as well. -A group of base-presets :)

@Clutterbyte
Copy link

@musikBear

Sorry No! That we can not use! Those instruments would technically be presets, and then they belong in the folder My-presets.
That could however be an option. Making a collection of all native instruments, with fitted Envelopes, and some LADSPA effects as well. -A group of base-presets :)

No problem! i would known if The 'solution' of "sane envelopes for every AFP-preset" will come before budislav´s ui change, or it isnt planned in a near future.

@musikBear
Copy link
Author

budislav´s ui change

I think that is far away. 2.0 or .. -Not sure its being worked atm

@Veratil
Copy link
Contributor

Veratil commented Aug 3, 2020

budislav´s ui change

I think that is far away. 2.0 or .. -Not sure its being worked atm

I want to target single window UI for 2.0. Currently the only work on it is the #5261. There's a lot of core work that needs to go into it though.

@musikBear
Copy link
Author

I want to target single window UI for 2.0

Sound great -One thing to at least consider could be ability to scale all text -The bat 🦇 whispered :p

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants