Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ™๏ธ Multilingual Indic ASR System

Python PyTorch License Status

A from-scratch multilingual speech-to-text system for English, Hindi, and Odia

Overview โ€ข Features โ€ข Architecture โ€ข Installation โ€ข Usage โ€ข Documentation


๐Ÿ“‹ Overview

This project implements a complete Automatic Speech Recognition (ASR) pipeline from scratch, designed to convert spoken audio in English, Hindi, and Odia into text.

๐ŸŽฏ Key Highlights

  • No Third-Party Speech APIs: No Google Speech, Whisper, Azure, AWS, or any external ASR services
  • No Pretrained Models: All models are trained from scratch using raw datasets
  • Complete Pipeline: From audio preprocessing to final transcription
  • Multilingual Support: Handles three languages with automatic language detection
  • Educational Purpose: Designed to understand the inner workings of ASR systems

๐ŸŒŸ Features

Feature Description
๐Ÿ”Š Audio Preprocessing Mono conversion, 16kHz resampling, normalization, silence removal
๐Ÿ“Š Feature Extraction MFCC with delta and delta-delta coefficients
๐ŸŒ Language Detection Automatic identification of English, Hindi, or Odia
๐Ÿง  Acoustic Modeling Separate CNN+BiLSTM models per language
๐Ÿ“ Language Modeling N-gram based language models for each language
๐Ÿ”ค Decoding Viterbi/Beam search for optimal transcription
๐ŸŽค Real-time Input Live microphone capture and processing
๐Ÿ–ฅ๏ธ Premium UI Modern HTML/CSS/JS frontend with Flask backend

๐Ÿ—๏ธ System Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        AUDIO INPUT                              โ”‚
โ”‚                    (.wav, 16kHz, Mono)                          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      PREPROCESSING                              โ”‚
โ”‚         โ€ข Mono Conversion  โ€ข Resampling  โ€ข Normalization        โ”‚
โ”‚                     โ€ข Silence Removal                           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    FEATURE EXTRACTION                           โ”‚
โ”‚              MFCC (13-40 coefficients)                          โ”‚
โ”‚              + Delta + Delta-Delta                              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  LANGUAGE IDENTIFICATION                        โ”‚
โ”‚                   SVM / Neural Network                          โ”‚
โ”‚                                                                 โ”‚
โ”‚              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”‚
โ”‚              โ”‚ English โ”‚  Hindi  โ”‚   Odia  โ”‚                    โ”‚
โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
           โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
           โ–ผ                   โ–ผ                   โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  English ASR    โ”‚ โ”‚   Hindi ASR     โ”‚ โ”‚   Odia ASR      โ”‚
โ”‚                 โ”‚ โ”‚                 โ”‚ โ”‚                 โ”‚
โ”‚ Acoustic Model  โ”‚ โ”‚ Acoustic Model  โ”‚ โ”‚ Acoustic Model  โ”‚
โ”‚ Language Model  โ”‚ โ”‚ Language Model  โ”‚ โ”‚ Language Model  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚                   โ”‚                   โ”‚
           โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        DECODER                                  โ”‚
โ”‚              Viterbi / Beam Search Algorithm                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                               โ”‚
                               โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       TEXT OUTPUT                               โ”‚
โ”‚              Transcribed text in detected language              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ Technologies Used

Core Language

  • Python 3.10+

Libraries & Frameworks

Category Libraries
Numerical Computing NumPy, SciPy
Audio Processing Librosa, SoundDevice, PyAudio
Machine Learning Scikit-learn
Deep Learning PyTorch
Visualization Matplotlib
User Interface Tkinter

โš ๏ธ Note: These libraries are tools for implementation, not intelligence. All model architectures and training are done from scratch.


๐Ÿ“š Datasets

English

Dataset Source
Mozilla Common Voice commonvoice.mozilla.org

Hindi

Dataset Source
Mozilla Common Voice (Hindi) commonvoice.mozilla.org
AI4Bharat Hindi ai4bharat.org

Odia

Dataset Source
AI4Bharat Odia ai4bharat.org
OpenSLR Indic Corpora openslr.org

Data Requirements

Each dataset entry must contain:

  • โœ… Audio file (.wav format)
  • โœ… Exact text transcript

๐Ÿ“ Project Structure

