Add speak-italian.ps1

This commit is contained in:
Markus Fleschutz 2021-08-04 13:35:21 +02:00
parent 4d8f8b018a
commit 0f6adc6bc4
3 changed files with 36 additions and 0 deletions

View File

@ -185,6 +185,7 @@ speak-epub.ps1, speaks the content of the given Epub file by text-to-speech (TTS
speak-file.ps1, speaks the content of the given text file by text-to-speech (TTS)
speak-french.ps1, speaks the given text with a French text-to-speech (TTS) voice
speak-german.ps1, speaks the given text with a German text-to-speech (TTS) voice
speak-italian.ps1, speaks the given text with an Italian text-to-speech (TTS) voice
speak-joke.ps1, speaks the next joke by text-to-speech (TTS)
speak-test.ps1, performs a speak test by text-to-speech (TTS)
speak-text.ps1, speaks the given text by text-to-speech (TTS)

Can't render this file because it has a wrong number of fields in line 79.

View File

@ -25,6 +25,7 @@ Mega Collection of PowerShell Scripts
* [speak-file.ps1](Scripts/speak-file.ps1) - speaks the content of the given text file by text-to-speech (TTS)
* [speak-french.ps1](Scripts/speak-french.ps1) - speaks the given text with a French text-to-speech (TTS) voice
* [speak-german.ps1](Scripts/speak-german.ps1) - speaks the given text with a German text-to-speech (TTS) voice
* [speak-italian.ps1](Scripts/speak-italian.ps1) - speaks the given text with an Italian text-to-speech (TTS) voice
* [speak-joke.ps1](Scripts/speak-joke.ps1) - speaks the next joke by text-to-speech (TTS)
* [speak-test.ps1](Scripts/speak-test.ps1) - performs a speak test by text-to-speech (TTS)
* [speak-text.ps1](Scripts/speak-text.ps1) - speaks the given text by text-to-speech (TTS)

34
Scripts/speak-italian.ps1 Executable file
View File

@ -0,0 +1,34 @@
<#
.SYNOPSIS
speak-italian.ps1 [<text>]
.DESCRIPTION
Speaks the given text with an Italian text-to-speech (TTS) voice
.EXAMPLE
PS> .\speak-italian.ps1 Ciao
.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 "*- Italian*") { continue }
$Voice.Voice = $OtherVoice
[void]$Voice.Speak($Text)
exit 0
}
write-error "No Italian text-to-speech (TTS) voice found"
exit 1
} catch {
write-error "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}