0

I'd like to write a DSP algorithm to do additive synthesis using arbitrary sine waves with inverse rectangular FFTs.

This requires two things:

  1. The ability to generate phase/amplitude lists that cause the IFFT to create sine waves that are not integer multiples of 1/(IFFT length)

Example: How do I generate 1000 Hz with 16 sample IFFTs at 44100 Hz?

  1. The ability combine two frames pre-IFFT so they are added post-fft.

What are the necessary steps here?

Audiomatt
  • 1
  • 1
  • This can be done but it's tedious and inefficient. There are some extremely efficient oscillator algorithms that work in the time domain. What's wrong with using those ? – Hilmar Jan 30 '21 at 00:18
  • I'm working in wavetable synthesis and I'm sort of assuming that if I pile up enough oscilators in the fft domain it'll outperform a typical additive synth. Note: The oscillators here would be of stable frequency but not amplitude. – Audiomatt Jan 31 '21 at 03:22
  • what is the connection you have between wavetable synthesis and sinusoidal modeling with the STFT? i don't see them as directly related to each other. – robert bristow-johnson Feb 05 '21 at 19:23
  • My first choice would be to use a simple NCO (Numerically Controlled Oscillator) to generate any arbitrary sinewave with extremely high precision, fidelity, ability for nearly instantaneous frequency change and minimum resources. Have you ruled this out? https://dsp.stackexchange.com/questions/37803/numerically-controlled-oscillator-nco-for-phasor-implementation/37804#37804 – Dan Boschen Mar 07 '21 at 21:06

1 Answers1

1

The FFT of a non-integer multiple frequency is very complex, you don't want to go there!

There are various oscillator schemes that are a few MAC instructions per sample such as https://vicanek.de/articles/QuadOsc.pdf Checkout a review here: https://www.njohnson.co.uk/pdf/drdes/Chap7.pdf