<# .SYNOPSIS speak-german.ps1 [] .DESCRIPTION Speaks the given text with a German text-to-speech (TTS) voice .EXAMPLE PS> .\speak-german.ps1 Hallo .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz License: CC0 #> param([string]$Text = "") try { if ($Text -eq "") { $Text = read-host "Enter the text to speak" } $Voice = new-object -ComObject SAPI.SPVoice $Voices = $Voice.GetVoices() foreach ($OtherVoice in $Voices) { $Description = $OtherVoice.GetDescription() if ($Description -notlike "*- German*") { continue } $Voice.Voice = $OtherVoice [void]$Voice.Speak($Text) exit 0 } write-error "No German text-to-speech (TTS) voice found" exit 1 } catch { write-error "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" exit 1 }