週刊アスキー

  • Facebookアイコン
  • Xアイコン
  • RSSフィード

IchigoJamチップチューン!? PLAY文とMMLで音楽演奏:BASICプログラミング第3回

2015年04月30日 16時00分更新

 ふっふっふっふ……。まずはこの写真を見てくれたまえ。

IchigoJamでPLAY文
↑IchigoJam(左側にある小さなむき出しの基板)にちょうどよい大きさのテレビとキーボードを接続。


 IchigoJam本体の小ささに合った、ちっちゃいテレビにちっちゃいキーボード、なかなかかわいくてよい感じじゃないですか?
 以前の記事(2015年4月18日掲載)では、適当に編集部にあった大型テレビと汚れたキーボードでお恥ずかしい姿をお見せしてしまいました。今回の写真のテレビは7インチのノーブランド品で、秋葉原駅西側ガード下の秋葉原ラジオセンターの防犯グッズを売っているようなお店で、店頭展示品限り6800円というのを買いました。似たようなものはアキバで探せばまだあるはずです。あるいはAmazonなどで“○インチ テレビ”などと検索すると、いい感じのが見つかると思います。○の部分は、4.3とか7とか8とか10とか入れてください。ただし、必ずスペックを確認し、映像入力としてコンポジット端子があるかどうかを確認してください。
 写真のキーボードはエレコムの『TK-FCM006』。実売価格は1500円くらいですが、在庫があまりないようです。ヨドバシカメラなどの量販店に行けばPS/2接続のキーボードはいくつか見つかると思いますが、こういう小型のものは意外と少ないんですよね。エレコムで言えば『TK-FCM077P』(実売価格1800円くらい)が現行商品のようです。
 合わせて買ったビデオケーブルは50cmで330円でした。IchigoJam本体(組み立て済み完成品)は、2000円です。

 上の写真で表示させているのがこちらの画面。

IchigoJamでPLAY文
↑IchigoJam0.9.7で表示できるキャラクター一覧。1列目(数字&A~Fと書かれた列除く)に人型やタコみたいなキャラがいますね。


 タコみたいなキャラは左上から右方向に数えて13番目。つまり0から数えるキャラクター番号(文字コードとも言います)が、12であることがわかります。このタコはキーボードから直接入力することはできませんが、文字を文字コードで指定するコマンド(関数)“CHR$()”を使って、
PRINT CHR$(12)
とすると、画面に表示することができます。ぜひゲームに使っていきたいところです。
どうでもいい個人的感傷:専用の画面クリアー命令がなかったNECのパソコンPC-8001では、PRINT CHR$(12)が画面クリアーの代わりでした。当時多くのパソコンでは、CHR$(32)より小さなキャラクターは、“制御文字”と呼ばれ画面クリアーのように特殊な動作をするものでしたが、IchigoJamでは普通に文字やキャラクターが割り当てられているんですね。

IchigoJamでPLAY文
↑全キャラを表示させるプログラムがこちら。バージョン0.9.7ではループ専用コマンドである“FOR〜NEXT”がないためIF文でループを回しています。


 ポイントは行番号70の
PRINT CHR$(I*16+J)
で、JとIを順番にひとつずつ増やしながら、結果としてCHR$(0)~CHR$(255)まで表示しています。

 話は変わりますが、IchigoJamにはブザーパーツが付属しています。せっかくですので音を鳴らしてみましょう。ブザーの2本の脚をIchigoJamのCPU左右に並んだソケットの“SOUND”と“GND”と書かれたところに差し込みます。

IchigoJamでPLAY文
↑黒地に白で書かれているのが“GND”。2つありますがどちらも同じです。“SOUND”は右上のほうにあります。


 IchigoJamでは、“PLAY”というコマンドと、MMLと呼ばれる特殊な書式で音楽を奏でることができます。多くのパソコンのBASICで実装されていたのでご存じかもしれませんが、MMLは「Music Macro Language」の略。日本語だと音楽記述言語って感じでしょうか? 言語、っていうほど高度でも複雑でもありませんが。
PLAY "C"
で“ド”の音が、
PLAY "E8"
で8分音符の“ミ”の音が鳴るとかそんな感じです。

 音を鳴らしている様子は動画で。


 動画に出てきた簡易ピアノのプログラムはこちら。

IchigoJamでPLAY文
↑このままだと1オクターブしかないし、黒鍵にあたる半音も鳴らないので、ぜひ改造して遊んでみてください。ASC("*")の*の部分が押すキー、PLAY "***"が鳴らす音です。


 PLAY文に関しての注意点としては、
・IchigoJamでは1度に1音しか出ない。同時発声による和音は鳴らせません。
・音程は正確ではない。だいたいドレミファソラシドに聞こえるくらいに考えておいたほうがよさそうです。
・複数のPLAY文を続けて実行すると音楽がうまくつながらないことがある。これは、前のPLAY文の音が鳴り終わるのを待たないで次のPLAY文を実行してしまうからのようです。
・音量は変えられない。
といったあたりでしょうか。それでも音を鳴らして遊ぶのには十分で、ゲームのBGMや効果音としてぜひ活用してみてください。

 さてさて。このあともIchigoJamの記事は不定期で書いていきたいと考えておりますが、ここはひとつ、みなさんからのプログラム投稿を受け付けたいと思います。
 私(加藤兄)の独断でおもしろいと思ったプログラムは週アスPLUSのこの連載で採用させていただきます。(今のところ採用されても何も出ません。ごめんなさい。)

 下記URLで表示される応募要項をよく読み、投稿フォームから、プログラムを写真(jpg)またはテキスト(txt)ファイルでアップロードしてください。写真はこのページに掲載されている程度のもので十分ですよ。あと、IchigoJamは出荷された時期によってBASICのバージョンが多少違いますので、必ずバージョンを書いてくださいね。なお、IchigoJam公式サイトでは4月30日現在のバージョンは0.9.9、開発者である福野泰介さんのブログによれば、もうすぐ1.0.0がリリースされるとのこと。バージョンアップのしかたなどはいずれ書いてみたいと思います。

投稿はこちらから(応募要項)
https://ssl2.asciimw.jp/weeklyascii/ichigojam/

ゴールデンウィークにたくさんプログラム作って投稿してみてください!

●関連サイト
こどもパソコンIchigoJam
PCN プログラミング クラブ ネットワーク
福野泰介の一日一創
IchigoJam MMLリファレンス

 

 IchigoJamはアスキーストアでも売っています。

BASICでプログラミング! こどもパソコン IchigoJamをアスキーストアで購入
アスキーストアで購入
※4月30日現在、「組み立て済み完成品」が在庫切れとなっておりますが、
近日中に入荷予定です。プリント基板キットは在庫がございます。

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

本記事はアフィリエイトプログラムによる収益を得ている場合があります