Umstellung von Mac auf Windows 10 - Integration von Text-zu-Sprache-Diensten

1187
Screenack

Die enge Integration von POSIX-kompatiblen Dateipfaden und einer Befehlszeilenschnittstelle sowie die historisch starken Hardware- und Fertigungsstandards von Apple beschäftigen mich seit Jahren mit der Mac-Plattform. Allerdings hat Apples jüngst enttäuschender und glanzloser Fokus auf MacOS und seine Hardware sowie ein Lenovo X1 Yoga der zweiten Generation meine Aufmerksamkeit auf sich gezogen.

Der Wechsel des Betriebssystems hat jedoch zwei scheinbar unüberwindbare Bereiche, die mich betreffen. Dieser Beitrag konzentriert sich auf die Integration von Text-zu-Sprache-Betriebssystemen.

Ich habe die Dokumentation zu Microsoft Narrator durchgelesen, die ich nicht hilfreich finde. Zugegeben, mein Anwendungsfall hat nichts mit Sehbehinderung zu tun. Einer meiner Anwendungsfälle ist, dass Narrator nur ausgewählten Text liest, wie ich unten skizziere. In diesem SuperUser-Beitrag von 2012 hat der Fragesteller beispielsweise dasselbe Problem, ohne dass eine zufriedenstellende Antwort vorliegt .

Ich möchte auch betonen, dass "Kopieren und Einfügen in eine TTS-Anwendung eines Drittanbieters" unbefriedigend ist. Auf meinem Mac kann ich eine Eingabe bereitstellen und eine MP3-TTS-Datei ohne Benutzereingriff für mein Szenario Nr. 1 unten erhalten. Ich führe dies auch nur mit Open Source-Werkzeugen aus, mit Ausnahme des Befehls "say".

Ich habe die Text-zu-Sprache-Integration von Mac schon lange ausgenutzt. Ich verwende es auf drei verschiedene Arten, obwohl eine Kombination der folgenden Werte 90% meiner Anwendungsfälle ausmacht.

  1. Konvertieren von neu formatiertem Text aus E-Mails, die ich mir zu einem späteren Zeitpunkt vorgelesen hätte
    • Mein aktueller Mac-Workflow: Ich kopiere die Quelle aus meiner E-Mail, verwende ein vim-Skript, das HTML entfernt, und lässt den Text, den ich gelesen haben möchte. Zum Beispiel fügt dieses Skript einen "Schweigen" [slnc 2000]-Befehl ein, der mir hilft, Absatzmarken zu identifizieren, wenn ich den gelesenen Text höre.
    • Nachdem das Text-Markup abgeschlossen ist, übergebe ich den formatierten Text über den Befehl "say", wodurch eine AIFF-Textdatei erstellt wird.
    • Mit lahm, ich wandle diese dann in eine mp3 und mit dropcaster, drücken Sie die MP3-Dateien zu einem statischen öffentlichen Ort, an dem mein Podcast - Client abgerufen werden kann.
    • Dank der Bash-Skripts dauert das Obige 5 Sekunden meiner Zeit. Als ich das letzte Mal von Mac zu Windows gewechselt habe, habe ich das sehr vermisst. Ich habe in der Vergangenheit die TT-Software von ReadAloud verwendet, war aber immer etwas klüger als die oben genannte.
  2. Live-Korrekturlesen von E-Mails oder Dokumenten, die ich erstelle. Ich finde Fehler leichter, wenn mein Mac meinen geschriebenen Text mir zurückgelesen hat.
    • Ja, ich kann in Notepad kopieren und einfügen, aber das ist unbeholfen. Bei der Betrachtung der Benutzeroberfläche von Narrator fiel es mir sehr schwer, herauszufinden, wie man Narrator dazu bringt, ausgewählten Text in Anwendungen, z. B. Outlook, Firefox, Word usw., zu lesen.
  3. Verwenden von TTS zum Lesen des ausgewählten Browsertextes in langen Artikeln, die ich hören möchte, wenn ich nicht aufmerksamkeitsstarke Aufgaben erledige.
    • Dies ist ähnlich wie in # 2, aber ich kann mir vorstellen, dass es sich lohnt, eine Datei für den Podcast zu erstellen, wenn der gelesene Text meine Aufmerksamkeit auf sich zieht und ich zu einem # 1-Prozess wechseln möchte.
    • Firefox hat einen "Reader" -Modus, der unter Windows gut funktioniert und gut funktioniert.

