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 β¦