web-dev-qa-db-ja.com

MacからWindows10への切り替え—テキスト読み上げサービスの統合

AppleのPOSIX準拠のファイルパスとコマンドラインインターフェイスの緊密な統合、およびそれらの歴史的に強力なハードウェアと製造標準は、何年もの間Macプラットフォームで私を支えてきました。しかし、Appleの最近のMacOSとそのハードウェアへの失望と鈍い焦点、そして第2世代のLenovoX1Yogaが私の注目を集めました。

ただし、OSの切り替えには、私が懸念している2つの一見克服できない領域があります。この投稿では、テキスト読み上げOSの統合に焦点を当てています。

MicrosoftNarrator のドキュメントを読んだことがありますが、役に立たないことがわかりました。確かに、私のユースケースは視覚障害とは関係ありません。私のユースケースの1つは、以下に概説するように、ナレーターが選択したテキストをのみ読み取ることです。たとえば、この2012 SuperUser post では、質問者に同じ問題があり、満足のいく回答が提供されていません。

また、「サードパーティのTTSアプリケーションにコピーして貼り付ける」だけでは不十分であることを強調したいと思います。私のMacでは、以下の私の#1シナリオで、入力を提供し、間にユーザーの介入なしでMP3TTSファイルを取得できます。 「say」コマンドを除いて、私もこれをオープンソースツールでのみ実行します。

私は長い間、Macのテキスト読み上げ統合を利用してきました。私はこれを3つの特定の方法で使用していますが、以下の組み合わせが私のユースケースの90%を定義しています。

  1. 後で読みたいメールから再フォーマットされたテキストを変換する
    • 私の現在のMacワークフロー:電子メールからソースをコピーし、HTMLを削除するvimスクリプトを使用して、読みたいテキストを残します。たとえば、このスクリプトは「silence」[slnc 2000]コマンドを挿入します。これは、読んだテキストを聞いたときに段落記号を識別するのに役立ちます。
    • テキストのマークアップが完了したら、フォーマットされたテキストを "say" コマンドに渡します。これにより、テキスト読み上げのAIFFが作成されます。
    • lame を使用して、これをmp3に変換し、 dropcaster を使用して、ポッドキャストクライアントが取得できる静的なパブリックロケーションにmp3をプッシュします。
    • Bashスクリプトのおかげで、上記の時間は5秒かかります。前回MacからWindowsに切り替えたとき、私はこれを持っていることを心から逃しました。私は過去に ReadAloudのTTソフトウェア を使用しましたが、常に上記よりも扱いにくいものでした。
  2. 私が作成している電子メールまたはドキュメントのライブ校正。 Macに書いたテキストを読み返してもらうと、エラーを見つけやすくなります。
    • はい、メモ帳にコピーして貼り付けることはできますが、それは不器用です。ナレーターのインターフェイスを見ると、Outlook、Firefox、Wordなどのアプリケーション間で選択したテキストをナレーターに読み取らせる方法を理解するのが非常に難しいことがわかりました。
  3. TTSを使用して、注意を必要としないタスクを実行しているときに聞きたい長い記事の選択したブラウザーテキストを読みます。
    • これは#2に似ていますが、読んだテキストに注意が向けられれば、ポッドキャスト用のファイルを作成する価値があると判断するかもしれません。そのため、#1のプロセスに移ります。
    • Firefoxには「リーダー」モードがあり、Windowsで大いに役立ちます。

私の質問は次のとおりです。

  1. Macの「say」コマンドと同様に、Win10でフォーマットされたテキストファイルを処理のためにMSバイナリに渡す同等の方法はありますか? dockerimages TTS固有であることがわかりますが、もっと厄介なようです。
  2. Windows 10ナレーターに、任意のアプリケーションでテキストを選択し、キーボードコマンドを呼び出し、Win10がTTSサービスを実行するのと同じくらい簡単な方法で、選択したテキストを読み取るネイティブな方法は何ですか?

私は彼らが異なるかもしれないが、上記を行うための同様の方法を開いています。ただし、「コピーしてメモ帳に貼り付ける」も問題です。私は、MSがAppleと同様に、アクセシビリティの宿題と展開を行ったことを望んでいます。


