Model Overview
Model Features
Model Capabilities
Use Cases
🚀 Finetuned Verbatim model
This finetuned model is built upon another model with an additional 200 training steps. It outputs text in lowercase without punctuation, and is more verbatim, refraining from correcting grammatical errors in the text.
🚀 NB-Whisper Large (Release Candidate)
⚠️ Important Note
These models are currently Release Candidates. We are in the final stages of testing. If everything proceeds smoothly, we plan to officially release the models later this month.
The Norwegian NB-Whisper Large model is proudly developed by the National Library of Norway. NB-Whisper is a state - of - the - art series of models for automatic speech recognition (ASR) and speech translation, based on OpenAI's Whisper. Each model in the series has been trained for 250,000 steps on a diverse dataset of 8 million samples. These samples are 30 - second aligned audio clips, totaling 66,000 hours of speech. Stay tuned for our upcoming article for in - depth details on our training methodology and dataset composition.
Model Size | Parameters | Model |
---|---|---|
Tiny | 39M | NB-Whisper Tiny |
Base | 74M | NB-Whisper Base |
Small | 244M | NB-Whisper Small |
Medium | 769M | NB-Whisper Medium |
Large | 1550M | NB-Whisper Large |
✨ Features - Specialised Models
While the main models are suitable for most transcription tasks, it's easy to modify their output. The following models are trained with an additional 250 steps on top of the main models and are more suitable for specific use cases:
- Verbatim version: This lowercase variant is more literal and ideal for tasks requiring detailed transcription, such as linguistic analysis.
- Semantic version: This variant focuses less on verbatim accuracy but captures the essence of content, making it perfect for meeting minutes and subtitling.
Model Size | Parameters | Verbatim version | Semantic version |
---|---|---|---|
Tiny | 39M | Tiny - verbatim | Tiny - semantic |
Base | 74M | Base - verbatim | Base - semantic |
Small | 244M | Small - verbatim | Small - semantic |
Medium | 769M | Medium - verbatim | Medium - semantic |
Large | 1550M | Large - verbatim | Large - semantic |
📚 Documentation - Model Description
Property | Details |
---|---|
Developed by | NB AI-Lab |
Shared by | NB AI-Lab |
Model Type | whisper |
Language(s) (NLP) | Norwegian, Norwegian Bokmål, Norwegian Nynorsk, English |
License | Apache 2.0 |
Trained from model | openai/whisper-large |
Code Repository | https://github.com/NbAiLab/nb-whisper/ |
Paper | Coming soon |
Demo | See Spaces on this page |
🚀 Quick Start
💻 Online Demos
You can try the models directly through the HuggingFace Inference API, accessible on the right side of this page. Note that initially, the model needs to load and will run on limited CPU capacity, which might be slow. To enhance your experience, we are temporarily hosting some models on TPUs for a few days, significantly boosting their performance. Explore these under the Spaces section on the Main Page.
💻 Local Setup with HuggingFace
Alternatively, you can run the models locally. The Tiny, Base, and Small models are optimized for CPU execution. For the Medium and Large models, we recommend a system equipped with a GPU for efficient processing. Setting up and using these models with HuggingFace's Transformers is straightforward, provided you have Python installed on your machine. For practical demonstrations, refer to examples using this sample mp3 file.
# Download the sample file
$ wget -N https://github.com/NbAiLab/nb-whisper/raw/main/audio/king.mp3
# Install necessary libraries.
$ pip install transformers>=4.35.2
After installation, you can run the following in Python:
from transformers import pipeline
# Load the model
asr = pipeline("automatic-speech-recognition", "NbAiLabBeta/nb-whisper-large-verbatim")
#transcribe
asr("king.mp3", generate_kwargs={'task': 'transcribe', 'language': 'no'})
Expected output
{
{"text": " Nordmenn er nordlendinger, trøndere, sørlendinger og folk fra alle andre regioner. Nordmenn er også innvandret fra Afghanistan, Pakistan, Polen, Sverige, Somalia og Syria. Det er ikke alltid så lett å si hvor vi er fra, hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra."}
}
💻 Usage Examples - Extended HuggingFace
From the above output, we can see multiple repetitions at the end because the video is longer than 30 seconds. By passing the chunk_length_s
argument, we can transcribe longer files. Our experience shows that setting it to 28 seconds instead of the default 30 seconds yields slightly better results. We also recommend setting the beam size to 5 if possible, which greatly increases accuracy but takes a bit longer and requires slightly more memory. The following examples illustrate how to transcribe to English or Nynorsk and how to get timestamps for sentences and words.
# Long Transcripts
asr("king.mp3", chunk_length_s=28, generate_kwargs={'task': 'transcribe', 'language': 'no'})
# Increase accuracy by setting beam size to 5
asr("king.mp3", chunk_length_s=28, return_timestamps=True, generate_kwargs={'num_beams': 5, 'task': 'transcribe', 'language': 'no'})
# Return Timestamps
asr("king.mp3", chunk_length_s=28, return_timestamps=True, generate_kwargs={'task': 'transcribe', 'language': 'no'})
# Return Word Level Timestamps
asr("king.mp3", chunk_length_s=28, return_timestamps="word", generate_kwargs={'task': 'transcribe', 'language': 'no'})
# Transcribe to Nynorsk
asr("king.mp3", chunk_length_s=28, generate_kwargs={'task': 'transcribe', 'language': 'nn'})
# Transcribe to English
asr("king.mp3", chunk_length_s=28, generate_kwargs={'task': 'transcribe', 'language': 'en'})
Expected output
Long transcripts:
{
{"text": " Nordmenn er nordlendinger, trøndere, sørlendinger og folk fra alle andre regioner. Nordmenn er også innvandret fra Afghanistan, Pakistan, Polen, Sverige, Somalia og Syria. Det er ikke alltid så lett å si hvor vi er fra, hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra, hvilken nasjonalitet vi tilhører. Det vi kaller hjem, er der hjertet vårt er, og det kan ikke alltid plasseres innenfor landegrenser. Nordmenn er jenter som er glad i jenter, gutter som er glad i gutter, og jenter og gutter som er glad i hverandre. Nordmenn trommer på Gud, Allah, Altet og ingenting. Nordmenn liker Grieg, Kygo, Helbilis og Kari Bremnes. Med andre ord, Norge er dere. Norge er oss. Mitt største håp for Norge er at vi skal klare å ta vare på hverandre, at vi skal bygge dette landet videre på tillit, fellesskap og raushet."}
}
Timestamps:
{
{"text": " Nordmenn er nordlendinger, trøndere, sørlendinger og folk fra alle andre regioner. Nordmenn er også innvandret fra Afghanistan, Pakistan, Polen, Sverige, Somalia og Syria. Det er ikke alltid så lett å si hvor vi er fra, hvilken nasjonalitet vi er fra. Hvilken nasjonalitet vi er fra. hvilken nasjonalitet vi tilhører. Det vi kaller hjem, er der hjertet vårt er, og det kan ikke alltid plasseres innenfor landegrenser. Nordmenn er jenter som er glad i jenter, gutter som er glad i gutter, og jenter og gutter som er glad i hverandre. Nordmenn trommer på Gud, Allah, Altet og ingenting. Nordmenn liker Grieg, Kygo, Helbiles og Kari Bremnes. Med andre ord, Norge er dere. Norge er oss. Mitt største håp for Norge er at vi skal klare å ta vare på hverandre, at vi skal bygge dette landet videre på tillit, fellesskap og raushet.",
"chunks": [{"timestamp": (0.0, 5.46),
"text": " Nordmenn er nordlendinger, trøndere, sørlendinger"},
{"timestamp": (5.52, 8.68), "text": " og folk fra alle andre regioner."},
{"timestamp": (8.68, 16.64),
"text": " Nordmenn er også innvandret fra Afghanistan, Pakistan, Polen, Sverige, Somalia og Syria."},
{"timestamp": (16.64, 13.3),
"text": " Det er ikke alltid så lett å si hvor vi er fra, hvilken nasjonalitet vi er fra."},
{"timestamp": (13.32, 30.28),
"text": " Hvilken nasjonalitet vi er fra. hvilken nasjonalitet vi tilhører."},
{"timestamp": (32.52, 39.16),
"text": " Det vi kaller hjem, er der hjertet vårt er, og det kan ikke alltid plasseres"},
{"timestamp": (39.16, 42.0), "text": " innenfor landegrenser."},
{"timestamp": (42.0, 46.74),
"text": " Nordmenn er jenter som er glad i jenter, gutter som er glad i gutter,"},
{"timestamp": (46.74, 51.12),
"text": " og jenter og gutter som er glad i hverandre."},
{"timestamp": (51.16, 57.42),
"text": " Nordmenn trommer på Gud, Allah, Altet og ingenting."},
{"timestamp": (57.42, 64.3),
"text": " Nordmenn liker Grieg, Kygo, Helbiles og Kari Bremnes."},
{"timestamp": (64.34, 71.24),
"text": " Med andre ord, Norge er dere. Norge er oss."},
{"timestamp": (71.24, 78.04),
"text": " Mitt største håp for Norge er at vi skal klare å ta vare på hverandre,"},
{"timestamp": (78.12, 84.68),
"text": " at vi skal bygge dette landet videre på tillit, fellesskap og raushet."}],
"chunks": [{"timestamp": (0.0, 5.46),
"text": " Nordmenn er nordlendinger, trøndere, sørlendinger"},
{"timestamp": (5.52, 8.68), "text": " og folk fra alle andre regioner."},
{"timestamp": (8.68, 16.64),
"text": " Nordmenn er også innvandret fra Afghanistan, Pakistan, Polen, Sverige, Somalia og Syria."},
{"timestamp": (16.64, 13.3),
"text": " Det er ikke alltid så lett å si hvor vi er fra, hvilken nasjonalitet vi er fra."},
{"timestamp": (13.32, 30.28),
"text": " Hvilken nasjonalitet vi er fra. hvilken nasjonalitet vi tilhører."},
{"timestamp": (32.52, 39.16),
"text": " Det vi kaller hjem, er der hjertet vårt er, og det kan ikke alltid plasseres"},
{"timestamp": (39.16, 42.0), "text": " innenfor landegrenser."},
{"timestamp": (42.0, 46.74),
"text": " Nordmenn er jenter som er glad i jenter, gutter som er glad i gutter,"},
{"timestamp": (46.74, 51.12),
"text": " og jenter og gutter som er glad i hverandre."},
{"timestamp": (51.16, 57.42),
"text": " Nordmenn trommer på Gud, Allah, Altet og ingenting."},
{"timestamp": (57.42, 64.3),
"text": " Nordmenn liker Grieg, Kygo, Helbiles og Kari Bremnes."},
{"timestamp": (64.34, 71.24),
"text": " Med andre ord, Norge er dere. Norge er oss."},
{"timestamp": (71.24, 78.04),
"text": " Mitt største håp for Norge er at vi skal klare å ta vare på hverandre,"},
{"timestamp": (78.12, 84.68),
"text": " at vi skal bygge dette landet videre på tillit, fellesskap og raushet."}]}
}
Word Level Timestamps:
{
{"text": "Nordmenn er nordlendinger, trøndere, sørlendinger og folk fra alle andre regioner. Nordmenn er også innvandret fra Afghanistan, Pakistan, Polen, Sverige, Somalia og Syria. Det er ikke alltid så lett å si hvor vi er fra, hvilken nasjonalitet vi tilhører. Det vi kaller hjem, er der hjertet vårt er, og det kan ikke alltid plasseres innenfor landegrenser. Nordmenn er jenter som er glad i jenter, gutter som er glad i gutter, og jenter og gutter som er glad i hverandre. Nordmenn trommer på Gud, Allah, Altet og ingenting. Nordmenn liker Grieg, Kygo, Helbilis og Kari Bremnes. Med andre ord, Norge er dere. Norge er oss. Mitt største håp for Norge er at vi skal klare å ta vare på hverandre, at vi skal bygge dette landet videre på tillit, fellesskap og raushet.",
"chunks": [
{"text": "Nordmenn", "timestamp": [0.72, 1.42]},
{"text": "er", "timestamp": [1.42, 1.74]},
// ... more chunks ...
{"text": "raushet.", "timestamp": [83.1, 84.88]}
]
}
}
Nynorsk:
{
{"text": "Nordmenn er nordlendingar, trøndarar, sørlendingar og folk frå alle andre regionar. Nordmenn er også innvandra frå Afghanistan, Pakistan, Polen, Sverige, Somalia og Syria. Det er ikkje alltid så lett å seie kvar vi er frå, kva nasjonalitet vi tilhøyrer. Det vi kallar heim, er der hjartet vårt er, og det kan ikkje alltid plasserast innanfor landegrenser. Nordmenn er jenter som er glad i jenter"}
}
📄 License
This project is licensed under the Apache 2.0 license.

