Alma, Spiel och Orca — svensk tillgänglighet på Linux

Orca skärmläsare har länge varit det självklara valet för synnedsatta Linux-användare, men stödet för svenska röster har historiskt varit bristfälligt. Med Spiel — GNOME:s nya talramverk — och den svenska Piper-rösten Alma ändras det nu.

Vad är Orca, Spiel och Piper?

Orca är GNOME:s inbyggda skärmläsare. Den läser upp vad som händer på skärmen — menyer, knappar, text — för användare som inte kan se. Orca stöder punktskrift (braille), tangentbordsnavigering och anpassningsbara röstprofiler.

Spiel är ett nytt talramverk för Linux som ersätter det åldrade speech-dispatcher. Det använder D-Bus och GStreamer för att koppla ihop skärmläsare med talsyntes-leverantörer (”speech providers”). Fördelen med Spiel är att rösterna kan installeras oberoende — varje röst är en egen D-Bus-tjänst som startar automatiskt.

Piper är en neuralt baserad text-till-tal-motor (ONNX) som ger naturligt klingande tal. Den körs helt lokalt — ingen molntjänst behövs.

Alma är en svensk Piper-röst (sv_SE) som vi använder med speech-provider-piper — en Rust-binär som serverar Piper-modeller via D-Bus till Spiel.

Arkitektur

Orca (skärmläsare)
  └─ libspiel (klientbibliotek, GObject Introspection)
       └─ D-Bus → ai.piper.Speech.Provider (speech-provider-piper)
            └─ Piper/sonata engine + ONNX-modell
                 └─ Röstfiler i /usr/share/piper/voices/

Fördelar

  • Helt lokalt — ingen molntjänst, ingen internetanslutning krävs
  • Naturligt tal — neurala modeller ger mycket bättre kvalitet än äldre regelbaserade synteser (eSpeak, Festival)
  • Automatisk start — speech-provider-piper aktiveras via D-Bus när Orca eller Spiel begär tal
  • Lätthanterligt — nya röster installeras genom att lägga ONNX-filer i /usr/share/piper/voices/
  • Snabbt — Rust-binären speech-provider-piper är resurssnål och startar direkt

Demo

Här är en inspelad skärmsession som visar Alma-rösten via Spiel. Terminalen kör spiel-kommandot som syntetiserar svensk text i realtid:


Alma Voice Demo i terminal

Orca-inställningar med Spiel

Orca 50 har inbyggt stöd för Spiel som talsystem. Här syns inställningarna på svenska:

Orca - Läs upp allt
Orca - Eko
Orca - Markörnavigering
Orca - Systeminformation

Installation via pakethanterare

Vi har byggt färdiga paket för både Debian/Ubuntu (.deb) och Fedora (.rpm). Det enda du behöver göra är att lägga till repot och installera:

Ubuntu / Debian

# Lägg till repot
echo "deb [trusted=yes] https://yeager.github.io/debian-repo/ stable main" | \
  sudo tee /etc/apt/sources.list.d/yeager-l10n.list
sudo apt update

# Installera speech-provider-piper + Alma-rösten
sudo apt install speech-provider-piper piper-voice-sv-alma

Fedora

# Lägg till repot
sudo dnf config-manager addrepo --from-repofile=https://yeager.github.io/rpm-repo/yeager.repo

# Installera speech-provider-piper + Alma-rösten
sudo dnf install speech-provider-piper piper-voice-sv-alma

Paketen installerar:

  • speech-provider-piper — Rust-binären + D-Bus-service för Spiel (GitHub release)
  • piper-voice-sv-alma — Alma ONNX-modell + konfiguration i /usr/share/piper/voices/sv_SE-alma-medium/

Libspiel (om det inte redan finns)

Spiel-biblioteket behövs också, men det finns ännu inte i distrorepona. Bygg från källkod:

# Förutsättningar (Ubuntu)
sudo apt install meson gcc libglib2.0-dev libgirepository1.0-dev \
  libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

# Bygg libspiel
cd /tmp
git clone https://github.com/project-spiel/libspiel.git
cd libspiel
meson setup build --prefix=/usr -Dtests=false -Ddocs=false
meson compile -C build
sudo meson install -C build
sudo ldconfig

Verifiera

# Lista röster
spiel -V
# Förväntat: Alma  sv-SE  sv_SE-alma-medium  ai.piper.Speech.Provider

# Testa tal
spiel -v sv_SE-alma-medium -p ai.piper.Speech.Provider "Hej, jag heter Alma."

# Starta Orca med Spiel
orca --replace --speech-system=spiel

Röstkvalitet: brusparametrar

Pipers standardparametrar kan ge hörbart brus. Redigera röstens JSON-config (/usr/share/piper/voices/sv_SE-alma-medium/alma-voice.onnx.json) och sätt:

"inference": {
  "noise_scale": 0.3,    // standard 0.667 — för brusigt
  "length_scale": 1,
  "noise_w": 0.5         // standard 0.8 — för mycket variation
}

Testat på

  • Ubuntu 26.04 (Orca 50 beta) ✅
  • Fedora 43 (GNOME 49.4, Orca 49.5) ✅

Status och framtid

Libspiel kräver fortfarande manuell kompilering, men speech-provider-piper och Alma-rösten finns som färdiga paket i vårt repo. Förhoppningen är att libspiel snart paketeras av distributionerna. Det finns också planer på att:

  • Publicera Alma-rösten i Pipers röstkataloger på HuggingFace
  • Bidra med buggfixar upstream (linker-buggen, nightly Rust-kravet)

Tillgänglighet på svenska har aldrig varit bättre — och det blir bara bättre härifrån.

Länkar


Uppdatering: Alma omtränad (mars 2026)

Alma-rösten har nu omtränats med 10 000 epochs (upp från 8 000) och finjusterade inferensparametrar för mer naturligt tal. De nya inställningarna ger bättre prosodi och expressivitet.

Lyssna på den omtränade rösten

Alma (omtränad) läser en svensk text — 1 minut demo

Förbättringar

  • 10 000 epochs träning (1 875 ljudklipp)
  • Optimerade parametrar: noise_scale=0.8, noise_w=0.6, length_scale=0.9
  • Bättre intonation och naturligare pauser
  • Kvalitetsbetyg: 8/10

Ladda ner

Kommentarer

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig om hur din kommentarsdata bearbetas.