I was using Echoprint before so I already implemented a recording using the mic of the iphone. So i wanted to replace the Echorpting fingerprint generation and Server lookup with gracenote as i am pretty sure it's more reliable :)
It kind of works but I am wondering why I do always get a fingerprint mentioning a "very_low" quality of the audio when I use [GNOperations fingerprintMIDStreamFromPcm: config: sampleBuffer: ].
The audio recording does have following settings and stores the recording into a caf file:
[recordSettings setObject:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];
[recordSettings setObject:[NSNumber numberWithFloat:11025.0] forKey: AVSampleRateKey];
[recordSettings setObject:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];
[recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
After recording i use [GNSampleBuffer gNSampleBuffer:[...] numChannels:1 sampleRate:11025.0] to create a sample buffer to use with the GNOperations class.
As I mentioned, this always returns a Fingerprint containing "low quality":
<CLASSIFICATION TYPE="2001" APPLY="True">503</CLASSIFICATION>
<CLASSIFICATION TYPE="1001" APPLY="True">1041</CLASSIFICATION>
As I am not that much into audio programming I do not know how to improve the quality of the audio.
Do you have any suggestions? I still do not want to use the gracenote implementation of the recording as i want to display meter updates.
Hope you have some interesting insights :)
Thank you very much,