2019年11月22日投稿 / 2019年12月26日更新 / 投稿者 : 高原のな・Na / タグ : 投稿プログラム 音楽 実用ツール
NNMは、MMLを複数個集めて一つのファイルにするための仕様です。
また、Extended MML フォーマットと連携できる、NNM with Extended MMLライブラリ(同梱)を利用することで、以前存在したNMPACKS相当の機能を利用可能にしており、これをNNM開発チームでサポートします。
また、3号のMMLを4用に変換するのに便利なDEFが付属しています。
拡張子は「.NNM」とすることを推奨します。
各MMLは、0から順番に(途中で番号を抜かさずに)整数を使った「@BGM<番号>」というラベルの後ろに、DATA文を用いて書きます。MML部分はBGMSETD利用時のルールで記載すればOKで、その他に何も特別なことをする必要はありません。
- @BGM0
- DATA”CDERCDERCDE”
- DATA 0
- @BGM1
- DATA”FADE L8FGAB−L4B+.”
- DATA 0
ここからはExtended MMLの機能です。
(Extended MMLの最新情報を記載するページが開発者双方よくわからなくなっており、決まるまでの経過措置としてここに掲載します)
メタデータの要素は「{要素名=内容}」のようにして記述します。
ラベル~DATA 0の間の文字列内ならばどこに記載しても問題はありませんが、DATEND要素と組み合わせてMML先頭部分に記載することを推奨します。 改行は「/n」または「\n」で記載します。
下に標準要素を示します。各種音楽プレイヤーはこの要素に対応している可能性が高いので便利です。 なお、標準要素以外の要素を個別に定義しても構いません。
TITLE | 曲のタイトル |
ALBUM | アルバム |
COMP | 作曲者 |
ARR | 編曲者 |
LRCIST | 作詞者 |
TEXT | 曲の説明など |
DATE | 公開日時など(DATE$と同じようにして記載する) |
WAVxxx | WAVSET用のデータ。xxxには使用する音色番号、内容には「アタック,ディケイ,サスティン,リリース,定義文字列[,基準音程]」を指定する。 |
VER | バージョン情報。3は3号用、4は4用、0は両対応であることを表す。省略時は0。 |
PLAYSEC | 音楽プレイヤーで自動送り再生する際の最低秒数。小数を指定可能。 |
VOL | デフォルト音量(0~127)。指定がない場合や異常値の場合は、各音楽プレイヤーで標準と定めた音量で再生することを推奨する。 |
DATEND | {DATEND=}という記載方法しか認識されない。「}」の含まれる文字列以降にメタデータが含まれないことを宣言する。 |
- @BGM0
- DATA”CDERCDERCDE”
- DATA 0
- @BGM1
- DATA”{TITLE=FADE}{COMP=高原のな}”
- DATA”{TEXT=Polyglot}”
- DATA”{DATEND=}”
- DATA”FADE L8FGAB−L4B+.”
- DATA 0
メタデータを利用せず、MMLの変換も必要としない場合は、一切ライブラリを使用することなく直接BGMSETDして利用することが可能です。
メタデータを楽に利用する目的では次のように利用することがおすすめです。
- LOAD”PRG1:CDE.NNM”,0
- USE 1
- BGMSETD 128,”1:@BGM0”
- BGMPLAY 128
- LOAD”PRG1:NNM−LIB.PRG”,0
- LOAD”PRG2:CDE.NNM”,0
- USE 1:USE 2:NNM_USE 2
- PRINT NNM_GETMETA$(0,”TITLE”)
- NNM_BGMSETX 128,0
- BGMPLAY 128
メタデータを取得せず、MMLのバージョン自動変換機能も利用せずに使用する場合は、ライブラリを使用しなくても使えます! 詳しくはBGMSETD命令とRESTORE命令のヘルプをご覧ください。
なお、NNMライブラリからはExMMLライブラリとユーティリティ、ExMMLライブラリからはユーティリティを参照しており、部分部分で切り離すと正常に動作しない可能性がありますのでご注意ください(次のバージョンで、NNMライブラリからExMMLライブラリを参照している部分を切り離し、NNM with Extended MMLライブラリとして切り出し可能に変更します)。
命令・関数名、引数 | 詳細 |
---|---|
NNM_USE SLOT | 内部的にBGMSETDやRESTOREする際のスロットをSLOTにします。-1を指定するとスロット指定を外します。 |
NNM_LABEL$(ID) | @BGM<ID>のラベル名を返します(次バージョンより、IDに負の値を指定すると@NNMのラベル名を返します)。 |
NNM_COUNTBGM() | @BGM<番号>の番号が0からいくつまで続いているか確認します。欠番があると正しく判定できません。 |
NNM_BGMSET BGMNO,ID | @BGM<ID>のMMLを、ユーザー定義曲番号BGMNO番に登録します。VER要素によるバージョン判別・変換は行いません。 |
NNM_GETMML$(ID) | @BGM<ID>のMMLデータをすべて連結して取得します(次バージョンより、IDに負の値を指定すると@NNMの全データを返します)。 |
命令・関数名、引数 | 詳細 |
---|---|
NNM_BGMSETX BGMNO,ID | @BGM<ID>のMMLを、ユーザー定義曲番号BGMNO番に登録します。VER要素によるバージョン判別・変換を行います。 |
NNM_WAVSET ID | @BGM<ID>のWAVSETデータをすべてWAVSETします。IDに負の値を指定すると@NNMから読み込みます。 |
NNM_GETMETA$(ID,META$) | @BGM<ID>のMETA$の要素データを取得します。IDが負か、内容が空文字か、要素が未定義の場合、@NNMのMETA$の要素データを取得します。 |
NNM_GETMETASEC$(ID) | @BGM<ID>のMMLデータのうち、初めから「{DATEND=}」が含まれる文字列までを連結して取得します。メタデータはEXMML$関数で取り出せます。 |
命令・関数名、引数 | 詳細 |
---|---|
EXMML$(MML$,META$) | Extended MML形式のMML$からMETA$の要素データを取得します。 |
EXMML_DEL$(MML$,META$) | Extended MML形式のMML$からMETA$の要素データを削除します。 |
EXMML_WAVSET MML$ | Extended MML形式のMML$内のWAVSETデータをすべてWAVSETします。 |
命令・関数名、引数 | 詳細 |
---|---|
RD1 OUT <空引数>,DAT$,IS_N_STR | 最初の引数には何も指定せず使います。内部的にREADを1回実行し、取得結果が文字列の場合はDAT$はその内容をIS_N_STRは0を返し、取得結果が数値の場合はDAT$は空文字をIS_N_STRは1を返します。 |
TYPEOF(V) | プチコン3号向けRD1で内部的に使用している、プチコン4標準関数の劣化版です。Vが文字列の場合は3、数値の場合は0または1を返します。 |
MMLTO4$(MML$) | プチコン3号系統MML形式のMML$をプチコン4で再生可能な形式に機械変換します。 |
MMLTO3$(MML$) | プチコン4用MML形式のMML$をプチコン3号系統で再生可能な形式に機械変換します。 |
MML_REP$(MML$) | MML$内のマクロをすべて展開します。 |
プチコン3号/BIG用及びプチコン4用の公開キーです。トップメニューの「作品公開とダウンロード」または「作品を見る」から公開キーを入力すると、作品をダウンロードすることができます。
共通版をプチコン4で動作させるには、次のようにプログラムを一部変更する必要があります。
次のバージョンで変更される予定のものは「☆」、変更する見込みのあるものは「□」、変更を見送ったものは「■」で示します。
NNMライブラリバージョン | Extended MMLバージョン | 更新日 |
---|---|---|
1.0 | 1.1a | 2019年11月22日 |
1.1 | 1.4 | 2019年11月30日 |
1.2 | 1.4 | 2019年12月7日 |
1.3 | 1.4 | 2019年12月21日 |
1.4 | 1.5(応急処置版) | 2019年12月25日 |
1.4.1 | 1.5(正式版) | 2019年12月25日 |
2.0 | 1.6(高原版) | 2019年12月26日 |
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.140 秒 | このページの最終更新 : 2022/09/20 (火) 12:49:38 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30