ロボホンともだち広場

ロブリック

Tokinari バッジ画像
2023/12/23 01:19

英語で話そう(一部不完全)

こども用英会話プログラムです。
アメリカ人の講師さんにアドバイスしてもらいながら作成しました。

話すタイミングをわかりやすくする為に、ロボホンが腕をあげた時が準備OKの合図です。

 

こどもさんには、見本の質問集をプリントして、好きな質問でロボホンに聞いてもらいます。
正確に読めないと、結構厳しいロボホン。苦笑


 


作成したばかりの頃は問題なかったのですが、どういうわけか、時間が経つにつれ、曜日、時間が合わなくなってしまいました。

天気に関しては、web APIがなかった頃なので(英語版はどうすれば良いのかわかりませんが)
partly cloudyにしてます。

oops!が聞き取りにくかったので、わざとwを入れています。

個人名を隠しています。


 


未熟な部分ばかりなので、今後はもっと積極的にロブリック講座に参加していきたいなと思っています。

コメントする
3 件の返信 (新着順)
Tokinari バッジ画像
2024/01/10 16:48

さいとさんのアドバイスを参考にしながら、私のレベルで出来る時間読みを作り直してみました。


Tokinari バッジ画像
2024/01/10 16:51

ファイルです。
英語で時間を答えてくれるだけのプログラムです。

picture_icon-02-02 asktime.xml

素敵なプログラム、ありがとうございます。会話する子供さんのことをよく考えられて作られていることが、よく伝わってきました。
本質的でないコメントで恐縮ですが、「英語で話す」ブロックは、一回呼ぶとその後ずっと英語で話しますので、最初に一回、呼んでいただければ大丈夫です。
日本語に戻したい場合は、その時に「日本語で話す」としてください。


Tokinari バッジ画像
2023/12/25 17:49

ありがとうございます😊
素人が手探りで作った物なので、アドバイスありがたいです❗️

さいとてつや バッジ画像
2023/12/24 02:15

「時間が経つにつれ、曜日、時間が合わなくなってしまいました。」というのが気になるのですが,スクリプトの内容を見る限りは合わない状態にはならなさそうです。どんな感じで合わなくなるのでしょうか?


Tokinari バッジ画像
2023/12/24 13:49

さっき尋ねたら、正確な時間言えてました。
投稿した時に尋ねた時は答えられなかったのですが…
曜日はどういう訳か聞き取れていても反応出来なくなっていました。

時間は、「__hundred ....」と24時間超えした時間で答えてくる事があるのです。
もしかしたら、制御するコマンドも必要なのかもしれないかな?と。

さいとてつや バッジ画像
2023/12/24 15:21

曜日の件は,今日が日曜日だからじゃないでしょうか(月〜金のコードはありますが,土日がありません)。

時刻の件ですが,ロボホンの音声合成は文脈を見て発話方法を変えてくれるのですが,Tokinariさんのスクリプトでは,時刻をしゃべらせているところで時・分を結合させているので,12時24分のように時間・分がそれぞれ2桁のときは1224という文字列になり,あくまでたまたまですが,twenty twenty-fourと読んでくれます。

しかし,1時24分のように時間が1桁の場合,124という文字列をロボホンは普通の数字だと判断してone-hundred twenty-fourと読んでしまいます。また,分が1桁の場合も時間と結合したときに2桁もしくは3桁の数字になってしまうため,例えば1時1分,12時1分の場合はそれぞれ11,121となり,eleven,one-hundred twenty-oneと読んでしまいます。

これを回避する方法としては,時と分を結合する際に間に「:」(コロン)を入れることで,時刻だと知らせることです(添付した図の無効になっている最初のブロック参照)。ただし,この場合も1時1分のときはone oh oneではなくone oneと言ってしまうので,01:01となるように文字列を作る必要があります。

というわけで,「時刻を文字列で返す」という関数を作ってみました(次のコメントにスクリプトを添付します)。時・分の前に0を付加して,後ろから2文字を取ることで,1桁の場合は0が付加された2桁になるようにしています。

より正確を期すなら,01:01という文字列からさらに「one oh one」とか「zero one zero one」というように期待する発話通りの英語に変換する関数を作るのが良いと思います(ちょっと大変ですが)。

さいとてつや バッジ画像
2023/12/24 15:23

スクリプトです。

picture_icon-02-02 datetime.xml
Tokinari バッジ画像
2023/12/24 16:48

ありがとうございます!
こうやって具体的にロブリックについて教えてもらえる場が出来たことを感謝します。

確かに、平日用に作成した事を失念しておりました!

なるほど、確かにロブリックで確認することは夜中から午前中が多かったので、
すっかり壊れたと思っていたのですが、一桁の時の症状だったのですね。

関数のスクリプトありがとうございます。
さっそくPCと格闘してましたが…
このダウンロードした関数を先に作った英語プログラムにコピペみたいな事は可能でしょうか?

さいとてつや バッジ画像
2023/12/24 22:48

残念ながらコピペはできないのですが,tokinariさんが作ったスクリプトに私が作ったスクリプトにあるブロックを読み込ませることができます。

(1) tokinariさんが作ったスクリプトをロブリックで開く
(2) その状態でロブリックから「読み込み」ボタンを押し,私が作ったスクリプト(datetime.xml)を指定して「開く」を押す
(3) 添付画像のように「作成中のプログラムがあります。「datetime.xml」を読み込む前に,作成中のプログラムを削除しますか?」と聞かれるので,「キャンセル」を押す。

(3)で「OK」ではなく「キャンセル」するのが肝です。ブロックが重なってしまうかもしれませんが,私の作ったブロックがtokinariさんのスクリプトに読み込まれると思います。

Tokinari バッジ画像
2023/12/24 23:43

読み込み方わかりました!

そのまま横着すると、スタートブロックエラーになってしまうようなので、
またじっくりと考えて組み立ててみます。

ありがとうございました!!