音声合成(読み上げ)

iPhoneはiOS 13以降で言語の切り替えがシステムワイドにしか行えなくなったようだが,Macなら日本語環境で簡単に外国語をしゃべらせることができる。「システム環境設定」→「アクセシビリティ」→「読み上げコンテンツ」で,「システムの声」→「カスタマイズ」で声を追加する。米語の女声ならAvaやSamanthaが聞きやすそうだ(なぜかSiriは使えない)。例えばKindleで英語の本を開いて,「ツール」→「読み上げ機能を開始」(⌘T)でそのページの先頭から読み上げる。「ツール」→「読み上げ機能を終了」(⌘T)で終了する。残念ながら読み上げ速度は調節できない。

「システム環境設定」→「アクセシビリティ」→「読み上げコンテンツ」で「選択項目を読み上げる」をオンにしておけば,選択した場所を Option + Esc で読み上げることができる。これはKindleに限らずどんなアプリでも使えるので便利である(Kindleの場合は最後に著作権情報が入る)。Siriの声も使えるし,「読み上げ速度」も設定できる。

ターミナルで say コマンドを使って発声させることもできる。海上忍さんの「Kyoko」と「Otoya」に語らせたい、あんなこと・こんなことに解説がある。なぜかSiriの声は使えない。例えばAvaにしゃべってもらうには

say -v Ava 'Hello, world!'

オプションは man say で調べられる。ちょっと早口にしてみよう:

say -v Ava -r 300 'Hello, world!'

標準入力から読むには

say -v Ava -r 300 -f -

とする。入力待ちの状態になるので,読ませたいテキストをターミナルにコピペする。どんどん追加できるので便利である。

細かな調節は埋め込みコマンド [[ ... ]] で指定できる。海上さんの解説にもあるが,詳しくは Speech Synthesis Programming GuideTechniques for Customizing Synthesized Speech Table 3-1 Embedded speech commands にまとめてある。