What is it?
Softimage ICE Node to get the Spectrum from a Wave file.
Blog post: http://www.claudeonthe.net/blog/?p=137
Demo Scene: http://claudeonthe.net/si/spectrum.zip
64 bits - Windows Loads all Wave file in memory. Only WAVe, but not all Waves... Very Limited testing; let me know if it fails, send the scene along: claude.vervoort at gmail dot com.
Also this is a hobby of mine, and my first attempt to any non-trivial plugin, so rough on the edges (still scratching my head on some of the SI failures).
What's in it?
3 Visual Studio 2010 projects:
fft_wav_analyzer: static lib - for Wave Loading and FFT decomposition using Kiss FFT
fft_wav_main: application - very basic OpenGL visualization tool, mostly used for debugging (32 bits only)
wavespectrum_icenode: dll, Softimage XSI Plug-in: the actual custom ICE node using fft_wav_analyzer lib
How to use it
You can either install the Add-On or directly install the DLL as a plugin.
Tip to create the Wave: there is more than one Wave, and guess what, this is using the most basic one. So if your wave does not work, here is what gave me good results: using the I-Tunes Wave Encoder.
Again, I would not qualify myself as a C++ expert or a Softimage SDK wizard. Well wizard maybe in the sense that I got it to work somehow :)
Let me know if anything I've used is not the 'proper'/'best' way to do it. I love to learn!
KISS FFT: http://sourceforge.net/projects/kissfft/ Wave Loader code from http://www.codeproject.com/Articles/29676/CWave-A-Simple-C-Class-to-Manipulate-WAV-Files Wave file format info from http://www.sonicspot.com/guide/wavefiles.html
Feel free to use/abuse/transform. No restriction. If you happen to really use it, I'd love to know though!