[macOS] sayコマンドの読み上げを動的にカスタマイズする方法

1 min read読了の目安(約1100字

sayコマンドは[[ ]](角かっこ)でパラメータを指定できる

macOSに搭載されているsayコマンドは[[ ]](角かっこ)でパラメータを指定して動的に読み上げ音声を変化させることができます。

say "Hello, [[ pbas 300 ]] World\!"

例えば上記のコマンドを実行すると、「ハロー、ワールド!」の「ワールド!」のみ高い音程で読み上げされます。

パラメータについて

パラメータ 説明
volm 数値 読み上げの音量を調整する
rate 数値 読み上げの速さを調整する
pbas 数値 読み上げの音程を調整する
rset パラメータをリセットする

この他にも多数のパラメータが存在します。パラメータの詳細については参考文献をご覧ください。

また、以下のように;(セミコロン)でパラメータを区切ることで複数のパラメータを指定できます。

say "[[ rate 50 ]] Hello, [[ rate 150; pbas 300 ]] World\!"

例えば上記のコマンドは「ハロー」をゆっくり読み上げた後に「ワールド」を高い声で素早く読み上げます。

sayコマンドは単純な音声読み上げコマンドではありません。sayコマンドはmacOSに搭載されている音声合成エンジンを制御するためのコマンドライン・インターフェースです。さらに複雑な制御をするには参考文献のPDFが役に立ちます。

参考文献

  1. Speech Manager (PDF) - Apple Developer
  2. How to change the pitch and volume in the terminal say command - Quora
  3. Macに歌を歌わせるアプリを作る - Xojo 基礎