サイト名変更・お引越しのお知らせ

【Mac】sayコマンドの使い方を解説

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コマンド
  • $ say hello worldで読み上げ
  • $ say -vで声の種類を指定
  • $ say -oで書き出して保存
  • $ say –rで読み上げの速度を変更
  • $ say “[[ ]]“でパラメーターを指定