From: Stefan F. <st...@sf...> - 2009-11-28 11:55:30
|
Hi, I have done a track wich requires heavy oversampling when rendered (synced oscillators in the lead voice). That is the alias is strongly audiable when just playing the song (even with HQ-setting on). But if I try to oversample it by what ever means I just get a completely chunky and "non-fluent" rendering. (I have tried to oversample it by increasing the samplerate up to 192kHz and downsampling in Audacity. I have tried to oversample it using it's internal oversampling-routines (up to 8 times, simple-sinc up to best sinc, with and without "alias-free"-oscillators, with and without sample-exact controllers (which I heavily use for the lead voice...)). It all doesn't help. It all leads to garbaged output... I am sorry, that I can't describe it any better... but I can provide test-renderings of the lead-voice alone (as well as an mmpz), so you can test it yourself. A try of a better description: It sounds like the controllers are completly decoupled from the master-clock and only updated every now and then... As far as my understanding goes: The controllers (as any internal oscillator) should derive their time-base from the main-output sample-clock _ever_. So "sample-exact" controllers is a rather useless feature from my point of view... And despite that the sound should lack more and more alias-terms it should sound _exactly_ the same if rendered on 16 kHz, 44.1 kHz or 1.536 MHz (=192k*8) ... Another remark: I can't think of any method other than massive oversampling to get wave-table-oscillators alias-free on a given sampling-rate. So, what exactly is the "alias-free" oscillators-flag doing? Building up a n*m subsampled wavetable with various preapplied filters? Just upsampling, filter, downsampling? But whatever it does, there is something going nut's, too... Version here is a self-compiled git-checkout: 0.4.90 Does anyone want to have the mmpz-file and or the rendered output? This is a real showstopper-bug I think... cu Stefan |
From: Stefan F. <st...@sf...> - 2009-11-28 12:02:02
|
As the bug maybe is fixed already, here is better/more version information (forgot to post it) Used Version: commit dd260245ec2d10d32a77ca2464490445f8fb858e Date: Sat Oct 3 01:12:56 2009 +0200 |
From: Jonathan A. <eag...@gm...> - 2009-11-28 16:32:17
|
stefan i know toby was workign on some of the audio stuff. not sure if he pushed it to the git master yet or not. On Sat, Nov 28, 2009 at 1:01 PM, Stefan Fendt <st...@sf...> wrote: > As the bug maybe is fixed already, here is better/more version > information (forgot to post it) > > Used Version: > > commit dd260245ec2d10d32a77ca2464490445f8fb858e > Date: Sat Oct 3 01:12:56 2009 +0200 > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > LMMS-devel mailing list > LMM...@li... > https://lists.sourceforge.net/lists/listinfo/lmms-devel > -- Jonathan Aquilina |
From: Stefan F. <st...@sf...> - 2009-11-30 15:25:31
|
Jonathan Aquilina schrieb: > stefan i know toby was workign on some of the audio stuff. not sure if > he pushed it to the git master yet or not. I redid this with a current pull (from this morning...): Result is the same. However if I turn off all effect-chains (incl. Filters, so I get the raw rendered voice-output of lmms) it seems to be OK,... the weirdness begins only if I turn on ladspa-plugins or filters and such. Could this be, that these are running inside the oversampling-loop, too? So, maybe this is not lmms but flawky plugins? Despite that shouldn't the plugins run after downsampling the oversampled sound? That is, this seem's to me that the current pipeline when rendering the oversampled output is: VoiceGenerators->Filters->Effect-Plugins->Mixer->Downsample Shouldn't this be: VoiceGenerators->Downsample->Filters->Effect-Plugins->Mixer ? all the best, Stefan |
From: Tobias D. <tob...@gm...> - 2009-11-30 15:36:28
|
Hi, Am Montag, 30. November 2009 16:25:23 schrieb Stefan Fendt: > VoiceGenerators->Filters->Effect-Plugins->Mixer->Downsample > > Shouldn't this be: > > VoiceGenerators->Downsample->Filters->Effect-Plugins->Mixer ? No - one wouldn't fully benefit from oversampling when just using the sound generator at higher samplerate. When oversampling, LMMS re-instantiates LADSPA plugins with according samplerate. Most of the plugins work fine at higher samplerate (and respect according settings). There are a few which start to sound weird at samplerates other than 44,1 kHz. If you encounter plugins that do not work well with oversampling, try listing them at plugins/ladspa_effect/LadspaEffect.cpp around line 550 and add them to the __buggy_plugins list with the highest supported samplerate. LMMS will down and upsample before/after processing the plugin. Toby |
From: Stefan F. <st...@sf...> - 2009-11-30 16:52:22
|
Hello Tobias, >> Shouldn't this be: >> >> VoiceGenerators->Downsample->Filters->Effect-Plugins->Mixer ? >> > No - one wouldn't fully benefit from oversampling when just using the sound > generator at higher samplerate. While this is definitely true, it would clearly circumvent buggy plugins... and as it seems it mainly comes down to bad plugins (despite the "alias-free oscillators"-flag, which still does weird things (that decoupled controller-"effect")...). > When oversampling, LMMS re-instantiates LADSPA > plugins with according samplerate. Most of the plugins work fine at higher > samplerate (and respect according settings). There are a few which start to > sound weird at samplerates other than 44,1 kHz. > This was the reason of my suggestion to do the re-sampling at another position in the pipeline (whiles to make that clear, in an ideal world I would prefer it exactly like it is, that is: down-sampling as the very last step in the pipeline...)... ;-) > If you encounter plugins that do not work well with oversampling, try listing > them at plugins/ladspa_effect/LadspaEffect.cpp around line 550 and add them to > the __buggy_plugins list with the highest supported samplerate. LMMS will down > and upsample before/after processing the plugin. > Hey that's cool! So one can get the best out of both worlds... the ideal and the other one... :) I will try to find out the plugins which make trouble, document that, correct LadspaEffect.cpp for it and provide a patch... (or maybe I could get write-access to the repository at some time...) all the best, Stefan |
From: Nikos C. <re...@ar...> - 2009-12-05 01:28:51
|
On 11/28/2009 01:55 PM, Stefan Fendt wrote: > Hi, > > I have done a track wich requires heavy oversampling when rendered > (synced oscillators in the lead voice). That is the alias is strongly > audiable when just playing the song (even with HQ-setting on). But if I > try to oversample it by what ever means I just get a completely chunky > and "non-fluent" rendering. (I have tried to oversample it by increasing > the samplerate up to 192kHz and downsampling in Audacity. I have tried > to oversample it using it's internal oversampling-routines (up to 8 > times, simple-sinc up to best sinc, with and without > "alias-free"-oscillators, with and without sample-exact controllers > (which I heavily use for the lead voice...)). It all doesn't help. It > all leads to garbaged output... Is this the buggy sound one gets now with the "Erazzor" preset? Something broke the sound of this one recently and I guess it's the easiest way to reproduce the bug. This is how it sounds here: http://foss.math.aegean.gr/~realnc/files/artefacts.ogg It actually sounds even worse in LMMS. The above has been exported with "Alias-free oscillators" enabled. |