Comparing audio (wav) files

A

aten

I'm writing a program that has a section that requires the comparison
of two wav files. The sound files will be really small. I'm
interested in sounds like a hand clap, or wood hitting wood, or wood
striking tin. Little sounds. My section of the program would read two
sound files into memory, apply some sonic algorithm on both. The
output of that algorithm should be stored in some data structure. Then
a comparison of the output would be made and would return some value
to determine how closely one sound resembles the other, or at least if they
matched. This program can be written in Java or C++. Are there in
classes available that will allow me to implement what's describe
above easily? I'm more concerned about the algorithm to extract
frequency data, or whatever data is needed from the wav file to
compare it to another. I'm trying to avoid re-inventing the wheel
here, so if there is some package available that allows for this I
would greatly appreciate any info on where to get it..
 
K

Kevin Goodsell

aten said:
I'm writing a program that has a section that requires the comparison
of two wav files. The sound files will be really small. I'm
interested in sounds like a hand clap, or wood hitting wood, or wood
striking tin. Little sounds. My section of the program would read two
sound files into memory, apply some sonic algorithm on both. The
output of that algorithm should be stored in some data structure. Then
a comparison of the output would be made and would return some value
to determine how closely one sound resembles the other, or at least if they
matched. This program can be written in Java or C++. Are there in
classes available that will allow me to implement what's describe
above easily? I'm more concerned about the algorithm to extract
frequency data, or whatever data is needed from the wav file to
compare it to another. I'm trying to avoid re-inventing the wheel
here, so if there is some package available that allows for this I
would greatly appreciate any info on where to get it..

Standard C++ (the only topic here) does not provide what you need. There
may be libraries available. Look for the Available C++ Libraries FAQ,
posted here from time to time.

-Kevin
 
U

Unforgiven

Kevin said:
Standard C++ (the only topic here) does not provide what you need.
There may be libraries available. Look for the Available C++
Libraries FAQ, posted here from time to time.

Actually, everything he says can be done with standard C++. All he needs to
do is read files, do a fast fourier transform and compare the result. Not
really anything special needed for that. Now his request for libraries,
*that* is off topic. ;)
 
K

Kevin Goodsell

Unforgiven said:
Actually, everything he says can be done with standard C++. All he needs to
do is read files, do a fast fourier transform and compare the result. Not
really anything special needed for that. Now his request for libraries,
*that* is off topic. ;)

His primary question seemed to be about available libraries. At least,
that's how I read it. It does sound like it can be done in standard C++,
but only by coding it from scratch.

-Kevin
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,526
Members
44,997
Latest member
mileyka

Latest Threads

Top