Spaces:
Sleeping
Sleeping
| # Architecture Overview: Phoneme Pronunciation Correction System | |
| ## 1. System Philosophy | |
| The system is designed to provide high-fidelity, phoneme-level pronunciation feedback using a modern embedding-based acoustic model. It prioritizes data efficiency (streaming), session resiliency (checkpoint syncing), and granular feedback (temporal alignment). | |
| ## 2. Model Architecture (Design A: Contrastive CTC) | |
| The core model is a modified Wav2Vec2 architecture that uses a **Cosine Similarity Embedding Head** instead of a standard linear classification layer. | |
| ### Acoustic Encoder | |
| - **Base:** `Wav2Vec2Model` (e.g., `facebook/wav2vec2-base`). | |
| - **Input:** 16kHz Raw Audio. | |
| - **Output:** Temporal sequence of 768-dimensional hidden states (frames). | |
| ### Embedding Head | |
| - **Audio Projection:** Linear layer mapping hidden states to a shared embedding space (e.g., 256 or 768 dimensions). | |
| - **Phoneme Dictionary:** A learnable `nn.Embedding` matrix containing a unique vector for every phoneme in the vocabulary + a CTC blank token. | |
| - **Matching Mechanism:** L2-Normalization followed by Matrix Multiplication (Cosine Similarity). | |
| - **Logit Scaling:** A learnable temperature parameter to adjust the sharpness of the probability distribution. | |
| ### Optimization | |
| - **Loss Function:** `CTCLoss` applied to the similarity logits. | |
| - **Rationale:** Learns a robust acoustic-phoneme mapping that generalizes better across diverse accents than simple classification. | |
| --- | |
| ## 3. Data & Training Pipeline | |
| Engineered to handle the **NPTEL2020** dataset within strict compute/storage constraints. | |
| ### Streaming Data Loader | |
| - **Source:** Hugging Face Hub (`skbose/indian-english-nptel-v0`) in `streaming=True` mode. | |
| - **Workflow:** Pulls shards from HF Hub, disables automatic `torchcodec` decoding to prevent driver incompatibilities, manually decodes raw bytes with `soundfile`, preprocesses audio, and discards raw data immediately. | |
| - **Advantages:** Neatly handles the 130GB+ dataset with proper interleaving without multi-TB downloading or RAM exhaustion. No local disk usage required. | |
| ### Session Resiliency (24-Hour Loop) | |
| - **Checkpointer:** Integrated with Hugging Face Hub. | |
| - **Rotation:** `save_total_limit=2` to keep disk usage under 50GB. | |
| - **Auto-Sync:** `push_to_hub=True` pushes weights to the cloud in the background. | |
| - **Resume Logic:** Training logic checks for existing checkpoints on the Hub at startup. | |
| --- | |
| ## 4. Pronunciation Analysis Engine | |
| Translates model predictions into actionable user feedback. | |
| ### Temporal Alignment | |
| - **Acoustic Transcription:** The model predicts a sequence of phonemes over time. | |
| - **Reference Mapping:** The target word is converted to phonemes via dictionary lookup. | |
| - **Alignment (Levenshtein/DTW):** Dynamically aligns the prediction against the reference to find: | |
| - **Matches:** Correct pronunciation. | |
| - **Substitutions:** Incorrect sound used. | |
| - **Deletions:** Sound skipped. | |
| - **Insertions:** Extra sound added. | |
| ### Scoring Logic | |
| - **Accuracy:** Percentage of correctly produced phonemes. | |
| - **Duration/Timing:** Comparison of phoneme durations against typical distributions. | |
| - **Feedback:** Visual mapping showing exactly which phonemes were missed or incorrect. | |
| --- | |
| ## 5. Technology Stack | |
| - **Languages:** Python | |
| - **Frameworks:** PyTorch, Hugging Face (Transformers, Datasets, Accelerate) | |
| - **Acoustic Processing:** Librosa, Sounddevice, Torchaudio | |
| - **Hardware Optimization:** CUDA, `bfloat16` (H100 optimized) | |