Comments (15)
from dtmfdetection.
If you provide the parameter name explicitly, other optional parameters can be skipped:
var dtmfs = audioFile.DtmfChanges(config: Config.Default.WithThreshold(42));
from dtmfdetection.
Could you provide the audio file in question?
from dtmfdetection.
from dtmfdetection.
Hi @billsheh, unfortunately the audio file you attached to the mail didn't make its way into GitHub. I think you'll have to upload it somewhere and post the link here.
from dtmfdetection.
from dtmfdetection.
That's odd. The file seems normal.
Not sure when I will have the time to investigate this. In the meantime you can try lowering the detection threshold. I was able to detect all four tones with a threshold of 25
(default is 30
).
from dtmfdetection.
Disabling the normalization also helps, but I wouldn't recommend it.
Let me know when you need further assistance with the detector configuration.
from dtmfdetection.
from dtmfdetection.
You could make it work with net472, but I'm using a couple netstandard2.1 features. So it can't be done without changing the source and recompiling.
You can try one of the older versions before the 1.0.0 rewrite (e.g 0.9.2), because those still use net47.
A word of warning: back then this library had a shitty interface. You can't even change the detector config without using reflection, because I made its property setters private. I must have had a serious episode of braindeadness or something. Anyway here is the README for 0.9.2.
from dtmfdetection.
from dtmfdetection.
from dtmfdetection.
Hey Bill, thanks to Git it's all still here. You just have to checkout the right commit:
PS> git clone http://github.com/bert2/DtmfDetection
PS> cd DtmfDetection
PS> git checkout 0827801 # checkout last commit of 0.9.2
It's a VS 2017 solution though.
If you have a specific question, feel free to ask it here.
from dtmfdetection.
The problem is actually the Goertzel response normalization. For each DTMF tone in the sample file the high frequency is about twice as strong as the low frequency. For the first two tones (phone keys 5 and 6) the high frequency is even a little bit stronger (factor ~2.2).
The normalization simply accumulates the total signal energy including both the high and low frequencies of a DTMF tone. When one of the two is much stronger than the other then the lower one will be suppressed by the higher.
The workaround for now is to disable the normalization. For a fix I'll have to find a way to exclude the frequencies that are part of a DTMF tone from the total signal energy. If this even makes sense, I'm not sure yet.
from dtmfdetection.
Hello @bert2
Jumping back in almost two years later. Is there a way to adjust the detection threshold when reading a wav/mp3 file?
As per your example in the readme, the below code is working
using var audioFile = new AudioFileReader("/home/dtmf-not-perfect-example.wav");
var dtmfs = audioFile.DtmfChanges();
I found that the following entry point takes an optional Config argument (defaulting to Config.Default):
List<DtmfChange> float[].DtmfChanges(int, int, Config?)
But in the above case, is it possible to use DtmfChanges
in order to modify the config without having the pass the first two int?
from dtmfdetection.
Related Issues (18)
- WaveFileReaderExtensions.cs suggestion HOT 1
- DTMF detector fails for 48KHz audio HOT 1
- LiveAudioDtmfAnalyzer seems not working HOT 5
- Consuming too much processor. HOT 2
- Detect Busy signal frequency HOT 1
- Repeating DTMF tones are not detected correctly when played too fast HOT 1
- Identify dtmf microphone in the L and R channels separately HOT 5
- FSK CallerID decoder HOT 2
- Incorrect keys at start of sequence HOT 3
- How to implement microphone volume HOT 1
- Can the project be built on Linux? HOT 15
- How to ensure the latest NAudio version is in use? HOT 15
- Is it possible to use a named pipe (fifo) as input of NAudio? HOT 3
- Is it possible to change the detection frequency? HOT 1
- Would appreciate upgrade of NAudio dependency to version 2.X
- Identify off-hook phone HOT 1
- System.Threading.ThreadAbortException HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dtmfdetection.