Thinkridge スタッフ 雑感を綴る

rlib-MML アプリ FM音源による再生をサポートしました

FM音源による再生をサポートしました。
実験的な機能追加です。
OPN(YM2203)のFM音源部の実装です。OPNの同時発音数3音という制限はなく実装しており、パンも可能としています。

CreatePort(instrument:fm,・・・)

と記述することでFM音源を扱うトラックになります。
音色の定義を行うにはFM音源トラックにて以下のように記述します。

DefinePresetFM(no:0, name:"piano",
// AR  DR  SR  RR  SL  TL KS ML DT
   28,  8,  0,  8,  3, 31, 2, 1, 2,
   26,  3,  1,  6, 10,  0, 0, 2, 7,
   27, 20,  0,  9,  2, 44, 0, 5, 2,
   28,  7,  2,  6,  6,  0, 0, 1, 5,
// AL  FB
    4,  7,
)

サンプルとしてFM音源を使うテンプレートを用意しています。参考にしてください。

FM音源エンジンは ymfm を利用しています。開発者の方に感謝です。

https://github.com/aaronsgiles/ymfm

制限事項

  • FM音源はサーバーレンダリングでのみ有効です。
  • 処理はかなり重いです。高速化が課題です。
  • ピッチベンドはまだ未実装です。すみません。
  • OPNのPSG部は未サポートです。

問題の報告、改善案や御助言など何かありましたら御一報頂けますと幸いです。よろしくお願いします。

rlib-MML アプリ、rlib-MML WebApp はテキスト入力だけで曲が作れます。ぜひお気軽にお試しください。

rlib-MML WebApp はブラウザでご利用いただけます。
https://rlib-mml.thinkridge.jp

rlib-MML アプリ はiOS、macOS、Android に対応しています。

トラックバック・ピンバックはありません

トラックバック / ピンバックは現在受け付けていません。

現在コメントは受け付けていません。