ここでは時間帯に合わせていろいろなセリフを喋るロボットを作ってみます。
事前に「AquesTalk Pi で喋らせてみる」をクリアしておいてください。
サンプルプログラム
- gitからベゼリーのサンプルプログラム集の最新版を取得しましょう。
-
12$ cd /home/pi/bezelie/pi$ sudo git pull
-
- セリフが記載されているファイルの権限設定を変更して、誰でも書き換えできるようにしましょう。
-
12$ cd /home/pi/bezelie/pi$ sudo chmod a+w bezeTalk.csv
-
- サンプルプログラムを実行してみましょう。
-
12$ cd /home/pi/bezelie/pi$ python sampleTalk2.py
- 時間帯に合わせて、いろいろなセリフを喋ります。
- 終了させたいときは、Ctrl + Cを押してください。
- このサンプルプログラムでは1日を以下のように8つの時間帯に分けています。
- 0時〜7時 深夜
- 7時〜8時 起床
- 8時〜12時 午前
- 12時〜13時 昼
- 13時〜16時 午後
- 16時〜19時 夕方
- 19時〜23時 夜
- 23時〜24時 就寝
- 喋るセリフは「bezeTalk.csv」に記載されています。このファイルの1行はカンマ区切りで以下の5つの項目が記述されています。
- セリフの分類 : 今回使うのは、時間帯に応じて喋る「timeSlot」だけです。
- 時間帯 : midnight, awaking, morning, noon, afternoon, evening, night, bedtimeの8種類。
- セリフの内容 : AquesTalk Pi のルールに基づいて記述します。
- セリフを言う確率 : 0〜100。100を指定しても確実に発生するわけではありません。
- セリフを言った回数 : 初期値は0。プログラムを実行していくと、この項目は書き換わります。
-
応用
- nanoでセリフファイルを開いてみましょう。
-
1$ sudo nano bezeTalk.csv
- 自分なりにセリフを追加したり、既存のセリフを書き換えたりしてみましょう。自分や家族の名前を呼ぶようにしてみてもよいですね。
- 4番めのパラメータは100など数字がならんでいますが、これは発生確率です。これを10などと指定して、発生確率が非常に低いレアなセリフを作ってみても面白いと思います。
- ファイルを書き換えた場合は、別名で保存しましょう。その場合、「sampleTalk2.py」の12行目で指定しているセリフファイルのファイル名も書き換える必要がありますので注意してください。
-
- nanoでサンプルプログラムを開いてみましょう。
-
1$ sudo nano sampleTalk2.py
- 起床時刻と就寝時刻を書き換えてみましょう。
- 起床時刻 : 13行目の「awakingTime」
- 就寝時刻 : 14行目の「sleepingTime」
- 喋る頻度が高すぎるとうるさいですし、低すぎると寂しいので、ちょうどよい頻度に合わせたいところです。
- 15行目の「interval」の値を調整してみましょう。
-