プチコン3号&BIGまとめWiki

プチコン音楽広場

パンくずリスト

プチコンで使われているMMLについて色々まとめました。
最後の方にMML紹介所があるのでMMLを紹介したい場合はコメントしてください。

フォーマット一覧

こちらとできるだけかぶらないようにしています。

拡張子制作者詳細説明
.MMLNaExtended MML フォーマット
Toukou/ExtendedMML
MML読み込みは通常のMMLファイルと同様。マクロ定義と同じようにタイトルや制作者を指定可能。略称ExMML。
.BEDtakumiBEDフォーマット
Toukou/BED-FORMAT
タイトルとMMLのみ保存できる。冒頭で全楽曲数を指定する必要がある。
.BHDtakumiBHDフォーマット
Toukou/BHDPLAYER,
 Toukou/BHD_v2.0
BEDより進化し、タイトルや制作者も一緒に保存可能。Ver.1とVer.2があり、両者に互換性はない。
.MCDイスターリャMML Carrier Data
Toukou/MML_CARRIER_forSB3
MMLを複数行にわたって記述可能。説明文を入れることができる。MMLを素材として扱うことを重視。
.NNMNa&高原のなNNMフォーマット
Toukou/音楽パックフォーマット「NNM」
単純なMML記述形式であるが、ExMML連携拡張によりExMML相当の機能が使える。MMLをデータとして扱うことを重視。
.TGM☆Tatsukin★TGMフォーマット
Toukou/TAGeLorix Player
MML全体の音量を設定できる。音量を0にすると、自動的に70に設定される。また、CHOMMLの記述も可能。
.NMP高原のなNMPACKS
Toukou/プチコンシリーズ共通音楽パックフォーマット NMPACKS
サポートおよび公開終了のはずだが稀に使われている。Extended MMLの要素関連の仕様はこれに由来。以下「.NMP」と略記。
.LYBtakumiLYRIC BGM DATA
Toukou/LYB Player
カラオケ風に歌詞を表示できる。
.NTP☆Tatsukin★NTPフォーマット
(Toukou/NTPフォーマット)
NMPACKとTGMを合わせたようなフォーマット。曲の並び替え、追加、削除が簡単。

各フォーマットの仕様

 ExMMLBEDBHD1BHD2MCDNNMTGM.NMPLYBNTP
複数曲の収録××
タイトル表記×
制作者表記××
曲別説明文表記×××
ファイル別説明文表記*1×*2××
標準命令集有無×××*3×××
MML複数行化×××
CHOMMLの記述××××××××
説明文の改行×××*4×
音量設定×××××*5××
WAVSET×××××
WAVSETA××××××××××
独自要素作成×××××××
他バージョンMML×××××*6×
ジャケット表示××××*7×××××
歌詞表示設定×××××*8×
歌詞自動送り機能×××××××××
  • 「他バージョンMML」の〇は、そのまま読み込めるプチコンのバージョンの指定が可能なもの、◎は別バージョンのプチコン用のMMLも併記可能なものを表す。
  • 「歌詞表示設定」の△は、歌詞指定のフォーマットが設定されていないことを表す。
  • ExMMLとNMPACKS、NTPは独自要素の定義を行うことで事実上すべての機能に対応できるため、標準要素の有無を掲載した
  • NNMはMML終端がDATA 0のためREADするときに細工が必要
  • NNM単体は対応機能が非常に限定されているが、ExMMLとの連携を開発者がサポートしており、それによってかなり多くの機能が使用可能となる

各フォーマットの記述例

Extended MML

  • MMLマクロ同様、{}でしっかりと括って指定する。
  • 指定できるものはCOMP(作曲者名)、TEXT(詳細テキスト)など多数ある(NMPACKSのものを縮約したものである)。
    • また、その指定に順序は問わないほか、独自に要素を定義可能である。
    • ただしMMLマクロの制約上、要素名は7文字に制限される。
  1. {TITLE=サンプル}
  2. {ALBUM=サンプル}
  3. {VER=3}
  4. :0@144Q8L4CDEF  ’MML記述欄
  5. GAB<C
  6. {TEXT=ここで改行→
  7. 改行終わり}
  • MML文字列中の改行はBGMPLAYには影響を及ぼさないのでEDITモードで編集可能。
  • 通常のMMLとして読み込むことができる(そのまま読み込んでもMML解釈のエラーを発生しない)。

