Driving AI 2026
Naturlig dansk tale, syntese og transkription. Kørt lokalt, frigivet åbent.
Vi bygger sprogmodeller og AI-agenter skræddersyet til danske virksomheders behov, fra kommune-jura til kontaktcenter-transkription.
Hjemme i København, åbne på Hugging Face, brugt i produktion hos kunder over hele landet.
Dansk tale ind, tekst ud. Trænet på 17.000 timer dansk audio. Forstår dialekter, talt tempo og sammensatte ord.
| Split | N samples | Raw WER | Strict WER | Raw CER | Strict CER |
|---|---|---|---|---|---|
| Read aloud | 9.122 | 9,86 % | 9,01 % | 3,98 % | 3,63 % |
| Conversation | 8.438 | 20,89 % | 19,21 % | 11,90 % | 11,35 % |
| Vægtet snit | 17.560 | 15,16 % | 13,91 % | 7,78 % | 7,34 % |
Strict = lowercase + tegnsætning fjernet + tal skrevet ud (num2words(da)). Apples-to-apples mod publicerede Whisper-tal.
Læger og terapeuter dikterer direkte ind i journalsystemet. Data forlader aldrig kommunens eller regionens netværk.
Kundeservice får live-transskript og automatiske resumeer uden at sende lyd til amerikanske API'er.
TV- og radioarkiver transkriberes batch-vis på egen GPU. Strict WER på < 14 % giver brugbare førsteudkast.
Kommuner og styrelser får søgbare referater fra byrådsmøder og høringer.
Vi finetunede ovenpå cohere-transcribe-03-2026. Det betyder Hviske arver alle de sprog base-modellen blev trænet på. Dansk er bare det sprog vi er bedre på end alle andre.
Skriv en sætning, få naturlig dansk tale tilbage. Klon en stemme fra 30 sekunders rent lydklip.
En decoder-only transformer (Llama-stil) forudsiger diskrete audio-tokens autoregressivt. En 128-dim taler-embedding indsættes som første token og betinger genereringen.
Tokens dekodes til 24 kHz waveform af Kanade-codec'en. Inference kører i vLLM, så batched generering skalerer som almindelig LLM-inference.
Rå lyd er kontinuert: 24.000 samples i sekundet. For en transformer er det uframkommeligt.
En neural audio codec lærer et "alfabet" af typisk 1.024–4.096 lydsymboler. Hver token ≈ 40 ms tale.
Resultat: tale bliver til en token-sekvens. Præcis hvad en transformer er bygget til at modellere.
| Modalitet | Rate | Vokabular |
|---|---|---|
| Tekst (BPE) | ~3 tok/s | ~50k |
| EnCodec 2022 | 600 tok/s | 1024 × 8 lag |
| SNAC 2024 | 86 tok/s | 4096 × 3 lag |
| Kanade 2025 | 25 tok/s | 12.800 |
<text> og <audio> markerer hvor tekst slutter og lyd starter.<audio_0> til <audio_12799>, én per Kanade codebook-entry. Tilføjet som special tokens så BPE'en ikke splitter dem.SmolLM2 har 49.152 tokens. Vi kører kun med 20.802. Mindre embedding-tabel, samme transformer-vægte. Det er derfor Pico ender på 118M og Nano på 327M i stedet for de oprindelige 135M og 360M.
# Reference: 10–30 s rent lydklip from plapre import Plapre tts = Plapre("syvai/plapre-nano") tts.speak( "Velkommen til konferencen.", output="out.wav", speaker_wav="reference.wav", )
Modellen ekstraherer en stemme-embedding fra referencen og betinger generering på den. Det fungerer for alle stemmer, ikke kun dem fra træningssættet.
Anbefaling: 10–30 sekunders rent klip uden baggrundsstøj, gerne læst tekst.
Stemme til hjemmeautomation, offline-værktøjer og Raspberry Pi-projekter. Uden data der forlader hjemmet.
Generér audio-version af indhold uden licens-omkostning pr. ord. Vælg én stemme for hele kataloget.
Dansk talesyntese der lyder som dansk, for både private apps og offentlige tjenester.
Lokal TTS til danske spil og produkter uden at sende dialog til eksterne tjenester.
Sammen med DanskGPT i midten har I et fuldt dansk voice-stack der aldrig forlader jeres infrastruktur.
Møde-til-referat for danske kommuner. Helt lokalt. Hele vejen igennem.
Mødelyd indeholder personnavne, CPR-numre, social- og personalesager. Med Memoctopus rammer den aldrig en amerikansk server.
Memoctopus erstatter Whisper-API'et med Hviske og kører LLM'en lokalt via vLLM. Kommunerne kan dele opskriften, ikke deres data.
Dansk sprog hører hjemme på dansk hardware.
Når infrastrukturen er åben og lokal, behøver borgere, kunder og medarbejdere ikke at vælge mellem moderne AI og deres egne data.
$ pip install plapre from plapre import Plapre tts = Plapre("syvai/plapre-nano") tts.speak("Hej med dig.", output="out.wav")
from transformers import AutoModelForSpeechSeq2Seq model = AutoModelForSpeechSeq2Seq.from_pretrained( "syvai/hviske-v5.3", trust_remote_code=True, ) model.transcribe(audio_arrays=[audio], language="da")
Tak
Tak. Spørgsmål?