Call recognition using Digital Signal Processing We are looking for writing applications which would recognize Bird calls and Frog calls using Sound processing. 

EDIT: I want to identify the species of bird / frog and do not want to differentiate whether the call is from a bird or a frog. There are about 1300+ bird species in India and about 300+ frog species which we are looking to identify based on the call.

I have a background of iOS application development and C / C++ programming but have never worked on Digital Signal Processing.

We do have few researchers who would collect multiple calls of birds and frogs and categorize it as per species. These calls can be used as reference purpose (?) to identify the bird or frog species by recording the call and comparing this call in user's device.

I do not know the technical feasibility of it, but I would like to know:


Are there any open source solutions which can be extended / used to achieve this?
Is this really possible to achieve with some 80% to 90% accuracy?
If open source solution does not exist, how to go ahead with the implementation?


I understand that the scope of this question is too broad and wide which should be ideally avoided in StackExchange. But would like to have your opinion.
Basically it is a classification problem. You can want to classify the incoming voice.

There are many ways to tackle it. One of them would be to extract features ( by features, I mean frequency, pitch etc) and label it accordingly(if it is of bird or frog).

Then shortlist the features, which will help you differentiate between these two classes(bird or frog) and make a dictionary.

In your dictionary , it will be like this

Class
   features
                  Pitch   Frequency etc etc  


Frog        (P)  = 5     (F)=  10


Bird         (P)   =   1 (F) =       20



Whenever, your new sound comes in, you compute it features, and based on which feature it closely corresponds to (or there are many methods to do it) you choose the class.