Meine Fragen sind:

  1. Gibt es eine gleichwertige Möglichkeit, eine formatierte Textdatei unter Win10 an eine MS-Binärdatei zur Verarbeitung zu übergeben, ähnlich dem Befehl "say" auf dem Mac? Ich sehe Docker- Bilder, die TTS-spezifisch sind, was meiner Meinung nach klüger erscheint.
  2. Was ist der native Weg, um Windows 10 Narrator so auszuwählen, dass der ausgewählte Text auf eine einfache Art und Weise gelesen wird, wie das Auswählen von Text in einer beliebigen Anwendung, das Aufrufen eines Tastaturbefehls und das Ausführen von TTS-Diensten durch Win10?

Ich bin offen, es kann anders sein, aber es gibt ähnliche Möglichkeiten, dies zu tun. "Kopieren und Einfügen in den Notizblock" ist jedoch auch ein Nachteil. Ich hoffe, dass MS ihre Zugänglichkeitsaufgaben erledigt und eingesetzt hat, wie es Apple getan hat.


Einige Notizen an mich selbst, während ich diese Frage weiter untersuche

  • Es gibt mehrere Python-Pakete, die TTS innerhalb eines Python-Skripts aktivieren. Zuerst das sah vielversprechend aus, aber es gibt mehrere tödliche Probleme, die sich auf die Python - Methoden, die hier beschrieben: https://pythonprogramminglanguage.com/text-to-speech/
    • Ich hatte Probleme bei der Installation von Pyttsx. Ich habe py2.7.13 und py3.6.1 installiert und konnte mit pip3 oder pip keine der beiden Versionen erfolgreich installieren. Das ursprüngliche pyttsx ist py2, mit einer Gabel für py3. Dies ist zu schade, da das Design verlangt, dass das Python-Modul die native TTS-Engine verwendet. Wenn pyttsx mit python3 gearbeitet hätte und das Projekt aktiver wäre, wäre ich für die Fehlersuche des Moduls besser geeignet. Sie können meine Kommentare zu einer vorgeschlagenen Antwort hier lesen .
    • pyTTS verwendet Google TTS. Das hört sich gut an, erfordert aber unbedingt eine Internetverbindung. Da ich die native TTS-Funktion anpassen möchte, wird diese Option in Frage gestellt.
  • Es gibt eine Docker-Option, https://github.com/parente/espeakbox funktioniert großartig, aber die Stimme ist, wo TTS vor 6+ Jahren war. Ich respektiere zwar den Wunsch des Autors, eine performante TTS-Engine zu entwickeln, aber ich liebe Macs natives TTS und ich möchte mit diesem gleichwertig sein.
    • Wenn Sie mit anderen nicht-nativen TTS-Optionen wie Merlin oder Festival spielen, entspricht die TTS-Qualität nicht dem nativen Mac oder Windows-nativen TTS.
  • wie pro Lưu Vĩnh Phúc ‚s Vorschlag, erscheint es einfach, native Windows TTS zu automatisieren, wie pro Seite: https://www.pdq.com/blog/powershell-text-to-speech-examples/ . Ich komme einer Lösung näher.
2
Ich habe mich während des gesamten College stark auf die TTS-Funktionen von Apple gestützt. Nach neun Jahren Arbeit mit Windows-Betriebssystemen bin ich immer noch sehr enttäuscht über die Herangehensweise der MS und die Implementierung ihrer Sprachdienste. Ich habe immer noch keinen Weg gefunden, Narrator dazu zu bringen, ausgewählten Text zu lesen. Er stürzt immer ab (Win 8/10) und ist NICHT universell für Apps, die TEXT enthalten. Selbst mit der neuen API für Windows liegen sie bei dieser Eingabehilfe weit hinter Apple zurück. -PS: Die Leseransicht von FF war wirklich eine rettende Gnade, die ich mittlerweile ziemlich oft verwendet habe. Leider sind nicht alle Seiten kompatibel. Buffalo vor 6 Jahren 0

1 Antwort auf die Frage

3
phuclv

MS Office unterstützt Text-to-Speech lange vor seiner Integration in Windows (seit Vista). Daher können Sie MS Word jederzeit öffnen und das Dokument für Sie lesen lassen. Fügen Sie die SpeakSchaltfläche einfach der Multifunktionsleiste / der Symbolleiste für den Schnellzugriff hinzu, wählen Sie den Text aus und klicken Sie darauf, oder weisen Sie der Sprachfunktion eine Verknüpfung zu

Speak menu

Der Sprecher unterstützt auch diese Funktion. Sie müssen nur die Verknüpfungsliste überprüfen

