Speak With the SAPI COM Voice in PowerShell
Use the legacy SpVoice COM object as a lightweight text-to-speech option.
Run (New-Object -ComObject SAPI.SpVoice).Speak("your text") to speak.
01Command
Command
$ (New-Object -ComObject SAPI.SpVoice).Speak("Hello from PowerShell")02What it does
SAPI's SpVoice COM object predates .NET and often works where System.Speech is unavailable. It accepts flags to read from a file or to wait asynchronously, and the installed voices are shared with the modern synthesizer.
03Risk
!Warning: COM automation depends on the SAPI runtime being present; on locked-down systems the object may not be creatable.
04Undo
✓No undo needed — this command does not change persistent state.
05Sources
- SpVoice Object (SAPI 5.3)Evidence: Documents the SpVoice COM object and its Speak method.
Last verified: 2026-09-20 · Category: Media
06Related solutions
Grep on Windows: Select-String
Search inside text files and logs with regex, returning file, line number and match.
Zip Files with Compress-Archive
Create or update a .zip from any files or folder contents straight from PowerShell.
Test a TCP port connection on Windows with Test-NetConnection
A built-in PowerShell one-liner that answers 'is port 5432/3389/443 actually open through this network?' — no telnet client needed.