-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Help in the file DTMFUtil.java #2
Comments
Hey there. |
Ohh. maybe the audio file you are decoding doesnt have any DTMF tones in it? Try testing with one of the audio files I have in this folder Disclaimer: When I wrote this program I had very limited knowledge about signal detection techniques (2nd year electrical engineering) so maybe that's why it's failing to detect but I did make sure it could detect DTMF tones as specified by the ITU-T Q.24 |
Thank you 👍 💃 :D ... Yeah I'm sorry about the code bloat there. If you study the code more I'm sure you can modify it for your purpose. I also had the same problems with the Goertzel algorithm. It wasn't very good when there was a lot of noise. The FFT from apache commons math library is actually WAY better than the first order goertzel algorithm i implemented because it's optimised and therefore much faster (Refer to my report on page 14). I'm not sure how much experience you have with DSP but you can try implement a window function and/or a matched filter (or some other sort of correlation if you know the exact frequency(s) you are looking for) to improve detection performance when there's a lot of noise. Check out this small program it can give you a head start for working with FFT. |
If I may ask, how did you come across this repo and what what are you using it for? (is it a varisty project? personal use? etc...) |
Hi. |
My yesterdays' comment. ;) Your code is brilliantly choreographed and quite easy to understand. But just because of the length of the code I tend to forget few things, like 'where was I before this part'. What I exactly wanted is that "I have a wave file with two frequencies, and whenever I find the first frequency in the file I will write that in a binary array as '0' and I will write the second frequency in the same file as '1'. For example, if my wave file is 10 seconds long and for the first 5 seconds it contains the first frequency and next 5 seconds it contains second frequency, then my array should be '0000011111' ". |
Hi, tino1b2be. In your code TryFFTSpectrum the power that you are printing, what exactly is that? Is that the peak in the amplitude when the specified frequency is found? And is there any guarantee of it being always constant (or just a slight change) for a particular frequency? |
Let me check it out I last used it over a yer ago... I'll modify if necessary. |
Sure. Thanks. |
Hi, tino1b2be. Wish you a very Happy New Year. P.S. - I want to check for frequencies between 16000 to 20000. |
There is a lot of code to grasp quickly and then to understand the flow of the code. I looked into the 'DTMFDecoder.java' file, but when I was running it, there was no output. It said "The DTMF tones found in the given file are: ", that's it. Although I have not looked deeper into it, but I think the 'sequence' variable is not getting any value.
Thanks.
The text was updated successfully, but these errors were encountered: