Nigel,

You wordpress blog was crucial to understand how to implement a band limited 
oscillator. I confess there were some small details I couldn’t figure out by 
that time and then moved on. 

Right now I have a really complete synthesiser engine and I haven’t changed or 
improved the oscillators section since then.

Question: How should I calculate the minimum table length size to have no 
artefacts on a LFO? 

To build the oscillators tables I’m using that multi table technic you describe 
on your waveforms series posts where maxHarms is: int maxHarms = 44100.f / (3.0 
* BASE_FREQ) + 0.5; Is this an heuristic? 

For the LFO tables I have only one table and the maxHarms is SAMPLE_RATE/2

And YES Alan, I’m using a interpolation algorithm but currently only on core 
Delay unit. No interpolation on the oscillators unit right now. I’m using the 
cubic hermit and it definitely contributes for a better sound.

Nuno Santos
Founder / CEO / CTO
www.imaginando.pt
+351 91 621 69 62

> On 11 Sep 2015, at 17:39, Nigel Redmon <earle...@earlevel.com> wrote:
> 
> Hi Nuno,
> 
> First, can I suggest that you take a look at my series on wavetable 
> oscillators? It covers some of the questions you have, and in particular goes 
> into detail about table length.
> 
> Well, this is annoying, I think an automated WordPress update killed my site, 
> I need to look into it. But normally, go to earlevel.com 
> <http://earlevel.com/> and click the right-column topics for oscillators and 
> the series will come up. But you can get the gist of it from my video:
> 
> https://youtu.be/k81hoZODOP0
> 
> Note that linear interpolation would help your low frequency oscillator 
> issue, and help your oscillator at high frequencies too. 2048 is a good 
> minimum table length for 20 Hz and up, so you’re in the right ballpark. 
> (Longer if you aren’t using interpolation between samples, and longer to get 
> sharp edges for LFO—for instance, a low frequency sawtooth won’t have a crisp 
> “tick tick tick”, but a more muffled one, at 1 Hz if your table is only 2048.)
> 
> Nigel
> 
> 
>> On Sep 11, 2015, at 8:13 AM, Nuno Santos <nunosan...@imaginando.pt 
>> <mailto:nunosan...@imaginando.pt>> wrote:
>> 
>> Hi,
>> 
>> Curiosity, by sinc do you mean sin function?
>> 
>> Before anything: I’m a newbie. If I say something stupid don’t throw fire at 
>> me, please! :)
>> 
>> During this last year I have been developing a synthesizer. My lookup table 
>> hadn’t more than 2048 samples. The sounds coming out from the oscillators 
>> was alright.
>> 
>> When I got to develop a chorus, I was using the very same table for the lfo 
>> oscillators. The modulation was causing artifacts. It took me a while to 
>> understand that the problem was being caused by the lack of resolution of my 
>> tables. I ended up with a table 441000 length, for a 44100 sample rate. The 
>> artifacts were gone! My conclusion was that the raw steps were causing 
>> audible artifacts and increasing the resolution was the solution.
>> 
>> I haven’t tried to find the lowest point of resolution that doesn’t cause 
>> artifacts. I was so tired of trying to solve the artifacts that I have only 
>> remember this problem when I saw this question from Victor.
>> 
>> For the oscillators table I have simply doubled the initial value and now 
>> i’m using 4096.
>> 
>> What do you guys think of this? 
>> 
>> Thanks,
>> 
>> Regards,
>> 
>> Nuno
>> 
>>> On 10/09/2015, at 20:15, Victor Lazzarini <victor.lazzar...@nuim.ie 
>>> <mailto:victor.lazzar...@nuim.ie>> wrote:
>>> 
>>> Is there much to gain in going above a 1024 window, when doing sinc 
>>> interpolation (for table lookup applications)?
>>> 
>>> (simple question; no intention of starting flame wars; not asking about any 
>>> other method, either ;) )
>>> 
>>> Victor Lazzarini
>>> Dean of Arts, Celtic Studies, and Philosophy
>>> Maynooth University
>>> Ireland
>>> _______________________________________________
>>> dupswapdrop: music-dsp mailing list
>>> music-dsp@music.columbia.edu <mailto:music-dsp@music.columbia.edu>
>>> https://lists.columbia.edu/mailman/listinfo/music-dsp
>> 
>> 
>> _______________________________________________
>> dupswapdrop: music-dsp mailing list
>> music-dsp@music.columbia.edu <mailto:music-dsp@music.columbia.edu>
>> https://lists.columbia.edu/mailman/listinfo/music-dsp
> 
> _______________________________________________
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp

_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to