投稿
おちゃめ ochame_nako
QSP第12弾。BEEP命令による音階演奏プログラム「OMP」です。昔ポケコンや初代プチコンで作ったものを移植しました。公開キーにはサンプル付きなのでぜひ実行してみてください。
5そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
公開キーは【 K455353 】、ファイル名は「OMP」です。 これは、冒頭のようにBEEP命令を使って音楽を演奏するものですが、初代プチコンではBGMPLAYでユーザーの自作曲を演奏できなかったため各自でBEEP命令を用いて演奏するプログラムを作っていました。 私は初代プチコンにおいては、昔ポケコン用に作ったOMPを移植しました。 OMPは、リストが短く、MMLサイズが小さく、処理速度が速いというメリットがありますが、その反面でMMLが独自形式であるため分かりにくいという問題点もあります。 プチコン3号ではVAL関数の仕様が変わったためオリジナルよりも若干長めになっていますが、それでもほとんどリスト短縮をせずにQSPのサイズに余裕で収まっています。
0そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
◎MMLの仕組み Aがドで半音ごとにB、C、D・・・と変わる。つまり、ACEでドレミとなる。 長さは音名の前に記述する。「4A」で4の長さドが鳴る。なお、数字に比例した長さで鳴る。長さ省略時は前回のものが維持される。(長さ1を16分音符とした場合には長さ2が8分音符、4が四分音符、8が二分音符、@が全音符となる。 ただし、プチコン3号のBEEPの仕様上実際に鳴る長さは固定となる。 休符は「*」。「2*」で2の長さ休む。 テンポは「$」と「:」で囲む。「$4.56:」でテンポは4.56となる。テンポのみ小数で指定可能。 ちなみにテンポが1で長さ1の音は1秒鳴り、テンポに比例して鳴る長さは短くなる。 一見すると複雑そうに見えますが、慣れたら簡単です。(というか、使う人はまず居ないと思うけど)
1そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
ちなみに今回タイトルに「QSP」が付いてないのはこのプチコン3号版「OMP」は機能削減をしている要素(つまり、QSPのサイズに収めるために削った要素)が全くないためです。 それどころか、プラス要素としてオリジナルにはないBEEPの効果音選択が可能になりました。 あとオリジナルと比べて鳴る音の高さを1オクターブ下げているためそれをオリジナルと同じにするには2行目のO=-1をO=0(「=0」は省略可)にしてください。 これによって過去に発表されているOMP用のMMLデータと完全互換が維持されます。
0そうだね
プレイ済み
返信[4]
親投稿
nobu divine-creator
猫ふんじゃっただ…と思ったら、最後に猫の大合唱…! 驚かされましたΣ(゚Д゚)! このプログラムだけで、そんな凄い内容とは…素晴らしいです♪
0そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
nobuさんへ BEEPで出せる猫の鳴き声はBGMPLAYを使った場合にはBGMPLAY"@28105A#"で出せるのですが、これだと音程を変えることができないんですよね。 そういう場合もこのOMPのようなBEEPを使ったMML演奏プログラムならば問題ありません。 ちなみにプチコンのBEEPの仕様によって和音演奏はとても簡単です。 和音で演奏する場合にはBGMPLAYだとチャンネルを分けて慣らす必要がありますが、BEEPを使っているOMPでドミソの和音を鳴らすのにド(A)、ミ(E)、ソ(H)を同時に慣らすだけなので0AEHと記述すれば良いです。(実際に記述する場合にはテンポ指定が必須だけどテンポはいくつに設定してもOK)
1そうだね
プレイ済み