Uwielbiam funkcję zamiany tekstu na mowę w systemie Mac OS X. Ponieważ nie jestem rodzimym językiem angielskim, cieszę się z wszystkich dodatkowych języków dodanych od czasu premiery Lion. Jednak używam angielskiego, jak również mojego języka ojczystego (niemieckiego). Zmiana głosów jest trochę uciążliwa. To wymaga tylko zbyt wielu kroków, aby być wygodnym.
Czy jest jakiś sposób, aby to ułatwić? Szukałem skrótów, może rozwijanego menu gdzieś w prawym rogu, wszystko byłoby w porządku.
Ponieważ moje wyszukiwanie nie powiodło się, mam nadzieję znaleźć tutaj porady na temat SuperUser. Wielkie dzięki!
cu Roman
Odpowiedzi:
Użyłem FastScripts, aby przypisać skrót do tego skryptu:
Możesz także utworzyć usługę w Automatorze:
W wersjach 10.7 i 10.8 występuje błąd, w którym skróty do usług Automatora nie zawsze działają, dopóki nie najedziesz myszą na menu usług z paska menu. WorkflowServiceRunner może również używać ponad 100% procesora podczas mówienia tekstu.
Inną opcją byłoby użycie skryptu interfejsu użytkownika do zmiany między dwoma głosami:
Zmiana klucza SelectedVoiceID w com.apple.speech.voice.prefs.plist również działa, ale nie wiem, jak zastosować zmiany natychmiast.
źródło
~/Library/Preferences/com.apple.speech.voice.prefs.plist
natychmiast, uruchompkill com.apple.speech.speechsynthesisd
, co spowoduje, że system automatycznie zrestartuje proces, w którym momencie zmiany są odbierane.Dziękuję bardzo Lauryi.
Rozszerzyłem twoje podejście do skryptowania interfejsu użytkownika, aby działało poprawnie z głosami niemieckim i angielskim. Problem polega na tym, że gdy językiem systemu nie jest angielski, wszystkie języki niesystemowe są ukryte (jeśli nie są aktualnie wybrane). Musisz wybrać: pokaż więcej głosów .. najpierw, aby przejść do żądanego języka. W moim kodzie brakuje odrobiny elegancji, ale działa. Oto jest (zaktualizowany):
źródło
Bezpośrednie zmiany
~/Library/Preferences/com.apple.speech.voice.prefs.plist
nie są tak naprawdę potrzebne, jeśli otrzymasz głosy skryptu bash, które naprawdę dodają wszystkie potrzebne funkcje wiersza poleceń.Skrypt Apple, aby zmienić standardowy głos na Alex za pomocą głosów, wyglądałby tak:
Wolę terminal i zamiast testować wtargnięcie paska menu w poliglocie, stworzyłem ten (co prawda głupi) skrypt powłoki (który używa głosów) na moje potrzeby zmiany języka. Dzięki temu wszystko, co robię, aby zmienić domyślny język, to wejść do terminala, aby wpisać
speak swedish
lubspeak french
. To doskonale pasuje do mojego przepływu pracy. Mam nadzieję, że znajdziesz rozwiązanie, które pasuje do twojego.Zapisuję go w moich skryptach jako „speak.command”, chmod it + x i dodam odpowiedni alias do mojego .bash_profile, aby wywołać go, wpisując
speak
.źródło
Napisałem do tego narzędzie paska stanu:
https://github.com/Fredmf/polyglott
Wygląda na to, że nadal działa w Sierra
źródło