Hi Andrew,

I am having a hard time understanding what you are suggesting.

> Don't use wavetables!

I would be pleased not to.

> As you have constructed your desired waveform as a continuous function
> all you have to do is work out where any discontinuities in C(n) occur
> and you can band limit those use corrective grains for each C(n)
> discontinuity at fractions of a sample where the discontinuity occurs.
> Adding sync to this is trivial is you just do the same thing, in fact
> you can jump between any two points in your waveform or waveform shape
> instantly if you want to create even more interesting waveforms.

How do I detect discontinuities? It is easy to see when printed visually but I 
do not see how I can approach this with code. Do I need the ‘complete’ function 
at once and check or can I do it in runtime for each sample. I think so since 
you suggest that I can jump around within the function without alias? Because 
that would sound like a solution I wanted to have from the very beginning.

> For example a sawtooth is C(1) continuous all the time, it just has a
> jump in C(0) every now and again, so you just band limit those jumps
> with a C(0) corrective grain - which is an integrated sinc function to
> give you a bandlmited step, then subtract the trivial step from this,
> and add in this corrective grain at a fraction of a sample to
> re-construct your fraction of a sample band limited step.

I do not quite get this: C(1). Does it mean I have C(n) values of the function 
where C(1) is the second value?
What frequency does the integrated sync function has?
What is a 'fraction of a sample'?

> Similarly you can bandlimit C(1) and C(2) discontinuities, after that
> the amplitude of the discontinuities is so small that it rarely
> matters if you are running at 88.2 / 96 khz.

I am missing to many aspects of your suggestion. Any hints where to learn about 
this would be appreciated.

André Michelle
https://www.audiotool.com <https://www.audiotool.com/>

dupswapdrop: music-dsp mailing list

Reply via email to