Text zu Audio Datei erstellen mit PowerShell
Mit PowerShell und dem Assembly System.Speech
ist es möglich einen Text zu Audio Datei erstellen zu lassen von einem vordefinierten Text. Hierzu gibt man einen Text an, welcher dann mit der Microsoft Stimme in eine Audio-Datei gewandelt wird. Mehr dazu nachfolgend.
Text zu Audio Datei wandeln mit PowerShell und Microsoft Stimmen (Cortana)
PowerShell ist inzwischen sehr mächtig und man kann sogar einen vordefinierten Text in eine Audio Datei (.wav) wandeln. Hierzu benötigt man das Assembly System.Speech unter Windows, welches man mit Add-Type in PowerShell hinzufügt. Außerdem erzeugen wir dann sofort ein neues Objekt des SpeechSynthesizer.
Add-Type -AssemblyName System.Speech $SpeechSynthesizer = New-Object System.Speech.Synthesis.SpeechSynthesizer
Aber es ist nicht nur ein einfaches Text zu WAV möglich, sondern man kann die Stimme ändern, oder sogar die Geschwindigkeit bestimmen. Die installierten Stimmen findet man übrigens in Windows Text-To-Speech oder auf Deutschen Windows Systemen in den Einstellungen unter Spracherkennung.
$SpeechSynthesizer.SelectVoice("Microsoft Stefan") $SpeechSynthesizer.Rate = 0 # -10 am langsamsten, 10 ist am schnellsten
Die zu verwendende Stimme für die Audio Datei ist aber optional und kann auch auskommentiert werden. Dann wird für den Text die Standard-Sprache von Cortana verwendet.
Als nächsten müssen wir eine Ausgabe-Audio-Datei im .wav-Format definieren, in die der Text mit PowerShell erzeugt wird.
$WavFileOut = Join-Path -Path $env:USERPROFILE -ChildPath "Desktop\cortana-text-to-audio-demo.wav" $SpeechSynthesizer.SetOutputToWaveFile($WavFileOut)
Zum Schluss muss natürlich noch der Text definiert werden, welcher in die Audio-Datei erzeugt werden soll. Dieser wird in einer Variable übergeben und in die WAV-Datei erzeugt.
$YourText = ' Mit PowerShell kann man Cortana Audio Dateien erstellen. Mehr dazu findet ihr auf www.ITnator.net ' $SpeechSynthesizer.Speak($YourText) $SpeechSynthesizer.Dispose()
Sind diese Schritte in einem kompletten Script zusammengefasst und ausgeführt, so hat man erfolgreich seine erste Audio Datei aus einem Text mit PowerShell erstellt.
Das ganze könnte sich dann so anhören: