Miyap2002

 RCP/R36/G18/G36/SMF MIDI PLAYER Miyap2002
 Copyright(c) 1994-2002 Miyaan software
 miyaan@mail.highway.ne.jp
http://home10.highway.ne.jp/rk4222/

  Miyap2002 はレコンポーザで作成されたファイル(*.RCP/*.R36/*.G18/*.G36) および Standard MIDI FILE(*.MID/*.STD/*.MFF) を演奏する MIDI Player です。

  Miyap2002はフリーソフトウェアです。


 はじめに
  時の流れは速いものでMiyaPlay95の最終バージョンを公開してからすでに５年以上が経過しました。PCの世界の進歩は留まる事を知らず、今やブロードバンド時代。今更MIDIファイルだけしか再生できないプレイヤソフトなんて時代遅れなものとなってしまいました。このMiyaPlayのソースも５年以上バージョンアップ途中のまま放ったらかしだったのですが、自分自身のPC環境もNT系OSメインに切り替わり、再生エンジンが16bitのMiyaPlay95は動作しなくなりました。MiyaPlay95の一番のヘビーユーザーは間違いなく私自身なのでこの状況は困りました。私の環境ではMIDIプレイヤはMIDIパッチベイ A-880をコントロールする機能がないと使いものにならないからです。それでMiyaPlay95の再生エンジン部分も完全に32bit化し、NT系OSで動作するようにしました。

  当初は自分自身のために開発したので今更公開するつもりはなかったのですが、「もしかしたら、NT系OSでMiyaPlay95が動作しなくて困ってる人もいるかもしれない」と思い、自分のHPで公開することにしました。


 特徴
  Windows に何らかの MIDI ドライバが組み込まれていれば動作可能です。S-MPUのSEQモードはサポートしていません。S-MPUのSEQモードを使用したい方はWin9x系OSでMiyaPlay95を使用してください。Win9ｘ系OSの場合、再生エンジンが16bitのMiyaPlay95の方が演奏が安定しているかもしれないです。

  2 Port までの MIDI 出力 Port をコントロール可能です。

  SMF の Port 指定メタイベントに対応しています。

  SMF に Port 指定メタイベントがなくても、後述のパターンで、トラックを 2 Port に振り分けする事ができます。

  拡張子関連付けに対応しています。

  ドラッグ ＆ ドロップに対応しています。

  １曲指定演奏／連続演奏／ランダム演奏が可能です。

  レコンポーザのコントロールファイル(CM6/GSD FILE) 送信に対応しています。

  GS 音源風？のパネルモニタを装備しています。

  チャンネルボリューム・エクスプレッション・マスターボリューム・テンポ・演奏時間をグラフィカルなメーターでモニターする事ができます。

  BGM に使用する場合、モニタを行わないモードにする事によって動作を軽くする事ができます。

  音源をリセットするかどうかを指定する事ができます。

  SC-88 を使用する場合に本体の 55MAP ボタンを押さなくても、ソフト側で 55 MAP をエミュレーションする事が可能です。

  ファイルパスや、データ中のタイトル・メモ欄などを検索し、SC-88 を使用した場合 ALL 55 MAP エミュレート機能を使用するかどうかを自動識別する事が可能です。

  Roland 社の音源 SC-55mkII で、SC-55（無印）用データを演奏させる場合にその動作を補正させる事ができます。この機能を使えば SC-55mkII で SC-55（無印）用データをほとんど同等に演奏させる事が可能です。（SC-88 の 55MAP でもある程度効果があると思われます。）

  連続演奏用リストファイル中に個々のデータについて 55MAP エミュレーションをするかどうかと SC-55（無印）用補正を行うかどうかを記録できます。

  SC-88,MU-80 など F5 イベントに対応している音源を使用した場合、音源の TO HOST 端子にシリアル直結した場合にかぎり、1 PORT で 32 CH 制御可能です。

  音源のボリュームコントロールをする事が可能です。ボリュームコントロールにはトラックボリューム（コントロールチェンジ #07）を使用しているので、MIDI 音源の機種に依存しません。特に、音源にボリュームつまみのない SCP-55を使用する場合には便利な機能です。

  連続演奏用リストファイル中に個々のデータに対するボリューム値を記録します。よって個々のデータの最適なボリューム値を常に記憶できます。

  Roland 社の MIDI パッチベイ A-880 を制御する事ができます。この機能により、A-880 を用いて複数音源を接続しているシステムにおいて、A-880 を自動的に目的の音源に接続を切り替えられます。よって、A-880 を用いれば、違う音源用データを演奏するたびに接続を手動で切り替えたり、ソフトの設定を変えたりする事がなくなります。また、異なる音源用データを混在させた演奏リストファイルを作成して、連続演奏させる事も可能になります。この機能を利用するためにはパソコンの MIDI OUT が最低 2 Port 必要です。（推奨 3 Port 以上、2 Port の場合は 2 Port 32 チャンネル演奏は不可）

  グラフィックメーターの色をカスタマイズすることができます。

  複数ファイルの D&D、拡張子関連付け起動に対応しています。

  コマンドライン引数からのオプション指定で MiyaPlay95 の動作を制御可能です。

  D&D や拡張子関連付け起動で演奏リストにデータを追加して行く事が可能です。


 同梱ファイル
README.TXT : まず最初にお読みください
Miyap2002.exe : Miyap2002 本体
MiyapPlay.dll : 演奏エンジン DLL
W32A880.ｄｌｌ : A-880 制御用 DLL
Miyap2002.chm : Miyap2002ヘルプファイル（このファイル）


 動作環境
  動作OS ：Windows95、98、98SE、ME、Windows NT4.0、Windows2000、Windows XP
  動作条件 ：なんらかのMIDIデバイスが存在すること。

  動作確認環境
  自作AT互換機（ASUS P4B Pentium4 1.6GHz MEM 512MB）＋SoundBluster Live! 5.1D/DV ＋On Board MIDIOUT＋Windows2000SP2

  Windows2000SP2以外のOSでは動作確認を行っておりません。その他のOSで動作報告してもらえると嬉しいです。


 対応ファイルフォーマット
  レコンポーザ（または同等のファイル形式の物を生成するソフト）で作成したファイル

  *.RCP(18Track)
  *.R36(36Track)
  *.G18
  *.G36

  Standard MIDI FILE (format 0, 1)
  *.MID
  *.STD
  *.MFF

  RIFF MIDI FORMAT FILE
  *.RMI


 その他スペック
*.RCP, *.R36 のタイムベースは 480 を上限とします。
*.RCP, *.R36 は最大同時発音数 64 です。
*.RCP, *.R36 の NOTE OFF の管理は DOS 版レコンポーザに準拠します。
*.RCP, *.R36 のテンポグラデーションには対応していません。
*.G18, *.G36 のトラック数上限は 48 です。
*.G18, *.G36 は最大同時発音数 100 です。
*.G18, *.G36 の 3PORT 使用したデータには対応していません。
コントロールファイル(*.CM6/*.GSD)は曲データと同じディレクトリに置く必要があります。
SMF のタイムベースは 960 を上限とします。
SMF に同時発音数の制限はありません。
SMF は MAC Binary ヘッダが付いていても可です。
SMF format 1 の Track 数は 100 を上限とします。
A-880 制御機能を利用するには最低パソコンの MIDI OUT が２つ必要です。A-880 制御機能を利用し、2 PORT 32 CH 演奏も行う場合は最低 MIDI OUT が３つ必要です。


 前バージョンからの変更点


 変更点
2002.4.30
【v3.02】
・LIST FILE演奏時、最初の一曲目の55補正関連が反映されないバグフィックス。

2002.4.28
【v3.01】
・Drag&Drop関連のバグフィックス。
・Drag&Drop、コマンドライン引数関連の処理大幅見直し。
・Drag&Dropの挙動を設定ダイアログだけでなく、画面上部に変更ボタンを設けてそこから設定できるようにした。
・フォントの作成処理が不安定だったので修正した。


 操作方法
Miyap2002 の操作方法を以下に示します。


 インストール


 インストール方法
  特にインストーラーは用意していません。各自手動でインストールを行ってください。アーカイブの中身を適当なフォルダに解凍し、Miyap2002.exeを起動してください。デスクトップにショートカットを作成すると便利です。

  関連付けは自分の好みで行ってください。レジストリを勝手に弄くるのは好きではありませんのでMiyap2002側では一切さわりません。Windows2000の場合、目的のファイルを右クリック、「アプリケーションから開く」->「プログラムの選択」でMiyap2002.exeを指定し「これらのファイルを開くときは、いつもこのアプリケーションを使う」にチェックを入れOKを押せば関連付け完了です。

  取り敢えず、Miyap2002を起動してください。最初に起動した時には動作の設定を行うダイアログボックスが開きます。自分の環境に会った設定を行ってください。


 ファイル選択
MiyaPlay95 のファイル操作を次に説明します。


 新規演奏リストファイルの作成
  File メニューの New を選択すると、ファイルリスト表示ダイアログボックスが表示されます。そこで、ADD ボタンを押してください。そうすると、曲データ選択ダイアログボックスが出現するので、リストに加える曲データを選択してください。

  ここでは複数ファイルの指定が可能です。エクスプローラと操作は同じで、SHIFT や CTRL を押しながらマウスで選択すれば、複数が指定できます。

  もし、追加した曲データをリストから削除する場合には、削除したいデータにカーソルを合せ、DEL ボタンを押してください。

  リストの作成が終了したら、OK ボタンを押してください。


 演奏リストファイルの読み込み
  もし、以前作成した演奏リストファイル(*.MLT)があるなら、File メニューの Open を選択すれば、リストファイル選択ダイアログボックスが表示れるので、指定のリストファイルを選択してください。

  リストファイルを読み込むと、ファイルリスト表示ダイアログボックスが表示されるので、もし、演奏曲リストに変更がなければ、OK ボタンを押してください。

  旧バージョンのリストファイル *.MYP も読み込みできます。


 演奏リストファイルの編集
  File メニューの Edit を選択すると、ファイルリストの編集ができます。（演奏中でも可です）編集方法は新規作成方法に準じます。


 演奏リストファイルのセーブ
  すでに、一旦セーブしたり、Open で読み込んで再編集した名前の確定したリストファイルをセーブする場合は、File メニューの Save を選択してください。存在するリストファイルに上書きセーブします。

  名前の確定していないリストファイルをセーブする場合や、名前を変えてセーブする場合には File メニューの Save as を選択してください。セーブ用ダイアログボックスが出現するので、ファイル名を入力し、セーブしてください。

  リストファイルによる連続演奏を行っている場合は各データごとにボリューム値がリストファイル中に記録されます。リストファイルのエディットを行なっていなければボリューム値は自動的に記録されますが、エディットを行っているとセーブの確認ダイアログが出た時にいいえを選ぶとボリューム値も記録されないので注意してください。


 演奏リスト中の 55MAP エミュレーション・SC-55補正設定
  EDIT メニューなどを選択した時に表示される連続演奏リストダイアログの SETTING ボタンを押すと、そのデータを演奏する時に 55MAP エミュレーションを行うかどうかと SC-55（無印）データ用補正を行うかどうかを設定する事ができます。

  ここで設定した物はリストファイル中に記録されます。


 データファイルのダイレクト指定
  Midi メニューを選択すると、データファイル(*.RCP/*.R36/*.G18/*.G36/*.MID/*.STD/*.MFF/*.RMI) をダイレクトに選択するダイアログボックスが表示されるので、演奏させたいデータを選択してください。すると、そのデータを１曲だけ演奏します。


 拡張子関連付け起動・ドラッグ & ドロップ
  Miyap2002.exe にデータファイル（*.RCP/*.R36/*.G18/*.G36/*.MID/*.STD/*.MFF/*.RMI)および演奏リストファイル(*.MYP/*.MLT)に拡張子関連付けがされていれば、データファイルアイコンのダブルクリック・エクスプローラや各種ファイルマネージャのダブルクリック・Miyap2002.exe へのショートカットへのドラッグ＆ドロップで Miyap2002.exe を起動し、ただちに演奏を開始する事ができます。

  また、Miyap2002のウインドウ内へのドラッグ＆ドロップも受け付けます。

  複数データファイルのドラッグ＆ドロップおよび拡張子関連付け起動に対応しました。複数データファイルを受けた場合、それらのデータ群で連続演奏リストを自動的に作成します。

  ドラッグ＆ドロップおよび拡張子関連付けには２つのモードが存在します。それぞれのモードの切り替え方法は後述の演奏モードの設定方法およびコマンドライン引数によるオプション指定を参照してください。

以下にそれぞれのモードの動作について説明します。

・D&D LIST NEW
  演奏中にドラッグ＆ドロップおよび拡張子関連付け起動を受けると直ちに新しいデータ（群）に切り替わります。

・D&D LIST ADD
  ドラッグ＆ドロップや拡張子関連付け起動をされると連続演奏リストに次々と追加していきます。

  演奏リストファイル（*/MYP/*.MLT）を受けた時の挙動はv3.01よりリストファイルをマージして読み込む仕様に変更しました。


 演奏操作
Miyp2002の演奏関連操作を以下に示します。
基本的にボタンが黒い時は押す事が可能で、灰色の時は押す事ができません。


 演奏停止
  演奏中に STOP ボタン を押すか 'T' キーを押すと、演奏を停止します。拡張子関連付け起動している場合、プログラムを終了します。


 演奏開始
  PLAY ボタンを押すか 'P' キーを押すと、ファイルリストダイアログボックスのカーソルのあるデータから、順次演奏を行います。

  連続演奏中に一度停止してから、 PLAY ボタンを押してもう一度演奏を開始すると、前回演奏停止した曲から、演奏を始めます。


 曲戻し
  曲戻しボタンを押すか 'R' キーを押すと、現在演奏しているデータを最初から演奏しなおします。


 曲送り
  連続演奏中に曲送りボタンを押すか 'F' キー押すと、次の曲の演奏を開始します。


 一時停止
  演奏中に一時停止ボタンを押すか 'S' キーを押すと、演奏を一時停止します。一時停止中にもう一度一時停止ボタンを押すか 'S' キーを押すと、一時停止を解除し、演奏を再開します。


 指定データへのジャンプ
  File メニューの Edit を選択するか 'J' キーを押すと、演奏リストファイルの編集ダイアログボックスが出現します。ここでファイルリストのカーソルを指定のデータに合わせて OK ボタンを押すと、現在演奏中の曲を停止し、指定
された曲データの演奏を始めます。


 １曲リピート
  メインウインドウにある "LOOP" スイッチを ON にすると、現在演奏中の曲を１曲リピートします。演奏中でないならば、最初に演奏した曲をリピートします。


 音源のボリュームコントロール

  演奏画面右側のスライダーを上下する事によって音源のボリュームコントロールをする事ができます。MiyaPlay95 のボリュームコントロールは音源のボリュームつまみと等価です。つまり、データ中に埋めこまれているボリュームのコントロールデータには影響されません。

  また、コントロールチェンジ #07 トラックボリュームを使用しているため、音源に依存はありません。

  プログラム終了時にボリューム設定は記憶されます。

  リストファイルによる連続演奏を行っている場合は各データごとにボリューム値がリストファイル中に記録されます。リストファイルのエディットを行なっていなければボリューム値は自動的に記録されますが、エディットを行っているとセーブの確認ダイアログが出た時にいいえを選ぶとボリューム値も記録されないので注意してください。


 画面の切り替え
  １つはレコンポーザのメモ欄と A-B 両ポートのパネルモニターを表示する画面です。もう一つはグラフィックモニター画面です。

  画面の切り替えは画面上部の画面切り替えボタンで行います。

  画面切り替えボタンが Disp1 と表示されている時は従来画面です。
  ボタンを押すとボタンが Disp2 と表示されグラフィックモニタ画面に切り替わります。
  再度ボタンを押すと、Disp1 に戻ります。

  画面がグラフィックモニタモードの時は A か B かの片方のポートのモニタがなされます。
  モニタポートの切り替えは画面切り替えボタンの右横のモニタポート切り替えボタンを
  押します。

  グラフィックモニタ画面は各メーターの色をユーザーでカスタマイズする事ができます。カスタマイズの方法は後述のメータ色のカスタマイズの項目を参照してください。


 メータ色のカスタマイズ
  グラフィックモニタの表示色はユーザーでカスタマイズする事ができます。デフォルトの色は２５６色環境ではきれいではないかもしれないので（私の開発環境は 16bit 色なもんで）ぜひ好みの色にカスタマイズしてください。

  マウスでカスタマイズしたいメータの上で右クリックしてください。そうするとポップアップメニューが表示されます。ポップアップメニューにはそのメータのカスタマイズ可能な項目が表示されるのでカスタマイズしたい物を選んでください。

  そうすると、色の選択ダイアログが表示されるので、好みの色を選択するか作成してください。


 連続演奏モードの切り替え
  連続演奏時のモード（NORMAL/REPEAT/RANDOM) は設定ダイアログでも可能ですが画面上部にも切り替えスイッチを作りました。

  Norm./Rep./Rand. と表示されたボタンが切り替えスイッチです。押すとトグルでモードを切り替えます。


 Drag&Dropモードの切り替え
v3.01より、Drag&Drop時の挙動を変更するボタンを作りました。（ADD/NEW)のボタンがそれです。これは設定ダイアログのD&D Modeの設定と同じです。押すとトグルでモードを切り替えます。


 動作環境の設定
Miyap2002の動作環境の設定方法を以下に説明します。

  Option メニューを選択すると、動作設定ダイアログボックスが開きます。最初に起動した時には、無条件でダイアログボックスが開きます。

  インストールして最初の起動時には、すべての設定が終了し、OK ボタンを押すと、Miyap2002をインストールしたフォルダにMiyap2002.iniを作成し、設定を記録した後、プログラムは一旦終了します。その後の設定の変更は PANEL MONITOR の位置の入れ替えなど、一部の機能を覗き、次のデータの演奏から有効です。ただし、連続演奏中の巻き戻し動作では有効になりません。


 Miyap2002 PLAY MODE
  このボタンを押すと出力するMiyap2002の動作モードに関するダイアログボックスが開きます。ここでは以下の設定を行います。

「2 PORT MODE」
  このボタンをチェックすると、MIDI 出力 PORT を 2 PORT 使用する事ができます。

「SERIAL 32CH CONTROL ENABLE」
  このボタンをチェックすると、SC-88,MU-80 など TO HOST 端子のシリアル直結による 1 PORT 32 CH 制御を行います。

☆重要）
  Roland 社のシリアル MIDI ドライバを使用する場合にはドライバ側に 2 PORT 32CH 制御をする機能があります。この場合、ドライバ側の機能を使用し、Miyap2002側の機能は使用しないでください。

  Miyap2002側からシリアル直結 32 CH 制御を行うには当然以下の条件が選択されていないと有効にはなりません。

  「2 PORT 使用する」 <--- チェック在り
  「シリアル 32 CH 制御をする」 <--- チェック在り

  この設定を行った後、次の項目に説明されている MIDI PORT の設定を必ず再度行ってください。MIDI PORT に RS232C 用 MIDI Driver を選択し、音源の TO HOST 端子に専用ケーブルで接続されていなければなりません。（つまり、RS232C 出力でも、音源の MIDI IN につないでいると、1 PORT 32 CH 制御はできません。）


 MIDIOUT PORT
  Miyap2002を動作させるためには出力するMIDIOUT PORTを必ず指定する必要があります。2 PORT 使用する場合には 2 PORT 共指定する必要があります。（シリアル 1 PORT 32 CH 制御する時を除く）

  PORT A PORT B を同じ出力先にする事はできません。


 TIMER PERIOD
  マルチメディアタイマの割り込み周期を設定できます。1 ms, 2 ms, 5ms, 10ms, 20ms の中から選択してください。
周期が短いほど演奏が正確になますが、システムにかかる負荷が大きくなります。使用する環境で耐えられる範囲内で短い周期を選択するのがよいでしょう。


 CONTROL FILE PORT
  *.RCP/*.R36/*.G18/*.G36 FILE を演奏する場合に CONTROL FILE (CM6/GSD FILE) があった場合に送信する MIDI PORT を選択します。2 PORT 使用する場合にのみ有効です。CM6, GSD それぞれについて PORT A か PORT B かを選択してください。

  G18/G36 の場合は GSD FILE を２つ使う事ができます。それぞれについて指定してください。なお、GSD2 の指定は RCP/R36 の場合には無効です。


 PORT MODE SET
「PORT MERGE」
  このボタンをチェックすると、1 PORT しか使用しない設定の場合に 2 PORT 使用しているデータを演奏すると、両 PORT の内容をマージして出力します。チェックを外すと、A PORT に設定されているデータのみ出力します。2 PORT 使用する設定の場合は関係ありません。

「SMF PORT A 1-16 TRK PORT B 17 - 100 TRK」
  このボタンをチェックすると、17 - 100 トラックを PORT B に割り当てます。これは Roland の SC-88 DEMO データのように PORT 指定メタイベントが入っていないのに 17 トラック以降を PORT B に割り当てしなければならない SMF を演奏する場合に指定してください。ただし、PORT 指定 メタイベントがあった場合はそれを優先します。
  もし、1 PORT しか使用しない設定の場合は、データをマージすしない設定にすれば、17 トラック以降は出力されません。

「SMF PORT A 1-2 TRK PORT B 3 - 100 TRK」
  このボタンをチェックすると、 トラック 3 以降を PORT B に割り当てます。これは トラック 2 が PORT A、トラック 3 が PORT B に決め打ちしているデータのために存在します。ただし、PORT 指定 メタイベントがあった場合はそれを優先します。
  もし、1 PORT しか使用しない設定の場合は、データをマージすしない設定にすれば、3 トラック以降は出力されません。

「ENABLE SMF PORT META EVENT」
  このボタンをチェックすると、2 トラックを PORT B に割り当てます。同じく Roland の SC-88 用データで 1 トラックを PORT A、2 トラックを PORT B に設定しなければならない SMF を演奏する場合に指定してください。

「Port 指定メタイベントを有効にする」
  このボタンをチェックすると、SMF のポート指定メタイベントを有効にします。SMF データ中にポート指定メタイベントが存在すると、他のどの設定よりも優先します。チェックしなければ、データ中にポート指定メタイベントがあっても無視します。


 PLAY MODE SET
  曲データを演奏させる場合の演奏モードの設定を行います。

「NORMAL PLAY」
  このボタンをチェックした場合はリストファイル内の曲データをすべて演奏しおわると、演奏を停止します。

「REPEAT PLAY」
  このボタンをチェックすると、リストファイルの連続演奏を行うときに、曲リストの最後の演奏が終了すると、最初に戻って演奏を続けます。

「RANDOM PLAY」
  このボタンをチェックすると、ランダム演奏を行います。

「NO BANK CHANGE SEND」
  このボタンをチェックすると、データ中に Bank Change があっても送信しません。KORG 05R/W のような Bank 0 が GM Bank でない音源で Bank Change を含んだ GM 用データを演奏する場合にチェックしてください。通常はチェックしないでください。

「55MAP ONLY USE(SC-88)」
  このボタンをチェックすると、SC-88 を使用した場合に本体の ALL 55 MAP ボタンを押さなくとも、ソフトで ALL 55 MAP モードをエミュレートします。チェックされていると、演奏画面の 55MAP インジケータが赤く点灯します。

「GS/GM/CM RESET」
  このボタンをチェックすると、演奏前に GM SYSTEM ON, GS RESET,CM RESET のリセットエクスクルーシブを送信します。

「MONITOR USE」
  このボタンをチェックすると、モニタを行います。BGM 用に動作させる場合などに動作を軽くしたい場合にはチェックを外してモニタを OFF にする事ができます。その場合演奏画面は 以前の WINMIYAP.EXE と同じになります。

「PANEL MONITOR POSITION CHANGE」
  このボタンをチェックすると、PORT A, B のパネルモニタの位置を入れ替えます。

「88/55 MAP AUTO SCAN」
  このボタンをチェックすると、ファイルパス・データタイトル・メモ欄などを検索し、SC-88 の ALL 55 MAP エミュレート機能を使用するかどうかを自動検出します。SC-88 以外を使用する場合や、この機能が余計なお世話という方は(笑)チェックしないでください。
  この機能のヒット率を正確にするには後述の「ALL 55 MAP エミュレート機能について」を参照してください。

「SC-55 Adjust」
  このボタンをチェックすると、Roland SC-55mkII で SC-55（無印）用データを演奏させる場合に補正を行い、ほとんど SC-55（無印）と同等の演奏をさせます。SC-88 55MAP でもある程度の効果があります。（ただし、SC-88 55MAP の場合は SC-55mkII ほどの効果はありません）
  実際には以下の事を行います。
  ・CutOff Freq. 値の補正
  ・代理発音機能のエミュレート

「ENDLESS LOOP ABORT」
  このボタンをチェックすると、レコンポーザ系のファイルの 255,256 回ループ（256 回は 0 回と同じ）を無限ループとみなして５回で展開を打ち切ります。無限ループを使用しているデータを演奏する可能性があるならチェックしておいた方がよいでしょう。

「RCP LOOP LIMIT」
  このエディットコントロールで、RCP/R36 のループの打ち切り回数を設定します。以前の MiyaPlay for Windows Light の仕様では無限ループを使ったデータを演奏させると、ハングしていたので、その逃げのために用意しました。デフォルトは 256 です。値を小さくしすぎると、通常の演奏に影響が出る場合があります。できるだけデフォルトのまま演奏させてください。

「D&D LIST NEW」
  ドラッグ＆ドロップおよび拡張子関連付けを受けた時の挙動を従来モード（即座にそのでータに演奏を切り替え）にします。

「D&D LIST ADD」
  ドラッグ＆ドロップおよび拡張子関連付けを受けた時の挙動を演奏リスト追加モードにします。このモードにするとデータを次々にリスト内に追加していきます。

☆重要

  Miyap2002 では「ENDLESS LOOP ABORT」を ON にして、「RCP LOOP LIMIT」を 256に設定しておくのが一番よい設定です。この設定にしておけば、無限ループを使用した RCP でもほぼ問題なく動作するでしょう。


 コマンドライン引数によるオプション指定
  コマンドラインからのオプション指定による動作モードの設定に対応しています。通常、Miya2002単体で使用する場合にはあまり関係ないですが、各種ファイラー・ファイルマネージャーなどとMiyap2002を連携させる場合には有効です。

  使用する場合には以下の例のような書式でお願いします。

  C:\MIDITOOL\MIYAP95.EXE C:\MIDIDATA\A.RCP C:\MIDIDATA\B.MID /P1 /L
  （各引数間は半角スペース１ついれる事）

  /P1 : 連続演奏のモードを NORMAL で起動します。
  /P2 : 連続演奏のモードを REPEAT で起動します。
  /P3 : 連続演奏のモードを RANDOM で起動します。
  /L : １曲ループ（LOOP ボタン押下の状態）で起動します。
  /T : 倍速再生モード(Turbo ボタン押下の状態）で起動します。
  /D1: D&D モードを D&D LIST NEW で起動します。
  /D2: D&D モードを D&D LIST ADD で起動します。


 A-880 制御機能


 A-880 制御機能設定
  A-880 制御機能を使うには曲データの格納されているディレクトリまたはデータファイル名に識別用キーワードが含まれている必要があります。Miyap2002は曲データのフルパスを頭からスキャンし、設定されたキーワード中から最初にヒットしたキーワードに対応する音源用データであると判断します。

  一番簡単なのは各音源毎にディレクトリを作り、データを分類して格納しておき、キーワードをそのディレクトリ名にする事です。

  A-880 側は、パソコンの A-880 制御用に使用する MIDI OUT からつながっている MIDI IN を Control IN に設定しておいてください。A-880 の Control IN の設定方法は A-880 側の設定を参照してくだい。

  A-880 の Control IN に接続するパソコンの MIDI OUT は A-880 制御専用になります。演奏と A-880 制御を同じポートで行う事はできません。この理由により、A-880 制御機能を使用するにはパソコンの MIDI OUT が最低２つ、2 PORT 32 CH 演奏させるためには最低 3 PORT 必要になります。これは A-880 側の仕様によるものです。

  まず、メニューの A-880 をクリックすると設定ダイアログが表示されます。

・A-880 Control Enable
  このチェックボックスをチェックする事により、A-880 制御機能が有効になります。A-880 制御機能を使用しない場合にはチェックしないでください。

・A-880 Control CH
  A-880 の Contol Channel を入力してください。A-880 の Control Channel の設定および現在の設定の調べ方は A-880 側の設定を参照してください。

・PORT A MIDI IN No.
  Miyap2002 の Port A に指定したパソコンの MIDI OUT がつながっている A-880 の MIDI IN の番号を指定してください。

・PORT B MIDI IN No.
  Miyap2002 の Port B に指定したパソコンの MIDI OUT がつながっている A-880 の MIDI IN の番号を指定してください。演奏用ポートが１つしかない場合は 1-8 の適当な番号をいれてください。

・MIDI OUT
  MIDI OUT と書かれたボタンを推すと A-880 制御用ポートを指定するダイアログボックスが開きますので A-880 制御用に使用するポートを選んでください。

・MIDI IN
  MIDI IN と書かれたボタンは現在バージョンのMiyap2002では無効です。

・A-880 SET
  A-880 SET と書かれたボタンを押すと A-880 設定の詳細を行うダイアログボックスが開きます。このダイアログでは検索文字列（キーワード）の設定および PORT A,B のつながったMIDI IN をどの MIDI OUT に切り替えるかを設定します。以下の項目ではこのダイアログについて説明します。

・DEFULT
  ﾃﾞﾌｫﾙﾄ チェックボックスは検索文字列（キーワード）に一致する物がなかった場合に選択される物を指定します。

・SERACH
  検索文字列（キーワード）を入力します。最大 8 文字まで有効です。

・SET
  設定ボタンを押すと、そのキーワードがヒットした時の接続切り替えパターンを入力するダイアログボックスが開きます。以下はそのダイアログボックスの説明です。

・PORT A Connect MIDI OUT
  Port A が接続されている A-880 の MIDI IN の MIDI Message を出力する A-880 の MIDI OUT をチェックしてください。複数チェック可能です。複数チェックした場合にはパラで出力されます。

・PORT B Connect MIDI OUT
  Port B が接続されている A-880 の MIDI IN の MIDI Message を出力する A-880 の MIDI OUT をチェックしてください。複数チェック可能です。複数チェックした場合にはパラで出力されます。演奏用ポートが 1 PORT しかなく、PORT B を使用しない場合には PORT A と同じにしておいてください。


 A-880 側の設定
・Control IN の設定
  A-880 の電源を切ります
  パソコンの A-880 制御用 MIDI OUT がつながっている A-880 の MIDI IN のボタンを押しながら電源を ON にしてください。

・Contorl Channel の設定および現在の設定値の確認
  MEMORY と WIRITE ボタンを同時に押します。
  そうすると MIDI IN ボタン、又は MIDI OUT ボタンの中のどこか１つの LED が点灯します。
  その LED が現在の Control Channel の設定をあらわしています。MIDI IN ボタンが 1-8CH、MIDI OUT ボタンが 9-16CH です。
  設定を変更するには変更する MIDI Channel にあたるボタンを押してください。
  SIGNAL ボタンを押して設定完了です。


 トラブルシューティング


 Miyap2002が正常動作しなくなったら
  もし、設定が異常になり、プログラムが起動しなくなった場合には Miyap2002のインストールフォルダにあるMiyap2002.iniファイルを削除してください。そうすれば、初期状態に戻り、動作設定からやり直せます。


 注意点


 *.MTK について
  FM-TOWNS 上で動作するプレイヤである GSPALY(TaroPYONさん作）のマルチポート指定ファイルである *.MTK によってマルチポート SMF の出力ポートを指定することが可能です。

SMF データと同じディレクトリのデータ名.MTK(A.MID ならば A.MTK) が存在すれば自動的に読み込み、設定を行う。

設定ダイアログによる SMF のポート設定より優先される。

設定ダイアログで PORT 指定メタイベントが有効に設定されていれば、*.MTK の設定より、データ中に存在するポート指定イベントが優先される。

動作環境の設定で、2 PORT 使用する設定にした場合、及び 1 PORT 指定でかつ別ポート・同一 CH のデータをマージしない設定の場合の時有効。

【書式】

例えば 3 TRACK あるデータ用の *.MTK を作成すると以下のようになります。

    .track 0 port:A ch:0 <--- 実際の track 1
    .track 10 port:A ch:1 <--- 実際の track 2
    .track 51 port:B ch:2 <--- 実際の track 3

  .track 0 は特別な意味を持ち、 SMF の先頭トラック（コンダクタートラック）を表します。省略する事が可能です。省略した場合、自動的に PORT A になります。

  .track は 0 ～ 255 までの数値を指定可能です。 0 以外の数値は数値自体が特定トラックを表してしるのではなく、トラックの順序を指定しているだけです。例えば

  .track 1 <---- Track 0 が省略されているので、これは Track 2
  .track 190 <---- Track 5
  .track 4 <---- Track 3
  .track 89 <---- Track 4

のような 5 Track のデータを表現している事になります。

  port: は出力するポートを表します。MiyaPlay の場合は A が PORT A に、それ以外は全て PORT B に割り振られます。

  ch: は MiyaPlay95 の場合 OFF と指定した場合のみ意味を持ち、そのトラックをミュートします。OFF 以外の文字列や数値が指定してあっても無視します。

  ミュートはそのトラック内の全てのデータを無視します。

  .track は行頭になければなりません。

  .track 10 port:A ch:1
   ^ ^
  ^ の印の付いた箇所には必ず１つ以上のホワイトスペース（半角スペース又はtab）が必要です。

  port:A や ch:OFF は１つの塊とみなします。間にホワイトスペースは入れてはいけません。

  # 以降はコメントとみなします。

  大文字／小文字の区別はありません。


 ALL 55 MAP エミュレート機能について
  ALL 55 MAP エミュレート自動識別機能は以下の順に検索を行い、最初にヒットした結果を採用します。検索する文字列は "55","88","５５","８８" の４種類です。

・ファイルパス
  例えば、c:\midi\sc55\a.mid とか c:\midi\88test.mid はヒットする事になります。

・データタイトル

・メモ欄(RCP/R36 のみ)

  従って、"55","88" などの文字列を含んだディレクトリにデータを格納すれば100 % ヒットします。

もし、ヒットしなければ、「55MAP ONLY USE(SC-88)」 のチェックボックスで設定したモードで動作します。


 無限ループを用いた RCP/R36 ファイルについて
  レコンポーザで作成される RCP/R36 ファイルには、ループという制御構造があります。ここには最大 256 回までのループを指定する事ができます。NIFTY の FMIDI などにある通常の楽曲データには殆ど見掛けませんが、草の根ネットなどによくあるゲームミュージック系のデータにはこのループ機能を用いて曲を半永久に終わらせない（実際には 256 回近くループすれば終わりますが）ようなデータがまれに存在するようです。

  MiyaPlay はその仕様の都合上一旦 RCP/R36 ファイルのループ・セイムメジャーといった制御構造を展開し、内部形式にインポートしてから演奏しますので、デフォルトの状態ではこのようなデータを演奏しようとすると、曲データの読み込み時に恐らくハングアップします。

  Miyap2002では「PLAY MODE SET」中の「ENDLESS LOOP ABORT」を ON にして、「RCP LOOP LIMIT」を 256 に設定しておくのが一番よい設定の用です。この設定にしておけば、無限ループを使用した RCP でもほぼ問題なく動作するでしょう。


 バルクダンプを用いたデータの 88/55 自動認識
  Miyap2002の 88/55 自動認識機能でのその時点での音色の認識は曲データ中の Bank Select(MSB/LSB),Program Change で行っています。
  まれに、音色の設定にそれらを用いないでバルクダンプを曲データに埋めこむ事によって行っているデータが存在しますが、この場合はMiyap2002に自動認識させると、誤動作します。（GSD を使った RCP/R36 ファイルで GSD 内で音色設定を行っている場合も同様です。）

  これは仕様という事にさせてくださいませ。


 32ch 対応 Roland Serial MIDI Driver について
  Roland 社の 32ch 対応の Serial MIDI Driver はドライバがポート振り分け処理を行ってくれるので、Miyap2002からシリアル用の 32ch 制御をする必要はありません。

  通常の 32ch 制御の設定を行ってください。

  具体的には

  「2 PORT 使用する」 <--- チェック在り
  「シリアル 32 CH 制御をする」 <--- チェック無し

  このように設定してください。


 その他
・以上の記述は我が家での実験結果を元に書いていますので絶対という
  保証はできません。


 著作権・サポート等


 著作権等
  著作権は Miyaan software Miyaan が保有いたします。

  転載は可としますが、メールで事後でいいので、転載先の報告だけお願いします。

  転載は元のアーカイブのままお願いします。如何なる改変を加えたものも転載は御遠慮ください。

  本ソフトウェアを使用して生じた如何なる損害も作者は保証いたしません。

  本ソフトウェアの保守を行う義務を作者は負いません。


 サポートについて
何か有りましたらメールでお願いします。

miyaan@mail.highway.ne.jp


 謝辞
  以下の方々には Windows 版 MiyaPlay の開発に多大なご協力をいただきました。深く感謝いたします。（順不同）

  ・アイアスさん (NIFTY-Serve NBC00766)
  ・江崎　哲朗さん (NIFTY-Serve NAG00603)
  ・fakeさん (NIFTY-Serve PFB04312)
  ・かにぞうさん (NIFTY-Serve HHC02552)
  ・Ｋazz.Y さん (NIFTY-Serve SDI00908)
  ・DECOさん (NIFTY-Serve SDI00744)


 履歴


 履歴
2002.4.30
【v3.02】
・LIST FILE演奏時、最初の一曲目の55補正関連が反映されないバグフィックス。

2002.4.28
【v3.01】
・Drag&Drop関連のバグフィックス。
・Drag&Drop、コマンドライン引数関連の処理大幅見直し。
・Drag&Dropの挙動を設定ダイアログだけでなく、画面上部に変更ボタンを設けてそこから設定できるようにした。
・フォントの作成処理が不安定だったので修正した。

2002.4.5
【v3.00α2】
・32ビットマルティメディアタイマコールバックからPostMessageを行うともたりが発生するので、別スレッドを起して、そこからPostMessageするようにした。
・INIファイルから一部情報を読み出せなかったバグ修正。

2002.4.2
【v3.00α１】
・NT系OS対応
・A-880制御系バグ修正
・INIファイルをWindowsディレクトリでなくインストールフォルダに作成するようにした。

1996.8.13
【v1.08 から v2.00 の修正点】

  S-MPU SEQ モードから MME API モードに切り替えた際、出力 MIDIOUT デバイスを再設定しないと MIDIOUT デバイスがオープンできないので、正しく再設定されているかどうかのチェックを入れた。

  MIDI データ中の各種コントロールをグラフィックモニターする画面を新規に作成し、従来画面と切り替え表示できるようにした。

  画面上部に動作モードや表示画面を切り替えるボタンを作成した、

  複数ファイルの D&D やコマンドライン指定（拡張子関連付け）に対応した。複数ファイルの場合、そのファイル群で連続演奏リストを自動的に生成するようにした。連続演奏モードの切り替えも、このボタンで行えるようにした。

  D&D や コマンドライン指定時に連続演奏リストに次々に追加していくモードを新たに作成した。従来の新規指定データの演奏を即座に開始するモードと演奏リストに追加していくモードを切り替えられるようにした。

  グラフィックモニタ画面には現在の演奏リストの中のデータの数を表示するようにした。

  連続演奏リストに SC-88 の 55MAP エミュレーションを行うかどうかと SC-55（無印）用補正を行うかどうかを記録するようにした。また、演奏リスト編集ダイアログから個々のデータのそれらの設定をできるようにした。

  コマンドライン引数で MiyaPlay95 の挙動を制御できるようにした。

  MiyaPlay95 演奏中に Windows95 を終了させようとすると Windows95 の終了処理が途中でキャンセルされてしまうという問題を解決した。

  グラフィックモニタ表示時に各メーターの上でマウスを右クリックする事によって、そのメーターの色をカスタマイズするメニューを表示するようにした。

1996.7.3
【v1.06 から v1.08 の修正点】

  ファイルの存在するディレクトリ名中に全角文字が使用されていた場合、一般保護違反を発生する場合があったバグを修正した。

  G18/G36 の最大トラック数を 48 に変更した。

  G18/G36 の最大同時発音数を 100 に変更した。

  RCP/R36/G18/G36 のインポート処理を多少高速化した。

  リストファイル中に個々のデータのボリューム値を記録するようにした。

  リストファイルのファイルフォーマットを変更し、新フォーマットのリストファイルの拡張子を *.MLT にした。

1996.6.8
【v1.05 から v1.06 の修正点】

  拡張子が RMI のデータに対応した。

  ファイルリストの上限を 512 にした。

【v1.03 から v1.05 の修正点】

  全角がフルパスにふくまれている時、8.3 形式のファイル名の取得に失敗してデータを読み込めない場合があるバグ修正。

  ２重起動時のチェック強化

【v1.02 から v1.03 の修正点】

  データファイル名（フルパス）中に全角文字が入っている時、全角文字の2Byte 目が '\' と同じコードだった場合にデータが読み込めないバグ修正。（「8.3 形式のファイル名の取得に失敗しました」の原因はこれです。）

【v1.01 から v1.02 の修正点】

  演奏リスト作成のダイアログでファイルを選択した時、ページ違反が発生するバグ修正。

  演奏リスト作成の時、データを選択するコモンダイアログボックスで複数ファイルを選択できないバグ修正。

  演奏リストファイル *.myp を読み込む時、リストファイル中に既に存在しないデータが記述されていた時、リストファイル *.myp が読み込めないバグ修正。

  A880 機能を使っている時、長いデータファイルパスを使用すると、ページ違反を起こすバグ修正。

  拡張子関連付け再生時、再生中に拡張子関連付けで別のデータに切り替えても演奏終了時にプログラムが終了するように仕様を変更した。

【v1.00 から v1.01 の修正点】

  既に MiyaPlay95 が起動している時に、拡張子関連で曲を演奏させたり、別の曲データに切り替えたりした時に新規データファイル名が正常に認識できないバグを修正しました。

1996.5.22 v1.00

  ヘルプファイルを作成し、添付した。

  MiyaPlay95 が入っているディレクトリがカレントディレクトリでなかった場合、ヘルプが起動できなかった不具合を修正した。

  アイコンを MiyaPlay95 用に作成した。

1996.5.21 v0.02

  ２ポート使用するオプションを選択していないと、「モニターキューが生成できません」のエラーメッセージを出して起動できなかったバグ修正。

  一部 Long File Name のファイルを演奏すると、一般保護違反を発生するバグ修正。

  拡張子関連付け起動やアイコンへの D&D を行うと、Windows95 から渡される引数のファイル名が 8.3 形式になってしまうので、その場合、A-880 機能や 55MAP エミュレート自動識別機能が働かない場合があったので、8.3 形式から Long File Name に変換する処理を入れた。

  MiyaPlay for Windows Light との互換性を維持するために、リストファイル(*.myp) 内のファイル名を 8.3 形式で記録するようにした。それに伴って、myp ファイルから読み込んだファイル名は Long File Name に変換してから処理するようにした。

1996.5.19 v0.01

  α版完成


 インテリジェントタイプの MIDI インターフェイス
  インターフェイスカード自体に CPU を搭載していて、通常パソコンの行ってる演奏処理をインターフェイスカード自体に分散できるものの事を指します。


 能力の貧弱な MIDI インターフェイス
  例えばパソコン標準搭載の RS232C とか クリエイティブメディア社 の Sound Blasterなんかは私の感覚ではこれに相当します。

  どういう風に貧弱かといいますと、送信する場合のバッファ（送信キュー）が少ないため、演奏するソフト側でそのバッファリング動作を補完するような処理をしてやらないと、データ密度が濃いだけで、演奏のもたりが発生します。


 MIDI ドライバ
  Windowsでは MIDI を扱うアプリケーションを使用する場合、出力するインターフェイス(以下 I/F と略)用のドライバが必要です。

  通常、Windowsに始めから添付されているか、I/F を購入すると添付されています。また、雑誌付属の CD-ROM や FD に入っている場合もありますし、パソコン通信で入手できる物もあります。パソコン標準搭載の RS232C を MIDI I/F として使用する場合などは、パソコン通信で入手可能ですので別途自分で用意してください。。


 SEQ MODE
  S-MPU のインテリジェントな機能を使用するモードです。MiyaPlay95 で S-MPU を使用する場合、SEQ MODE で動作させなけなければ S-MPU を使用している意味はほとんどありません。


 PORT 指定メタイベント
  SMF v1.0（標準 MIDI ファイルの正式仕様書）にはこのイベントについては記述がありませんので、正式イベントではありません。ですから、サポートしていないソフトも多数存在します。当然 mci MIDI シーケンサ（メディアプレイヤ）はサポートしていません。


 F5 イベント
  F5 イベントは MIDI 規格では未定義のメッセージなので、使用するRS232C MIDI ドライバによっては、出力できない可能性があります。


 1 PORT で 32CH 制御
  SC-88,MU-80 などの TO HOST 端子でのシリアル 32 CH 制御は F5 イベントと呼ばれるイベントで制御を行います。私は SC-88 しか持っていないので、MU-80 での動作は未確認です。送信しているデータは

    F5 01 <--- PORT A に割り付け
    F5 02 <--- PORT B に割り付け

  としています。MU-80 がこのように SC-88 と全く同じ挙動をするのかどうかは不明ですので、MU-80 での動作保証はできません。また、SC-88 も、この F5 イベントについてはマニュアルに何も記載されていませんので、（SC-88VL では記載されているのかもしれないが、未確認）将来、Roland によって仕様変更される可能性も大いにあります。

  また、2 PORT 分のデータを 1 PORT で流して、さらに PORT 振り分け用のデータも載せるというかなり無理な事をしているので、データによってはもたりが生じる可能性は 2 PORT 使用の場合より大きいとご承知ください。

  また、処理的にも重いため、これもデータによっては MiyaPlay のパネルモニタの動作に滑らかさが欠けるなどの支障もでる可能性があります。


 ALL 55 MAP エミュレート機能
  ALL 55 MAP エミュレート自動識別機能は以下の順に検索を行い、最初にヒットした結果を採用します。検索する文字列は "55","88","５５","８８" の４種類です。

  ・ファイルパス
    例えば、c:\\midi\\sc55\\a.mid とか c:\\midi\\88test.mid はヒットする事
    になります。
  ・データタイトル
  ・メモ欄(RCP/R36/G18/G36 のみ)

  従って、"55","88" などの文字列を含んだディレクトリにデータを格納すれば100 % ヒットします。もし、ヒットしなければ、「55MAP ONLY USE(SC-88)」 のチェックボックスで設定したモードで動作します。


 MIDI パッチベイ
MIDI 接続を切り替える装置です。パソコンのシリアルポートからモデムと MIDI 音源に接続したい時には RS232C 切り替え機という物をよく使いますが、それの MIDI 版です。

大抵複数の MIDI IN と MIDI OUT を持っていて、ある MIDI IN から入ってきた MIDI メッセージをどの MIDI OUT から出力するかをボタン操作や、MIDI メッセージで切り替えます。


 A-880
Roland 社が販売している MIDI パッチベイ A-880 は 8 MIDI IN,8 MIDI OUT を有し、MIDI Message でパソコンや他の MIDI 機器から制御する事が可能です。また、MIDI Merge BOX の機能も有しています。


 MAC Binary ヘッダ
  Apple 社のパソコン、マッキントッシュで作成された SMF には先頭に 128 BYTE の独自のヘッダが付いている場合があります。mci MIDI シーケンサ（メディアプレイヤ）はこのヘッダが付加されている事の自動認識はしませんので、このヘッダの付いた SMF を読み込もうとすると、エラーが発生します。


 テンポグラデーション
  レコンポーザの持っている機能で、Tempo Change 付加されたに変化時間を表現する物です。Tempo Change が出現してからそのテンポに変化するまで、どのくらいの時間がかかるかを示したもの（らしい）です。

  その変化曲線や変化率などは公表されていないため、RCP 対応プレイヤによってその変化の仕方は違っています。また、レコンポーザのバージョンによっても変化の仕方が違うらしいです。


 アクティブセンシング
  アクティブセンシング (FEh)のコードを約 200 ms 置きに送信します。こうして置く事によって、約 400 ms 送信が途絶えると、音源側が異常を検知して発音の自動停止などの処置を行ってくれます。


 ランニングステータスルール
  例えば

  90 3C 7F
  90 3C 00

  と送信する場合、２つめのパケットのステータスバイトは１パケット目と同じなので、省略しても相手はコマンドを識別できることになります。このルールの事を言います。

  この場合ランニングステータスルールを適応すると、

  90 3C 7F
3C 00

  と 5 BYTE になり、1 BYTE 少なくなります。


 MiyaPlay95
  Miyap2002の前バージョン。Win9x系OSで再生の徹底的安定性をコンセプトに開発を行った。特にRoland社のMIDIインターフェイスSuper MPUを用いた場合には特有のSEQモードを使用して完全なWindowsや他のアプリからの影響受けない再生を実現した。当時のコンセプトを下に載せておきます。

以下MiyaPlay95のヘルプより。

  MiyaPlay Windows 版開発当初からの基本コンセプトは「いかにすればマルチタスクな OS 上でシングルタスクの MS-DOS 上のプレイヤやシーケンサ並みの演奏精度及び安定性を持ったプレイヤを作れるか？」という所から始まりました。かっこよくいってしまうと「たかがプレイヤ、されどプレイヤ」といった所でしょうか？

  つまりは以下のような思想の元に作られています。

  ・プレイヤは音楽を演奏するものなのだから、きちんと演奏できてなんぼのもの

  ・マルチタスクな OS 上でたかが音楽を演奏するだけのためにシステムを占有
    してしまうようもんは作れるか

  だから、基本方針として以下の方針に基づいて作成されています。

  ・演奏上のもたりの徹底排除

  ・他のアプリケーション（OS 自身の動作からの影響も含めて）からの影響による
    もたりや演奏の停止の排除

  ・MiyaPlay95 が他のアプリケーションへ与える影響の抑止

  MiyaPlay95 の作成上の基本方針を全て満たすためにはインテリジェントタイプの MIDI インターフェイスの１つである Roland 社の Super MPU が必要ですが、S-MPU がない環境で能力の貧弱な MIDI インターフェイスを使用しているような環境でも、他のアプリケーションの影響の抑止は完全には行きませんが、かなりいい線行くと思います。

  Windows95 32bit 版の作成にあたり、32bit 化して完全なマルチタスク動作をする事と、演奏の安定性を確保する事が相反する事であるため、MiyaPlay の基本コンセプトを維持する事が困難であると思われましたが、今回フラットサンクモデルという手法を導入する事により、32bit アプリである MiyaPlay95 で 16bit アプリの MiyaPlay for Windows Light と同じ演奏安定度を確保する事に成功しました。

  当然、S-MPU SEQ モードもサポートしています。

  MiyaPlay95 は Windows95 専用の 32ビットアプリケーションです。Windows3.1 + Win32s や Windows NT では動作しませんのでご注意ください。