Page 2 of 2
Re: Spectrum morphing using fast iFFT?
Posted: Sat Oct 10, 2015 4:11 pm
by Spogg
Hi adic and thanks for sharing this. I do hope someone here can do something Flowstony with this so I could try it out. I have no skills with such things you see.
Cheers
Spogg
Re: Spectrum morphing using fast iFFT?
Posted: Tue Oct 13, 2015 5:25 am
by adic
Hello Spogg
I improved a bit the previous version (via using C++ new/delete[] array).
https://drive.google.com/file/d/0B9H5-6MQsad7R2IwVDhJbnZOZ1U/view?usp=sharingI succeeded to export it as EXE, but I failed to use the exported VST on DAW.
So long
Re: Spectrum morphing using fast iFFT?
Posted: Tue Oct 13, 2015 8:44 am
by Spogg
This is fascinating! Obviously all the magic happens inside the dll components. Presumably I would have to create the real and imag parts to use the iFFT function as an oscillator? I've no idea how to even start thinking about how to achieve this but I get the impression that it should be do-able and the results could be good.
I do hope this can progress but I can offer no help, other than by testing and feeding back...
Cheers
Spogg
Re: Spectrum morphing using fast iFFT?
Posted: Wed Oct 14, 2015 7:04 am
by adic
Hello Spogg
I think that GSL's iFFT is already a kind of oscillator bank. I tried to make LFO-controlled morphing synth as one example.
https://drive.google.com/file/d/0B9H5-6MQsad7S3dteGVCWjhuVUk/view?usp=sharingBy the way, I own PPG's WaveGenerator VST, which is a morphing wavetable synth that you might like.
So long
Re: Spectrum morphing using fast iFFT?
Posted: Thu Oct 15, 2015 5:48 pm
by Spogg
This is good stuff. Very interesting.
On my PC (core i7) the schematic pushes the CPU up to 19% running in Flowstone. It didn't drop when I disconnected all the LFOs so it doesn't seem to relate to the number of partials being modulated. I will experiment further though.
To work musically the fundamental would have to be determined by a normalised 0-1 frequency input or Hz input from MIDI. Then we could make a synth!
One problem I have is that if I use the ASIO output module FS crashes as soon as I select the driver (Creative ASIO). When I use the Direct Sound driver it works fine.
My plan is to make such a thing using discrete oscillators to compare the CPU usage and other aspects such as specifying individual partial ratios.
What fun!!
Cheers
Spogg
Re: Spectrum morphing using fast iFFT?
Posted: Fri Oct 16, 2015 8:33 am
by adic
Hello. Thanks for feedback.
Spogg wrote:One problem I have is that if I use the ASIO output module FS crashes as soon as I select the driver (Creative ASIO). When I use the Direct Sound driver it works fine.
Oh I'm sorry, the problem of ASIO driver? (I'm using M-Audio Delta & buffer size=1024) or Flowstone version? (I still use ver.306)
One problem:
There occurs something like buffering noise in the program, so I have to remove it perhaps via window function.
Re: Spectrum morphing using fast iFFT?
Posted: Fri Oct 16, 2015 4:48 pm
by Spogg
Hi adic
I've not been able to solve the crash issue by any means I can think of. I'm on version 3.08.1 (the current version) of FS.
The very high CPU use seems to be all down to the Ruby module. If I just delete it I get the usual background of about 0.9% CPU. If I delete all the LFOs there is no change to CPU useage even though there is then no sound.
I knocked up something similar using 6 of Martin's excellent sine oscillators etc. and with 1 MIDI note playing the CPU went up by 0.8% above the background 0.9%. This suggests something very inefficient in the Ruby code but I don't know Ruby so I can't say for sure.
Interestingly if I delete the dll module FS instantly crashes out so this may relate to an incompatibility on my system. Since I can't test it, due to crashing, it may be the dll component that is eating the CPU...
Maybe discrete sine oscillators will be the way forward so I shall continue to develop the idea...
Cheers
Spogg
Re: Spectrum morphing using fast iFFT?
Posted: Sat Oct 17, 2015 10:53 pm
by adic
Spogg wrote:
I've not been able to solve the crash issue by any means I can think of.
Spogg
Hello,
I tried to use "asio4all" (generic asio driver), which appears to work fine.
http://www.asio4all.com/So long.