連載
» 2012年08月03日 09時50分 UPDATE

プチコンで始めるBASIC新世代育成“虎の穴”(4):「MML」を使ったミュージックはイナフにワールドワイドだ! (1/3)

「音楽は世界の共通語だ!」――今回はプチコンのサウンド機能、「MML」と「TALK命令」を使ったプログラムについて取り上げる。ハカセ渾身のMML作品の出来栄えに、ワンパク、インテリ、神崎の開いた口がふさがらない!?

[スマイルブーム マイコン部,@IT MONOist]

日本のプチコンが世界のプチコンへ

 先日、「プチコンmkII」の海外ローカライズ版である「Petit Computer」の配信が北米でスタートしました(動画1)。

 実は、この原稿を執筆している段階ではまだ“COMING SOON”状態だったりします。しかし、近い将来、海外ユーザーが作ったプログラムがたくさん公開され、さらに、メイド・イン・ジャパンのプログラムが海外でも楽しまれることを想像するだけで、今からワクワクしてきます! そう、プログラム言語は(おおむね)世界の共通語なのです。



 え? 何? ゲーム中のメッセージやプログラムのコメントが外国語だと読めなくて困る? うーん。それは……。

 では、プチコンのサウンド機能を使ったプログラムはいかがでしょうか。「音楽は世界の共通語」なんて言いますしね。


インテリ

なお、文化的背景や歴史、民族性を考慮せず一概に音楽を『世界の共通語』と表現することには異論もあることを付記しておきます。


ワンパク

あ、ハイ……。


ハカセ

インテリよ、そこまでかしこまらんでもよかろう。何を再生するかはさておき、『MML』を使った“ミュージック”は“イナフ”に“ワールドワイド”じゃぞ。


ワンパク

海外版が出たからってムリして英語を使うんじゃねー! 大体『MML』ってのは、ナンだ?


ハカセ

その全方位に当たり散らすツッコミ、それでこそワンパクじゃ。MMLとは……、『Music Macro Language(ミュージック・マクロ・ランゲージ)』の略である。アンダースタン?


神崎

ええと、つまり音楽を記述する言語ってこと?


ハカセ

言語を『記法』と読み替えても構わんぞ。そもそもコンピュータプログラムで音楽を再生しようとした時、ネックになったのがその記法じゃ。楽譜でおなじみの五線譜なんかは一番普及している音楽記法じゃが、プログラムの中に五線譜を記述するのはムリがあるしのう。そこで、テキストで音楽を記述する方法として発達したのがMMLなのじゃよ。


インテリ

現在では五線譜や鍵盤を使ったGUIによる入力も普及しました。しかし今でも、文字列だけで完結する上にプログラマブルなMMLは、需要もファンも多いようですね。


ハカセ

ウム。近年じゃと音楽データの入力にMMLを使ったオンラインゲームもあって、再び注目されておったな。まずは、MMLの簡単な例を見てもらおうかのう。


五線譜からMMLへの変換の例 図1 五線譜からMMLへの変換の例
ワンパク

ふーむ。ドレミをアルファベットに読み替えてるってことナノカ……?


インテリ

日本の音楽の授業で習うのはイタリア式の『ドレミ(Do Re Mi)』だけど、英語式なら『CDE』になるんだ。その意味では、音階をそのまま文字で書いているとも言えるかな。


ハカセ

この図の中でちょっと特殊なのは、オクターブの変動じゃな。他にこう書くこともできるのじゃが……。


    BGMPLAY "O4CDEFGABO5CDE"

ハカセ

これは最初に“O”(オクターブ)のパラメータを“4”に設定して、後半で“O5”と書いて1上げておる。ちょっと言語っぽくなってきたじゃろ。


神崎

先頭から順に読んでいくとそれが楽譜になるんだね。


ハカセ

さよう。“V0”と入力すれば音量ゼロ、“T120”ならBPM(拍/分)120のことじゃ。このあたりが五線譜とデジタルデータの違いがはっきりしとるところじゃな。音色をプリセットから“@数値”で指定できたり、エンベロープを“@EAttack値,Decay値,Sustain値,Release値”で定義できるのは、いわゆる打ち込み派にもグッとくるところじゃろうか。


ワンパク

エンベ……?


インテリ

大ざっぱに言えば、音色の“波形情報”のことなんだけど。


ワンパク

ハケ……?


ハカセ(涙)

ま、まあいいじゃろう。チップチューンやピコピコ音の記述がはかどると思ってくれい。MMLのコマンドもいろいろ増えて工夫次第で大抵のことは記述できるようになったんじゃが、統一規格がないまま進化が枝別れしてしまって『方言』が多いのは泣き所かもしれんのう。


神崎

これまでの話だと、BASICには『方言』も珍しくないって聞くけど……。


ハカセ

単純なところじゃと、言語によってはさっきの図で示したオクターブ上昇“<”も不等号の向きが逆になるのじゃ。


ワンパク

そこは統一でいいだろうヨ!


ハカセ(涙)

じゃって“>”を矢印の図形『→』として見れば、X軸のプラス方向を指しておるじゃろ……。


       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.