Script PowerShell per guardar la llista de veus en un fitxer .txt

Add-Type -AssemblyName System.Speech
$synth = New-Object System.Speech.Synthesis.SpeechSynthesizer

# Ruta on es desarà el fitxer (escriptori de l'usuari actual)
$outputPath = [System.IO.Path]::Combine([Environment]::GetFolderPath("Desktop"), "Veus_Instal·lades.txt")

# Obtenir les veus i formatejar-les
$voicesInfo = $synth.GetInstalledVoices() | ForEach-Object {
    $voice = $_.VoiceInfo
    "Nom: $($voice.Name)`nIdioma: $($voice.Culture)`nGènere: $($voice.Gender)`nEdat: $($voice.Age)`nDescripció: $($voice.Description)`n---"
}

# Escriure-ho al fitxer
$voicesInfo | Out-File -FilePath $outputPath -Encoding UTF8

# Mostrar confirmació
Write-Output "Llista de veus desada a: $outputPath"

Nom: Microsoft Zira Desktop
Idioma: en-US
Gènere: Female
Edat: Adult

Descripció: Microsoft Zira Desktop – English (United States)

Nom: Microsoft Hazel Desktop
Idioma: en-GB
Gènere: Female
Edat: Adult

Descripció: Microsoft Hazel Desktop – English (Great Britain)

Nom: Microsoft Helena Desktop
Idioma: es-ES
Gènere: Female
Edat: Adult

Descripció: Microsoft Helena Desktop – Spanish (Spain)

Nom: Microsoft Hortense Desktop
Idioma: fr-FR
Gènere: Female
Edat: Adult

Descripció: Microsoft Hortense Desktop – French

Nom: Vocalizer Expressive Jordi Harpo 22kHz
Idioma: ca-ES
Gènere: Male
Edat: Adult

Descripció: Vocalizer Expressive Jordi Harpo 22kHz