Backup of Web素材/PSGConverter (3) Back


Back to History list

#navi(../)
*PSGConverter.php [#gbe0e379]
PSGConverter.phpは、たまねぎ氏制作のオンラインゲーム「マビノギ」の作曲スキルで使用するMMLをWeb上でMIDIに変換するスクリプトです。

当サイトでは若干の改造と仕様を追加し、再配布しております。

*使用方法 [#ae8b75af]
:基本:|
 PSGConverter.php?i=(楽器番号)&s=(URLエンコードしたMMLデーター)

:拡張オプション:|
 p=(パンポット0~127)
 e=(エフェクトの量0~40)
 r=(GMリセット trueかfalse)

Query Stringsに楽器の定義とMMLデーターを入れる。ただし、タイ記号を示す&や、#や♭を示す#などはURLにすると化けてしまうため、そのまま打ち込んでも正常に再生できないので注意。URLで渡す前に、encodeURIComponent()で変換すること。

ドラムパートの楽器が実装されたため、出力されるMIDIファイルのチャンネルを変更するオプションを加えました。QueryStringにch=10を追加すると、ドラムパートとして処理されます。応用としてパートごとに出力されるチャンネルを分ければQuickTimeでなくても合奏できるかも。

*オリジナル版との変更点 [#y2d2aeb9]
-出力されるMIDIファイルのトラックごとにチャンネルが異なっていたのを修正
-チャンネルを自由に指定することが可能(応用例:ドラムパートとして使用するなど)
-GMリセットをいれるオプション
-エフェクトを指定
-パンポッドに対応

*デモ [#nac8cd55]
準備中

*配布/更新履歴 [#s671b7d3]
:v0.5 (2008/03/08)|&ref(PSGConverter.php.tgz);
--トラックごとにチャンネルを分けないようにした。(将来的に合奏に対応させるため)
--チャンネルを自由に指定することが可能に。(クエリにc=チャンネル)(将来的に合奏に対応させるためと、ドラムパートの為)
--GMリセットをいれるオプション(クエリにr=true)一般的なMIDI音源用。先頭が1小節分だけ空になる。ノイズ対策にも有効かと。
--エフェクトを指定(クエリにe=0~128。デフォルトは40)
--パンポッドに対応(クエリにp=0~128。デフォルトは64)まきまびしーくの規格に準ずる。
--T50という命令が存在すると、出力されるデーターが化けるバグを修正。
--URLをデコードする命令を入れた。これにより、encodeURIComponentの1行でPSGConverter.phpに渡すだけで住むようにした。
--MMLが入力されていないときにエラーを表示。
:v0.3 (2008/02/19)|
--PHP MIDI CLASS 1.7.2とマージ
:v0.2 (2007/12/27)|
--PHP MIDI CLASS 1.7とマージ

*TODO/確認されている不具合 [#d664972a]
-付点音符を使用していてその際に変更されるテンポが奇数のときに正常に変換できないバグの修正
-POSTメソッドでMIDIを生成するオプションに対応
-MIDI同士をマージするオプションの追加(※Query Stringで処理するのは現実的でないため、上記のPOSTメソッドを用いる)

*コメント [#q1c0f84d]
#pcomment