multilingual-indic-asr/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“„ README.md                    # This file
โ”œโ”€โ”€ ๐Ÿ“„ LICENSE                      # MIT License
โ”œโ”€โ”€ ๐Ÿ“„ requirements.txt             # Python dependencies
โ”œโ”€โ”€ ๐Ÿ“„ setup.py                     # Package setup
โ”œโ”€โ”€ ๐Ÿ“„ config.yaml                  # Configuration file
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ data/                        # Dataset storage
โ”‚   โ”œโ”€โ”€ raw/                        # Raw audio files
โ”‚   โ”‚   โ”œโ”€โ”€ english/
โ”‚   โ”‚   โ”œโ”€โ”€ hindi/
โ”‚   โ”‚   โ””โ”€โ”€ odia/
โ”‚   โ”œโ”€โ”€ processed/                  # Preprocessed data
โ”‚   โ”‚   โ”œโ”€โ”€ english/
โ”‚   โ”‚   โ”œโ”€โ”€ hindi/
โ”‚   โ”‚   โ””โ”€โ”€ odia/
โ”‚   โ””โ”€โ”€ transcripts/                # Text transcripts
โ”‚       โ”œโ”€โ”€ english/
โ”‚       โ”œโ”€โ”€ hindi/
โ”‚       โ””โ”€โ”€ odia/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ src/                         # Source code
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ preprocessing/              # Audio preprocessing
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ audio_utils.py
โ”‚   โ”‚   โ””โ”€โ”€ preprocessor.py
โ”‚   โ”œโ”€โ”€ features/                   # Feature extraction
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ””โ”€โ”€ mfcc_extractor.py
โ”‚   โ”œโ”€โ”€ language_id/                # Language identification
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ model.py
โ”‚   โ”‚   โ””โ”€โ”€ train.py
โ”‚   โ”œโ”€โ”€ acoustic_model/             # Acoustic models
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ model.py
โ”‚   โ”‚   โ”œโ”€โ”€ train.py
โ”‚   โ”‚   โ””โ”€โ”€ models/
โ”‚   โ”‚       โ”œโ”€โ”€ english/
โ”‚   โ”‚       โ”œโ”€โ”€ hindi/
โ”‚   โ”‚       โ””โ”€โ”€ odia/
โ”‚   โ”œโ”€โ”€ language_model/             # Language models
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ ngram.py
โ”‚   โ”‚   โ””โ”€โ”€ models/
โ”‚   โ”‚       โ”œโ”€โ”€ english/
โ”‚   โ”‚       โ”œโ”€โ”€ hindi/
โ”‚   โ”‚       โ””โ”€โ”€ odia/
โ”‚   โ”œโ”€โ”€ decoder/                    # Decoding algorithms
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ viterbi.py
โ”‚   โ”‚   โ””โ”€โ”€ beam_search.py
โ”‚   โ””โ”€โ”€ utils/                      # Utility functions
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ metrics.py
โ”‚       โ””โ”€โ”€ visualization.py
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ models/                      # Saved model weights
โ”‚   โ”œโ”€โ”€ language_id/
โ”‚   โ”œโ”€โ”€ acoustic/
โ”‚   โ”‚   โ”œโ”€โ”€ english/
โ”‚   โ”‚   โ”œโ”€โ”€ hindi/
โ”‚   โ”‚   โ””โ”€โ”€ odia/
โ”‚   โ””โ”€โ”€ language/
โ”‚       โ”œโ”€โ”€ english/
โ”‚       โ”œโ”€โ”€ hindi/
โ”‚       โ””โ”€โ”€ odia/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ notebooks/                   # Jupyter notebooks
โ”‚   โ”œโ”€โ”€ 01_data_exploration.ipynb
โ”‚   โ”œโ”€โ”€ 02_feature_analysis.ipynb
โ”‚   โ””โ”€โ”€ 03_model_evaluation.ipynb
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ tests/                       # Unit tests
โ”‚   โ”œโ”€โ”€ test_preprocessing.py
โ”‚   โ”œโ”€โ”€ test_features.py
โ”‚   โ””โ”€โ”€ test_models.py
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ ui/                          # User interface
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ””โ”€โ”€ app.py
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ scripts/                     # Utility scripts
โ”‚   โ”œโ”€โ”€ download_data.py
โ”‚   โ”œโ”€โ”€ prepare_data.py
โ”‚   โ””โ”€โ”€ train_all.py
โ”‚
โ””โ”€โ”€ ๐Ÿ“‚ docs/                        # Documentation
    โ”œโ”€โ”€ problem_statement.md
    โ”œโ”€โ”€ system_architecture.md
    โ”œโ”€โ”€ dataset_details.md
    โ”œโ”€โ”€ feature_extraction.md
    โ”œโ”€โ”€ language_identification.md
    โ”œโ”€โ”€ acoustic_model.md
    โ”œโ”€โ”€ language_model.md
    โ”œโ”€โ”€ decoder.md
    โ”œโ”€โ”€ evaluation.md
    โ””โ”€โ”€ future_work.md

