sayコマンドを使うと、好きなテキストをMacが話してくれます。
使い方次第では実用性がある便利なコマンドになるので解説していきます。
モグモグさん
ちなみに僕はバッチが終了するタイミングやビルドが成功したタイミングで教えてくれるようにしたりしています。
ちょっと時間がかかる処理の間は別のことをやっていることがあるので、結構便利です。
- sayコマンドの使い方がわかる
- Macが話してくれるようになる
基本的な使い方
基本的な使い方を解説していきます。
ターミナルを開いて、下記のsayコマンドを実行します。
$ say hello world
モグモグさん
これで読み上げてくれますね!
日本語ももちろん可能なので、試してみてください。
声の種類を指定する
いくつか声の種類が用意されており、-v
オプションで指定することができます。
例えば、Alexを指定するとその声の種類で読んでくれます。
$ say -v Alex hello world
利用可能な声の種類を確認する
声の種類を確認するためには、下記のコマンドを実行します。
$ say -v ?
すると一覧が表示されるので、-v
オプションに渡してあげればOKです!
$ say -v ?
Alex en_US # Most people recognize me by my voice.
Alice it_IT # Salve, mi chiamo Alice e sono una voce italiana.
Alva sv_SE # Hej, jag heter Alva. Jag är en svensk röst.
Amelie fr_CA # Bonjour, je m’appelle Amelie. Je suis une voix canadienne.
Anna de_DE # Hallo, ich heiße Anna und ich bin eine deutsche Stimme.
Karen en_AU # Hello, my name is Karen. I am an Australian-English voice.
Kyoko ja_JP # こんにちは、私の名前はKyokoです。日本語の音声をお届けします。
...以下省略
モグモグさん
声は言語にも対応しているので、話してもらいたい言語の種類を使いましょう!
声の種類を追加する方法
システム環境設定 > アクセシビリティ > スピーチから追加することができます。
読み上げ速度などもこちらで設定が可能です。
ファイルの読み込みと書き出し
ファイルのテキストを読み込ませる方法と音声を書き出して保存する方法を解説します。
ファイルの読み込み
まずはサンプルのテキストファイルを作成します。(既にある場合はスキップしてください)
メロスは激怒した。必ず、かの邪智暴虐の王を除かなければならぬと決意した。
読み込ませるためには、-f
オプションを使います。
$ say -v Kyoko -f sample.txt
モグモグさん
「走れメロス」の冒頭を喋ってくれますね。
英語の場合は、対応した声の種類を指定しましょう!
-f
オプションではなく、パイプを使ってsayコマンドに渡してあげてもOKです!
$ cat sample.txt | say -v Kyoko
音声を書き出して保存
書き出す場合は、-o
オプションを指定します。
$ say -v Kyoko -f sample.txt -o sample.aif
ファイルのフォーマットは下記のコマンドで確認できます。
$ say --file-format=?
3gp2 3GPP-2 Audio (.3g2) [Qclp,aac,aace,aacf,aacg,aach,aacl,aacp]
3gpp 3GP Audio (.3gp) [Qclp,aac,aace,aacf,aacg,aach,aacl,aacp]
AIFC AIFC (.aifc,.aiff,.aif) [lpcm,ulaw,alaw,ima4,Qclp]
AIFF AIFF (.aiff,.aif) [lpcm]
...以下省略
読み上げ速度などのオプションを指定する
最後に読み上げ速度などのオプションを指定する方法を解説します。
読み上げ速度は、-r
オプションで指定できます。
$ say -v Alex -r 300 "my name is mogumogu san"
音量や音程などを指定するには、パラメーターを指定します。
パラメーター | 概要 |
---|---|
volm | 音量 |
rate | 速さ |
pbas | 音程 |
$ say -v Alex "[[ rate 50; pbas 50 ]] my name is, [[ rate 150; pbas 1 ]] mogumogu san"
モグモグさん
読み上げの速度や音程などが変わっていることが分かりますね。
まとめ
実はsayコマンドは高機能ですので、深堀したい方は公式ドキュメントを読んだり、manコマンドで他のオプションを調べたりしてみてください。
$ man say
最後に要点を簡単にまとめておきます。
- $ say hello worldで読み上げ
- $ say -vで声の種類を指定
- $ say -oで書き出して保存
- $ say –rで読み上げの速度を変更
- $ say “[[ ]]“でパラメーターを指定