# Speech Services - Text-to-Speech and Neural Voices

**Last updated:** 2026-06-19 | Verified: MCP 2026-06-19
**Status:** GA

> **Status 2026-04:** Azure Neural TTS og Custom Neural Voice er begge bekreftet GA og aktivt vedlikeholdt. `nb-NO-PernilleNeural` og `nb-NO-FinnNeural` er de primære norske stemmene. Custom Neural Voice Pro tilbyr ytterligere tilpasning for enterprise-bruk.

**Category:** Azure AI Services (Foundry Tools)

---

## Introduksjon

Azure Speech Services sitt Text-to-Speech (TTS) API konverterer tekst til naturlig syntetisk tale ved hjelp av deep neural networks. Tjenesten er en del av Microsoft Foundry Tools og tilbyr over 400 stemmer på 140+ språk og dialekter. TTS gjør det mulig å lage applikasjoner som leser opp tekst, generere lydbøker, bygge chatbots med naturlig tale, og forbedre tilgjengelighet.

Kjernen i moderne TTS er neural voices som bruker dype nevrale nettverk for å overkomme begrensningene til tradisjonell talesyntese når det gjelder stress og intonasjon. Prosody-prediksjon og stemmesyntese skjer samtidig, noe som gir mer flytende og naturlige resultater. Hvert standard neural voice-modell er tilgjengelig i 24 kHz og høy-fidelitet 48 kHz, og output kan opp- eller ned-samples til andre formater.

Microsoft tilbyr tre kategorier av stemmer: **standard voices** (out-of-the-box neural voices), **custom voices** (professional voice fine-tuning med Limited Access), og **personal voice** (rask stemmeopprettelse fra korte prøver). For produksjonsmiljøer er standard voices den vanligste løsningen, mens custom voice krever søknad og godkjenning fra Microsoft.

## Kjernekomponenter / Nøkkelegenskaper

| Komponent | Beskrivelse | Bruk |
|-----------|-------------|------|
| **Standard Neural Voices** | Over 400 ferdigtrente stemmer i 140+ språk/dialekter, tilgjengelig i 24kHz og 48kHz | Generell talesyntese, chatbots, accessibility |
| **Multilingual Voices** | Stemmer som flytende snakker flere språk (eks. `en-US-AvaMultilingualNeural` støtter 91 locales) | Flerspråklige applikasjoner, globalreach |
| **High Definition (HD) Voices** | Høyere kvalitet neural voices for krevende scenarioer | Premium lydkvalitet, professional content |
| **OpenAI TTS Voices** | OpenAI-stemmer tilgjengelig via Azure Speech (North Central US, Sweden Central) | Integrasjon med OpenAI-baserte løsninger |
| **Custom Neural Voice** | Limited Access-funksjon for å trene unike merkestemmer | Brand identity, spesialiserte use cases |
| **Personal Voice** | Rask stemmekloning fra korte lydprøver | Personaliserte applikasjoner, voice assistants |
| **SSML** | Speech Synthesis Markup Language for kontroll over prosody, rate, pitch, volume, styles | Avansert stemmekontroll |
| **Batch Synthesis API** | Asynkron syntese for lange lydfiler (>10 min, eks. lydbøker) | Long-form content, batch processing |
| **Real-time Synthesis** | Speech SDK eller REST API for sanntidssyntese | Interactive applications, voice agents |
| **Visemes** | Ansiktsposisjoner (leppe-synkronisering) for hver fonem | Leppe-lesing, avatars, animation |
| **Audio Effect Processor** | Optimalisering for spesifikke miljøer (`eq_car`, `eq_telecomhp8k`) | Bil-audio, telecom, noisy environments |
| **Text-to-Speech Avatar** | Syntetisk video av avatar som snakker (prebuilt og custom) | Visual chatbots, kiosks, metaverse |

### SSML Prosody-kontroll

Med SSML kan du justere følgende prosodiske elementer:

