ktg-plugin-marketplace/plugins/ms-ai-architect/skills/ms-ai-engineering/references/azure-ai-services/speech-services-speech-to-text.md
Kjell Tore Guttormsen ff6a50d14f docs(architect): weekly KB update — 106 files refreshed (2026-04)
Updates across all 5 skills: ms-ai-advisor, ms-ai-engineering,
ms-ai-governance, ms-ai-security, ms-ai-infrastructure.

Key changes:
- Language Services (Custom Text Classification, Text Analytics, QnA):
  retirement warning 2029-03-31, migration guides to Foundry/GPT-4o
- Agentic Retrieval: 50M free reasoning tokens/month (Public Preview)
- Computer Use: Claude Sonnet 4.5 (preview) + OpenAI CUA models
- Agent Registry: Risks column (M365 E7), user-shared/org-published types
- Declarative agents: schema v1.5 → v1.6, Store validation requirements
- MLflow 3: 13 built-in LLM judges, production monitoring, Genie Code
- AG-UI HITL: ApprovalRequiredAIFunction (C#) + @tool(approval_mode) (Python)
- Entra ID Ignite 2025: Agent ID Admin/Developer RBAC roles, Conditional Access
- Security Copilot: 400 SCU/month per 1000 M365 E5 licenses, auto-provisioned
- Fast Transcription API: phrase lists, 14-language multi-lingual transcription
- Azure Monitor Workbooks: Bicep support, RBAC specifics
- Power Platform Copilot: data residency (Norway/Europe → EU DB, Bing → USA)
- RAG security-rbac: 4-approach table (GA + 3 preview access control methods)
- IaC MLOps: Well-Architected OE:05 principles, Bicep/Terraform patterns
- Translator: image file batch translation Preview (JPEG/PNG/BMP/WebP)

All 106 files: Last updated 2026-04 | Verified: MCP 2026-04

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 09:13:24 +02:00

20 KiB

Speech Services - Speech-to-Text and Real-time Transcription

Last updated: 2026-04 | Verified: MCP 2026-04 Status: GA Category: Azure AI Services (Foundry Tools)


Introduksjon

Azure Speech Services tilbyr avansert tale-til-tekst-funksjonalitet som konverterer talte ord til maskinlesbar tekst. Tjenesten støtter tre hovedmodi: real-time transcription for live-lyd fra mikrofon eller streaming, fast transcription for rask synkron transkripsjon med forutsigbar latens, og batch transcription for asynkron prosessering av store lydvolumer i lagring.

Speech-to-text bygger på Microsoft-eid Universal Language Model som er trent på store mengder data på tvers av dialekter, akustiske forhold og domener. For spesialiserte behov kan man fine-tune custom speech-modeller med egne data for å forbedre nøyaktigheten på domene-spesifikt vokabular eller spesifikke lydforhold. Tjenesten tilbyr også speaker diarization (identifisering av ulike talere), språkidentifikasjon, flerspråklig transkripsjon, og phrase list-optimalisering.

Azure Speech to text er en kritisk byggesten i AI-løsninger som krever talegjenkjenning — fra tilgjengelighetsverktøy og kundeservice til medieproduksjon og compliance-dokumentasjon.

Kjernekomponenter / Nøkkelegenskaper

Tre transkripsjonsmodi

Modus Bruksområde Latens Input Output
Real-time Live-lyd fra mikrofon/stream ~sekunder (intermediate results) Audio stream via SDK/REST Tekst i real-time
Fast transcription Raske transkripsjoner av filer < real-time (synkron) Lydfiler < 2 timer, < 300 MB Display form (med punktum/caps)
Batch transcription Store volumer prerecorded audio Asynkron (30 min - 24 timer) Flere filer via Blob Storage JSON med lexical + display form

Custom Speech

Custom speech lar deg fine-tune base-modellen med:

  • Text data → forbedrer gjenkjenning av domene-spesifikt vokabular (medisinsk, juridisk, teknisk)
  • Audio + transcripts → forbedrer gjenkjenning under spesifikke lydforhold (bakgrunnsstøy, dialekter, akustikk)
  • Structured text → spesifiserer uttale, custom profanity filtering, inverse text normalization

Custom-modeller krever deployment til et custom endpoint (bortsett fra ved batch transcription). Modeller utløper etter en definert periode (se Model Lifecycle).

Speaker Diarization

Identifiserer og skiller mellom ulike talere i én lydkanal. Returnerer speaker ID (0, 1, 2...) per phrase.

{
  "channel": 0,
  "speaker": 1,
  "text": "Good afternoon. This is Sam.",
  "confidence": 0.936
}

Begrensninger:

  • Maksimalt 2 kanaler hvis diarization er aktivert
  • Diarization støttes ikke på tvers av flere kanaler samtidig

Language Identification

Fast transcription og real-time kan identifisere språk automatisk hvis du:

  • Spesifiserer flere locales: ["en-US", "ja-JP"] → tjenesten velger beste match
  • Ikke spesifiserer locales: [] → multi-lingual model identifiserer og transkriberer kontinuerlig

Multi-lingual transcription (preview): Støtter 14 språk (de-DE, en-AU/CA/GB/IN/US, es-ES/MX, fr-CA/FR, it-IT, ja-JP, ko-KR, zh-CN) i én fil uten å spesifisere locale.

Phrase List

Forbedrer gjenkjenning av spesifikke ord/fraser ved å øke deres vekt:

{
  "phraseList": {
    "phrases": ["Contoso", "Jessie", "Rehaan"]
  }
}

Tilgjengelig i fast transcription (API version 2025-10-15).

Støttede lydformater

  • WAV, MP3, OPUS/OGG, FLAC, WMA, AAC, ALAW (WAV), MULAW (WAV), AMR, WebM, SPEEX
  • Batch transcription: ubegrenset filstørrelse
  • Fast transcription: < 2 timer, < 300 MB
  • Real-time: streaming (ingen filstørrelsesbegrensning)

Tilgangspunkter

Metode Bruksområde API
Speech SDK Real-time, programmatisk integrasjon C#, Python, Java, JavaScript, C++, Go
Speech CLI Kommandolinje, testing, scripting spx
REST API Batch, fast transcription, serverless Speech to text REST API
Speech Studio Web UI, testing, custom speech training speech.microsoft.com

Arkitekturmønstre

1. Real-time Transcription for Live Events

Bruksområde: Tilgjengelighet (live captions), kundeservice, møtenotater

Arkitektur:

[Mikrofon/Stream] → Speech SDK → Azure Speech Service
                                        ↓
                                  Real-time text
                                        ↓
                        [UI/Caption display/Agent dashboard]

Fordeler:

  • Lav latens (intermediate results underveis)
  • Støtter pronunciation assessment
  • Fleksibel integrasjon via SDK

Ulemper:

  • Krever kontinuerlig nettverksforbindelse
  • Mindre kostnadseffektiv for store volumer
  • Ikke optimalisert for batch-prosessering

Når bruke:

  • Live events (webinars, møter)
  • Interactive voice response (IVR)
  • Accessibility (real-time captions)

2. Batch Transcription for High-Volume Processing

Bruksområde: Call center analytics, medieproduksjon, compliance-logging

Arkitektur:

[Lydfiler] → Azure Blob Storage → Batch Transcription API
                                           ↓
                                   Asynkron prosessering
                                           ↓
                              [JSON results i Blob Storage]
                                           ↓
                        [Analytics pipeline / Data lake]

Fordeler:

  • Skalerer til tusenvis av filer
  • Ingen deployment endpoint nødvendig for custom models
  • Kan bruke Whisper model (via batch API)
  • Kostnadseffektiv for store volumer

Ulemper:

  • Asynkron (30 min - 24 timer ventetid)
  • Best-effort scheduling (kan ta tid i peak hours)
  • Krever polling for å sjekke status

Best practices:

  • Send ~1000 filer per Transcription_Create request
  • Distribuer requests over tid (ikke send alt på én gang)
  • Poll status maks én gang per minutt (ideelt hvert 5-10 min)
  • Vurder multi-region load balancing for global scale

Når bruke:

  • Call center transkripsjoner (etterpå)
  • Video subtitling for arkiv
  • Compliance-dokumentasjon av opptak

3. Fast Transcription for Predictable Low-Latency

Bruksområde: Video editing, voicemail, meeting notes

Arkitektur:

[Lydfil < 2h] → Fast Transcription API → Synkron respons
                                              ↓
                                    JSON med display text
                                              ↓
                                [App/Editor/Workflow]

Fordeler:

  • Raskere enn real-time (synkron)
  • Forutsigbar latens
  • Støtter diarization, language ID, phrase list
  • Ingen ventetid (ingen polling)

Ulemper:

  • Kun display form (ikke lexical)
  • Maksimalt 2 timer audio, 300 MB
  • Ikke egnet for store volumer (throttling)

Når bruke:

  • Quick video transcription
  • Voicemail transcription
  • Meeting notes med diarization

Beslutningsveiledning

Velg transkripsjonsmodus

Scenario Anbefaling Hvorfor
Live webinar med captions Real-time Krever intermediate results og lav latens
500 call center-opptak per dag Batch Asynkron, kostnadseffektiv, skalerer godt
Video editing med rask turnaround Fast Synkron, < 2h fil, raskere enn real-time
IVR (interactive voice response) Real-time Må respondere umiddelbart på tale
Compliance-logging av møter Batch Ingen hastegrad, store volumer

Custom Speech vs. Base Model

Bruk custom model hvis... Bruk base model hvis...
Domene-spesifikt vokabular (medisinsk, juridisk) Generell tale (møter, samtaler)
Spesifikke lydforhold (støy, dialekt) Standard akustikk
WER > 10% med base model WER < 5% med base model
Kan levere minimum 1-10 timer annotert audio Ikke har treningsdata

Training cost: Custom models bygget på base models fra okt 2023 eller senere koster penger å trene. Tidligere modeller er gratis å trene.

Vanlige feil å unngå

Feil Konsekvens Løsning
Ikke spesifisere locales i fast transcription Langsamere, mindre nøyaktig Alltid send "locales": ["en-US"] hvis du vet språket
Polle batch transcription hvert sekund Unødvendig load, throttling Poll maks 1 gang per minutt (ideelt 5-10 min)
Bruke real-time for batch processing Dyrt, ineffektivt Bruk batch transcription for > 10 filer
Deploye custom endpoint for batch-bruk Unødvendig hosting-kostnad Batch transcription trenger ikke endpoint
Sende 10 000 batch requests samtidig Best-effort scheduling = lang ventetid Send ~1000 filer per request, distribuer over tid

Røde flagg

  • 429 error (too many requests): Du treffer throttling limits. Implementer exponential backoff eller distribuer requests.
  • WER > 20% på base model: Custom speech er nødvendig, eller audioqualitet er for dårlig.
  • Batch transcription venter > 24 timer: Peak load eller region overbelastet. Vurder multi-region strategi.

Integrasjon med Microsoft-stakken

Azure AI Foundry

Speech Services er en Foundry Tool i Azure AI Foundry. Du kan:

  • Koble eksisterende Speech resource til Foundry project
  • Teste real-time og fast transcription i Foundry portal
  • Bringe custom speech models fra Speech Studio til Foundry
  • Integrere med Prompt Flow for multimodal AI-løsninger

Copilot Studio

Kan integrere Speech to text for:

  • Voice-enabled bots (tale-input til Copilot)
  • Call center automation
  • Accessibility features

Merk: Copilot Studio har innebygd speech, men Azure Speech gir mer kontroll (custom models, diarization, etc.)

Power Platform

Power Automate: Batch Speech to text Connector (low-code) lar deg:

  • Trigge batch transcription fra Flow
  • Hente resultater automatisk
  • Integrere med Dataverse/SharePoint

Azure Logic Apps: Samme connector som Power Automate.

Azure OpenAI + Speech

Kombinasjon for voice-enabled AI assistants:

  1. Speech to text → transkriberer brukerinput
  2. Azure OpenAI (GPT-4) → genererer respons
  3. Speech synthesis → konverterer respons til tale

Whisper via Azure OpenAI: Azure OpenAI tilbyr Whisper model for transcription, men med andre pricing og capabilities enn Azure Speech batch transcription.

M365 Copilot

M365 Copilot bruker Microsoft Speech internt for:

  • Teams meeting transcription
  • Outlook voice commands

Integrasjonspunkt: Du kan supplere med custom speech models hvis M365 Copilot ikke gjenkjenner domene-spesifikke termer godt nok (krever Azure Speech resource).

Offentlig sektor (Norge)

GDPR og datasuverenitet

Data residency: Azure Speech støtter West Europe og North Europe regions. Audio og transkripsjondata kan lagres i EU.

Data processing:

  • Audio sendes til Speech endpoint (real-time/fast transcription)
  • Batch transcription leser fra og skriver til Blob Storage (kan være i Norway/EU)
  • Custom speech training data lagres i Speech resource region

Retention:

  • Microsoft-owned storage: Logging data slettes etter 30 dager
  • Customer-owned storage: Du kontrollerer retention

AI Act (EU)

Speech to text faller typisk under begrenset risiko (transparency obligations):

  • Krav: Informer brukere om at tale blir transkribert av AI
  • Dokumentasjon: Microsoft leverer transparency notes for Speech to text
  • High-risk: Hvis brukt i rekruttering, rettssaker, eller biometric identification → strengere krav

Schrems II

Microsoft compliance:

  • EU Data Boundary commitment (data prosesseres i EU)
  • Standard Contractual Clauses (SCCs)
  • Ingen U.S. government data access for EU-lagrede data

For offentlig sektor: Bruk West Europe/North Europe regions og customer-managed keys (CMK) for ekstra kontroll.

Forvaltningsloven (Norge)

Offentlige virksomheter må kunne:

  • Dokumentere beslutninger: Batch transcription gir JSON med lexical + display form → arkiverbart
  • Innsyn: Transkripsjondata er personopplysninger hvis det identifiserer personer
  • Kvalitetssikring: Custom speech modeller må testes for bias (dialekter, kjønn, alder)

Anbefaling: Test custom models på representative norske dialekter (østlandsk, bergensk, trøndersk) for å unngå bias.

Personvern og konfidensialitet

Speaker diarization: Identifiserer talere, men ikke hvem de er (kun "Speaker 1, Speaker 2"). Ingen biometric identification.

Audio logging:

  • Deaktiver audio logging hvis personvern er kritisk
  • Bruk customer-managed storage for full kontroll
  • Implementer data retention policies (slett audio etter transkripsjon)

Profanity filtering: Bruk profanityFilterMode: "Removed" eller "Masked" i offentlige systemer for compliance.

Kostnad og lisensiering

Prismodell (per februar 2026)

Real-time transcription:

  • Standard: ~$1 per audio hour
  • Custom speech endpoint hosting: ~$0.05 per model per hour

Fast transcription:

  • ~$0.50 per audio hour (raskere enn real-time)

Batch transcription:

  • Standard: ~$1 per audio hour
  • Custom model: Ingen ekstra kostnad (krever ikke endpoint)

Custom speech training:

  • Base models fra okt 2023+: Betalt (~$20-50 per training run)
  • Eldre base models: Gratis training

Merk: Priser er veiledende, sjekk Azure Pricing Calculator for eksakte tall.

Optimaliseringstips

Strategi Besparelse Trade-off
Bruk batch i stedet for real-time for prerecorded audio 30-50% Asynkron (ventetid)
Deaktiver custom endpoint for batch-bruk ~$35/måned per modell Kan ikke bruke custom model i real-time
Bruk fast transcription for < 2h filer Raskere = mindre compute-kostnad Kun display form
Multi-region load balancing Unngå throttling (indirekte besparelse) Mer kompleks arkitektur
Audio compression (MP3 i stedet for WAV) Mindre bandwidth-kostnad Marginal besparelse

TCO-eksempel (call center med 10 000 timer/måned)

Scenario: Call center med 10 000 timer opptak per måned, behov for custom model (medisinsk/juridisk vokabular).

Komponent Kostnad/måned (USD)
Batch transcription (10k timer) $10 000
Custom model training (1x per kvartal) $17 (amortisert)
Blob Storage (audio + results) $50
Total ~$10 067

Vs. real-time: $10 000 (transcription) + $35 (endpoint hosting) = $10 035 (men krever real-time streaming).

For arkitekten (Cosmo)

Spørsmål å stille kunden

  1. "Trenger dere transkripsjon i real-time, eller kan dere vente minutter/timer?"

    • Real-time → Speech SDK + real-time API
    • Kan vente → Fast transcription (< 2h) eller Batch (> 2h)
  2. "Hvor mange timer audio prosesserer dere per måned, og hvor ofte?"

    • < 100 timer/måned → Real-time eller fast transcription
    • 1000 timer/måned → Batch transcription obligatorisk

  3. "Har dere domene-spesifikt vokabular (medisinsk, juridisk, teknisk)?"

    • Ja → Custom speech nødvendig (test base model først)
    • Nei → Base model er trolig tilstrekkelig
  4. "Trenger dere å identifisere ulike talere?"

    • Ja → Diarization (maks 2 kanaler)
    • Nei → Standard transcription
  5. "Hvilke språk snakkes i opptakene, og er det én eller flere språk per opptak?"

    • Én kjent språk → Spesifiser locales: ["nb-NO"]
    • Ukjent språk → Language identification (locales: ["nb-NO", "en-US"])
    • Flere språk i samme opptak → Multi-lingual transcription (preview)
  6. "Hvor viktig er datasuverenitet og personvern?"

    • Kritisk → West Europe region, customer-managed keys, disable logging
    • Viktig → West Europe region, standard encryption
    • Mindre viktig → Hvilken som helst region
  7. "Har dere eksisterende lydfiler, eller er dette live audio?"

    • Prerecorded → Batch eller fast transcription
    • Live → Real-time transcription
  8. "Hva er akseptabel Word Error Rate (WER)?"

    • < 5% → Base model kan fungere
    • < 2% → Custom speech nødvendig
    • < 1% → Krever betydelig training data og fine-tuning

Fallgruver å unngå

  1. Over-engineering med custom speech: Test alltid base model først. Custom speech krever tid, data, og løpende vedlikehold (model expiry).

  2. Ikke planlegge for throttling: Azure Speech har rate limits. Implementer exponential backoff og retry logic.

  3. Ignorere model lifecycle: Custom models og base models har expiry dates. Sett opp automatisk oppdatering eller notifications.

  4. Mikse real-time og batch i samme arkitektur: Velg én primær modus. Hvis både live og prerecorded, bruk separate pipelines.

  5. Ikke teste på representative data: Custom models trent på én dialekt kan feile på andre. Test på variert audio (bakgrunnsstøy, kjønn, alder, dialekter).

  6. Undervurdere batch transcription latency: Best-effort scheduling = kan ta 24 timer i peak. Ikke bruk batch hvis du trenger resultater innen minutter.

Anbefalinger per modenhetsnivå

Nivå 1: Proof of Concept

  • Bruk: Speech Studio (web UI) eller Speech CLI
  • Modell: Base model (ingen custom speech)
  • Modus: Real-time eller fast transcription (< 100 timer)
  • Fokus: Verifiser at speech to text fungerer for ditt domene

Nivå 2: Pilot / MVP

  • Bruk: Speech SDK i app/service
  • Modell: Base model, test custom speech hvis WER > 10%
  • Modus: Fast transcription for < 2h filer, batch for > 2h
  • Fokus: Implementer error handling, retry logic, cost tracking

Nivå 3: Production

  • Bruk: Speech SDK + REST API (batch)
  • Modell: Custom speech hvis nødvendig, automatiser model updates
  • Modus: Batch transcription for scale, real-time for live use cases
  • Fokus: Multi-region deployment, throttling mitigation, monitoring (WER, latency, cost)
  • Compliance: Data residency, retention policies, transparency notes

Nivå 4: Enterprise Scale

  • Bruk: Speech SDK + batch REST API + Power Automate connector
  • Modell: Multiple custom models per domene/språk
  • Modus: Batch transcription med multi-region load balancing
  • Fokus: Cost optimization (reserved capacity), advanced analytics (sentiment, topic modeling), integration med data lake
  • Governance: Automated model lifecycle, bias testing, compliance reporting

Kilder og verifisering

Microsoft Learn (Verified via MCP):

Confidence markers:

  • Real-time transcription, batch transcription, custom speech, diarization: Verified (Microsoft Learn)
  • Fast transcription API, phrase list, multi-lingual transcription: Verified (Microsoft Learn)
  • Pricing: Baseline (veiledende, sjekk Azure Pricing Calculator for eksakte tall)
  • Norwegian compliance (Forvaltningsloven, dialekter): Baseline (generell kunnskap, ikke Microsoft-spesifikk)

Sist oppdatert: 2026-02 (basert på Microsoft Learn documentation per februar 2026)