BED

  • DATA 楽曲数が定義楽曲数より大きいとエラーになる。
  • @STARTと@NAMEで分ける必要がある。
  1. @BED
  2. DATA 楽曲数
  3. @START
  4. DATA MML文字列1
  5. DATA MML文字列2
  6. DATA MML文字列3
  7. DATA MML文字列4
  8. DATA MML文字列5
  9. DATA MML文字列6
  10. DATA MML文字列7
  11. @NAME
  12. DATA MML文字列1の題名
  13. DATA MML文字列2の題名
  14. DATA MML文字列3の題名
  15. DATA MML文字列4の題名
  16. DATA MML文字列5の題名
  17. DATA MML文字列6の題名
  18. DATA MML文字列7の題名
  19. @TEXT
  20. DATA ”ステータスメッセージ”
  • 読み込みが楽。
  • フォーマットファイルが作りやすい。

BHD

BHD Ver.1.0
  • DATA 楽曲数が定義楽曲数より大きいとエラーになる。
  • BEDとラベルが若干異なる。
  1. @BHD
  2.  DATA 楽曲数
  3. @BHD_TITLE
  4.  DATA ”アルバム”
  5. @MMLDATA
  6.  DATA ”タイトル1”
  7.  DATA ”制作者1”
  8.  DATA ”コメント1”
  9.  DATA ”ジャンル1”
  10.  DATA ”時間1”
  11.  DATA ”MML文字列1”
  12.  DATA 0
  13.  DATA ”タイトル2”
  14.  DATA ”制作者2”
  15.  DATA ”コメント2”
  16.  DATA ”ジャンル2”
  17.  DATA ”時間2”
  18.  DATA ”MML文字列2”
  19.  DATA 0
  20. @TEXT
  21.  DATA ”ステータスメッセージ”
  22. @DATE
  23.  DATA ”最終更新日”
  • 時間を記述可能。
BHD Ver.2.0
  • (初期の告知とは異なり、)BHD Ver.1.0との互換性がない書式である。
  • 新たにMML複数行化に対応。
  • 全楽曲数の指定は必要無し。
  • ジャケット表示対応
    • 画像解像度は160×160、それ以上は表示されない。
  • これらの変更に対応するため、@TEXTの前に 「DATA "-1"」 が必要となった。
  1. @BHD2_TITLE
  2.  DATA ”アルバム”
  3. @MMLDATA
  4.  DATA ”タイトル1”
  5.  DATA ”制作者1”
  6.  DATA ”コメント1”
  7.  DATA ”画像ファイル名1”
  8.  DATA ”時間1”
  9.  DATA ”MML文字列1”
  10.  DATA ”0”
  11.  DATA ”タイトル2”
  12.  DATA ”制作者2”
  13.  DATA ”コメント2”
  14.  DATA ”画像ファイル名2”
  15.  DATA ”時間2”
  16.  DATA ”MML文字列2−1”
  17.  DATA ”MML文字列2−2”
  18.  DATA ”0”
  19.  DATA ”−1”
  20. @TEXT
  21.  DATA ”ステータスメッセージ”
  22. @DATE
  23.  DATA ”最終更新日”
注意
  • V2.0はV1.0と互換性がない
    • 読み込み方法が全く異なる。

MML Carrier Data

  • 定義前@MCDラベルが必要。
  1. @MCD
  2. DATA ”制作者名”
  3. ’曲データ
  4. DATA ”タイトルA”, ”説明A”, ”MML A”, ”0”
  5. DATA ”タイトルB”
  6. DATA ”説明B”
  7. DATA ”MML B (1)”
  8. DATA ”MML B (2)”
  9. DATA ”MML B (3)”, ”0”
  10. ’終了
  11. DATA ”−1”
  12. @COM
  13. DATA”共通の説明文”
  • 制作者名、曲のタイトル、説明、MMLをDATA文で列挙する形式。
  • コメント改行は/nで可能(対応作品の場合)。
  • プチコン4では終端の0、-1は文字列でない数値でも可。
  • プチコン4ではプレイヤーの背景画像を設定できる。

