機能昨日の続き

 というわけで、昨日の(機能の?)詳細をば。



・WAVE出力

============

 「譜面と同じディレクトリ」に

「test.wav」という名前で出力します。

============



 重いです(汗)

1〜3分くらい待ちましょう…。





MIDI読み込み

============

 ch10を「ランダムノイズ」に、

それ以外を「50%矩形波」にして再生します。



 --現状で対応しているフォーマット

  0,1共に読み込めますが、

0だとおかしな鳴り方をすることが多々あるので、

1推奨。



 --現状で対応している機能(?)

  note on/off

  pitchbend

  ControlChange

   -#7  volume

   -#10  pan

   -#11  expression

   -#100/#101

       RPN

    >00/00  bend sensitivity

    >00/01  fine tuning

    >00/02  course tuning

    >127/127 RPN null

   -#121 reset all controller  07/04/15 23:59追加



  MetaEvent

   -tempo



*再生可能なノートの範囲:「0〜120」07/04/15 23:56「12〜97」→「0〜120」に修正

RPN 00/00の「bend sensitivity」は

 LSBの「cent単位での指定」、

 「負の値の指定」にも対応しています。



 --おまけ

 譜面に「_LOOP」というマーカーが存在する場合は、

その点をループ点(「@」TSSなら「$」NSFなら「L」)としてループ再生します。



============



 大体こんな感じかな?

無意味にベンドレンジのLSBも読むようにしてみたり。

後、「sustain」「portament」あたりはつけるかも。



 それよりも、

矩形波とノイズ」だけで鳴るので、

もろにファミコンチックというか…(汗)

…あ、でもFCというよりGXSCCっぽいのかな。MIDI読み込みだし(苦笑)

…妙にイカすのでこのモードは残しておこう(笑)



 後は、何と言うか、

ノート検出が1オクターブズレてる(はずな)ので、

直してみたのだけど、直さない方がいい感じの鳴り方をする(汗)

(UPしてあるのはズレてる版)

…何で?(汗)

…ノートの範囲もちょっと狭すぎるかも…。