何もしなくてもMacだと選択範囲を右クリックから
スピーチ
-> 読み上げを開始
でも読み上げが可能である
しかし、読み上げスピードを変更したり、読み上げのボイスの変更のやり方がわからなかったので、今回試した方法を書く
環境
- Mac
- Google Chrome
- BettorTouchTool (以下BTTと略す)
- Auto Copy (Chrome Extension)
要約
BTTのTrigger Predefined ActionでExecute Terminal Command
を選択して
/usr/bin/pbpaste | /usr/local/bin/nkf -w | say
と設定する(BTTのtriggerはお好きなもので)
Auto Copyを使う
ツールの説明
- BTT
- 省略
- Auto Copy
- 文字を選択すると自動でコピーしてくれるツールである。
もちろんCommand + C
全く問題ないが、更に快適にするために導入した
- 文字を選択すると自動でコピーしてくれるツールである。
スクリプトの解説
/usr/bin/pbpaste | /usr/local/bin/nkf -w | say -r 300 -v Kyoko
- pbpaste
- クリップボードの結果を出力
- nkf
- 文字コードや改行コードについて処理してくれる
- デフォルトではないので、インストールの必要あり(
$ brew install nkf
など)
- デフォルトではないので、インストールの必要あり(
- 読み上げる文字が英字の場合はnkfは必要ないが、日本語だと、BTTやAutomator上だとpbpasteの出力がASCIIとなりエラーになる。(sayはUTF-8のみらしい。また、適当なterminal上ではUTF-8になるのでエラーは起きなかった)
- したがって、今回はnkfでUTF8に変換することにした
- 文字コードや改行コードについて処理してくれる
- say
- 読み上げコマンド
- オプション
-
-f 300
で、1分間に300文字 -
-v Kyoko
でKyokoに読ませる(英字の場合は、変更の必要がある)
-
コメント
- 今回は違う用途でしたが、英語の学習で役に立つのではと思っています。その場合は
nkf
はいらないので以下のようにすれば問題ありません
/usr/bin/pbpaste | say -r 120 -v Alex