PowerShell/Scripts/list-voices.ps1

32 lines
835 B
PowerShell
Raw Normal View History

2021-09-27 10:38:12 +02:00
<#
2021-07-16 17:34:03 +02:00
.SYNOPSIS
2023-10-19 08:15:17 +02:00
List installed text-to-speech voices
2021-10-04 21:29:23 +02:00
.DESCRIPTION
2023-10-19 08:15:17 +02:00
This PowerShell script queries the installed text-to-speech (TTS) voices and prints them to the console.
2021-07-16 17:34:03 +02:00
.EXAMPLE
2023-07-29 10:11:05 +02:00
PS> ./list-voices.ps1
2021-09-29 21:50:10 +02:00
2022-04-11 08:54:09 +02:00
Name Culture Gender Age
---- ------- ------ ---
Microsoft David Desktop en-US Male Adult
...
2021-07-16 17:34:03 +02:00
.LINK
https://github.com/fleschutz/PowerShell
2022-01-29 12:47:46 +01:00
.NOTES
2022-04-11 08:54:09 +02:00
Author: Markus Fleschutz | License: CC0
2021-07-16 17:34:03 +02:00
#>
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 {
2022-04-13 12:06:32 +02:00
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
2021-07-16 17:34:03 +02:00
exit 1
}