| Element | Verdier | Eksempel |
|---------|---------|----------|
| **Rate** | `0.5` til `2` (eller `x-slow`, `slow`, `medium`, `fast`, `x-fast`) | `<prosody rate="+30%">` |
| **Pitch** | `0.5` til `1.5` × original (Hz, semitones, %, `x-low/low/medium/high/x-high`) | `<prosody pitch="high">` |
| **Volume** | `0.0` til `100.0` (eller `silent`, `x-soft`, `soft`, `medium`, `loud`, `x-loud`) | `<prosody volume="+20%">` |
| **Contour** | Array av pitch-endringer over tid | `<prosody contour="(0%,+20Hz)(10%,-2st)">` |
| **Emphasis** | `reduced`, `none`, `moderate`, `strong` (kun visse stemmer) | `<emphasis level="moderate">` |
| **Style** | Språk- og stemmespesifikke stiler (eks. `cheerful`, `sad`, `angry`, `newscast`) | `<mstts:express-as style="cheerful">` |
| **Role** | Aldersrolle/kjønn-imitasjon (`Girl`, `Boy`, `YoungAdultFemale`, etc.) | `<mstts:express-as role="OlderAdultMale">` |

### Kodeeksempel (C# med Speech SDK)

```csharp
using Microsoft.CognitiveServices.Speech;

var speechConfig = SpeechConfig.FromSubscription("YourSpeechKey", "YourSpeechRegion");

// Velg standard neural voice
speechConfig.SpeechSynthesisLanguage = "en-US";
speechConfig.SpeechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural";

// Syntetiser til speaker
using var speechSynthesizer = new SpeechSynthesizer(speechConfig);
await speechSynthesizer.SpeakTextAsync("I'm excited to try text to speech");

// Eller til fil
using var audioConfig = AudioConfig.FromWavFileOutput("output.wav");
using var fileSynthesizer = new SpeechSynthesizer(speechConfig, audioConfig);
await fileSynthesizer.SpeakTextAsync("This goes to a file");
```

### SSML-eksempel (med prosody og style)

```xml
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-AvaMultilingualNeural">
        <mstts:express-as style="cheerful" styledegree="2">
            <prosody rate="+10%" pitch="+5%">
                Welcome to Azure Speech Services!
            </prosody>
        </mstts:express-as>
    </voice>
</speak>
```

## Arkitekturmønstre

### Mønster 1: Real-time Interactive Speech

**Beskrivelse:** Sanntidssyntetisering av tale for chatbots, voice assistants og IVR-systemer.

