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

**Last updated:** 2026-04 | Verified: MCP 2026-04
**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 Azure AI 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

### Azure AI 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/ai-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
