OPMエミュレータ上でMA3/MA5/MA7をエミュレーションする上で必要な拡張


MA3/MA5/MA7ってのは携帯電話で搭載されているFM音源チップ YMU762/YMU765/YMU786 の通称.
いろんな音源チップの仕様を調べた中で,ここら辺のチップは何故か情報が少なかった.特にMA5は壊滅的.あと,貴重な情報源であるMAMEソース内に含まれていないのが痛い(携帯用の音源なので当たり前なんだけど).ここら辺の携帯電話音源のエミュレータって,何か良いのないのかな.できればオープンソースで.
で,かろうじで入手できたMA3のカタログシートと,YAMAHA純正の着メロオーサリングツール ATS-MA5-SMAF,ATS-MA7-SMAF を元にくねくね推察してみる.

FM音源

調べてみるとMA7以外のMAシリーズのFM音源部分は前述のOPL3とかなり似てる.MAシリーズとOPL系チップの関係はよく判らなかったけど,携帯電話FM音源は基本的に2op/4op選択なのでOPL系のアーキテクチャがベースになってても不思議じゃない.

MA5とOPL3の類似点
  • ar/dr/sr/rrが15段階
  • tlが64段階
  • ksr2段階,ksl4段階
  • multipleの11,13,14が無効
  • 基本波形0番〜7番が同じ
  • アルゴリズムの一部が同じ
  • オペレータ毎のamd/pmdが指定可

パラメータの段階数がほとんど同じなので,レジスタマップもそんなには変わってないんじゃないかなと思う(資料無いので詳細不明).基本波形やアルゴリズムの一部も同じだし,MAシリーズはOPL直系と考えても良いように思う.

MA5とOPL3の相違点
  • デチューンが7段階(dt1相当?)
  • エンベロープをADSSRで指定
  • 基本波形が32種類から選択可
  • amdが2段階→4段階
  • 2アルゴリズム追加

OPL3の不満点だった部分をしっかり改善している感じ.前エントリで書かなかったけど,OPL3のamdは2段階で変化が激しすぎて使い物にならなかったらしい.
一方,MA7のFM音源はOPMっぽいフィーチャが追加されてる.

MA7とMA5の相違点
  • ar/dr/sr/rrが32段階
  • multipleにx0.891,x1.414,x1.498.どう見てもdt2です.本当にあr
  • dtが16段階

なんつーか,FM音源世代の音屋のハートをわしづかむ仕様.rr32段階/dt16段階とか一部OPMの上を行ってて面白い.tlは相変わらず64段階だけど,OPMでも普通tl>63は使わない.16段階dtに対応すれば,MA7再現も何とかなる気がする.

WT音源

普通のPCM再生+エンベロープ対応でおk.以上
...と言いたいけど,MA7だとキーレンジとかあってちょっと面倒い.PCMはmmlと相性が悪いのでとりあえず保留.

AL音源

上述FMやPCMにエンベロープとLFOに対応したLPFilterを掛けられる音源,というより仕様.必要な拡張はLPFilterの実装.

HV音源

合成音声音源.アルゴリズムがほとんど非公開なのでこれは?.オーサリングツールのインターフェースを見る限り,最低でも第8フォルマントまで合成してるって事なのかな.時間が有れば,出力を周波数解析してみても面白いかもしれないけど,素人なんで多分ようわからん.

総じて

携帯電話音源を正確にエミュレートするのはかなり厳しいものの,ある程度の再現性であれば OPL3 + PCM + LPFilter のエミュレーションでカバーできると思われる.


【追記】MA7のエフェクタと3Dナンたらについて書くの忘れた.まいっか.