いつもの通り、自分が悩んだ末にたどり着いた記録を残したいと思います。
この記事は、なでしこのWindows版v1で実行できるようにしています。今回はv3ブラウザ版では動きません。
プログラムで音を扱う
「なでしこv1(Windows版)」では、音を扱う方法がいくつかあります。主に「音声ファイルを再生する」方法と、「プログラムで音を発生させる」方法に分かれます。
(v1のみ) 音声ファイルを再生する
音声ファイルがある場合は再生
という命令を使います。
「pinpon.wav」を再生。
相対パスの場合は、ソースファイルsaisei.nako
を保存したフォルダ内に、その音声ファイルを置きます。デスクトップにある音声ファイルを開く場合は、次のように{デスクトップ}
を使います。
「{デスクトップ}pinpon.wav」を再生。
(v1のみ) BEEP
懐かしの?ビープ音もあります。
BEEP。
Windowsの警告音が鳴ると思います。
(v1のみ) MMLを使う
もう一つの方法はMMLです。MMLの詳細は別に譲りますが、なでしこv1ではMML再生
という命令を使うと、手軽に演奏できます。音階はアルファベット(CDE…)ではなく,カタカナで指定します。
「ドレミファソラシ↑ド」をMML演奏。
「 」の中で音色
を使うと,音の種類を変えることができます。ファ#
(シャープ)やシ♭
(フラット)で半音を指定します。伸ばす記号ー
で音符を長くします。
「音色74 ソソ↑ドレ ミ♭レドー↓
ラ♭ラ♭ソファ ソーー」をMML演奏。
子どもたちに「なでしこ」でプログラミング教室とか授業とかをやる場合は,このMML演奏で「着信音(着信メロディ)」をつくってみよう!」と投げかけると,思いがけず盛り上がります。私たちガラケー世代は自分で着信音を入力しました(懐かしい!)が,現代っ子はスマホにダウンロード。だから,自分で音を作るのは面白いみたいです。
(v1のみ) 数当てゲームに音を入れる
前回の数当てゲームに,正解すると「ピンポン」,間違えると「ブー」という音が鳴ると,よりゲームっぽくなると思い,付け加えてみました(下の**#1**,#2,#3)。
ちなみにWindwos版v1限定です。Webブラウザ版v3ではできません。
サイコロ=(6の乱数)+1。
正解済=0。
5回
もし、正解済=0ならば
答え=「{回数}回目 サイコロの目はいくつ?」と尋ねる。
もし、答え=サイコロならば
「正解!」と表示。
「シ8ソ」をMML演奏。 // #1
正解済=1。
違えば
もし、答え>サイコロならば
「ド8ミ8」をMML演奏。 // #2
「もっと小さいよ」と言う。
違えば
「ミ8ソ8」をMML演奏。 // #3
「もっと大きいよ」と言う。
ここまで。
ここまで。
ここまで。
ここまで。
「正解は{サイコロ}でした。」と表示。
ここを音声ファイルでの演奏に変えることもできます。ここではpinpon.wavとbubu.wavという2つのファイルを用意したものとして作っています(下の*#4と#5*の部分)。
サイコロ=(6の乱数)+1。
正解済=0。
5回
もし、正解済=0ならば
答え=「{回数}回目 サイコロの目はいくつ?」と尋ねる。
もし、答え=サイコロならば
「正解!」と表示。
「pinpon.wav」を再生。 // #4
正解済=1。
違えば
「bubu.wav」を再生。 // #5
もし、答え>サイコロならば
「もっと小さいよ」と言う。
違えば
「もっと大きいよ」と言う。
ここまで。
ここまで。
ここまで。
ここまで。
「正解は{サイコロ}でした。」と表示。
最後に
音が出ると,プログラミングをやっていて楽しくなってきます(私だけ?)。画像を扱うときはなんだか色々なことを考えなくてはいけないのですが,音はそこまで複雑ではないので,メディアの複合を学習する方にとっても,まずは音から始めるとよいのではないかと思いました。
じゃあ,ブラウザ版のv3では音は出ないのかということだったので,色々と試していますが,それはまた別の機会に書きたいと思います。
今回も、こんな記事が誰かの役に立つのだろうか…と思いながら、1人でもお役に立てばいいなと思います。
参考
- v1マニュアル(なでしこエディタ内蔵版) ※Web版のマニュアルからは削除されています。