CoolFace
Modelpublic

PhilippeFuhrioso/whisper-large-v2-swiss-german-spc

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes10downloads
Model Card

whisper-large-v2-swiss-german-spc

This model is a fine-tuned version of openai/whisper-large-v2 on Swiss German speech data.

Model Description

  • —Base Model: openai/whisper-large-v2
  • —Language: Swiss German (gsw) / Standard German (de)
  • —Task: Automatic Speech Recognition (ASR)
  • —Training Data: swiss-parliament-corpus

Performance

MetricValue
WER22.0%
CER14.0%

Training Details

Fine-tuned on Swiss German parliamentary speeches using curriculum learning with IoU-filtered stitched windows.

Usage

python
from transformers import WhisperForConditionalGeneration, WhisperProcessor
import torch

# Load model and processor
model = WhisperForConditionalGeneration.from_pretrained("PhilippeFuhrioso/whisper-large-v2-swiss-german-spc")
processor = WhisperProcessor.from_pretrained("PhilippeFuhrioso/whisper-large-v2-swiss-german-spc")

# Load your audio file (16kHz, mono)
# audio = ...  # numpy array with shape (samples,)

# Prepare inputs
inputs = processor(audio, sampling_rate=16000, return_tensors="pt")

# Generate transcription
with torch.no_grad():
    predicted_ids = model.generate(inputs.input_features)
    
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
print(transcription)

Training Procedure

The model was fine-tuned using:

  • —Stitched long-form windows (~30 seconds)
  • —Curriculum learning (high-quality IoU ≥ 0.9 data first)
  • —Timestamp preservation (70/30 split)
  • —Speaker grouping for natural speech patterns

Training Hyperparameters

  • —Learning Rate: 1e-5
  • —Batch Size: 8
  • —Epochs: 3
  • —Gradient Accumulation Steps: 4
  • —FP16 Training: Yes
  • —Warmup Steps: 500

Limitations and Bias

  • —Optimized for Swiss German dialects
  • —Best performance on meeting/parliamentary speech
  • —May require domain adaptation for other audio types }

## License

No commercial use allowed.