Downloads · 30 days
32
10% of all-time downloads
RobotsMali/soloba-ctc-0.6b-v3
soloba-ctc-0.6b-v3 is a automatic speech recognition model from RobotsMali. Use it when you need speech turned into text. It is set up for nemo. The card lists the license as cc-by-4.0.
Downloads · 30 days
32
10% of all-time downloads
All-time downloads
317
Public
Repo size
2.4 GB
Likes
0
Public
Click a slice to open those files.
.nemo2.4 GB · 100%
From the Hugging Face model README
soloba-ctc-0.6b-v3 is a fine tuned version of RobotsMali/soloba-ctc-0.6b-v2 on RobotsMali/kunkado. This model does not consistently produce Capitalizations and Punctuations and it cannot produce acoustic event tags like those found in Kunkado its transcriptions. It was fine-tuned using NVIDIA NeMo.
This model, along with its associated resources, is part of an ongoing research effort, improvements and refinements are expected in future versions. A human evaluation report of the model is coming soon. Users should be aware that:
To fine-tune or play with the model you will need to install NVIDIA NeMo. We recommend you install it after you've installed latest PyTorch version.
pip install nemo-toolkit['asr']
Note that this model has been released for research purposes primarily.
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained(model_name="RobotsMali/soloba-ctc-0.6b-v3")
This checkpoint was created with NeMo 2.5.0. Loading it with newer NeMo versions (observed with 2.7.x) can fail because the strict decoding schema expects key_phrase_items_list; see NVIDIA-NeMo/Speech#15658. This workaround was tested with Python 3.12:
from pathlib import Path
from nemo.collections.asr.models import ASRModel
from omegaconf import OmegaConf
model_name = "RobotsMali/soloba-ctc-0.6b-v3"
cfg = ASRModel.from_pretrained(model_name, return_config=True)
OmegaConf.set_struct(cfg, False)
for decoder in ("greedy", "beam"):
boosting_tree = OmegaConf.select(cfg, f"decoding.{decoder}.boosting_tree")
if boosting_tree is not None:
boosting_tree.key_phrase_items_list = None
config_path = Path("patched_config.yaml").resolve()
OmegaConf.save(cfg, config_path)
asr_model = ASRModel.from_pretrained(
model_name=model_name,
override_config_path=str(config_path),
strict=False,
)
config_path.unlink()
asr_model.eval()
# Assuming you have a test audio file named sample_audio.wav
asr_model.transcribe(['sample_audio.wav'])
This model accepts any mono-channel audio (wav files) as input and resamples them to 16 kHz sample rate before performing the forward pass
This model provides transcribed speech as an hypothesis object with a text attribute containing the transcription string for a given speech sample. (nemo>=2.3)
This model uses a FastConformer encoder and a Convolutional decoder with CTC Loss. FastConformer is an optimized version of the Conformer model with 8x depthwise-separable convolutional downsampling. You may find more information on the details of FastConformer here: Fast-Conformer Model.
The NeMo toolkit was used for finetuning this model for 39,000 steps over RobotsMali/soloba-ctc-0.6b-v2 model with batch size 32. The finetuning codes and configurations can be found at RobotsMali-AI/bambara-asr.
The tokenizer for this model was trained on the text transcripts of the train set of RobotsMali/kunkado using this script.
This model was fine-tuned on the kunkado dataset, the human-reviewed subset, which consists of ~40 hours of transcribed Bambara speech data. The text was normalized with the bambara-normalizer prior to training, normalizing numbers, removing punctuations and removing tags.
We report the Word Error Rate (WER) and Character Error Rate (CER) for this model:
| Benchmark | Decoding | WER (%) ↓ | CER (%) ↓ |
|---|---|---|---|
| Kunkado | CTC | 38.87 | 21.65 |
| Nyana Eval | CTC | 38.69 | 18.92 |
This model is released under the CC-BY-4.0 license. By using this model, you agree to the terms of the license.
Feel free to open a discussion on Hugging Face or file an issue on GitHub for help or contributions.