Ich benutze häufig die Text-to-Speech-Funktion von Mac. Unter Einstellungen> Sprache> Text zu Sprache habe ich auch einen "Schlüssel" für den schnellen Zugriff festgelegt.
Da ich auch möchte, dass Text to Speech Deutsch liest und OS Lion Voices für andere Sprachen anbietet, hätte ich gerne eine zweite Verknüpfung für Deutsch.
Weiß jemand, wo ich das einstellen kann? Oder ist die einzige Möglichkeit, die Systemstimme ständig zu ändern, bevor ein deutscher Text gelesen werden soll? (Und dann die Stimme für englische Texte auf Alex zurücksetzen)? Und was ist mit französischem Text?
Welche Optionen gibt es für dieses allgemeine Problem?
macos
keyboard
text-to-speech
Joseph
quelle
quelle
Antworten:
Sagen Sie als ...
Sie können den
say
Befehl mit den anderen Stimmen von OS X verwenden, um verschiedene Sprachen abzurufen. Verwenden Sie dieThomas
Stimme, um die französische Aussprache zu erhalten, oderYannick
für Deutsch.In diesem Beispiel werde ich Thomas und Französisch verwenden, da dies das ist, was ich weiß, aber
Yannick
auch für deutschen Text funktionieren sollte.Versuchen Sie den folgenden Befehl unter Anwendungen> Dienstprogramme> Terminal.app :
Wenn dies akzeptabel ist, können Sie den
say
Befehl in einen Automator-Dienst einbinden. was wir als nächstes tun werden.Automator Service
So erstellen Sie den Automator-Service:
Kopieren Sie das folgende AppleScript und fügen Sie es ein:
So nutzen Sie den Dienst:
Et voilà! Andere Sprachen und Stimmen sind verfügbar.
Mit diesem Automator-Ansatz können Sie die Standardstimme Ihres Computers auf Ihre bevorzugte Sprache einstellen. Während der ausgewählte Text mit der alternativen Stimme gelesen werden kann.
Verfügbare Stimmen und Sprachen
Sie können die verfügbaren Stimmen und die zugehörigen Sprachen mit dem folgenden Befehl auflisten:
Die verfügbaren Stimmen können zwischen den Versionen von macOS wechseln. Unter macOS 10.13 gibt der Befehl Folgendes zurück:
quelle
Eine Art alter Beitrag und vielleicht haben Sie bereits eine Lösung gefunden. Eine Möglichkeit, dies zu vereinfachen, ist Automator.
Öffnen Sie Automator, wählen Sie Service, Service empfängt ausgewählten Text, ziehen Sie die Aktion "Speak Text", um einen Workflow zu erstellen, und wählen Sie Voice (zum Beispiel: Ryan Speaking) Save
Wiederholen Sie mit verschiedenen Stimmen.
(Die Diensteliste kann mit der Service Scrubber-Anwendung und teilweise unter Systemeinstellungen> Tastatur> Tastaturkürzel> Dienste bearbeitet / bereinigt werden.)
Bearbeiten: Nachdem Sie im Menü "Dienste" zwei oder mehr Stimmen haben, können Sie unter "Systemeinstellungen"> "Tastatur"> "Tastaturkürzel"> "Anwendungsverknüpfungen" eine neue Verknüpfung für jede Stimme erstellen.
Bisher funktioniert dies auf meinem Computer (OS 10.6.8) folgendermaßen: Standard-Systemstimme: Ryan (Infovox) -Verknüpfung, die in der Spracheinstellung für Control + S ausgewählt wurde. Dies startet und stoppt englischen Text.
Die deutsche Stimme habe ich Control + Y zugewiesen (Yannick-Stimme von Lion OS). Strg + Y startet die deutsche Stimme für den ausgewählten deutschen Text; Dies kann durch zweimaliges Klicken auf die Hauptstart- / Stoppverknüpfung gestoppt werden, hier Strg + S + S. Der Grund für zweimal ist, dass durch einmaliges Drücken die englische Stimme über die deutsche Stimme gestartet wird. Das ist das Beste, was ich bisher erreichen konnte. Stellen Sie sicher, dass die Verknüpfungen nicht mit anderen Verknüpfungen in Konflikt stehen. Sie werden feststellen, dass Sie mit der zusätzlichen Verknüpfung mehrere Voice-Threads starten können, die über einander sprechen, sowie die Standard-Systemstimme, die die Prozessoraktivität steigert. Dies ist jedoch kein Problem, wenn Sie daran denken, das Sprechen durch zweimaliges Ausführen der Verknüpfung für das zu beenden Standardstimme.
Ich bin mir nicht sicher, ob dies systemweit funktioniert, aber in meinen Browsern, Mail und der von mir verwendeten BookReader-App.
Bearbeiten 2: Ich habe festgestellt, dass der Automator Runner-Prozess beim Aktivieren einer sekundären Text-zu-Sprache-Stimme über den Automator-Dienst die Prozessoraktivität auf über 100% erhöht, wobei die Lüfter schneller werden. Ich bin mir nicht sicher, ob es eine Lösung dafür gibt.
quelle
Sie können die Systemstimme auch auf eine französische einstellen.
Gehen Sie zu Systemeinstellungen> Diktat & Sprache> Text zu Sprache und stellen Sie beispielsweise die Systemstimme ein
Thomas
.Dann:
Es gibt auch eine Option zum Festlegen einer Verknüpfung, sodass Sie einfach einen beliebigen Text auswählen und die Verknüpfung drücken können, um Französisch zu sprechen.
quelle
Ich habe ein Tool dafür geschrieben, gehe einfach zu:
https://github.com/Fredmf/polyglott
quelle
Starten Sie Automator.app
Erstellen Sie einen neuen Service
Fügen Sie eine Speak Text- Aktion hinzu
Wählen Sie Samantha
Speichern Sie den Dienst als SpeakSamantha
Richten Sie eine Tastenkombination für den Dienst ein
Öffnen Sie die Systemeinstellungen
Wählen Sie Tastatur
Wählen Sie Verknüpfungen
Wählen Sie Dienste
Erstellen Sie eine Verknüpfung, Befehl + Alt + 1 für SpeakSamantha
So nutzen Sie den Dienst
Öffnen Sie einen Browser
Wählen Sie einige englische Texte aus
Drücken Sie Befehlstaste + Alt + 1
Um die Rede zu stoppen (Methode 1)
Um die Rede zu stoppen (Methode 2)
Klicken Sie in der Menüleiste auf das sich drehende Zahnradsymbol
Klicken Sie auf das ⨂
Eine zweite Stimme hinzufügen
Wiederholen Sie den obigen Vorgang und fügen Sie die folgenden geringfügigen Änderungen hinzu
Wählen Sie eine zweite Stimme aus, zum Beispiel Anna , eine deutsche Stimme
Speichern Sie den Dienst als SpeakAnna
Erstellen Sie eine Tastenkombination, Befehlstaste + Alt + 2 für SpeakAnna
Ein bekanntes kleines Problem: Drücken Sie keine Tastenkombination erneut, bevor Sie die Rede beenden oder die Rede endet. Andernfalls erhalten Sie eine Fehlermeldung wie die folgende.
quelle
Die Verwendung eines benutzerdefinierten Dienstes mit der Standardaktion
Speak Text
zum Sprechen ausgewählten Textes mit einer bestimmten alternativen Stimme hat einen großen Nachteil, wie in der Antwort von Mikofox beschrieben :Sie können die Wiedergabe nicht einfach so stoppen, wie Sie es mit dem integrierten TTS-Dienst können, indem Sie einfach die Tastenkombination erneut drücken.
Es gibt zwei Lösungen :
Offenlegung: Ich habe die vorgefertigten Dienste und die
voices
CLI erstelltErstellen Sie stattdessen einen benutzerdefinierten Dienst mit einer
Run Shell Script
Aktion , in der Sie diesay
CLI verwenden , mit der Sie einen Wiedergabeschalter implementieren können (Anhalten der Sprache, wenn sie aufgerufen wird, während Sie noch vom vorherigen Aufruf sprechen).Alternativ können Sie einen Dienst erstellen, der die Standardstimme bei Bedarf umschaltet , sodass Sie den integrierten TTS-Dienst mit seiner Funktion zum Umschalten der Wiedergabe verwenden können.
voices
CLI basiert :Befolgen Sie die Anweisungen hier oder verwenden Sie den direkten Download-Link (bleibt aktuell).
Einfache Implementierung eines Dienstes mit Wiedergabeschalter :
Wie bereits erwähnt, werden die für die ausgewählte Stimme konfigurierten benutzerdefinierten Sprechraten nicht berücksichtigt.
Run Shell Script
Aktion hinzu und fügen Sie Folgendes ein:quelle
Wie von Mikofox erwähnt, können Sie einen Automator-Dienst zum Sprechen von Text erstellen:
In 10.8 und 10.7 gibt es einen Fehler, bei dem die Verknüpfungen für Automator-Dienste nicht immer funktionieren, bis Sie den Mauszeiger über das Dienstemenü in der Menüleiste bewegen.
WorkflowServiceRunner kann beim Sprechen von Text auch über 100% CPU verwenden.
Ich habe FastScripts verwendet, um diesem Skript eine Verknüpfung zuzuweisen:
Eine andere Möglichkeit besteht darin, einfach so etwas auszuführen
pbpaste | say -v kyoko
.quelle
echo 'Guten Tag. Wie geht es?' | pbcopy && pbpaste | say -v Anna