## The *convert-txt2wav.ps1* Script This PowerShell script converts text to a .WAV audio file. ## Parameters ```powershell /home/mf/Repos/PowerShell/Scripts/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 "Hello World" spoken.wav ``` ## Notes Author: Markus Fleschutz | License: CC0 ## Related Links https://github.com/fleschutz/PowerShell ## Source Code ```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 "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*