calculating highest frequency of recorded voice in Blackberry - blackberry

I want to record user's voice and conduct FFT on it so that I can get some frequency values and calculate the highest tone of that recording. Has anybody done anything related to it in BlackBerry. It would be great if I can get some help regarding this

Check out my Google Code Project for real time FFT computation. You should be able to modify the code to work for you.

Related

How to read audio frequency from microphone swift (ultrasonic)?

I am having trouble finding how to read frequencies from audio input. I am trying to listen to very high frequencies (ultrasonic). I've explored several GitHub projects which all were either outdated or malfunctional.
I discovered this guide, but I am having trouble understanding it. https://developer.apple.com/documentation/accelerate/finding_the_component_frequencies_in_a_composite_sine_wave Can anyone provide guidance; has anyone done this before? Thanks
It's worth digging into this piece of sample code: https://developer.apple.com/documentation/accelerate/visualizing_sound_as_an_audio_spectrogram
The sample calculates the Nyquist frequency of the microphone - for example your device might have a maximum frequency of 20KHz. You can look at the values in each frequency domain page of samples and find the maximum value to derive the dominant frequency.

Filtering background noise frequency

I would like to ask if it is possible to filter the frequency of the human voice only via AudioKit or otherwise. I want to create an emotional analyzer based on these frequencies from a human voice, but the problem is that the microphone captures all the frequencies around me. Is there any way to remove this?
And next, I would like to ask if it is possible to recognize which one is just talking. I mean conversation between two people.
Thank you in advance for a possible answer.

Recognize sound based on recorded library of sounds

I am trying to create an iOS app that will perform an action when it detects a clapping sound.
Things I've tried:
1) My first approach was to simply measure the overall power using an AVAudioRecorder. This worked OK but it could get set off by talking too loud, other noises, etc so I decided to take a different approach.
2) I then implemented some code that uses a FFT to get the frequency and magnitude of the live streaming audio from the microphone. I found that the clap spike generally resides in the 13kHZ-20kHZ range while most talking resides in a lot lower frequencies. I then implemented a simple thresh-hold in this frequency range, and this worked OK, but other sounds could set it off. For example, dropping a pencil on the table right next to my phone would pass this thresh-hold and be counted as a clap.
3) I then tried splitting this frequency range up into a couple hundred bins and then getting enough data where when a sound passed that thresh-hold my app would calculate the Z-Score (probability from statistics) and if the Z-Score was good, then could that as a clap. This did not work at all as some claps were not recognized and some other sounds were recognized.
Graph:
To try to help me understand how to detect claps, I made this graph in Excel (each graph has around 800 data points) and it covers the 13kHZ-21kHZ range:
Where I am now:
Even after all of this, I am still not seeing how to recognize a clap versus other sounds.
Any help is greatly appreciated!

Extracting commentary from match video

I'm working on event classification for sports videos and as a part of it, I was looking to extract information from the commentator's excited tone. Since the frequency of human voice is bound by a range, can I just extract that from the audio signal on a time scale and work with that? I've tried using the fdesign.bandpass function, but don't know how to proceed further with it.
Or is there a better approach to doing this?

Getting amplitude of current pitch using core audio

I used this tutorial to create a small pitch detection app, however I'd like it to recognize the loudest instead of the highest pitch (within a certain frequency range).
I'd therefore need to get the amplitude of the current pitch to create a new bin-filter...
Any thoughts on how I could realize this?
As this is already using core audio (remoteIO) based samples, it seems unreasonable to use the regularly suggested AVAudioPlayer...
Any help is very much appreciated! Thank you guys!!

Resources