๐Ÿ’ป Installation

Prerequisites

  • Python 3.10 or higher
  • pip package manager
  • Git

Setup

  1. Clone the repository
git clone https://github.com/yourusername/multilingual-indic-asr.git
cd multilingual-indic-asr
  1. Create virtual environment
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Download & Organize Datasets
    • Download datasets manually or using scripts/download_data.py.
    • Place them in data/raw/<language>/.
    • Run the organization script:
python scripts/organize_dataset.py
  1. Prepare data
python scripts/prepare_data.py
  1. Train the models
python scripts/train_all.py

๐Ÿš€ Usage

Training

Train All Models (Recommended)

python scripts/train_all.py

Train Individual Components (Advanced)

# Language Identification
python -m src.language_id.train

# Acoustic Models
python -m src.acoustic_model.train --language english
python -m src.acoustic_model.train --language hindi
python -m src.acoustic_model.train --language odia

# Language Models
python -m src.language_model.ngram --language all

Inference

Command Line

python -m src.inference --audio path/to/audio.wav

Using the UI

python -m ui.app

Example Code

from src.preprocessing import AudioPreprocessor
from src.features import MFCCExtractor
from src.language_id import LanguageIdentifier
from src.inference import ASRPipeline

# Initialize pipeline
pipeline = ASRPipeline()

# Transcribe audio
result = pipeline.transcribe("audio.wav")

print(f"Detected Language: {result['language']}")
print(f"Transcription: {result['text']}")

๐Ÿ“Š Evaluation Metrics

Metric Description Target
Word Error Rate (WER) Measures transcription accuracy 30-40%
Language Detection Accuracy Correct language identification 85%+
Inference Latency Time to process audio < 2x audio length

๐Ÿ“ Note: Target accuracy of 60-70% is acceptable for a student-built from-scratch ASR system.


๐Ÿ“– Documentation

Detailed documentation is available in the /docs folder:

Document Description
Problem Statement Problem definition, scope, and constraints
System Architecture Detailed pipeline and data flow
Dataset Details Dataset sources and preprocessing
Feature Extraction MFCC and feature engineering
Language Identification Language detection model
Acoustic Model Speech-to-phoneme modeling
Language Model N-gram language modeling
Decoder Viterbi and beam search
Evaluation Metrics and results
Future Work Planned improvements

๐ŸŽฏ Motivation

Why Build from Scratch?

  1. Deep Understanding: Learn the fundamental principles of speech recognition
  2. No Black Boxes: Understand every component of the ASR pipeline
  3. Educational Value: Perfect for academic projects and learning
  4. Customization: Full control over every aspect of the system
  5. Indic Language Focus: Specialized for Indian languages

Learning Objectives

  • Digital signal processing for audio
  • Feature extraction techniques (MFCC)
  • Machine learning for classification
  • Sequential modeling with RNNs/LSTMs
  • Language modeling with N-grams
  • Decoding algorithms (Viterbi, Beam Search)

๐Ÿ“ˆ Results & Limitations

Current Results (Expected)

Language WER Language Detection
English ~35% 90%
Hindi ~45% 85%
Odia ~50% 80%

Known Limitations

  • โš ๏ธ Not production-ready (educational project)
  • โš ๏ธ Lower accuracy than commercial systems
  • โš ๏ธ Limited vocabulary coverage
  • โš ๏ธ Sensitive to background noise
  • โš ๏ธ Requires significant training time

๐Ÿ”ฎ Future Roadmap

  • Phase 1: Core pipeline implementation
  • Phase 2: Basic model training
  • Phase 3: UI development
  • Phase 4: Optimization and evaluation
  • Phase 5: Real-time microphone support
  • Phase 6: Additional language support

๐Ÿค Contributing

Contributions are welcome! Please read our contributing guidelines before submitting PRs.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Mozilla Common Voice for English and Hindi datasets
  • AI4Bharat for Indian language resources
  • OpenSLR for Indic speech corpora
  • The open-source community

Made with โค๏ธ for Indic Languages

โฌ† Back to Top

About

This project implements a complete Automatic Speech Recognition (ASR) pipeline from scratch, designed to convert spoken audio in English, Hindi, and Odia into text.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages