Voice Recording above particular Frequency for ios - xcode

Now i'm currently working under the voice Analysis based project, In this I have to Record the voice signal which are having the frequency more than 17000 Hertz. below this rate, All the signal should be neglected. I hope there will be a voice filter to record this rate, If anybody having any ideas regarding this means please assist me that will be very helpful for me, Thank you..

Sounds to me like you would like to implement a high-pass filter.
The wikipedia page regarding these is pretty thorough.
Where you got a voice signal with frequency components of over 17kHz is beyond me since the human voice is not even capable of producing frequencies close to 10kHz.

Try SCListener Sample Code available here.This predicts the frequency of the sound produced,and helps you to proceed further.

Related

Watson speech-to-text: Narrowband producing better results than Broadband?

I'm using IBM Watson to transcribe a video library that we have. I'm currently doing initial research into it's efficacy and accuracy.
The videos in question have OK to very good sound quality and based on Watson documentation I should be using the Broadband model to transcribe them.
I've however tested using both Narrow and Broadband and I'm finding that Narrowband always either slightly better or a lot better in some cases (up to 10%).
Has anyone else done any similar testing? It's contrary to the documentation so I'm a little reluctant to just go ahead and use Narrowband for everything, but I may have to based on the results.
I'm using ffmpeg to convert the videos to audio files to send to Watson, and the audio files show 48KHz sampling rates, which again means I should be using and getting better results using Broadband.
Hoping someone out there has done similar research and can help.
Thanks in advance.
do you know what the original sampling rate of the audio is? Maybe it was recorded at 8k originally and then upsampled. If that were the case the original lower frequencies would be lost and the right model to use would be the Narrowband model. You can see this in an spectrogram, using for example audacity (https://github.com/audacity/audacity).
Another explanation would be that the n-grams in your video are better predicted by the language model that the Narrowband system uses. I suggest sharing your audio file with Watson support team to get further insight (you can go to the Bluemix portal and then click on "support").

Xilinx System Generator Pulse Compression

I am making a system generator model for radar pulse compression using HW Cosimulation of Spartan 6.
On internet there are three research papers which are close to what I want to find.
You can see the models in research paper.
Two are using FIR filter for time domain compression and third one is using FFT for freq domain compression, but I can't complete the whole model and generate FIR or FFT using Core gen.
So can someone help me realize the model please? Otherwise if someone has previously worked on it and can provide me with the model files, that would be really helpful.
PS. I have almost completed the time domain model but I do not know how to find out the coefficients of FIR filter.
Thank You. Anxiously waiting for reply.
The link to three research papers are on another site where i asked the same question. I hope admin do not disapprove.
http://forums.xilinx.com/t5/DSP-Tools/Pulse-Compression/m-p/404871#M7586

How to detect threshing in accelerometer?

I'm writing an application controlled by an accelerometer built into a wrist watch. I want one of the commands to be "wildly swinging your forehand". How do I detect it and measure for how long it goes?
To supplement John Fisher's suggestion, I would add: Look at analyzing this with spectral/Fourier transform techniques. I would expect to see a strong signal characteristic at low frequencies, but it could easily vary from user to user.
If the characteristic is there, signal processing techniques can help you isolate it and detect it.
Write something to record the measurements while you flail your arm around. Do it several times in different ways. Analyze the measurements for a pattern you can use.
Use a Kalman filter to track a moving average of the absolute value of the current acceleration? Or, if you can, the current acceleration minus gravity?
If that goes over a threshold, that indicates a lot of acceleration has been happening recently. That suggests thrashing.

Matlab Bpm Algorithm

Does anyone knows where can a find a matlab algorithm to get music tempo (in beats per minute, or some other measure)?
I tried the one from this site: http://www.clear.rice.edu/elec301/Projects01/beat_sync/beatalgo.html
But is not giving me good responses.
Finding the tempo of a musical signal can be a very difficult task. For a simple signal where a single note is played with a fix tempo, maybe that the method proposed by kol would work but, as mentionned by Oli Charlesworth, I do not think that it would be robust enough to give you a good estimate of the tempo for more complex musical signal.
This has a lot to do with musical acoustics (especially the fact that the frequency content of notes played by musical instruments is much more complex than a collection of sine waves) and psychoacoustics (especially the fact that determining the onset time of a note is influenced by its harmonic content)
A good (though maybe hard to read depending on your background) reference is: ftp://wgs.esat.kuleuven.ac.be/sista/bli/scheirer_jasa.pdf
You should also read the answers and comments to this question on DSP: https://dsp.stackexchange.com/questions/386/autocorrelation-in-audio-analysis.
If you need a single number for a whole music track, then you can do an FFT, and find the largest peak in the relevant frequency band. The frequency of the peak will give you the tempo.
I haven't tried this package from Columbia, but perhaps it would meet your needs. In particular it contains a function tempo.m that calculates the BPM of an audio waveform. It appears to be available under a GPL license.
Hope it works for you!

Detecting wind noise [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I want to develop an app for detecting wind according the audio stream.
I need some expert thoughts here, just to give me guide lines or some links, I know this is not easy task but I am planning to put a lot of effort here.
My plan is to detect some common patterns in the stream, and if the values are close to this common patterns of the wind noise I will notify that match is found, if the values are closer to the known pattern great, I can be sure that the wind is detected, if the values doesn't match with the patterns then I guess there is no so much wind....
That is my plan at first, but I need to learn how this things are done. Is there some open project already doing this ? Or is there someone who is doing research on this topics ?
The reason I write on this forum is because I do not know how to google it, the things I found was not I was looking for. I really do not know how to start developing this kind of algorithm.
EDIT 1 :
I tried to record a wind, and when I open the saved audio file for me it was just a bunch of numbers :). I do not even see in what format should I save this, is wave good enough ? Should I use something else, or what if I convert the wind noise audio file in mp3 : is this gonna help with parsing ?
Well I got many questions, that is because I do not know from where to read more about this kind of topic. I tag my question with guidlines so I hope someone will help me.
There must be something that is detectable, cause the wind noise is so common, there must be somehow to detect this, we need only someone to give me tips, someone who is familiar with this topic.
I just came across this post I have recently made a library which can detect wind noise in recordings.
I made a model of wind noise and created a database of examples and then trained a Machine Learning algorithm to detect and meter the wind level in a perceptually weighted way.
The C++/C code is here if it is of use to anyone!
The science for your problem is called "pattern classification", especially the subfield of "audio pattern classification". The task is abstracted as classifying a sound recording into two classes (wind and not wind). You seem to have no strong background in signal processing yet, so let me insert one central warning:
Pattern classification is not as easy as it looks at first. Humans excel at pattern classification. Computers don't.
A good first approach is often to compute the correlation of the Fourier transform of your signal and a sample. Don't know how much that will depend on wind speed, however.
You might want to have a look at the bag-of-frames approach, it was used successfully to classify ambient noise.
As #thiton mentioned this is an example of audio pattern classification.
Main characteristics for wind: it's a shaped (band/hp filtered) white noise with small semi-random fluctuations in amplitude and pitch. At least that's how most synthesizers reproduce it and it sounds quite convincing.
You have to check the spectral content and change in the wavefile, so you'll need FFT. Input format doesn't really matter, but obviously raw material (wav) is better.
Once you got that you should detect that it's close to some kind of colored noise and then perhaps extract series of pitch and amplitude and try to use classic pattern classification algorithm for that data set. I think supervised learning could work here.
This is actually a hard problem to solve.
Assuming you have only a single microphone data. The raw data you get when you open an audio file (time-domain signal) has some, but not a lot of information for this kind of processing. You need to go into the frequency domain using FFTs and look at the statistics of the the frequency bins and use that to build a classifier using SVM or Random Forests.
With all due respect to #Karoly-Horvath, I would also not use any recordings that has undergone compression, such as mp3. Audio compression algorithms always distorts the higher frequencies, which as it turns out, is an important feature in detecting wind now. If possible, get the raw PCM data from a mic.
You also need to make sure your recording is sampled at at least 24kHz so you have information of the signal up to 12kHz.
Finally - the wind shape in the frequency domain is not a simple filtered white noise. The characteristics is that it usually has high energy in the low frequencies (a rumbling type of sound) with sheering and flapping sounds in the high frequencies. The high frequency energy is quite transient, so if your FFT size is too big, you will miss this important feature.
If you have 2 microphone data, then this gets a little bit easier. Wind, when recorded, is a local phenomenon. Sure, in recordings, you can hear the rustling of leaves or the sound of chimes caused by the wind. But that is not wind-noise and should not be filtered out.
The actual annoying wind noise you hear in a recording is the air hitting the membrane of your microphone. That effect is a local event - and can be exploited if you have 2 microphones. It can be exploited because the event is local to each individual mic and is not correlated with the other mic. Of course, where the 2 mics are placed in relations to each other is also important. They have to be reasonably close to each other (say, within 8 inches).
A time-domain correlation can then be used to determine the presence of wind noise. (All the other recorded sound are correlated with each other because the mics are fairly close to each other, so a high correlation means no wind, low correlation means wind). If you are going with this approach, your input audio file need not be uncompressed. A reasonable compression algorithm won't affect this.
I hope this overview helps.

Resources