📋 Für Whisper Fine-Tuning: Siehe README_fine-tuning.md für komplette Anleitung zum Fine-Tuning von Whisper-Modellen.
Dieses Projekt ermöglicht die Transkription französischer Audioaufnahmen mit fine-tuned Whisper-Modellen. Die Hauptfunktionalitäten umfassen:
- Transkription einzelner Dateien oder Verzeichnisse mit lokalen oder HuggingFage Hub-Modellen
- Systematischer Modellvergleich zwischen Whisper Large V3 und fine-tuned Modellen
- Umfassende Evaluierung mit WER, CER und BLEU-Metriken
- CSV-Export mit Zeitstempel-Informationen und Metadaten
- SLURM-Integration für Cluster-Processing
Hugging Face Modell:
- FrWhisper: https://huggingface.co/aihpi/FrWhisper
- Fine-tuned Whisper Large V3 für französische Konversationssprache
- Optimiert für Interjektionen, Zögern und natürliche Sprachmuster
- 14.18 Prozentpunkte WER-Verbesserung gegenüber Base-Modell
Hugging Face Datensatz (privat; Zugang auf Anfrage):
- FrWhisper Dataset: https://huggingface.co/datasets/aihpi/FrWhisper-dataset
- Trainingsdaten aus LangAge + ESLO Korpora
- 114.217 Samples (91.374 Training + 22.843 Test)
- Französische Konversationssprache mit erhaltenen Interjektionen
Überprüfung und Installation von UV:
$ which uv || echo "UV not found"
$ curl -LsSf https://astral.sh/uv/install.sh | sh # Falls UV nicht installiertErstellen und Aktivieren der virtuellen Umgebung:
$ uv venv .venv
$ source .venv/bin/activate
(.venv)$ uv sync --activepilotproject-frisperwhisper/
├── data/ # Hauptdatenverzeichnis
│ ├── LangAge/ # Originale LangAge-Daten (16kHz)
│ ├── ESLO/ # ESLO 30-39 Jahre Daten
│ └── LangAgeDataSet/ # HuggingFace Dataset (für Train/Test-Info)
├── FrisperWhisper/ # Fine-tuned Modelle
│ └── largeV1/ # Modell-Checkpoints
├── results/ # Transkriptionsergebnisse
└── scripts/ # Python-Skripte
Das Skript transcribe_with_finetuned.py transkribiert Audio-Dateien mit CSV-Output:
Lokales Fine-Tuned Modell:
(.venv)$ python scripts/transcribe_with_finetuned.py \
-i data/LangAge16kHz/a001a.wav \
-m FrisperWhisper/largeV3/checkpoint-2000 \
-o transcription_result.csv \
--language frenchHuggingFace Hub Modell:
(.venv)$ python scripts/transcribe_with_finetuned.py \
-i data/LangAge16kHz/a001a.wav \
-m openai/whisper-large-v3 \
-o transcription_result.csv \
--use_pipeline \
--device cudaGanzes Verzeichnis verarbeiten:
(.venv)$ python scripts/transcribe_with_finetuned.py \
-i data/ESLO \
-m FrisperWhisper/largeV3/checkpoint-2000 \
-o eslo_transcriptions.csv \
--language frenchMit automatischer Segmentierung (für lange Audios):
(.venv)$ python scripts/transcribe_with_finetuned.py \
-i data/ESLO \
-m openai/whisper-large-v3 \
-o eslo_transcriptions.csv \
--use_pipeline \
--device cuda| Parameter | Beschreibung | Beispiel |
|---|---|---|
-i, --input |
Audio-Datei oder Verzeichnis | data/audio.wav |
-m, --model |
Lokaler Pfad oder HuggingFace Model-ID | openai/whisper-large-v3 |
-o, --output |
Ausgabe-CSV-Datei | results.csv |
--language |
Sprache (Standard: french) |
--language french |
--device |
Gerät (cpu, cuda, auto) |
--device cuda |
--use_pipeline |
HuggingFace Pipeline für lange Audios | --use_pipeline |
Einzelne Datei:
ID,Start,Stop,Transcription
1,00:00.000,00:12.500,"Bonjour, comment allez-vous?"
2,00:12.500,00:25.320,"Je vais très bien, merci."
Verzeichnis (mehrere Dateien):
ID,Filename,Start,Stop,Transcription
1,audio1.wav,00:00.000,00:12.500,"Bonjour, comment allez-vous?"
2,audio1.wav,00:12.500,00:25.320,"Je vais très bien, merci."
3,audio2.wav,00:00.000,00:08.100,"C'est magnifique."
Audio-Formate: .wav, .mp3, .flac, .m4a, .ogg, .opus
Für komplette Anleitung zum Fine-Tuning von Whisper-Modellen siehe: README_fine-tuning.md
Bei Problemen oder Fragen zur Transkription:
- Prüfen Sie die Log-Dateien in den Output-Verzeichnissen
- Überprüfen Sie CUDA-Verfügbarkeit für GPU-Verarbeitung
- Stellen Sie sicher, dass alle Pfade korrekt sind
