If you are looking for a way to generate band-limited oscillators using
octave based tables then here is an implementation in Java for JSyn:

https://github.com/philburk/jsyn/blob/master/src/com/jsyn/engine/MultiTable.java
https://github.com/philburk/jsyn/blob/master/src/com/jsyn/unitgen/SawtoothOscillatorBL.java
https://github.com/philburk/jsyn/blob/master/src/com/jsyn/unitgen/SquareOscillatorBL.java

It windows the higher order partials to reduce the Gibbs Effect.

I can smoothly ramp the frequency and do not hear any abrupt transitions.

Phil Burk


On Sun, Apr 15, 2018 at 11:55 AM, Frank Sheeran <fshee...@gmail.com> wrote:

> I'm currently just looping and calling sin() a lot.  I use trivial 4-way
> symmetry of sin() and build a "mipmap" of progressively octave-higher
> versions of a wave, to play for higher notes, by copying samples off the
> lowest-frequency waveform.  That still is only 8x faster than the naive way
> to do it.
>
> I know in theory that a FFT or DFT will turn a CONTINUOUS graph of
> frequency into a graph of time, and vice versa, but if I don't have a a
> continuous graph of frequency but rather an array of strengths, can I still
> use it?
>
> I thought of making a continuous graph of frequency from my harmonics, but
> 1) sounds quite imprecise and 2) I note real FFT graphs have smooth "hills"
> where harmonics are, rather than point peaks, and am wondering whether I'd
> get expected output if I didn't generate those hills.
>
> _______________________________________________
> 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