# ASR_train_kaldi_tunisian
## Training Acoustic Models with Kaldi
This script facilitates the training of a TDNN-based chain model for speech recognition from scratch using the Kaldi toolkit. It streamlines the process of building various components essential for a complete ASR system.
## Key Features
- **Language Model (LM) Training:** Build an ARPA language model from scratch.
- **Dictionary Creation:** Generate a pronunciation dictionary required for the LM.
- **Acoustic Model (AM) Training:** Train an acoustic model for recognizing speech.
- **IVector Extraction:** Create IVector features for speaker adaptation.
## Prerequisites
Before using this script, ensure you have a Kaldi environment set up. You have two options:
1. **Prepare a Kaldi Container:** If you're using a containerized environment, make sure it has Kaldi pre-installed.
2. **Install Kaldi Locally:** If you're setting up Kaldi in your local workspace, follow the installation instructions provided in the Kaldi documentation.
- **Kaldi ASR Toolkit:** Kaldi Documentation
This documentation will guide you through the installation process, including dependencies and configuration.
## Model
You can find our public ASR model on Hugging Face: linagora/linto-asr-ar-tn-0.1
## Language Model (LM)
A Language Model (LM) is a statistical model or neural network that predicts the likelihood of a sequence of words or tokens. It helps in understanding the structure and meaning of text by learning patterns and relationships within the language. In our case, we chose to work with statistical N-Gram Models, as Kaldi requires them for its operations.
**Statistical N-Gram Models:**
These models predict the probability of a word based on the previous \(N-1\) words. For example, a bigram model considers the previous word, while a trigram model considers the previous two words. These models are simple but can be limited by their fixed context window.
## Acoustic Model (AM)
The Acoustic Model (AM) is a cruci …