15 lines
511 B
PowerShell
15 lines
511 B
PowerShell
# Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser
|
|
param(
|
|
[Parameter(Mandatory=$true)][int]$voicenum,
|
|
[Parameter(Mandatory=$true)][string]$textfile
|
|
)
|
|
|
|
Add-Type -AssemblyName System.Speech;
|
|
$speak = New-Object System.Speech.Synthesis.SpeechSynthesizer;
|
|
$voiceoptions = $speak.GetInstalledVoices("en-US");
|
|
$voice = $voiceoptions[$voicenum % $voiceoptions.count];
|
|
$speak.SelectVoice($voice.VoiceInfo.Name);
|
|
$speak.Rate="0";
|
|
$text = Get-Content -Path $textfile;
|
|
$speak.Speak($text);
|