2019年5月26日投稿 / 2019年7月8日更新 / 投稿者 : 高原のな / タグ : 投稿プログラム 実用ツール 音楽
いくつかの曲と、その曲の関連データを一つのファイルにまとめることができます。
本ライブラリのメンテナンスは終了しました。後継フォーマットのNNMフォーマットへの乗り換えをお勧めします。
以下の部分は、NNMへの乗り換えのための参考資料としてご利用ください。
バージョン | 公開日 | アップデート内容 |
---|---|---|
0.1(初版) | 2019年5月26日 | 1ファイルに曲関連データをまとめ上げることを目的として設計した。 |
0.1.1 | 2019年5月26日 | 誤字訂正を行った。 |
0.2 | 2019年5月26日 | wav<楽器番号>要素を追加した。composer要素の誤字を訂正した。 |
0.2.1 | 2019年6月8日 | album要素の誤字を訂正した。 |
0.2.2 | 2019年6月8日 | かつて誤字のあった要素の救済措置を設定した。 |
0.3.0 | 2019年7月8日 | データ埋め込み構文、copyright要素、date要素を追加した。 |
使い倒したい人向けに、仕様書(外部サイト)が用意してありますが、最初は読まなくていいです。
音楽パックは次の4つの要素から構成されます。これらを必要なものだけ書き記して、拡張子.NMPのファイルとして保存します。
次のプログラムは一番シンプルなファイルの例です。
サンプルファイルはプチコン4専用MMLが収録されたサンプルになっているので参考にしてみてください。
なお、音楽パックファイルに動作可能なプログラムを入れると誤作動の原因になるのでご注意ください。
- @NMTRACKS
- DATA”MYBGM1”
- DATA”MYBGM2”
- DATA””
- @NMPACK
- DATA”album:はじめての きょくパック”
- DATA””
- @D_MYBGM1
- DATA”title:はじめての きょく”
- DATA”composer:○○○○”
- DATA””
- @M_MYBGM1
- DATA”(中略:MMLデータ)”
- DATA””,0
- @D_MYBGM2
- DATA”title:かっこいい きょく”
- DATA”composer:○○○○”
- DATA””
- @M_MYBGM2
- DATA”(中略:MMLデータ)”
- DATA””,0
基本ライブラリとして「NM One」をご用意しました。ちょっとだけ楽ができます!!
NM Oneを使うときはEXECを利用してロードするか、NM Oneの中身を全てコピーしてプログラムファイルの前や後ろに貼り付けてください。
使い方の実例は収録したサンプル「SAMPLE.PRG」をご覧ください。次に追加される主な関数を紹介します。
+ | 主な関数一覧 |
|
曲再生の流れの概要をまとめると以下のようになります。
最小のプログラム例を下に示しておきます。
- EXEC”PRG2:NMONE−LIB.PRG”
- EXEC”PRG1:曲ファイル”
- DIM ID$[0]
- ID$=NMO_INIT$(1,0)
- NMO_BGMSET ID$[0],128
- BGMPLAY 128
また、NMO_GET$(曲ID,”TITLE”)で曲名、NMO_GET$(曲ID,”COMPOSER”)で作曲者などを取得可能です。
独自拡張でどんどん作り込むのもアリですが、ここでは標準で用意した一部機能を紹介します。
各種要素は、適切な位置にDATA文を並べて"要素名:データ"の形式で書くことで設定できます。要素名の大文字小文字は問いません(当ページ内でも混在しています)。
次の表に示す、音楽パックファイル全体の要素は@NMPACKのDATA文に書きます。
要素名 | 内容 |
---|---|
album | アルバム名(音楽パックファイルの題) |
次の表に示す、曲の要素は@D_<曲ID>のDATA文に書きます。
要素名 | 内容 |
---|---|
title | 曲のタイトル(このデータがない場合エラーとなる実装もある) |
composer | 作曲者(このデータがない場合エラーとなる実装もある) |
wav<楽器番号> | WAVSET用のデータ。wav224のようにして指定する。アタック,ディケイ,サスティン,リリース,定義文字列[,基準音程]と、リファレンス通りに設定する。基準音程は省略してもよい。実装者はこのデータに対応するべき。 |
arranger | 編曲者(開発者の意図としては積極的に設定&対応してほしい。) |
lyricist | 作詞者 |
description | 曲の詳細およびコメント等 |
copyright | コピーライト・権利表示 |
date | 制作日時(yyyy-mm-dd形式が望ましいが、区切り文字は/や漢字による助数詞も許容される) |
lyric | 歌詞(ただし、この仕様書ではフォーマットを指定しないため、非推奨) |
標準で用意してある他の要素を確認するには仕様書(外部サイト)をご覧ください。
曲IDの前に、次のような「識別文字」を追加すると、データを読み込みラベルの「@M_」部分が変化します。
対応バージョン | 識別文字 | 読み込みラベル |
---|---|---|
プチコン3号 | # | @M3_ |
プチコンBIG | $ | @MB_ |
PiStarter | % | @MP_ |
プチコン4 | & | @M4_ |
また、必要に応じて、自分で識別文字を追加して、読み込みラベルを変更することも可能です。NM Oneではそれが簡単にできるようになっています。
[=曲ID:要素名]という式単体もしくはembed構文を組み合わせて、他の要素に設定したデータを埋め込めるようになりました。
要素のデータがこの埋め込み式だけの場合はsame構文といい、曲ID:要素名の要素をそのままコピーします。
要素のデータ全体を{}で囲んだ場合はembed構文といい、埋め込み式がどこにあっても埋め込み式を評価しようと試みます。
なお、どちらの構文にも当てはまらない場合は埋め込み式が評価されません。
このほか、ライブラリに関して要望等ありましたらCHECKER FLAGにお寄せください。
トップメニューの「作品公開とダウンロード」から公開キーを入力すると、ダウンロードすることができます。
サンプルとして、「NM One」を使用したシンプルなプレイヤーと、投稿者が第3回SB2Weeksに投稿した「おてがみコウモリさん」の曲を数曲収録しました。
バージョン | 対象環境 | 公開状況 | アップデート内容 |
---|---|---|---|
(初版) | 3号/BIG | 終了 | 1ファイルに曲関連データをまとめ上げることを目的として設計した。 |
(初期版) | 3号/BIG | 終了 | バックアップがないため、詳細は不明 |
2019-07-02 | 4 | 終了 | プチコン4対応版初版。ただし対応し忘れた部分がある。仕様バージョン0.2.2に対応。 |
2019-07-08 | 3号/BIG | 終了 | 仕様バージョン0.3.0に対応。NMONE-LIB.PRGは埋め込み構文にも対応した。 |
2019-07-21 | 4 | 終了 | 仕様バージョン0.3.0に対応。NMONE-LIB.PRGは埋め込み構文にも対応した。 |
2019-11-30 | 3号/BIG | - | プチコン3号/プチコンBIG版はNNMフォーマットに保守管理を移行しました。 |
2019-12-21 | 4 | - | プチコン4版もNNMフォーマットに保守管理を移行しました。 |
この作品(= NMPACKSの仕様と、公開キーでアップしているサンプル)に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.148 秒 | このページの最終更新 : 2022/09/20 (火) 12:51:44 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30