凄まじくどうでもいい内容なのだが、Mac OS Xのsayコマンドを複数実行させる場合、以下のように()でグルーピングしてバックグラウンドですると行える。
(say xxx &)
つまり、数秒の間をあけて連続で喋らせるのであれば、以下のようにすればいい。
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 \$1}' | 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 &