kathy92
Goto Top

Text-in-Sprache Stimmvorschau als AudioFIle speichern

Liebe Community

Ich teste gerade eine TTS Engine. nun klingt sie aber gar nicht so, wie sie klingen sollte.
Ich möchte dem Hersteller ein Wave-File schicken, wo das aufgenommen wird, was mir in der Stimmvorschau von Microsoft in den Spracheigenschaften vorgelesen wird.
Was ich genau meine, seht ihr im Anhang.

Gibt es einen Speicherort, wo Microsoft für diese Vorschaus eine Wave-Datei erstellt? oder kann ich das irgendwie aufnehmen?
Der Hersteller meinte, ich müsse einfach auf "die SPeichertaste drücken"...?

Danke für eure Hilfe.
tts engine

Content-ID: 377767

Url: https://administrator.de/forum/text-in-sprache-stimmvorschau-als-audiofile-speichern-377767.html

Ausgedruckt am: 26.12.2024 um 21:12 Uhr

colinardo
colinardo 21.06.2018 aktualisiert um 13:33:30 Uhr
Goto Top
Servus,
starte den Audiorekorder deiner Wahl und stelle die Quelle auf Stereo Mix oder ähnliche Bezeichnung (steht für die Aufzeichnung aller Sounds die du über deine Lautsprecher hören kannst) dann Aufzeichnung starten und TTS laufen lassen.
Gibt auch freie Programme dafür wie z.B. https://www.nch.com.au/soundtap/index.html

Alternativ kannst du beliebigen Text direkt per Powershell in ein WAV-File ausgeben lassen.
function TTS([string]$text,[string]$voice = "",[string]$output){  
    Add-Type -AssemblyName System.Speech
    $speaker = new-object System.Speech.Synthesis.SpeechSynthesizer
    if ($voice -ne ""){  
        $speaker.SelectVoice($voice)
    }
    $speaker.SetOutputToWaveFile($output)
    $speaker.Speak($text)
    $speaker.Dispose()
}
TTS "Das ist ein Test" -voice "" -output "D:\test.wav"  
Name des Sprach Synthesizers im Parameter -voice und den Pfadnamen zur Ausgabedatei musst du an deine Umgebung anpassen, ist der Parameter -voice leer wird der Systemstandard-Synthesizer benutzt.

Die Namen der installierten Synthesizer bekommst du so aufgelistet:
Add-Type -AssemblyName System.Speech
(new-object System.Speech.Synthesis.SpeechSynthesizer).GetInstalledVoices().VoiceInfo.Name

Es gibt auch einfache Frontends für diese Aufgabe.

Grüße Uwe