日本語音声で時報
SnowLeopard(Mac OS X 10.6.x)に say コマンドという音声合成コマンドを発見。
ターミナル(Terminal.app)などで次の様に実行するとスピーカーから音声が出力される。
say "Hello, world."
またhttp://www.a-quest.com/quickware/saykana/をインストールすると日本語で音声合成できた。
2010-04-23に年月日・曜日を音声合成するスクリプトを見つけた。
上の「ohayo.cron」は固定で「おはようございます。〜」となっているので、
これをもとに自作してみた。
kanadate.sh
#!/bin/sh D="" case `date +%w` in 0) D="にち" ;; 1) D="げつ" ;; 2) D="か" ;; 3) D="すい" ;; 4) D="もく" ;; 5) D="きん" ;; 6) D="ど" ;; esac yy="<NUMK VAL=`date +%Y` COUNTER=ねん>" mm="<NUMK VAL=`date +%m` COUNTER=がつ>" dd="<NUMK VAL=`date +%d` COUNTER=にち>" ww="${D}よ'うび" hh=`date +%k` gg="こんばん_わ!。" if [ 10 -le $hh -a $hh -lt 18 ]; then # 10 <= hh && hh < 18 gg="こんにち_わ!。" elif [ 4 -le $hh -a $hh -lt 10 ]; then # 4 <= hh && hh < 10 gg="おはようございま_ス!。" fi say="${gg}。きょ'うわ、${yy},,,${mm},${dd}、${ww}です。" /usr/local/bin/saykana "$say" &
kanatime.sh
#!/bin/sh gg="ゴ'ゴ" if [ `date +%p` = "AM" ]; then gg="ゴ'ゼン" fi hh="<NUMK VAL=`date +%l | sed -e 's/^[0 ]//'` COUNTER=じ>" mm="<NUMK VAL=`date +%M | sed -e 's/^[0 ]//'` COUNTER=ふん>" say="${gg},${hh},${mm}で_ス。!" /usr/local/bin/saykana "$say" &
毎正時に実行
crontab -e
をターミナルなどから実行して以下を書き込むと、毎正時に日本語で時刻を教えてくれる。
0 * * * * /Users/ttmmrr/bin/kanatime.sh