Mabinogi MML Emulator動画

1.1千文字の記事
  • 0
  • 0pt
掲示板へ

Mabinogi MML Emulatorの開発の経緯

このプログラムは、Imaya氏のsmfPlayer.jssf2synth.jsと、以前開発したJavaScript MML Player(PSGConverter.js)を組み合わせて作ったプログラムである。

PSGConverter.jsexitは、しっぽのうたなどで使われていたMMLMIDIに変換するPHPプログラムJavaScript移植したものである。本来ならば、コンテンツデリバリーネットワークにこのスクリプトを置いて、自分でサイトスクリプトを呼び出して、MMLの書かれた<pre>タグから自動的にプレイヤーを生成し、再生するという感じで使われることを想定していたが、QuickTimeブラウザMIDIサポートの終了に伴い、時代遅れになってしまった。

そこで、まず、最初に補に上がったのはMIDI.jsexitである。しかし、どうもこのアプリは、音色をすべてwavを埋め込んだJSONで管理しているようである。これじゃあ、容量と手間が計り知れないことになる・・・。また、もう一つmidi.jsexitというのがあるが、これはこれでどうも、サーバーサイドemscriptenなのかは知らないが生成したオーディオファイルを送ってるだけのようなのであてにならない。

そんななか、imaya氏がSoundFont.sf2を用いたMIDIプレイヤーsmfplayer.jsexitを作っていた。これは衝撃だった、DTMでよく使われるSoundFontをそのまま音色集として呼び出し、ブラウザ上からとは思えないほど多楽器を出すことができることが判明したのだ。ぱっとみた仕様だとsmfplayer.js読み込み可データ形式は、Uint8ArrayMIDIデーターを解析するようである。このため、バイナリ変換したMIDIを出したときにUint8ArrayarrayBufferをsmfplayer.jsにながしこむという実装になるだろう・

まぁ、わかりやすく説明すると、PSGConverter.jsで生成したMIDIファイルバイナリからArrayBufferに流し込んでからMIDIプレイヤーにならさせるといった動作になっている。ながら結構まどろっこしいことをやっているな。

SoundFontが使えるということは、MSXsplit.dlsをSoundFontに変換してしまえば、理論上同じ音で再生されるはずである。そんなこんなで作ったアプリがこれなわけです。

実際に作業にとりかかる

まず、MSXspirit.dlsをsoundfont形式に変換するところから始まる。

【スポンサーリンク】

  • 0
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

WhiteCUL (単) 記事と一緒に動画もおすすめ!
提供: すずくろ
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

Mabinogi MML Emulator

まだ掲示板に書き込みがありません…以下のようなことを書き込んでもらえると嬉しいでーす!

  • 記事を編集した人の応援(応援されると喜びます)
  • 記事に追加して欲しい動画・商品・記述についての情報提供(具体的だと嬉しいです)
  • Mabinogi MML Emulatorについての雑談(ダラダラとゆるい感じで)

書き込みを行うには、ニコニコのアカウントが必要です!