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..
 
Ad

Advertisements

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. ;)
 
Ad

Advertisements

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
 

Top