Model reference · open weights
BanglaASR is an open-weight audio or speech model from bangla-speech-processing. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | bangla-speech-processing |
|---|---|
| Type | Audio & music |
| Task | Speech→text |
| Parameters (lead) | 242M |
| Runs with | transformers |
| Released | 2023-06-22 |
| Popularity | 16k downloads / month |
| Licence | Open weights |
About
Bangla ASR model which was trained Bangla Mozilla Common Voice Dataset. This is Fine-tuning Whisper model using Bangla mozilla common voice dataset. For training this model used 40k training and 7k Validation of around 400 hours of data. We trained 12000 steps and get word error rate 4.58%. This model was whisper small[244 M] variant model.
import os
import librosa
import torch
import torchaudio
import numpy as np
from transformers import WhisperTokenizer
from transformers import WhisperProcessor
from transformers import WhisperFeatureExtractor
from transformers import WhisperForConditionalGeneration
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
mp3_path = "https://huggingface.co/bangla-speech-processing/BanglaASR/resolve/main/mp3/common_voice_bn_31515636.mp3"
model_path = "bangla-speech-processing/BanglaASR"
feature_extractor = WhisperFeatureExtractor.from_pretrained(model_path)
tokenizer = WhisperTokenizer.from_pretrained(model_path)
processor = WhisperProcessor.from_pretrained(model_path)
model = WhisperForConditionalGeneration.from_pretrained(model_path).to(device)
speech_array, sampling_rate = torchaudio.load(mp3_path, format="mp3")
speech_array = speech_array[0].numpy()
speech_array = librosa.resample(np.asarray(speech_array), orig_sr=sampling_rate, target_sr=16000)
input_features = feature_extractor(speech_array, sampling_rate=16000, return_tensors="pt").input_features
# batch = processor.feature_extractor.pad(input_features, return_tensors="pt")
predicted_ids = model.generate(inputs=input_features.to(device))[0]
transcription = processor.decode(predicted_ids, skip_special_tokens=True)
print(transcription)
Used Mozilla common voice dataset around 400 hours data both training[40k] and validation[7k] mp3 samples. For more information about dataser please click here
| Size | Layers | Width | Heads | Parameters | Bangla-only | Training Status |
|---|---|---|---|---|---|---|
| tiny | 4 | 384 | 6 | 39 M | X | X |
| base | 6 | 512 | 8 | 74 M | X | X |
| small | 12 | 768 | 12 | 244 M | ✓ | ✓ |
| medium | 24 | 1024 | 16 | 769 M | X | X |
| large | 32 | 1280 | 20 | 1550 M | X | X |
Word Error Rate 4.58 %
For More please check the github
@misc{BanglaASR ,
title={Transformer Based Whisper Bangla ASR Model},
author={Md Saiful Islam},
howpublished={},
year={2023}
}
From the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys banglaasr for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (banglaasr below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/audio/transcriptions \ -H "Authorization: Bearer $AXFORGE_API_KEY" \ -F model="banglaasr" -F file=@audio.mp3
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.