**Implementering:**
- Bruk Speech SDK (C#, Python, JavaScript, Java, C++, Objective-C, Swift)
- Konfigurer SpeechConfig med subscription key og region
- Velg neural voice basert på use case (standard/multilingual/HD)
- Send tekst eller SSML til SpeakTextAsync() / SpeakSsmlAsync()
- Output til speaker, fil eller in-memory stream

**Fordeler:**
- Lav latency (optimalisert for sanntidsrespons)
- Støtter streaming audio output
- Integrasjon med Speech-to-Text for full voice conversation loop
- Viseme-events for ansiktsanimasjon

**Ulemper:**
- Rate limits per Speech resource (justerbar med business justification)
- Krever konstant nettverkstilkobling
- Ikke egnet for batch-generering av lange lydfiler

**Best for:** Conversational AI, voice agents, accessibility features, in-car assistants.

---

### Mønster 2: Batch Synthesis for Long-Form Content

**Beskrivelse:** Asynkron syntese av lange lydfiler (>10 min) som lydbøker, podcasts, e-læring.

**Implementering:**
- Bruk Batch Synthesis REST API (preview)
- Send text eller SSML med metadata
- Poll for status (pending → running → succeeded)
- Download synthesized audio når klar
- Støtter custom voices og personal voices

**Fordeler:**
- Ingen tidsbegrensning (støtter timer-lange filer)
- Asynkron prosessering (fire-and-forget)
- Støtter alle output-formater (inkl. 48kHz)
- Optimalisert for throughput over latency

**Ulemper:**
- Ikke sanntid (kan ta minutter avhengig av lengde)
- Krever polling-logikk i applikasjon
- Ikke støtte for audio-element i SSML (men batch synthesis API har det)

**Best for:** Audiobooks, training materials, podcast-generering, large-scale content creation.

---

### Mønster 3: Custom Brand Voice med Professional Fine-Tuning

**Beskrivelse:** Opprett unik merkestemme med professional voice fine-tuning (Limited Access).

**Implementering:**
1. Søk om tilgang via intake form (https://aka.ms/customneural)
2. Samle høykvalitets voice recordings (voice talent consent påkrevd)
3. Opprett prosjekt i Speech Studio
4. Last opp recording scripts og audio (20-40 compute hours training)
5. Train modell (cap: 96 compute hours fakturering)
6. Deploy endpoint (hosting faktureres per time)
7. Bruk custom voice name i SSML

**Fordeler:**
- Unik brand identity
- Støtter multi-style training (ca. 90 compute hours)
- 48kHz output etter engine upgrade
- Kan kombineres med SSML for ekstra kontroll

**Ulemper:**
- Limited Access (krever godkjenning)
- Koster å trene ($$ per compute hour)
- Koster å hoste endpoint ($$ per time)
- Voice talent consent og juridiske krav
- Ikke egnet for quick prototyping

**Best for:** Enterprise brand voice, customer service, media production, long-term investments.

## Beslutningsveiledning

### Når bruke Standard Neural Voices?

| Scenario | Anbefaling |
|----------|------------|
| **Prototype/MVP** | ✅ Ja — rask oppstart, ingen godkjenning |
| **Budget-begrenset** | ✅ Ja — kun pay-per-character |
| **Global reach** | ✅ Ja — 140+ språk out-of-the-box |
| **Kort time-to-market** | ✅ Ja — ingen training-tid |
| **Generic voice OK** | ✅ Ja — bred støtte, god kvalitet |

### Når bruke Custom Neural Voice?

| Scenario | Anbefaling |
|----------|------------|
| **Brand identity kritisk** | ✅ Ja — unik merkestemme |
| **Celebrity/character voice** | ✅ Ja — med consent |
| **Langsiktig investering** | ✅ Ja — ROI over tid |
| **Compliance med voice talent** | ✅ Ja — juridisk rammeverk på plass |
| **Quick POC** | ❌ Nei — for lang lead time |

### Når bruke Personal Voice?

| Scenario | Anbefaling |
|----------|------------|
| **User-generated voices** | ✅ Ja — rask kloning |
| **Personaliserte assistenter** | ✅ Ja — hver bruker sin stemme |
| **Skalering (mange stemmer)** | ✅ Ja — per-voice-per-day fakturering |
| **Høy kvalitetskrav** | ⚠️ Vurder — lavere kvalitet enn professional |

### Beslutningstabell: Batch vs. Real-time

| Kriterium | Real-time Synthesis | Batch Synthesis |
|-----------|---------------------|-----------------|
| **Latency** | <1 sekund | Minutter (asynkront) |
| **Audio lengde** | <10 minutter | Ubegrenset |
| **Use case** | Interactive/conversational | Long-form content |
| **SDK support** | Ja (alle språk) | REST API only |
| **Streaming** | Ja | Nei (download når ferdig) |

### Vanlige feil og røde flagg

| Feil | Konsekvens | Løsning |
|------|------------|---------|
| **Hardkodet SSML-stemmer** | Ikke flerspråklig-kompatibel | Bruk multilingual voices + lang element |
| **Ignorer audio effects** | Dårlig lydkvalitet i bil/telefon | Bruk `effect="eq_car"` eller `eq_telecomhp8k` |
| **Over-tuning prosody** | Unaturlig robotlyd | Hold rate mellom 0.5-2, pitch 0.5-1.5 |
| **Glemmer rate limits** | Throttling i prod | Request rate increase proaktivt |
| **Ingen error handling** | Dårlig brukeropplevelse | Implementer fallback til alternativ stemme |
| **Custom voice uten hosting** | Voice ikke tilgjengelig | Budsjett for endpoint hosting-kostnader |
| **Chinese characters** | Dobbel billing | 1 kinesisk tegn = 2 billable characters |

## Integrasjon med Microsoft-stakken

### Microsoft Foundry

- TTS er innebygd i AI Foundry Playground
- Testverktøy: Speech Studio Voice Gallery, Audio Content Creation
- Ingen kode-tilnærming: Audio Content Creation tool
- Prosjekt-basert deployment med Foundry resources

### Microsoft 365 Copilot & Copilot Studio

- TTS kan integreres via custom connectors (Power Automate)
- Ikke native i M365 Copilot per januar 2026
- Copilot Studio: kan bruke TTS via Power Automate action

### Power Platform

- Power Automate: Speech Services-connector tilgjengelig
- Custom connectors: REST API-basert integrasjon
- AI Builder: Ikke direkte TTS-støtte (men kan kalle via Power Automate)

### Azure OpenAI

- OpenAI TTS voices tilgjengelig i Azure Speech (North Central US, Sweden Central)
- Også tilgjengelig direkte via Azure OpenAI TTS API
- Støtter `tts-1` og `tts-1-hd` modeller (alloy, echo, fable, onyx, nova, shimmer)

### Microsoft Agent Framework

- TTS kan brukes som output-kanal i agent-arkitektur
- Voice Live API: Kombinerer STT, LLM, og TTS i én WebSocket-forbindelse
- Avatar-integrasjon: Real-time avatar synthesis med TTS

### Azure Services

| Tjeneste | Integrasjonspunkt |
|----------|-------------------|
| **Azure Functions** | Call Speech SDK fra serverless function |
| **Azure Logic Apps** | HTTP action til REST API |
| **Azure Bot Service** | Innebygd TTS-støtte via Bot Framework |
| **Azure Media Services** | TTS output kan lagres i Media Services |
| **Azure Blob Storage** | Lagring av synthesized audio files |
| **Azure CDN** | Distribusjon av pre-generated audio |

## Offentlig sektor (Norge)

### GDPR og personvern

**Data som prosesseres:**
- Input text (kan inneholde personopplysninger)
- Voice samples (for custom/personal voice — biometrisk data)
- Synthesized audio output

**GDPR-vurdering:**
- Text input logges ikke av Microsoft (processed in-memory)
- Custom voice training data lagres i Speech resource (customer-controlled)
- Personal voice profiles er biometrisk data — krever eksplisitt consent
- Audio output er ikke persondata med mindre innholdet er det

**Anbefalinger:**
- Bruk Azure regions i EU (West Europe, North Europe) for data residency
- For custom voice: DPIA (Data Protection Impact Assessment) påkrevd
- Voice talent consent må dekke GDPR Art. 9 (biometric data)
- Implementer logging og audit trail for TTS requests

### Schrems II og datasuverenitet

**Utfordringer:**
- Azure Speech kjører i Microsoft-kontrollerte datasentre
- EU-US Data Privacy Framework gjelder for data transfers
- Custom voice modeller lagres i Azure region (customer choice)

**Mitigering:**
- Velg EU-baserte regions (West Europe, North Europe)
- Bruk Azure Confidential Computing for ekstra isolasjon (ikke direkte støttet for Speech per jan 2026)
- Contractual clauses: Standard Contractual Clauses (SCCs) dekker transfers

### AI Act (EU)

**Risikoklassifisering:**
- TTS er generelt **lav-risiko** AI (ikke i high-risk categories)
- **Unntak:** TTS for deepfakes eller manipulation → transparency-krav
- **Custom voice med voice cloning** → disclosure-krav

**Compliance-krav:**
- Disclosure: Brukere må informeres om at stemmen er syntetisk
- Transparency note: Microsoft tilbyr transparency note for custom voice
- Prohibited uses: Ikke bruk for manipulation, misinformation eller skade

**Anbefalinger:**
- Implementer explicit disclosure i UI ("This voice is AI-generated")
- Følg Microsoft's Code of Conduct for TTS integrations
- Voice talent consent må dekke AI Act-krav

### Forvaltningsloven og universell utforming

**Tilgjengelighetskrav:**
- TTS forbedrer tilgjengelighet for synshemmede (WCAG 2.1 AA)
- Offentlige nettsteder skal tilby skjermleserstøtte (Forvaltningsloven § 42)

**Anbefalinger:**
- Implementer TTS som standard accessibility feature
- Test med norske stemmer (nb-NO) for norsk offentlig sektor
- Kombiner med STT for full voice-basert navigasjon

### Språk og dialekter (Norge)

| Språk | Stemmer tilgjengelig | Kvalitet |
|-------|----------------------|----------|
| **Norwegian Bokmål (`nb-NO`)** | `nb-NO-PernilleNeural` (F), `nb-NO-FinnNeural` (M) | ⭐⭐⭐⭐ |
| **Norwegian Nynorsk** | Ikke støttet (bruk `nb-NO` med tekst-tilpasning) | — |
| **Samisk** | Ikke støttet | — |

**Utfordring:** Nynorsk og samisk ikke native støttet. Løsning: Translasjon før TTS eller custom voice training.

## Kostnad og lisensiering

### Prismodell (pr. januar 2026)

| Kategori | Enhet | Pris (estimat, sjekk Azure pricing) |
|----------|-------|-------------------------------------|
| **Standard Neural Voices** | Per character | ~$0.015 per 1000 characters |
| **HD Voices** | Per character | ~$0.03 per 1000 characters |
| **Custom Voice Training** | Per compute hour | ~$10-$50 per hour (cap: 96h) |
| **Custom Voice Hosting** | Per endpoint per hour | ~$0.05-$0.50 per hour |
| **Personal Voice Storage** | Per voice per day | ~$1-$5 per voice per day |
| **Personal Voice Synthesis** | Per character | Samme som standard voices |
| **Batch Synthesis** | Per character | Samme som standard voices |
| **Text-to-Speech Avatar** | Per second of video | ~$0.02-$0.10 per second |

**Viktig:** Priser varierer per region og er illustrative. Sjekk [Azure Pricing Calculator](https://azure.microsoft.com/pricing/details/cognitive-services/speech-services/) for eksakt prisnivå.

### Fakturering av tegn (billable characters)

- **Alle tegn teller:** bokstaver, tall, mellomrom, tegnsetting
- **SSML markup teller:** Alt unntatt `<speak>` og `<voice>` tags
- **Kinesiske tegn = 2× tegn** (også kanji, hanja, hanzi)
- **Ingen output = faktureres likevel** (hvis request er valid)

**Eksempel:**
```xml
<speak><voice name="en-US-AvaNeural">Hello, world!</voice></speak>
```
Billable characters: `Hello, world!` = 13 tegn (ikke `<speak>` eller `<voice>`)

### Kostnadsoptimalisering

| Strategi | Besparelse |
|----------|------------|
| **Cache synthesized audio** | 90%+ (for statisk innhold) |
| **Use standard voices over HD** | 50% |
| **Pre-generate common phrases** | 100% (ingen runtime-kostnad) |
| **Batch synthesis for long-form** | Ingen direkte saving, men bedre throughput |
| **Rate limit management** | Unngå throttling-kostnader |
| **Suspend custom voice endpoints** | 100% hosting-kostnad når ikke i bruk |

### Lisenskrav

- **Azure subscription** påkrevd (Pay-as-you-go, EA, CSP)
- **Speech resource** i Azure portal (S0 tier for production)
- **Free tier (F0)** tilgjengelig: 5 audio requests/month, 0.5M characters/month
- **Custom voice:** Krever Microsoft Foundry resource + Limited Access approval

### TCO-estimat (Total Cost of Ownership) — Eksempel

**Scenario:** Voice assistant for offentlig sektor (10,000 brukere/måned, 50 requests/bruker, 200 characters/request)

| Komponent | Kalkyle | Kostnad/måned (NOK) |
|-----------|---------|---------------------|
| **Characters** | 10,000 × 50 × 200 = 100M chars | ~15,000 kr |
| **Speech resource (S0)** | Fixed cost | 0 kr (PAYG) |
| **Bandwidth (egress)** | ~100 GB @ 48kHz WAV | ~100 kr |
| **Storage (cache)** | ~500 GB Blob Storage | ~100 kr |
| **Total** | — | **~15,200 kr/måned** |

**Custom voice-tillegg:**
- Training (one-time): ~20,000-50,000 kr (40 compute hours × ~500 kr/h)
- Hosting: ~4,000 kr/måned (24/7 endpoint)
- **Total første år:** ~230,000 kr

## For arkitekten (Cosmo)

### Spørsmål å stille kunden

1. **Hvilke språk må støttes, og er norsk bokmål tilstrekkelig eller trengs nynorsk/samisk?**
   - Hvis nynorsk: vurder custom voice training eller tekst-tilpasning før TTS.

2. **Er det behov for unik merkestemme, eller er standard neural voices godt nok?**
   - Custom voice krever Limited Access approval (4-6 ukers lead time) og voice talent consent.

3. **Skal TTS brukes i sanntid (chatbot) eller batch (audiobook)?**
   - Sanntid: Speech SDK med low-latency konfigurering.
   - Batch: Batch Synthesis API for filer >10 minutter.

4. **Hva er volumet av characters per måned, og hva er budsjettet?**
   - Bruk Azure Pricing Calculator for estimat. Cache statisk innhold for å spare penger.

5. **Er det krav til disclosure (AI-generert stemme) eller voice talent consent?**
   - Offentlig sektor + EU AI Act: Disclosure påkrevd for transparency.

6. **Skal løsningen integreres med eksisterende Microsoft-stack (Teams, Power Platform, Azure OpenAI)?**
   - Power Automate connector tilgjengelig. Azure OpenAI har egen TTS API.

7. **Hva er kravet til lydkvalitet: standard (24kHz), HD (48kHz), eller professional custom voice?**
   - HD voices koster 2× standard. Custom voice for ultimate kvalitet.

8. **Er det behov for prosody-kontroll (SSML) eller holder plain text?**
   - SSML gir kontroll over rate, pitch, volume, style — anbefalt for advanced use cases.

### Fallgruver og vanlige feil

| Fallgruve | Konsekvens | Hvordan unngå |
|-----------|------------|---------------|
| **Ikke test med norske stemmer** | Dårlig brukeropplevelse | Test `nb-NO-PernilleNeural` tidlig i prosjektet |
| **Over-estimert custom voice ROI** | Høye kostnader uten verdi | Start med standard voices, vurder custom etter MVP |
| **Glemmer voice talent consent** | Juridisk risiko | Følg Microsoft's consent guidelines og mal |
| **Ingen error handling** | App crasher ved rate limits | Implementer retry logic og fallback-stemme |
| **Hard-kodet stemmer** | Ikke skalerbart | Bruk konfigurasjon/database for voice selection |
| **Ignorerer GDPR** | Brudd på personvernforskriften | DPIA for custom voice, data residency i EU |

### Anbefalinger per modenhetsnivå

#### Nivå 1: Pilot / POC

- **Bruk:** Standard neural voices (`nb-NO-PernilleNeural`)
- **SDK:** Speech SDK (C# eller Python)
- **Output:** Speaker eller in-memory stream
- **Kostnad:** Free tier (F0) eller minimal PAYG
- **Tid:** 1-2 uker implementering

#### Nivå 2: MVP / Production

- **Bruk:** Standard neural voices eller HD voices
- **SDK:** Speech SDK med error handling og retry logic
- **Caching:** Azure Blob Storage for statisk innhold
- **Monitoring:** Application Insights for latency tracking
- **Kostnad:** PAYG (S0 tier)
- **Tid:** 4-6 uker implementering

#### Nivå 3: Enterprise / Custom Voice

- **Bruk:** Custom neural voice (Limited Access)
- **Training:** 40-90 compute hours (single/multi-style)
- **Hosting:** 24/7 endpoint deployment
- **Integration:** Power Platform, Azure OpenAI, Teams
- **Compliance:** GDPR, AI Act, voice talent consent
- **Kostnad:** 200,000-500,000 kr første år (training + hosting)
- **Tid:** 3-6 måneder (inkl. approval process)

#### Nivå 4: Advanced / Multi-Region / Avatar

- **Bruk:** Multi-region deployment (HA/DR)
- **Avatar:** Text-to-Speech Avatar (prebuilt eller custom)
- **Voice Live API:** Integrated STT + LLM + TTS pipeline
- **Geo-redundancy:** Multiple Speech resources (West Europe + North Europe)
- **Kostnad:** 500,000+ kr/år
- **Tid:** 6-12 måneder

### Sikkerhetsdesign-tips

- **API keys:** Bruk Azure Key Vault, ikke hardkod i kode
- **Managed Identity:** Foretrekk over service principals for Azure-integrasjoner
- **Network isolation:** Private Endpoints for Speech resources hvis mulig
- **Rate limiting:** Implementer client-side throttling før Azure rate limits
- **Audit logging:** Log alle TTS requests for compliance (Analytics Workspace)

## Kilder og verifisering

### Microsoft Learn (Verified via MCP)

| Kilde | Confidence | URL |
|-------|------------|-----|
| What is Text-to-Speech? | ✅ Verified | https://learn.microsoft.com/en-us/azure/ai-services/speech-service/text-to-speech |
| Customize voice and sound with SSML | ✅ Verified | https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-synthesis-markup-voice |
| How to synthesize speech from text | ✅ Verified | https://learn.microsoft.com/en-us/azure/ai-services/speech-service/how-to-speech-synthesis |
| Text-to-Speech FAQ | ✅ Verified | https://learn.microsoft.com/en-us/azure/ai-services/speech-service/faq-tts |
| Transparency note for TTS | ✅ Verified | https://learn.microsoft.com/en-us/azure/foundry/responsible-ai/speech-service/text-to-speech/transparency-note |
| Language support | ✅ Verified | https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=tts |
| Speech service pricing | ✅ Verified | https://azure.microsoft.com/pricing/details/cognitive-services/speech-services/ |
| Batch synthesis API | ✅ Verified | https://learn.microsoft.com/en-us/azure/ai-services/speech-service/batch-synthesis |
| Custom neural voice | ✅ Verified | https://learn.microsoft.com/en-us/azure/ai-services/speech-service/custom-neural-voice |
| Personal voice | ✅ Verified | https://learn.microsoft.com/en-us/azure/ai-services/speech-service/personal-voice-overview |

### Code Samples (Verified via MCP)

- C# Speech SDK: https://github.com/Azure-Samples/cognitive-services-speech-sdk
- Batch Synthesis samples: https://github.com/Azure-Samples/Cognitive-Speech-TTS
- Avatar samples: https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/samples/js/browser/avatar

### Confidence per seksjon

| Seksjon | Confidence | Basert på |
|---------|------------|-----------|
| Introduksjon | ✅ Verified | MCP docs_search + docs_fetch |
| Kjernekomponenter | ✅ Verified | MCP docs + code samples |
| Arkitekturmønstre | ⚠️ Baseline + Verified | Patterns fra docs + erfaring |
| Beslutningsveiledning | ⚠️ Baseline | Best practices (ikke eksplisitt i docs) |
| Integrasjon Microsoft-stakken | ✅ Verified (delvis) | Dokumentert for noen, baseline for andre |
| Offentlig sektor (Norge) | ⚠️ Baseline | GDPR/AI Act-vurdering ikke i MS docs |
| Kostnad og lisensiering | ✅ Verified | Pricing docs + examples |
| For arkitekten | ⚠️ Baseline | Praktisk erfaring, ikke dokumentert i MCP |

**Totalt antall MCP-kall:** 7 (4 × docs_search, 3 × docs_fetch, 1 × code_sample_search)
**Unike kilder:** 10+ Microsoft Learn-artikler
