I have this wav file that I recorded using my laptop, It contains the sound of a G chord of a guitar. Since the guitar have 6 strings the sound should contain different frequencies I want to determine the top 10 most dominant frequency in the signal.

[X, Fs] = wavread('chordG.wav');
freq = fft(X);
plot(abs(freq)):

I dont know how to proceed after that it shows the graph of the frequency but I dont know how can I extract the values in the graph.

Your answer would be very much appreciated :)


Question: Making a C++ app scriptable
Answer: If you only wish to call a function by literal name, you could use linker-specific functions.

On POSIX-compliant operating systems (like Linux), you can use dlopen() and dlsym(). You simply parse the input string and figure out the function name and arguments. Then you can ask the linker to find the function by name using dlsym().

On Windows however, these functions aren't available (unless there's some POSIX environment around, like Cygwin). But you can use the Windows API.

You can take a look here for details on these things: http://en.wikipedia.org/wiki/Dynamic_loading