Dynamic pitch shift

Guillaume Piolat via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Feb 24 09:52:39 PST 2016


On Wednesday, 24 February 2016 at 14:02:49 UTC, Ola Fosheim 
Grøstad wrote:
> On Wednesday, 24 February 2016 at 10:33:56 UTC, Tanel Tagaväli 
> wrote:
>> Hello!
>>
>> I've been making some progress on the native D audio front:
>> https://github.com/clinei/daud/tree/28ac042a16ae6785605a9a501b5f867c8f962055
>>
>> It's a continuous waveform generator, currently outputting a 
>> saw wave that changes pitch every 1K frames.
>
> Generating a saw waveform for an LFO is the same as generating 
> the phase, which is easy to do with using D's modular integers. 
> Just add the delta and let it wrap.
>
> If you are generating it for a VCO then you need a bandlimited 
> oscilator:
>
> https://ccrma.stanford.edu/~juhan/vas.html
>
> (Abrupt changes in pitch will cause a discontinuity in the 
> second derived which is audible, so you might want to 
> interpolate.)

dplug:dsp has mipmapped oscillators
https://github.com/p0nce/dplug/blob/master/dsp/dplug/dsp/wavetable.d

Though it isn't fantastic aliasing-wise on the last octave, I 
should try something than power-of-2s next time I need it.


More information about the Digitalmars-d-learn mailing list