---
language:
- sv
- en
library_name: pytorch
pipeline_tag: text-to-speech
license: apache-2.0
tags:
- text-to-speech
- tts
- swedish
- english
- non-autoregressive
- voice-adaptation
---
# Futhark Hugin
Hugin is a small, fast Swedish text-to-speech model that also reads English, both on its own and mixed into Swedish sentences. It is a 15 M parameter non-autoregressive Transformer (phonemes -> durations -> mel in one pass, no sampling, no diffusion) with an 8 M parameter Vocos vocoder, and outputs 24 kHz audio. It ships with one voice, **B1** (`w`), a synthetic voice designed with VoxCPM2, and with **`hugin-finetune`**, which makes your own voice from about 500 recorded sentences. The text front-end handles numbers, dates, abbreviations, acronyms, homographs, word stress and English detection. The packaged version is v0.8-en.
## Listen
Generated with this package on CPU, voice B1, no editing.
**Greeting**: *Hej och välkommen! Jag heter Hugin, och jag läser svensk text högt.*
**Times, prices, phone numbers**: *Tåget mot Göteborg avgår kl. 19:05 från spår 3, och biljetten kostar 245 kr. Ring 08-123 45 67 om du har frågor.*
**Story**: *Det var en tidig morgon i slutet av augusti. Dimman låg fortfarande kvar över sjön, och någonstans långt borta hördes en båtmotor.*
**News**: *Under natten väntas kraftiga vindar längs kusten, och flera färjeturer kan bli inställda redan i morgon bitti.*
**Tongue twister**: *Sju sjösjuka sjömän sköljde skjortorna, medan Rolf ringde runt till rektorerna.*
**Particle verbs and a long compound**: *Hon tog upp frågan på mötet, men chefen höll inte med. Det kan jag inte berätta eftersom det råder förundersökningssekretess.*
**English**: *Could you send me the updated report before lunch tomorrow? The meeting starts at 10:30.*
**Swedish with English words**: *Vi har en deadline på fredag, så jag bokar ett kort meeting med vårt product team. Alla kortkunder får cashback.*
| | |
|---|---|
| Size | 15 M (acoustic model) + 8 M (vocoder); weights about 150 MB including lexicon and G2P |
| Speed | ~40× real time on a 6-thread desktop CPU, ~250–500× on an RTX 4070 |
| Quality (Whisper letter error, in-house bench) | Swedish 0.4 %, English 0.0 %, mixed Swedish/English 0.3 % |
| Own voice | ~500 sentences (35–45 min) -> about 10–60 min of training on one NVIDIA GPU ([guide](docs/FINETUNE.md)) |
## Install and use
```bash
pip install -U huggingface_hub
hf download codah80/futhark-hugin --local-dir futhark-hugin
pip install -e "./futhark-hugin[prominence]" && python -c "import stanza; stanza.download('sv', processors='tokenize,pos')"
python -m hugin "Hej och välkomna! Klockan är 18:30." -o hej.wav
```
```python
from hugin import Hugin
tts = Hugin.from_pretrained() # or voice="my_voice.pt" for your own voice
audio, sr = tts.tts("Det var en tidig morgon i slutet av augusti.")
import soundfile as sf; sf.write("morgon.wav", audio, sr) # float32, 24 kHz
```
Stanza (word stress) is optional but recommended. Without it, install with `pip install -e .` and add `--no-prominence`.
## More
- [docs/DETAILS.md](docs/DETAILS.md): all options, the text front-end, the pronunciation dictionary, word timestamps, the HTTP server, performance figures and files.
- [docs/FINETUNE.md](docs/FINETUNE.md): record and train your own voice (`hugin-finetune prepare | train | export`). Use only your own voice or a voice you have explicit permission to use.
- [VERSIONS.md](VERSIONS.md) (training history) · [ATTRIBUTION.md](ATTRIBUTION.md) (data, models, licences).
Code and weights: [Apache License 2.0](LICENSE). Training data and third-party models keep their own licences (see ATTRIBUTION.md); CC BY sources are credited there.