

I'm currently not actively working on this, so if anyone wants to use the new code to fix some of the affected instruments in category A, or research instruments in categories B and C, go ahead. So some of these instruments may require further research.
LMMS USING THE OSCULATOR GENERATOR
On the other hand, SID, for example, emulates a dedicated sound generator chip, which could have been designed to avoid aliasing. With Monstro it possibly contributes to "nastier" sound, and with 8-bit like instruments, well, output of the original machines probably wasn't very clean and precise in the first place, and I wouldn't be surprised if aliasing should be present in a correctly emulated NES output. With Monstro, sfxr or Nescaline and possibly others, I'm not sure if aliasing could be even expected and intended. not tested: VeSTige (depends on plugins), GIG / PAT / SF2 (probably depends on quality and number of samples in the library).Vibed (seems pretty much perfectly clean).

SID (behaves very strangely for the last few notes, so it's hard to say if it's also aliasing also emulates HW and and does not use Oscillator class).Nescaline (seems OK, but has very noisy output, hard to see for sure emulates HW, so aliasing may be intended seems to be using Oscillator, but only for noise samples?).Xpressive (generates waves based on formulas using, probably not a good match includes Oscillator.h but does not actually use it anywhere)Ĭ) Instruments that seem to be OK or unclear:.OpulenZ (uses AdPlug library and emulates a HW synth, so aliasing may be intended).Monstro (PhysSong: "uses oversampling, but it doesn't use a good filtering algorithm before downsampling").LB302 (low-priority, like Kicker? Already uses band-limited waves, but apparently not everywhere it needs to.).Using the Oscillator class may not be suitable, because the loaded sample may be quite long and take up a lot of memory if duplicated into ~128 band-limited versions) AFP (Sinc interpolation is available for resampling it takes care of aliasing, but it is CPU intensive and not the default.Watsyn (less alien, but also quite custom and perhaps more complex hard to say of it should be A or B)ī) Instruments that have aliasing artifacts, but do not (or can not) use LMMS Oscillator class, or they already have a partially working solution:.sfxr (very alien and self-contained code, but possibly could be refactored to take samples from Oscillator).Organic (looks like a standard Oscillator user, basically an "OctupleOscillator").Kicker (low priority, usually does not play notes high enough to cause trouble).BitInvader (more work: includes Oscillator.h but does not actually use it anywhere).

