MUCOM88 Windowsについて - onitama/mucom88 GitHub Wiki
MUCOM88をWindows上で動作させるためのシステムです。 コマンドライン版、GUI版の両方が用意されています。
mucom88win.exe Windows GUI版エディタ
mucom88.exe Windows コマンドライン版
MUCOM88 Windowsを使用することにより、音楽記述に特化した言語MML(Music Macro Language)として記述された音楽を、PC-8801の音源と同様に演奏させることができます。 また、SCCI(Sound Chip Common Interface)を経由することで実際のFM音源チップ(YM2608/YM2203)による演奏をサポートしています。
アプリケーションの更新履歴については、「history.txt」を参照してください。
- メニュースクリーン
- リズム音源について
- 音色データファイル、音色エディタについて
- MMLリファレンス
- ADPCMデータファイルについて
- オートプレイヤー
- 実チップの使用について
- コマンドライン版について
- HSPプラグインについて
MUCOM88 Windowsは、サウンド再生が可能なWindows XP以降のシステム上で動作します。 Windowsのサウンド再生処理には、DirectX8以降のDirectSoundを使用しています。Windows 7以降の環境では、追加のコンポーネントを用意することなく動作させることができます。 FM音源、PSGサウンドのエミュレーションは32bit/55KHzで合成し、出力されています。古いマシンでは、負荷が大きい場合があります。
MUCOM88 Windowsは、オリジナルのMUCOM88で使用されていたコード(Z80)を仮想的にエミュレーションし、FM音源ジェネレーター(fmgen)を介して 演奏します。オリジナルと同様の動作で、MMLの解釈、演奏をさせることが可能になっています。 動作に際して、PC-8801のBIOSやROM、ディスクイメージは必要ありません。
Windows GUIベースでMMLの編集と演奏が可能です。 「mucom88win.exe」を起動すると、エディタの画面となりMMLの編集ができるようになります。基本的な操作は、以下のキーかボタンで行います。
メニュースクリーン呼び出し ([F1]キー)
編集中のMMLを保存 ([ctrl]+[S]キー)
編集中のMMLを演奏 ([F5]または[F12]キー)
演奏の停止・再開 ([ESC]キー)
演奏の早送り([ctrl]+[F1]キー)
音色エディタの表示ON/OFF(V.EDITボタン)
MMLの編集画面では、
A t190@30v15 cdefgab>c
など「チャンネル(A~K)」「スペース」「MML記述」という組み合わせで各行に書いたものが、そのまま演奏されます。 基本的には、自由にMMLを記述し[F5]で演奏(MMLコンパイル)させながら曲を作成するスタイルになります。画面下にある数行のウインドウに、 MMLコンパイルの結果やメッセージが表示されます。 MMLの記述にエラーがあった場合も、そこに表示されます。 MMLは、テキストファイルとして読み込み・保存ができるので気軽な気持ちで読み書きが可能です。
MML記述についての詳細は、MMLリファレンスを参考にしてください。 また、サンプルMML(sampl1~sampl3)も、実際の作成に役立つはずです。 MML編集以外の操作は、[F1]キーで呼び出されるメニュースクリーンから行います。
MUCOM88 Windowsで扱うことのできるフォーマットは、以下の通りです。
・.MUC形式 MUCOM88(MUSIC LALF)の書式で記述されたMML(行番号を除く)テキストファイルです。
FM音源(YM2608)6声、ADPCM1声とリズム音源6声、PSG3声の
コントロールが可能です。
MMLの詳細はMUCOM88のMMLリファレンスを参照下さい。
・.N88形式 行頭に行番号が付加されたMMLのテキストファイルです。
PC-8801上のN88-BASICのアスキーセーブ形式と互換性があります。
「行番号 MML」のような形式で、行番号とMMLの間にスペースが入ります。
・.MUB形式 MUC形式をバイナリに変換したファイル形式。
演奏データ及びFM音色、ADPCMデータを内包します。
・.dat形式 FM音源のプリセット音色を保存しているファイルです。
voice.datファイルを標準的なプリセット音色として
使用します。これは、PC-8801版のMUCOM88(MUSIC LALF)
で使用されていたファイルと互換性があります。
・.bin形式 ADPCM音源波形データを保存しているファイルです。
mucompcm.binファイルを標準で使用します。
PC-8801版のMUCOM88(MUSIC LALF)で使用されていた
データを変換して使用することが可能です。
mucom88win.exeでは、MML演奏(コンパイル)時に一時ファイルをMUCファイルがあるフォルダと同じ場所に作成します。
mucommml 編集中のMMLを出力した一時ファイル
mucombin 編集中のMMLをバイナリ出力した一時ファイル
これらの一時ファイルは、通常時は必要ありませんので削除しても問題ありません。もし、エディタがエラーなどで強制終了されて、ファイルの編集ができなかった際には、最後に演奏したデータをmucommmlから復元することができます。
また、エディタの設定は、以下のフォルダに保存されています。
/User/ユーザー名/AppData/Roaming/MUCOM88/mucom88win.ini
アンインストール時や、設定を初期化する際は、該当フォルダを削除してください。
ver0.53から、#driverタグによるドライバの選択が可能になっています。 #driverタグに続いてドライバ名を記述することで、MMLのコンパイル及び演奏に 特定のドライバを使用することができます。
#driver mucom88 -> MUCOM88 1.7(デフォルト)
#driver mucom88E -> MUCOM88 1.5
#driver mucom88EM -> MUCOM88em
#driver mucomDotNET -> mucomDotNETによるコンパイルと演奏
何も指定しない場合は、標準のドライバが選択されます。 mucomDotNETを指定した場合は、kumatan氏により作成されたmucomDotNETを使用します。 この場合、再生時にコマンドプロンプトを起動するため早送りやプレイヤーなどMUCOM88Win側の機能は使えなくなります。 mucomDotNETは、デフォルトでMucom88Windows以下のmucomDotNETフォルダ内に格納されているツールセットを使用します。(設定により他のパスから実行させることも可能です。)
ドライバによる主な差異は以下の通りです。
#driver名 | バージョン | 実機サポート | 備考 |
---|---|---|---|
mucom88 | MUCOM88 1.7 | 〇 | MUSIC LALF相当 |
mucom88E | MUCOM88 1.5 | 〇 | PSGハードエンベロープ対応 |
mucom88EM | MUCOM88em | 〇(拡張メモリ) | 使用できるメモリを拡張 |
mucomDotNET | mucomDotNET | × | 独自に拡張された実装 |
mucomDotNETを除く3つのバージョンは、PC-8801実機でも同様のMMLを演奏可能です。mucomDotNETでは、実機の再生はサポートされませんが、より広いメモリ領域を使用することができます。 標準となるMUCOM88 1.7では、使用できるメモリサイズに制限があり、大きなMMLを作成することが難しいという問題があります。これを緩和するものが、MUCOM88emで、さらにメモリの制約を緩和に機能を拡張したものがmucomDotNETとなります。 必要に合わせてドライバの選択を行ってください。大きなサイズのデータを作成しなければ、特にドライバを選択せず通常の状態でご使用頂いて問題ありません。
MML内に「#タグ」で始まる行を入れることで、タグを登録することができます。必ず「#タグ 設定内容」の形式で「#タグ」と「設定内容」の間にはスペースを入れてください。2行に渡る記述はできません。 一部のタグは、曲の再生やコンパイル時に情報が反映されます。 ここで示していないタグであってもエラーにはならず、情報として保存されます。
タグ | 機能 |
---|---|
#mucom88 | MUCOM88コアシステムのバージョン(1.5,1.7) |
#title | タイトル名 |
#composer | 作曲者名 |
#author | MMLデータ作成者名 |
#voice | 音色ファイル名 |
#pcm | PCMファイル名 |
#date | 作成日時 |
#time | 曲の長さ(秒)(wav出力時のデフォルト時間) |
#comment | 曲についてのコメント |
#driver | 使用するドライバの指定 |
#invert | オクターブ、音量の相対変化の機能設定 |
#album | アルバム名(複数の曲を同一アルバム名で管理します) |
#copyright | 著作権者名 |
#ver | MMLファイルのバージョン |
#mucver | コンパイルされたMUCOM88のバージョン(埋め込み用) |
#mmlhash | MMLのMD5ハッシュ値(埋め込み用) |
#uuid | 固有の識別ID値(埋め込み用) |
MML上で指定された'<'、'>'(オクターブの-+)及び、'('、')'(音量の-+)の動作を反転させることが可能です。(ver0.53以降) #invertタグに続いてonを記述することで、-+方向を反転させることが可能です。
#invert on
を行の先頭に記述してください。#invertタグの動作は、MML全体に対して影響します。
MML記号 | デフォルト | #invert on |
---|---|---|
< | オクターブを下げる | オクターブを上げる |
> | オクターブを上げる | オクターブを下げる |
( | 音量を下げる | 音量を上げる |
) | 音量を上げる | 音量を下げる |
この機能は、他のMMLとの互換性を確保するための補助的な機能です。 特に必要ない場合は、何も記述せずデフォルトの状態でお使いください。