NNM

  • 楽曲定義の前に@BGM◯ラベルを0から順に使うということを決めただけで、その他の点は何の機能もない。
    • ただし、標準命令集同梱の「NNM with Extended MML」を使用することで、Extended MML相当の機能を使用できる。
  1. @BGM0
  2. DATA ”CDERCDERCDE”
  3. DATA 0
  4. ’↓NNM with Extended MML向け
  5. @BGM1
  6. DATA ”{TITLE=FADE}{COMP=高原のな}”
  7. DATA ”{TEXT=Polyglot}”
  8. DATA ”{DATEND=}”
  9. DATA ”FADE L8FGAB−L4B+.”
  10. DATA 0
  • NNM with Extended MMLを使用する際は、@NNMラベル内にExtended MML同様の形式でメタデータを書いておくと、MML内に検索している要素が発見できなかった時に検索される。
  • MMLデータの末端にDATA 0を使用するため、BGMSETD命令以外を使用して読み込む場合は工夫が必要になる。

TGM

  • MMLは@MML_DATA◯に0から順に記述。
  • @MML_TITLEのデータ数(最後の空文字列を除く)がMMLの数を超過してる場合はエラー。
  1. @MML_TITLE
  2. ’DATA 音量,”曲名”,”作曲者”,”編曲者”,”コメント”
  3. DATA 070,”曲A”,”あああ”,””,””
  4. DATA 080,”曲B”,”いいい”,””,””
  5. DATA 000,””,””,””,””
  6. @MML_DATA0
  7. DATA ”MML文字列”
  8. DATA ””
  9. @MML_DATA1
  10. DATA ”MML文字列(1行目)”
  11. DATA ”MML文字列(2行目)”
  12. DATA ”MML文字列(3行目)”
  13. DATA ””
  • MMLの音量設定が可能
  • 音量を0にした場合、自動的に64に設定される(付属プレーヤーの場合)。
  • CHOMMLの記述が可能(MMLの1行目にDATA "*CHO*"が必要)。
  • プチコン4ではMMLの末端はDATA 0でも可。

NMPACKS

  • 公式にはサポート終了としているが、一部機能がまだNNMに取り込まれていないため、一部では新規採用されたりもしている。
    • ただし、2020年1月20日時点では標準ライブラリが公開終了となったままのため、全機能への対応は若干手間が大きい。
  • @NMTRACKSにラベル名の@D_や@M_を除く部分を列挙、@NMPACKには各MMLのデータ部分に検索している要素が発見できなかった時に検索される内容を記述する。
  • @D_からはじまるラベル内にはメタデータを「要素名:内容」の形式で記述する。要素名の大文字小文字は区別されない。
  • @M_からはじまるラベル内にはMMLデータを記述し、データの最後は空文字と0を連続させて終わる。
    • その他記述形態がとにかく複雑なのでこのページでは詳細は説明しない。
  1. @NMTRACKS
  2. DATA”MYBGM1”
  3. DATA”MYBGM2”
  4. DATA””
  5. @NMPACK
  6. DATA”album:はじめての きょくパック”
  7. DATA””
  8. @D_MYBGM1
  9. DATA”title:はじめての きょく”
  10. DATA”composer:○○○○”
  11. DATA””
  12. @M_MYBGM1
  13. DATA”(中略:MMLデータ)”
  14. DATA””,0
  15. @D_MYBGM2
  16. DATA”title:かっこいい きょく”
  17. DATA”composer:○○○○”
  18. DATA””
  19. @M_MYBGM2
  20. DATA”(中略:MMLデータ)”
  21. DATA””,0

