PowerShell Voice

[Reflection.Assembly]::LoadWithPartialName("System.Speech")
$voice = New-Object System.Speech.Synthesis.SpeechSynthesizer
$voice.SelectVoiceByHints("Female")
$voice.Speak("hello world")

$voice.GetInstalledVoices() | select -exp voiceinfo | ft

SpeechSynthesizer