子どもRubyプログラミング講座「ロボット編」第5回

~sound(サウンド)でメロディを鳴らそう~

piroko_jaran_ssロボットでメロディを鳴らすことができたら楽しいよね。sound(サウンド)を使えば、「ブー」や「ピポパ」じゃなく、好きなメロディを演奏(えんそう)させることができます。さっそく、やり方をみてみましょう。

メロディーの出し方

メロディに必要(ひつよう)なものは何だろう?そう、「音の高さ」と「長さ」だよね。音の高さ、つまり音程(おんてい)とその長さを教えれば、ロボットはメロディを鳴らしてくれます。これが、音を出す命令(めいれい)。

robo.sound△“音の高さ”,音の長さ(ミリ秒)

* △は半角スペース

たとえば、『きらきら星』の出だしのぶぶん、「ドドソソララソ~」をプログラムで書くと、次のようになります。


robo.sound "do",250
robo.sound "do",250
robo.sound "so",250
robo.sound "so",250
robo.sound "la",250
robo.sound "la",250
robo.sound "so",500

ヒント:1小節(しょうせつ)を1秒(1000ミリ秒)とすると、四分音符(しぶおんぷ)は250ミリ秒、二分音符は500ミリ秒になります。

ロボットでメロディーを演奏させてみましょう

下のプログラムを入れて「動かす」ボタンをクリックしましょう。COM4のところは、「無線ロボットMI100とパソコンのペアリング」の手順でメモした番号に変えてくださいね。


require "mi100"

robo = Mi100.new "COM4"

robo.sound "do",250
robo.sound "do",250
robo.sound "so",250
robo.sound "so",250
robo.sound "la",250
robo.sound "la",250
robo.sound "so",500

robo.close

プログラムのせつめい

1行目

ロボットMI100を楽に動かすための命令(めいれい)の集まりを使うことをRuby(ルビー)に教える。

3行目

ロボットに無線(むせん)でつなぐ。そして、roboに命令すれば、ロボットが動くようにする。

5行目から11行目

『きらきら星』の出だしのメロディ、「ドドソソララソ~」を鳴らす。

13行目

ロボットとの無線を切る。

うまく鳴らせたかな?MI100は1オクターブ、ドレミファソラシド(do, re, mi, fa, so, la, si, hdo)の音が出せます。いろいろな曲にちょうせんしてみてくださいね。

おわり