LYB

  • 歌詞表示に特化したMMLファイル
  • < >内の数値分その行の歌詞を表示できる(単位:秒)
  1. @LYB
  2. DATA ”1.0”
  3. DATA ”色は匂へど散りぬるを”
  4. DATA ”幽閉サテライト”
  5. DATA ”C”
  6. DATA ”T138:0[@88V93,A8<C8D2...”
  7. DATA ”<06>色は匂へど 散りぬるを”
  8. DATA ”<10>さ迷う事さえ 許せなかった...”
  9. 省略
  10. DATA ”<08>悪夢が優しく私を弄ぶ
  11. DATA ”0”

NTP

  • NMPACKとTGMを合わせたようなフォーマット。
  1. @NTP_INFO
  2. DATA ”{ALBUM=テストアルバム}”
  3. DATA ”{TEXT=ステータスメッセージ}”
  4. DATA ”{DATEND=}”
  5. @NTP_LIST
  6. DATA ”曲名”,”作曲者”,”編曲者”,”コメント”,”ID”
  7. DATA ”AAA”,”BBB”,”CCC”,”○○の曲”,”ABC”
  8. DATA ””,””,””,””,””
  9. @B_ID
  10. DATA ”CDEFGAB”
  11. DATA ”0”
  12. @B_ABC
  13. DATA ”:0@88”
  14. DATA ”CDEFEDCR”
  15. DATA ”EFGAGFER”
  16. DATA ”0”
  • CHOMMLの記述が可能(MMLの1行目にDATA "*CHO*"が必要)。
  • @B_からはじまるラベル内にはMMLデータを記述し、データの最後は"0"で終わる。

GMD

  • プチコン4用フォーマット。
  • GRPからMML情報を取得する。
  • 複数曲(最高50曲)まで1枚のGRPに保存可能。
  • MML文字列として読み込むのでExMML形式で読み込む必要がある
  • 3号ではGPGET命令で正しい数値が返ってこない(近似値?)ので再現は不可能。
    • 文字列を32^3通りの1つとして表示、取得することも可能な気がするが面倒臭い
  • 仕様
    • MML文字列をmid$で1文字ずつ取得し、文字コードを色としてGRPの座標に描写する
    • 描写後は座標を1ずつずらす
    • MMLが全て描写されたら#C_REDを描写

フォーマットを利用した作品

 最新版Ver.曲数の上限ファイル数の上限ExMMLBEDBHD1BHD2MCDNNMTGM.NMPLYBNTP備考
Musics12ver.1.0約500曲なし××音色ランダム機能*9対応
Musics12 Prover.3.0約10000曲なし×音色ランダム機能*10対応
MML Carrier for SB3Ver.0323曲*11なし×××××*12××
オトヒロバver.2.3.0なしなし××××
TAGeLorix Player+ver.1.201024曲*13128
TAGeLorix Player Widever.1.101024曲*14128
LYB PlayerVer.1.0230曲なし×××××××××
All over the MMLs2020/11/3なしなし×××××××××プチコン上のあらゆるMMLが収録
  • NNMの〇はNNM with Extended MML対応を表す。
  • TGMの△はCHOMMLと音量設定に非対応を表す。

※各フォーマットの概要は、サンプルを元に制作しています。作品の中には対応していない機能がある場合があります(例:MusicsGでのTGM Vol機能)。※
※ほかにもありましたら各自追加・コメントにてお知らせください。

各作品の簡単なご紹介

MPlay1(by Na)

  • 元はMCDとNMPACKS用のプレイヤーだったが、現在は沢山のMMLフォーマットに対応している。
  • Visual MMLでMMLを可視化できる。(ver2.0以降)
  • 初公開は2019年6月(公開終了)。

Musics12(by takumi)

  • BED、BHD1、BHD2の公式音楽プレーヤー。
  • 初めて検索エンジンを導入。
  • 従来のMusicsより若干読込みが速くなっている。
  • 初公開は2020年7月。

Musics12 Pro(by takumi) [#h]

  • VMML+ Switchに対応したプレーヤー。
  • SB4で(恐らく)初のNTP対応プレーヤー。
  • 10000曲ほど読み込める。
  • All over the MMLs(SB3用)内の殆どの曲を読みこむことが可能。
  • 初公開は2020年10月。

MML Carrier for SB3(by イスターリャ)

  • MCDの公式音楽プレーヤー。
  • プチコン4版は画像表示にも対応している。
  • 初公開は2019年6月。

オトヒロバ(by 高原のな)

  • NNMの開発者の片方で.NMPの開発者が好き勝手やってるプレイヤー(公式プレイヤーではない)。
  • グラフィックにこだわっており、ファイル別にMMLを取得する。
  • 初公開は2019年9月。

TAGeLorix Player+(by ☆Tatsukin★)

  • TGMの公式音楽プレーヤー。
  • LYBの歌詞表示にも対応。
  • 初公開は2020年3月。

TAGeLorix Player Wide(by ☆Tatsukin★)

  • TGM、NTPの公式音楽プレーヤー。
  • TAGeLorix Playerの上位互換。ファイルの詳細などが表示されるようになった。
  • 初公開は2020年8月。

LYB Player(by takumi)

  • LYBの公式音楽プレーヤー。
  • 歌詞を漢字ライブラリで綺麗に表示。
  • 初公開は2020年3月。

All over the MMLs(by ☆Tatsukin★)

  • 公式音楽プレーヤーというよりは、MML集に近いかも。
  • プチコン界にあるあらゆるMMLが収録。検索機能や並び替え機能がある。
  • 初公開は2020年6月。

コメント

  • 高原のな : オトヒロバ バージョン2に関して勝手に加筆修正しました (2019/12/25 (水) 00:49:16)
  • 名無しさん : BHD正確には時間の前にジャンル(?)が入るのでは? (2019/12/25 (水) 16:53:12)
  • Na : フォーマットではないですがよく使われるものにToukou/とりぷれいやーToukou/万能MMLプレイヤーがありますね (2019/12/25 (水) 17:07:27)
  • 高原のな : NMPACKSをNMPと略されるの不本意なので伸ばしました、ごめんなさい (2019/12/25 (水) 17:26:26)
  • 名無しさん : ↑そもそも拡張子NMPなんですがそれは…() (2019/12/25 (水) 17:36:31)
  • 高原のな : NMPACKS自体が略称であること、慣例的に拡張子は3文字とすること(DOSだ!)という理由です (2019/12/25 (水) 17:41:18)
  • 名無しさん : PCだと別に3文字じゃない拡張子とかあるので(jsonとかjpegとか)いいのでは…? (2019/12/25 (水) 17:56:28)
  • 名無しさん : (Nona Music PACKSと推測) (2019/12/25 (水) 17:57:04)
  • 高原のな : さすがにファイル自体の文字数制限がある環境で6文字拡張子は厳しいでしょう。フォーマット自体を指してNMPと呼ばなければ構いません(たとえばNMPファイル、とかならOKです) (2019/12/25 (水) 18:01:32)
  • Na : BHDについて、勝手にジャンル追加しました (2019/12/25 (水) 18:25:01)
  • takumi : ありがとうございます。 (2019/12/26 (木) 10:50:41)
  • takumi : オトヒロバは、プチバース振り返ってたらあったので書きました。 (2019/12/26 (木) 10:51:05)
  • 名無しさん : BHDライブラリ作ってくれよな~頼むよ~ (2019/12/26 (木) 13:30:47)
  • takumi : 互換性をなくし、ジャケット対応にしようかと考えています。 (2019/12/26 (木) 13:36:33)
  • 高原のな : ExMML、NNMの特徴的な点について追記、表現統一を目指し一部修正、一部コメント化をしました (2019/12/26 (木) 16:08:38)
  • 高原のな : 表現統一を目指し一部修正についてなんですが、「自作命令」よりも「ライブラリ」とか「基本命令集」とした方が良いかと思われます(たぶんそういうことを言いたかったのではないかという推測ですが) (2019/12/26 (木) 16:10:35)
  • 高原のな : あと「オトヒロバ」はExMML, (2019/12/26 (木) 16:12:09)
  • 高原のな : 失礼しました。「オトヒロバ」はExMMLとNNMの特徴を活かして、独自拡張をいくつか行うので、「フォーマットのサンプル」には該当しないという扱いでお願いします。 (2019/12/26 (木) 16:13:13)
  • takumi : 了解です。 (2019/12/26 (木) 16:36:25)
  • Na : >最後の方にMML紹介所があるので どこに() (2019/12/26 (木) 17:09:15)
  • takumi : 一応ここなんです (2019/12/26 (木) 17:36:46)
  • takumi : BHDV2.0の仕様を、240*240から160*160に変更します。 (2019/12/26 (木) 17:37:22)
  • takumi : 240だとでかすぎたのです。 (2019/12/26 (木) 17:37:40)
  • 高原のな : BHD v2読み込み関係ですが、自前でMCDを実装しているならそれを少し改造すればプログラムの大部分が流用できますね。TGMもNMPACKS読み込みを若干改造すれば使えそうです。 (2019/12/29 (日) 16:29:17)
  • takumi : そうですね……まぁ僕は色々苦労しましたが。 (2020/01/03 (金) 22:02:24)
  • 高原のな : そういえば、MCDはフォーマット名でもなければ、ただの拡張子であったので、NMPACKSと一緒に扱い方を変更しておきました (2020/01/13 (月) 22:18:24)
  • Na : MCDはMML Carrier Dataの略称では? (2020/01/13 (月) 22:27:54)
  • Na : フォーマット名MCDで合ってると思いますよ (2020/01/13 (月) 22:28:19)
  • 高原のな : すみません、どこかで間違って記憶していたようです。 (2020/01/15 (水) 18:30:23)
  • 高原のな : それと、ExMMLと関連性の高いNNMをExMMLの次の項目としておきたいのですが、制作者なのでなんとなくやりづらいです。そのように変更してよいですかね? (2020/01/15 (水) 18:34:14)
  • Na : ExMMLを後ろに持ってきたらいいと思います (2020/01/15 (水) 19:14:01)
  • 高原のな : どっちでも構いませんが、その点の判断は該当項目の制作者じゃない人に任せたいですね (2020/01/15 (水) 19:28:43)
  • 高原のな : と、NNMとExMMLの項目の位置関係を、という話をしていたのですが、NNMからExMMLを明確に切り離すことにしたので今の位置で続行でいいと思います (2020/01/15 (水) 19:59:02)
  • 名無しさん : 崩れてたので直した (2020/03/12 (木) 16:58:55)
  • 名無しさん : ↑25 今更だが、ファイルとフォーマットの違いがわからん(拡張子のことを指してファイルとかフォーマットとか言ってるので) (2020/05/25 (月) 14:51:08)
  • 名無しさん : つまり自分の中では拡張子=フォーマット、その拡張子が使われてるもの=ファイル (2020/05/25 (月) 14:52:14)
  • 高原のな : 拡張子は人のための識別記号で、フォーマットはコンピュータのための識別記号(プロトコル)という認識でいます。変な話ですが、(フォーマットを解析して処理するプログラムの場合は)jpgという拡張子でも中身がpngならpngとして表示したりできます(推奨はしません)。 (2020/05/25 (月) 19:13:53)
  • 高原のな : 拡張子がコンピュータにとって無関係という意味で言ったわけではないです。もうすこしわかりやすい言い方をすると、ファイルがあって、そのファイルの中身の書き方がフォーマット、ファイルの名前の付け方のルールの一部として拡張子があるといった感じだと思います(間違っているようなら教えてください)。 (2020/05/25 (月) 19:16:16)
  • ☆Tatsukin★ : 今更ですが、TAGeLorix Player(+を含む)は、曲数自体の上限は2048曲(とは言ってもFREEMEMの関係で500曲くらいまでしか入らないと思う)、プロジェクト内のファイル数は128までという制約があります。 (2020/06/18 (木) 15:56:33)
  • 名無しさん : DAFは結局どうなった? (2020/10/04 (日) 07:50:33)
  • 名無しさん : GMD結局公開されてなくて草 (2021/02/05 (金) 13:23:13)

メニュー 【3号】

ヘルプ

リンク

最近の更新

最近の人気ページ

オンライン情報

  • 現在同時に 1 人がこのサイトを見ています
  • このページはこれまでに 2040 回、本日は 1 回、昨日は 0 回閲覧されました

ページの先頭に戻る

*1 「曲別説明文」と同等
*2 ExMML連携拡張では〇
*3 ExMML連携拡張ライブラリを同梱
*4 そもそも説明文の設定ができない
*5 標準要素未収録。要素名はVOLを推奨
*6 ただし記述方法が複雑
*7 プチコン4版は背景画像が設定可能
*8 最新版では標準要素から削除された
*9 @<S>で音色をランダム指定すること
*10 @<S>で音色をランダム指定すること
*11 表示に不具合あり
*12 埋め込み構文非対応
*13 FREEMEMの関係で実質500曲位
*14 FREEMEMの関係で実質500曲位

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.284 秒 | このページの最終更新 : 2022/09/20 (火) 12:49:07 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30