Ctrl + Shift + Spacebar Read the entire selected window Ctrl + Alt + Spacebar Read the items that are selected in the current window Insert + Ctrl + G Read a description of the items that appear next to the currently selected element Ctrl Stop Narrator from reading text Insert + F3 Read the current character Insert + F4 Read the current word Insert + F5 Read the current line Insert + F6 Read the current paragraph Insert + F7 Read the current page Insert + F8 Read the current document  Caps Lock + H Read document Caps Lock + U Read next page Caps Lock + Ctrl + U Read current page Caps Lock + Shift + U Read previous page Caps Lock + I Read next paragraph Caps Lock + Ctrl + I Read current paragraph Caps Lock + Shift + I Read previous paragraph Caps Lock + O Read next line Caps Lock + Ctrl + O Read current line Caps Lock + Shift + O Read previous line Caps Lock + P Read next word Caps Lock + Ctrl + P Read current word Caps Lock + Shift + P Read previous word  Swipe up with three fingers Read current window Swipe down with three fingers Start reading explorable text 

Hören Sie laut mit Narrator vorgelesenen Text

Wie kann ich sagen, dass Windows 8 Narrator nur lesen soll, was ich ausdrücklich sage und ansonsten absolut schweigen?

Windows 10 unterstützt den Scan-Modus, damit Sie schneller arbeiten können . Es kann mit Caps lock+ umgeschaltet werdenSpacebar


Narrator funktioniert jedoch nicht gut mit MS Office, daher müssen Sie den Text in eine externe Anwendung kopieren. Dies kann mit einem AutoHotkey erreicht werden. Es muss den ausgewählten Text kopieren und in das untenstehende VBS-Skript einspeisen

Dim text, sapi Set text = WScript.Arguments(0) Set sapi = CreateObject("sapi.spvoice") sapi.Speak text 

Dumme Geek-Tricks: Wie Sie Ihren Computer dazu bringen, mit Ihnen zu sprechen

Ich glaube nicht, dass es beim Lesen einer Webseite etwas anderes ist als bei einem einfachen Text. Aber überprüfen Sie diese Informationen. Wie kann man Erzähler verwenden, um den Inhalt von Webseiten zu lesen?

Einige andere TTS-Anwendungen unter Windows finden Sie hier


Die Textleseausgabe kann mit einer Menge Software draußen aufgezeichnet werden. Wenn Sie es nicht hören möchten und nur die Ausgabedatei speichern müssen, verwenden Sie eine Stream-Mixing-Software wie GraphStudioNext (im K-lite-Codec-Pack enthalten) und leiten Sie den Ausgabestrom in eine Datei um. Konvertieren Sie vorher in MP3, falls erforderlich

GraphStudioNext

Alle oben genannten Dinge können mit einem Skript automatisiert werden. Vergessen Sie die Batch-Datei. PowerShell ist sehr leistungsfähig und kann alles, was mit Bash möglich ist. Es kann das Format aus dem Text entfernen und bearbeiten, sodass kein Vimscript erforderlich ist. Es gibt auch vim für Windows. Bei Bedarf können Sie bash immer unter Windows oder Cygwin installieren. Die GUI-Automatisierung kann auch mit AutoHotKey durchgeführt werden.

Ich werde meine Hauptfrage aktualisieren, um darauf hinzuweisen, dass ich die Dokumentation zu MS Narrator gelesen habe. Ihre Anleitung hilft mir nicht, zuverlässig mit TTS zusammenzuarbeiten. Ich bin nicht alleine; https://superuser.com/questions/485318/how-to-tell-windows-8-arrier-to-read-only-was-i-spezifisch-tell-it-to-read-. Wenn ich in Firefox die Option Narration aktiviere und zufälligen Text auswähle, z. B. einen beliebigen Text in dieser URL, wird nichts gesprochen, wie der von mir angegebene Link anzeigt. Es ist ein alter Beitrag. Ich habe es gerade ausprobiert und kein Erfolg für die "CTL-ALT-Leertaste" und den aktuell ausgewählten Text. Kopieren und Einfügen in eine Drittanbieter-App ist unbefriedigend. Screenack vor 6 Jahren 1
Sie können ein Skript schreiben, um den Text zu kopieren und der TTS-Engine auf einfache Weise zuzuführen und eine Verknüpfung zum Ausführen des Skripts festzulegen phuclv vor 6 Jahren 0
Ja, das sehe ich jetzt. Ich habe meine Notizen weiter aktualisiert. Screenack vor 6 Jahren 0