変更案:BASSMIDI再生に32bitオプションを使う

Issue #593 resolved
暗黒 騎士 created an issue

現状BASS利用のCWエンジンでは一部のサウンドフォントと同時発音数が多いMIDIの組み合わせで音割れすることがあるんですが、(たとえばBOD第一章などで使われているboss.midとTimGM6MBやZSFGMのFrenchHorn)先述したVirtualMIDISynthではしていないので不思議に思って色々設定を変えてみたところ、「8ビットサンプル(非常に低品質なレンダリング)」オプションを有効にした場合に、CWと同じになるようでした。

リファレンスを斜め読みした感じ、どうもBASSMIDIはデフォルトでは8bitか16bitで音を鳴らそうとするのが原因ぽい気がしています。実際自分の手元ではFLOAT(32bit)オプションを有効化で改善しました。

http://www.un4seen.com/doc/#bassmidi/BASS_MIDI_StreamCreateFile.html

実作業としてはdef _playのFLAGにBASS_SAMPLE_FLOATを加えるだけです。ただ、これによって1.50と音質が変わってしまうのでオプションがあった方がいいかもしれません。

関連:#583#586

Comments (4)

  1. k4nagatsuki repo owner

    よいのではないでしょうか。オプションも、最初は表立って用意せず、内部的に持つだけでいいかと思います。

    心配なのは#459のノイズの問題ですが、手許で試した所特に再発はしなさそうでした。

    よろしければPull Requestしていただけると助かります。手間でしたら、私の方で行います。

  2. 暗黒 騎士 reporter

    Pull request #2043

    マージありがとうございました。副作用があるかもしれませんし、しばらく空けて置いた方が良いでしょうか。 Changelogは何度かかえって手間を取らせてしまったことがあったので、迷ったら書かないことにしました。(のでそういうときは判断にお任せします…)

  3. k4nagatsuki repo owner

    こちらこそありがとうございます。

    ChangeLogですが、だいたい次の場合は書かず、それ以外は細かい事でもできるだけ書いていくという感じですね。

    • ユーザから見えない変更である(隠し設定も含む)
    • 速度アップなど、機能は変わらず性能のみの改善
  4. Log in to comment