ハピタス登録で1,000円分になるURL
macOSはsayコマンドで引数に指定した言葉を音声発音してくれる。
Mac所有者は試してみると結構楽しい。
もちろん日本語も話せる。
say -v オプションにハテナマークをつけると、発話する言語とサンプル文字列を表示してくれる。
$ say -v ?
これをawkで区切って各言語のサンプル文字列をループで喋らせたい。難しいのは「発話文章がスペースで区切られている」から。区切り文字(delimiter、デリミタ)に空白スペースを使っただけではうまくいかない。
$ say -v ? | awk -F# '{print $1,$2}' | awk -F¥ ¥ ¥ ¥ ¥ '{print $1,$5}'
とりあえずこれをxargsに食わせて喋るかテスト。
xargs -t は、実行するコマンドを表示してくれる。
xargs -n は、渡される引数の個数の指定。
$ say -v ? | awk -F# '{print $1,$2}' | awk -F¥ ¥ ¥ ¥ ¥ '{print $1,$5}' | xargs -t -n 2 say -v
ダメ。xargsの-n指定で渡す引数の数によって、読み上げられる文章が違っちゃう(文章に含まれるスペースの数はマチマチだから)。
例えばfindコマンドの-0みたいに、スペースを代替できる機能がawkにあれば何とかなると思うんだが。
なかなかにムズい。あとでゆっくり試す。