Només veus SAPI:
Add-Type -AssemblyName System.Speech
$synth = New-Object System.Speech.Synthesis.SpeechSynthesizer
$synth.GetInstalledVoices() | Select-Object -ExpandProperty VoiceInfo | Format-Table Name, Culture
Name Culture
—- ——-
Microsoft Zira Desktop en-US
Microsoft David Desktop en-US
Microsoft Helena Desktop es-ES
Vocalizer Expressive Jordi Harpo 22kHz ca-ES

per les veus modernes (OneCore),:
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens" | ForEach-Object {
$_.GetValue("")
}


Per instal·lar veus angleses (com les de Text-to-Speech o TTS) a Windows 11 mitjançant PowerShell, pots utilitzar el mètode de Add-WindowsCapability o mitjançant registres i eines COM, depenent de la versió de Windows i el tipus de veu (clàssica o de nova generació).
✅ Mètode 1: Instal·lar veus angleses amb Add-WindowsCapability
powershellCopiaModifica# Executar com a administrador
# Exemple per instal·lar veu anglesa dels EUA
--------------------------------------------------------------------------
Add-WindowsCapability -Online -Name "Language.Basic~~~en-US~0.0.1.0"
Add-WindowsCapability -Online -Name "Language.Speech~~~en-US~0.0.1.0"
Add-WindowsCapability -Online -Name "Language.TextToSpeech~~~en-US~0.0.1.0"
Aquest mètode funciona amb paquets de reconeixement de veu i sínt
Altres idiomes (en-GB, en-AU, etc.) també estan disponibles canviant en-US per l’identificador corresponent.
✅ Mètode 2: Afegeix l’idioma complet (amb TTS inclòs)
powershellCopiaModifica# Afegeix anglès dels EUA amb suport de veu
$LangList = New-WinUserLanguageList en-US
$LangList[0].Handwriting = $true
Set-WinUserLanguageList $LangList -Force
Això afegeix l’idioma, però per garantir que la veu estigui disponible, potser necessites reiniciar o obrir manualment la configuració perquè Windows acabi de descarregar els components.
🔄 Mètode avançat: Activar la veu al registre (només si ja està instal·lada)
powershellCopiaModifica# Exemple d'activació d'una veu anglesa si està instal·lada
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0" -Name "411" -Value "Microsoft Zira"
🧪 Com llistar les veus disponibles
powershellCopiaModificaAdd-Type –AssemblyName System.Speech
$synth = New-Object System.Speech.Synthesis.SpeechSynthesizer
$synth.GetInstalledVoices() | Select-Object -ExpandProperty VoiceInfo | Format-Table Name, Culture
❗ Notes
- Algunes veus modernes (com neural voices de Microsoft) només es poden utilitzar mitjançant serveis de núvol (Azure Cognitive Services).
- Executa sempre el script amb permisos d’administrador.
- Algunes veus poden necessitar connexió a Internet per descarregar-se després de la instal·lació.