Script: *convert-txt2wav.ps1* ======================== This PowerShell script converts text to a .WAV audio file. Parameters ---------- ```powershell PS> ./convert-txt2wav.ps1 [[-Text] ] [[-WavFile] ] [] -Text Specifies the text to use Required? false Position? 1 Default value Accept pipeline input? false Accept wildcard characters? false -WavFile Specifies the path to the resulting WAV file Required? false Position? 2 Default value Accept pipeline input? false Accept wildcard characters? false [] This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. ``` Example ------- ```powershell PS> ./convert-txt2wav.ps1 "Hello World" spoken.wav ``` Notes ----- Author: Markus Fleschutz | License: CC0 Related Links ------------- https://github.com/fleschutz/PowerShell Script Content -------------- ```powershell <# .SYNOPSIS Converts text to a .WAV audio file .DESCRIPTION This PowerShell script converts text to a .WAV audio file. .PARAMETER text Specifies the text to use .PARAMETER WavFile Specifies the path to the resulting WAV file .EXAMPLE PS> ./convert-txt2wav.ps1 "Hello World" spoken.wav .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz | License: CC0 #> param([string]$Text = "", [string]$WavFile = "") try { if ($Text -eq "") { $Text = read-host "Enter text to speak" } if ($WavFile -eq "") { $WavFile = read-host "Enter .WAV file to save to" } Add-Type -AssemblyName System.Speech $SpeechSynthesizer = New-Object System.Speech.Synthesis.SpeechSynthesizer $SpeechSynthesizer.SetOutputToWaveFile($WavFile) $SpeechSynthesizer.Speak($Text) $SpeechSynthesizer.Dispose() exit 0 # success } catch { "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" exit 1 } ``` *(generated by convert-ps2md.ps1 using the comment-based help of convert-txt2wav.ps1 as of 08/15/2024 09:50:47)*