私がこの質問を探求し続けるときの自己へのいくつかのメモ

  • pythonスクリプト内でTTSを有効にするpythonパッケージがいくつかあります。最初はこれは有望に見えましたが、ここで概説したpythonメソッドに焦点を当てたいくつかの致命的な問題があります: https://pythonprogramminglanguage.com/text-to-speech/
    • Pyttsxのインストールで問題が発生しました。 py2.7.13とpy3.6.1をbrew-installしましたが、pip3またはpipを使用すると、どちらのバージョンも正常にインストールできませんでした。元のpyttsxはpy2で、py3用のフォークがあります。設計ではpythonモジュールがネイティブTTSエンジンを使用する必要があるため、これは残念です。 pyttsxがpython3で動作し、プロジェクトがよりアクティブである場合、モジュールの障害のトラブルシューティングをより受け入れやすくなります。提案された回答に対する私のコメントを読むことができます ここ
    • pyTTSはGoogleTTSを使用します。これは良さそうに聞こえますが、必然的にインターネット接続が必要です。ネイティブのTTS機能と一致させたいので、これはこのオプションを無効にします。
  • Dockerオプションがあります https://github.com/parente/espeakbox うまく機能しますが、音声はTTSが6年以上前にあった場所です。パフォーマンスの高いTTSエンジンを作成したいという作者の願望を尊重しますが、MacのネイティブTTSが大好きで、これと同等になりたいと思っています。[.____]
    • MerlinFestival などの他のTTS非ネイティブオプションで遊んでいると、TTSの品質はMacやWindowsのネイティブTTSと同等ではありません。
  • LưuVĩnhPhúc の提案によると、このページのように、ネイティブWindows TTSを自動化するのは簡単なようです: https://www.pdq.com/blog/powershell-text -to-speech-examples / 。私は解決策に近づきます。
2
Screenack

MS Officeは、Windowsに統合されるずっと前から(Vista以降)、テキスト読み上げをサポートしてきました。その結果、いつでもMS Wordを開いて、ドキュメントを読み取らせることができます。リボン/クイックアクセスツールバーにSpeakボタンを追加し、テキストを選択してクリックするか、話す機能へのショートカットを割り当てるだけです。

Speak menu

ナレーターもこの機能をサポートしています。ショートカットリストを確認するだけです

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

ナレーターでテキストを読み上げる

Windows 8ナレーターに、私が具体的に読むように指示したものだけを読み取り、それ以外の場合は完全にサイレントのままにするように指示する方法は?

Windows 10はスキャンモードをサポートしているため、高速化できます 。で切り替えることができます Caps lock+Spacebar


ただし、ナレーターはMS Officeではうまく機能しないため、テキストを外部アプリケーションにコピーする必要があります。これはAutoHotkeyで実現できます。選択したテキストをコピーして、以下のVBSスクリプトにフィードする必要があります

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

愚かなオタクのトリック:コンピュータに話しかける方法

単純なテキストと比べて、ウェブページを読むときに何か違いはないと思います。しかし、これをチェックしてください Webページのコンテンツを読むためにナレーターを使用する方法は?

Windows上の他のいくつかのTTSアプリケーションが見つかります ここ


テキストを読む出力は、そこにあるたくさんのソフトウェアで記録することができます。それを聞きたくなく、出力ファイルを保存する必要がある場合は、GraphStudioNext(K-liteコーデックパックに含まれています)などのストリームミキシングソフトウェアを使用して、出力ストリームをファイルにリダイレクトします。必要に応じて、その前にmp3に変換します

GraphStudioNext

上記のすべては、スクリプトを使用して自動化できます。バッチファイルを忘れてください。PowerShellは非常に強力で、Bashで実行できるすべてのことを実行できます。テキストからフォーマットを取り除き、編集できるので、vimscriptは必要ありません。 Windows用のvimもあります。または、必要に応じて、WindowsまたはCygwinにいつでもbashをインストールできます。 GUIの自動化はAutoHotKeyでも実行できます。

3
phuclv