
# wav2vec2-xls-r-juznevesti

This model for Serbian ASR is based on the [facebook/wav2vec2-xls-r-300m model](https://huggingface.co/facebook/wav2vec2-xls-r-300m) and was fine-tuned with 58 hours of audio and transcripts from [Južne vesti](https://www.juznevesti.com/), programme '15 minuta'.

For more info on the dataset creation see [this repo](https://github.com/clarinsi/parlaspeech/tree/main/juzne_vesti).

## Metrics

Evaluation is performed on the dev and test portions of the JuzneVesti dataset

|     |      dev |     test |
|:----|---------:|---------:|
| WER | 0.295206 | 0.290094 |
| CER | 0.140766 | 0.137642 |



## Usage in `transformers`

Tested with `transformers==4.18.0`, `torch==1.11.0`, and `SoundFile==0.10.3.post1`.

```python
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
import soundfile as sf
import torch
import os

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

# load model and tokenizer
processor = Wav2Vec2Processor.from_pretrained(
    "classla/wav2vec2-xls-r-juznevesti-sr")
model = Wav2Vec2ForCTC.from_pretrained("classla/wav2vec2-xls-r-juznevesti-sr")


# download the example wav files:
os.system("wget https://huggingface.co/classla/wav2vec2-xls-r-parlaspeech-hr/raw/main/00020570a.flac.wav")

# read the wav file 
speech, sample_rate = sf.read("00020570a.flac.wav")
input_values = processor(speech, sampling_rate=sample_rate, return_tensors="pt").input_values.to(device)

# remove the raw wav file
os.system("rm 00020570a.flac.wav")

# retrieve logits
logits = model.to(device)(input_values).logits

# take argmax and decode
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.decode(predicted_ids[0])

transcription # 'velik broj poslovnih subjekata posluje sa minosom velik deo'
```



## Training hyperparameters

In fine-tuning, the following arguments were used:

| arg                           | value |
|-------------------------------|-------|
| `per_device_train_batch_size` | 16    |
| `gradient_accumulation_steps` | 4     |
| `num_train_epochs`            | 20    |
| `learning_rate`               | 3e-4  |
| `warmup_steps`                | 500   |
{"language": "sr", "tags": ["audio", "automatic-speech-recognition"], "datasets": ["juznevesti-sr"], "widget": [{"example_title": "Croatian example 1", "src": "https://huggingface.co/classla/wav2vec2-xls-r-parlaspeech-hr/raw/main/1800.m4a"}, {"example_title": "Croatian example 2", "src": "https://huggingface.co/classla/wav2vec2-xls-r-parlaspeech-hr/raw/main/00020578b.flac.wav"}, {"example_title": "Croatian example 3", "src": "https://huggingface.co/classla/wav2vec2-xls-r-parlaspeech-hr/raw/main/00020570a.flac.wav"}]}
transformers pytorch wav2vec2 automatic-speech-recognition audio sr dataset:juznevesti-sr endpoints_compatible region:us
TAGS
#transformers #pytorch #wav2vec2 #automatic-speech-recognition #audio #sr #dataset-juznevesti-sr #endpoints_compatible #region-us 

wav2vec2-xls-r-juznevesti
=========================


This model for Serbian ASR is based on the facebook/wav2vec2-xls-r-300m model and was fine-tuned with 58 hours of audio and transcripts from Južne vesti, programme '15 minuta'.


For more info on the dataset creation see this repo.


Metrics
-------


Evaluation is performed on the dev and test portions of the JuzneVesti dataset



Usage in 'transformers'
-----------------------


Tested with 'transformers==4.18.0', 'torch==1.11.0', and 'SoundFile==0.10.3.post1'.


Training hyperparameters
------------------------


In fine-tuning, the following arguments were used:




TAGS
#transformers #pytorch #wav2vec2 #automatic-speech-recognition #audio #sr #dataset-juznevesti-sr #endpoints_compatible #region-us 

passage: TAGS
#transformers #pytorch #wav2vec2 #automatic-speech-recognition #audio #sr #dataset-juznevesti-sr #endpoints_compatible #region-us 
