Old 06-19-2009, 06:33 PM   #1
Consul
Human being with feelings
 
Consul's Avatar
 
Join Date: Sep 2006
Location: Port Huron, Michigan, USA
Posts: 489
Default Coding with FFTs?

I'm trying to find some basic information on how to use FFTs in order to process audio. I've looked at some JS plugs that use the FFT stuff, but without any detailed comments, it doesn't help much. One well-documented example would probably work wonders for me right now.

I'm interested in creating a sort-of "infinite sustain" type of plug-in. If I'm not mistaken, the idea is basically to choose and hold onto a single FFT window then repeatedly output it. The user can then sweep around in a wave file to find interesting windows to output.

I understand the idea behind FFT, and I know what it does, but the nuts and bolts of coding with those functions still eludes me. Thank you for the help!
__________________
Darren Landrum

"... And whether you can hear it or not, the Universe is laughing behind your back."
Consul is offline   Reply With Quote
Old 06-19-2009, 11:28 PM   #2
Jonas_Eriksson_Swe
Human being with feelings
 
Jonas_Eriksson_Swe's Avatar
 
Join Date: Jan 2007
Location: Umeå, Sweden
Posts: 947
Default

I learned a lot from this thread:

http://forum.cockos.com/showthread.php?t=16670

Regards,
- Jonas
Jonas_Eriksson_Swe is offline   Reply With Quote
Old 06-20-2009, 06:08 AM   #3
Consul
Human being with feelings
 
Consul's Avatar
 
Join Date: Sep 2006
Location: Port Huron, Michigan, USA
Posts: 489
Default

Ah, THAT's the thread I was looking for, but couldn't find for some reason. Thanks!
__________________
Darren Landrum

"... And whether you can hear it or not, the Universe is laughing behind your back."
Consul is offline   Reply With Quote
Old 06-20-2009, 03:15 PM   #4
griz lee
Human being with feelings
 
griz lee's Avatar
 
Join Date: Jul 2006
Location: in a hotel room near you
Posts: 1,175
Default

you may want to randomize the phases on the reconstruction if you
re doing infinate timestretching - sounds better that way for some reason.

i tried fft in js for a bit, and completely failed.(not due to js, but my own inadequate grasp of the kind of logic it takes to programme a computer) I wanted to make some kind of morph-o-matic plug, because if you've got the phase and amplitude from one track, you should be able to do some whack-ed out things like have one sound take on some of the characteristics of a completely different one!!!!

Such was my dream...the awesome hybrid that was to be the bagpipe mountain horn... or the cowbell-sax ....

i wish you good luck.
griz lee is offline   Reply With Quote
Old 06-22-2009, 01:56 PM   #5
liteon
Human being with feelings
 
liteon's Avatar
 
Join Date: Apr 2008
Posts: 510
Default

Quote:
Originally Posted by griz lee View Post
you may want to randomize the phases on the reconstruction if you
re doing infinate timestretching - sounds better that way for some reason.
Nasca Octavian Paul uses this technique for "Paul Stretch". A problem which arises here is phase cancelation, when summing the post "stretched" stereo output to mono. This could be taken care of if one considers digging a lot deeper.

Overall "Paul Stretch" is arguably the best hyper-stretch algorithm out there.



Hint: ...and its open source
liteon is offline   Reply With Quote
Old 06-22-2009, 03:29 PM   #6
Consul
Human being with feelings
 
Consul's Avatar
 
Join Date: Sep 2006
Location: Port Huron, Michigan, USA
Posts: 489
Default

Yep, I have the source code. Damned if I can make heads or tails of it, though. I might see if I can get some help from Paul to understand what's going on. Maybe he'll even let me make a VST version. He's about the only one in the open source pro-audio world I would call a real DSP scientist.

The issue is, the VST SDK is not open source friendly. The SDK itself cannot be redistributed by anyone. That means an OSS VST plug-in can be distributed as source, but only without the SDK part, which would have to be downloaded separately, which requires registration. Many appeals have been made to Steinberg to lift this. So far as I know, they never even replied.

OSS VSTs can be distributed in binary form without much trouble, IIRC.
__________________
Darren Landrum

"... And whether you can hear it or not, the Universe is laughing behind your back."
Consul is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:56 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.