Skip to content

DTMF Decoder is a Python-based application designed to decode audio signals from telephone keypads as dial tones in WAV files into corresponding numeric digits. Using Fast Fourier Transform (FFT) for frequency analysis and filtering techniques to handle noise, showcasing skills in Digital Signal Processing, Python, and real-time data handling.

Notifications You must be signed in to change notification settings

Dhruvbam/Dual-Tone-Multi-Frequency-Decoder

Repository files navigation

Dual Tone Multi-Frequency (DTMF) Decoder

Project Image

About

The DTMF Decoder is a Python-based tool developed to decode digits from audio signals generated by telephone keypads. The project employs Digital Signal Processing (DSP) techniques to analyze dual-tone frequencies and identify numeric or symbolic inputs (0-9, *, #). This project highlights foundational skills in signal processing, real-time data analysis, and Python programming.

Description

The DTMF Decoder processes WAV audio files to decode telephone keypad digits by analyzing the distinct dual-tone frequencies associated with each keypress. It uses the Fast Fourier Transform (FFT) for efficient frequency decomposition, allowing it to match audio signals with the standard DTMF frequency table. Noise-filtering techniques are implemented to ensure accuracy even in noisy environments, resulting in an effective and reliable decoder. This project emphasizes my ability to work with real-world audio data, leveraging Python libraries like NumPy and SciPy for frequency analysis and signal processing.

Built With

  • Python
    Python
  • Libraries used:
    • NumPy for FFT implementation
    • pandas for data manipulation
    • SciPy for signal processing

Installation

To get a local copy up and running, follow these steps:

  1. Clone the repo
    git clone https://github.com/Dhruvbam/Dual-Tone-Multi-Frequency-Decoder
  2. Ensure you have Python and the necessary libraries installed.
  3. Run the Jupyter Notebooks (DTMF - Part 1 - Final.ipynb through DTMF - Part 4 - Final.ipynb) in sequence to experience the encoding, decoding, and analysis process.

Contributions/References

  • Team Members: Dhruv Maniar (Project Leader), Nafiz Imtiaz (Presentations)
  • References: Utilized various resources on FFT and digital signal processing.

Learning Outcome

Developing the DTMF Decoder provided in-depth experience in Digital Signal Processing (DSP) and real-time audio analysis. I gained practical skills in applying FFT for signal decomposition, implementing noise-filtering techniques to enhance accuracy, and managing real-world audio data in Python. This project also improved my problem-solving abilities, particularly in handling noisy data and optimizing processing speed for near-instantaneous results.

Screenshots/Demo

Screenshots. Screenshots

About

DTMF Decoder is a Python-based application designed to decode audio signals from telephone keypads as dial tones in WAV files into corresponding numeric digits. Using Fast Fourier Transform (FFT) for frequency analysis and filtering techniques to handle noise, showcasing skills in Digital Signal Processing, Python, and real-time data handling.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published