• Post Reply Bookmark Topic Watch Topic
  • New Topic

Extract human sound from an Audio.wav file using java  RSS feed

 
Muhammad Ijaz
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dear All,

I am working on a project where I have to extract the human sound from a audio .wav file using java.

The audio .wav file may have 3 to 4 sounds like dog, cat, music and human. I will have to identify the human sound then exatract that part from the audio .wav file.

I am using FFT.java and Complex.java.

Now I have written an AudioFileReader class which reads the audio.wav file from the hard-drive and then convert this to bytes array. Then used the above mentioned FFT.java and Complex.java to apply FFT.fft(bytesArray), which gives me Complex array in return;

Now the problem is how to extract the human sound byte pattern from the returned Complex array..

Any help will be highly appreciated.

Ijaz
 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13078
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What a lovely problem!

It it was my problem I would be looking into a Neural network or Genetic algorithm approach.

This would require a big set of examples for training and then testing, so the first question is, can you get a big set of already classified sounds?

Bill


 
Muhammad Ijaz
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks William,

Yes of course I can get the 30 to 50 classified sounds for training... Would you please guide me how to proceed further... I have already told you what I have done till now

Thanks for you time

Ijaz
 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13078
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It is not a trivial problem so you are going to have to dig in to new stuff.

People have been playing with Genetic Algorithms in Java for a long time - a google search for "java genetic algorithm" found lots of hits, including some tutorials.

This open source toolkit looks interesting and includes some examples.

Generally speaking you will have to figure out "features" that can be computed from your FFT - possibly something like ratios of strength at various frequencies. You may find academic research on analysis of sounds that can suggest features.

With a known set of sound with computed features you can have a genetic algorithm or neural net evolve the ability to discriminate between them. Way too complex a task to describe in a post - you should read some of the online tutorials.

Amazon has books on genetic algorithms but they are way too expensive unless you have a corporate research budget

The skill set you will end up with is VERY valuable - pulling patterns out of masses of data has been a hot topic for years.

Bill

 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!