PowerShell/Scripts/list-voices.ps1

32 lines
880 B
PowerShell
Raw Normal View History

2021-09-27 10:38:12 +02:00
<#
2021-07-16 17:34:03 +02:00
.SYNOPSIS
2021-10-07 11:27:34 +02:00
Lists the installed text-to-speech voices
2021-10-04 21:29:23 +02:00
.DESCRIPTION
2021-10-07 11:27:34 +02:00
This script lists the installed text-to-speech voices. It requires PowerShell 2.0 or higher.
2021-07-16 17:34:03 +02:00
.EXAMPLE
2021-09-24 17:19:49 +02:00
PS> ./list-voices
2021-09-29 21:50:10 +02:00
Name Culture Gender Age
---- ------- ------ ---
Microsoft David Desktop en-US Male Adult
Microsoft Zira Desktop en-US Female Adult
2021-08-29 17:50:03 +02:00
.NOTES
Author: Markus Fleschutz · License: CC0
2021-07-16 17:34:03 +02:00
.LINK
https://github.com/fleschutz/PowerShell
#>
2021-09-11 11:37:22 +02:00
2021-09-11 11:27:07 +02:00
#Requires -Version 2.0
2021-07-16 17:34:03 +02:00
try {
2021-09-11 11:12:32 +02:00
Add-Type -AssemblyName System.Speech
$Synth = New-Object System.Speech.Synthesis.SpeechSynthesizer
$Synth.GetInstalledVoices() |
2021-10-07 11:27:34 +02:00
Select-Object -ExpandProperty VoiceInfo |
Select-Object -Property Name, Culture, Gender, Age
2021-09-27 10:09:45 +02:00
exit 0 # success
2021-07-16 17:34:03 +02:00
} catch {
2021-09-16 20:19:10 +02:00
"⚠️ Error: $($Error[0]) ($($MyInvocation.MyCommand.Name):$($_.InvocationInfo.ScriptLineNumber))"
2021-07-16 17:34:03 +02:00
exit 1
}