« Py???シリーズ その1 | トップページ | Py???シリーズ その3 »

2008年7月 4日 (金)

Py???シリーズ その2

2008-07-04(金)雨、のち曇り、のち晴れ

 HiisiさんのPyTaskServerで使うスクリプトPyDingDong.pyの話です。スクリプトの作り方などという話ではなくて、苦労したなあ、、という雑談です。

 昨日の「Py???シリーズ その1」の運用関係の図には、昨日の話に出てこないスクリプトがありました。それが、PyDingDong.pyです。
 これは、その名前の通り、ディンドンと鐘の音(時報とか注意喚起用の時報のために、鐘の音のmp3ファイルの音を鳴らすスクリプトです。

 注意喚起といえば時計アプリのアラームとか、HiisiさんのWEBにあるTips(ココです)のごとく、MediaPlayerなどで音楽をならしても良い訳ですが、これらは起動された後で止めるとか、アプリを終了させる操作が必要です。そこまでの必要はない、、単純にディンドンと一回音が鳴ってくれればよい、、と言うときに必要なスクリプトを作ろうというわけです。

 使い方としては、例えば会社だと始業5分前、昼休み5分前、終業時刻などにならすとか、でしょうかねえ。あまり大した利用法ではないですね(汗)。

 とはいえ、Pythonのマニュアル、コマンドのリファレンスどころか、「Pythonチュートリアル」の本も30ページ読んだだけで放り出してある状態で、ゼロから書けるわけがありません(汗)。
 そこで参考になるスクリプトがあります。PyTaskServerに同梱されているPyVoiceAlarm.pyです。このスクリプトは、ライブラリaudio.pyのsayコマンドを使って、ひらがなで書いてあるテキストを発声させて目覚ましにしようというスクリプトです。この例では「おきてください」などという文章を発生させます。
 audio.pyにはopenとかplay等もあるので、再生できるのではないかと考えたわけです。

PyVoiceAlarm.pyです。

Voicealarm

 話が外れますが、この発声機能は木で鼻をくくったような平板な合成音声で、若干不気味です。この目覚ましが早朝、暗い中の頭の上で発声されたら、ぎょっとして飛び起きそうです。もっとも、一発で目が覚めるという効能は有りそうですが、、(笑)。この音声では、、、ということで、チャイムとか鐘の音のmp3ファイルを再生しようと言うわけです。

 PyVoiceAlarm.pyスクリプトを参考に、audio.py のリストを睨み、更に他のスクリプトも見ながら、mp3ファイルを再生するスクリプトをでっち上げてみました。

Dingdong01

 これで実行してみると、Pythonから起動するとOKなのですが、PyTaskSeverからでは音が出ません。色々試行錯誤し、まずは記述をきちんとしてみようと変更してみました。即ち、コマンドをきちんとライブラリのトップからの記述にしてみました。

Dingdong02

これで、色々やっている内に音が出るようになりましたが、出たり出なかったりになることもあります。

結論:
 で、最後に分かりました。問題は最後の行(e32.ao........)を削除したり、時間値(秒数)を小さくすると駄目なことが分かりました。音が出る前に止められてしまうようです。

 分かっている方から見ると何だ、という程度ですが、これでも自分で書いたものが動くと嬉しいものです。大体、プログラム言語の勉強始めは 「Hello World」 の表示から始めるわけですから、、。こうやって、深みにはまってゆくわけです(笑)。

 最終形です。ボリュームコントロール(効いているかどうか不明ですが)も入れて、こうしました。

PyDingDong.py

Dingdong03

「PyDingDong.zip」をダウンロード

 ファイルや記事は下記にまとめました(2008-08-21)

「Python スクリプト 雑記」の
「1.PyTaskserverと使うシリーズ」

 

|

« Py???シリーズ その1 | トップページ | Py???シリーズ その3 »

携帯電話アプリ」カテゴリの記事

コメント

せっかくなので返スクリプト(?)を書いてみました。
http://hiisi-proxy.blogspot.com/2008/07/re-py.html

投稿: Hiisi | 2008年7月 5日 (土) 00時39分

早速のコメントと、返スクリプト(?)を有り難うございます。

投稿: masa | 2008年7月 5日 (土) 10時09分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/513620/41735266

この記事へのトラックバック一覧です: Py???シリーズ その2:

« Py???シリーズ その1 | トップページ | Py???シリーズ その3 »