WhisperLevantineArabic

Fine-tuned Whisper model for the Levantine Dialect (Israeli-Arabic)

Thanks to ivrit.ai for providing the fine-tuning code scripts!

Model Description

This model is a fine-tuned version of Whisper Larg v3 tailored specifically for transcribing Levantine Arabic, focusing on the Israeli dialect. It is designed to improve automatic speech recognition (ASR) performance for this particular variant of Arabic.

  • Base Model: Whisper Large V3
  • Fine-tuned for: Levantine Arabic (Israeli Dialect)
  • WER on test set: 33%

Training Data

The dataset used for training and fine-tuning this model consists of approximately 1,200 hours of transcribed audio, primarily featuring Israeli Levantine Arabic, along with some general Levantine Arabic content. The data sources include:

  1. Self-maintained Collection: 1,200 hours of audio data curated by the team, covering a wide range of Israeli Levantine Arabic speech.
  • Total Dataset Size: ~1,200 hours
  • Sampling Rate: 8kHz - upsampled to 16kHz
  • Annotation: Human-transcribed and annotated for high accuracy.

How to Use

The fine-tuned model was converted using the faster-whisper package, enabling inference up to 4ร— faster than OpenAI's Whisper. The model is compatible with 16kHz audio input. Ensure your files are at the same sample rate for optimal results. You can load the model as follows:

Will save a .vtt file with transcriptions and timestamps in audio_dir:

python transcriber.py --model_path path/to/model --audio_dir path/to/audio --word_timestamps True --vad_filter True

or:

To visualize printed transcriptions:

pip install faster-whisper
import faster_whisper
import librosa

model = faster_whisper.WhisperModel("model.bin")
audio_file = 'your audio file.wav'
with torch.no_grad():
    audio_data, sample_rate = librosa.load(audio_file)
    audio_data = librosa.resample(audio_data, orig_sr=sample_rate, target_sr=16000)
    segments, _ = model.transcribe(audio_data, language='ar')
    for segment in segments:
        for word in segment.words:
            print("[%.2fs -> %.2fs] %s" % (word.start, word.end, word.word))

    transcript = ' '.join(s.text for s in segments)
Downloads last month
376
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for HebArabNlpProject/WhisperLevantine

Finetuned
(556)
this model