A fine-tuned Whisper model designed to accurately transcribe Tigrigna speech into text, optimized for the language’s unique sounds, vocabulary, and pronunciation patterns.
# **Tigrigna Speech-to-Text Model**
Unlock the power of **voice in Tigrigna**! This project fine-tunes **OpenAI Whisper** using **LoRA (Low-Rank Adaptation)** to transcribe **Tigrigna speech into text** with high accuracy. Perfect for transcription, accessibility tools, and voice-driven applications.
---
## **✨ Key Features**
* 🚀 Fine-tuned **Whisper-small** for Tigrigna
* 💡 Uses **LoRA** for efficient GPU memory usage
* 🗂️ Handles custom Tigrigna datasets with TSV + audio format
* 📊 Tracks **training loss** and **Word Error Rate (WER)**
* 🏁 Exports a **final LoRA-adapted model** for instant inference
* 🎯 Provides **sample transcription examples** for quick testing
---
## **🛠️ Setup & Dependencies**
Install required packages:
```bash
!pip install git+
github.com
!pip install torchaudio librosa datasets jiwer evaluate
!apt-get install -y ffmpeg
```
Additional libraries:
* **Transformers (Hugging Face)** – tokenizer, feature extractor, Whisper model
* **PEFT (LoRA)** – efficient fine-tuning
* **Torch + CUDA** – GPU training
* **Google Drive (Colab)** – store datasets and checkpoints
* **Matplotlib, tqdm, pandas, numpy** – data handling & visualization
---
## **📂 Dataset Format**
Your dataset should contain:
* **TSV file** (`data.tsv`) with `path` & `sentence` columns
* **Audio folder** (`recordings/`) containing `.wav` or `.flac` files
Example TSV:
```text
path sentence
audio1.wav ሰላም ከመይ ኣሎ?
audio2.wav መልእክት ላክልኝ።
```
Update paths in the script:
```python
dataset_dir = 'your-dataset-path'
shared_drive_dir = 'your-shared-drive-path'
```
---
## **🏋️ Training Process**
1. Mount **Google Drive** to store checkpoints & final model
2. Prepare dataset using Hugging Face `Dataset` API
3. Tokenize audio-text pairs and extract features
4. Apply **LoRA configuration** for memory efficiency
5. Train for **8 epochs** using AdamW optimizer
6. Auto-save checkpoints after each epoch
7. Evaluate **WER** on test set
8. Visualize …