Mac OS Xのsayコマンドを連続実行させる
Pocket

凄まじくどうでもいい内容なのだが、Mac OS Xのsayコマンドを複数実行させる場合、以下のように()でグルーピングしてバックグラウンドですると行える。

(say xxx &)
Sponsored Links

つまり、数秒の間をあけて連続で喋らせるのであれば、以下のようにすればいい。

yes '(echo ソイヤソイヤ|say&);sleep 0.3'|head -500|sh

 

応用例は以下。
あまり聞いてると気が狂いそうになるので程々にしたほうが良いと思う。途中で音酔いして吐きそうになった。あと、あまり同時実行しすぎるとsayコマンドが反応しなくなる(OS再起動するまでsayコマンドが復旧しない)状態になる。

yes '(echo {オラ,無駄}|xargs -n1|gshuf -n1|eval echo "$(cat){,,,,,,,,,,,,,,}"|say&);sleep 0.3'|head -500|sh
yes "(say -v \? | awk '{print \}' | gshuf -n1 | xargs -I@ say -v @ oh yes oh yes &);sleep 0.1"|head -200|sh
yes '(((s=ソイヤ;h=ハイ;echo {{{いよぉ,はぁ}〜っ,}{$s,$h}{$s,$h,}{$s,$h,},{あ,こ,そ}らさっさ})|tr " " "\n")|gshuf -n1|say&);sleep 0.3'|head -200|sh &

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*