たま日記

たまに書く

年が明けた

そろそろウィンドシンセの自作を再開したくなってきた。気になっていたので改めてMAME周辺のYM2151エミュレータの実装について調べてみた。※間違えているかもしれない

現在のMAMEプロジェクトでは、Aaron Giles氏の実装したYMFMが使われている。一方でVGMPlayでは、nukeykt?氏の実装したNuked OPMが使われているらしい。

YMFMのREADME.mdからは、エミュレーションの厳密性よりコードの理解のしやすさに重きを置いており、「100% digital accuracy」を求めるならNuked OPMを使えと示唆されているように見える。Nuked OPMのREADME.mdには「Cycle accurate YM2151 emulator」と書いてある。コードを精読していないのだが、違いはその辺にあると思われる。

ウィンドシンセの音源用に作ってきたYM2414エミュレータはVGMPlayのym2151.cをベースにしているが今後は変えることも考えたほうがいいのかも。

  • ym2151.cよりも精度の高いエミューレーションをしているなら、Nuked OPMを拡張してYM2414エミュレータを作る
  • でも、YMFMのエミュレーション精度が上がるのなら、それをそのまま使うのが楽だよなぁとも思う。

www.youtube.com

…書いているうちに、これは後回しにすべき問題のように思えてきた。今年の目標は次の2つにする:

  • バイトセンサ:歯で噛むセンサでピッチベンドを実現する
  • 本体のみで音色選択:OLEDを搭載するか、いっそM5Stackに置き換えるか

YM2151のエミュレーションについては以下のサイトもためになる。
cygx.mydns.jp