Text-to-Speech in GoldenDict

844
Mohammad Dehghan

Ich weiß, wie ich GoldenDict unter Linux mit einer Text-zu-Sprache-Funktion ausstatten kann, aber ich habe überall nach einer Lösung für Windows gesucht und nichts gefunden.

0

1 Antwort auf die Frage

0
Mohammad Dehghan

Die gleiche Lösung sollte unter Windows funktionieren, aber Sie benötigen etwas Äquivalentes espeak.

Hier ist ein PowerShell-Ausschnitt, der mithilfe von .NET-Klassen Text liest:

Add-Type -AssemblyName System.speech $speak = New-Object System.Speech.Synthesis.SpeechSynthesizer $speak.Speak('Hello.') 

Hier ist der entsprechende Befehl, der in der Windows-Eingabeaufforderung (cmd.exe) ausgeführt werden kann:

PowerShell -Command "Add-Type –AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('hello');" 

Unter Verwendung des obigen Befehl (und Ersetzen ‚Hallo‘ mit '% GDWORD%), und in den genannten Schritten über Post, können wir das Gleiche erreichen.

Hier sind die ganzen Schritte:

  1. Öffnen Sie GoldenDict und drücken Sie F3, um das Fenster Wörterbücher zu öffnen .

  2. Wählen Sie auf der Registerkarte " Quellen" die Registerkarte " Programme" .

  3. Klicken Sie auf die Add - Taste, wählen Sie Audio für die Art Spalte, geben Sie einen Namen ( „tts“ zum Beispiel) in der Namensspalte und den folgenden Befehl für die Befehlszeile Spalte:

    PowerShell -Command "Add-Type –AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('%GDWORD%');" 
  4. Vergessen Sie nicht, das Kontrollkästchen Aktiviert zu aktivieren .

  5. OK klicken

Dies verwendet die Standardstimme in Windows. Wenn Sie eine weibliche Stimme verwenden möchten, verwenden Sie stattdessen den folgenden Befehl:

PowerShell -Command "Add-Type –AssemblyName System.Speech; $s=(New-Object System.Speech.Synthesis.SpeechSynthesizer); $s.SelectVoiceByHints(2); $s.Speak('%GDWORD%');" 

Die Konfiguration der Voice ist einfach, wenn Sie ein .NET-Programmierer sind und PowerShell kennen.