mmlの最前線に立ち続ける覚悟はあるか


MML hosting service "MMLTalks" をベータリリースします.AS3用ソフトウェア音源 SiON をエンジンに使ったMML共有サービスです.
MMLTalks - Lets communicate by chiptune sound -
とりあえず上記リンクに行って,曲名をクリックすれば曲が聞けます.MMLを投稿したり,タグを付けたり,favoliteリストを作成したい場合は,上段"Login"より入って,ユーザーアカウントを作成してください.Google Account(推奨)または OpenID で作成できます.詳細については後日改めて書きます.


また,今までSpark project上で開発してきた,ActionScript3用ソフトウェア音源 + MMLコンパイラ/シーケンサ SiON もスタティック版をリリースします.
ActionScript3用ソフトウェア音源ライブラリ SiON ver0.562
上記リンクの"swc and asdoc"から"sion056.zip"をダウンロード/解凍して,ライブラリパスを通してあるディレクトリにsion.swcを入れることで,ActionScript3からソフトウェア音源を扱う事が出来るようになります.どんな音が出せるかはMMLTalksの曲が参考になると思います.こちらも詳細については後日改めて書く予定です

音源スペック

MAME/fmgen/x68sound.dllのソースを元に作成した,ActionScript3上で作動するYM2151(OPM)エミュレータをベースに様々な拡張を行っています.現バージョンのSiONは大分すると4種類の音源を内蔵しています.

  • YAMAHA FM音源チップのエミュレータ(OPM/OPNA/OPL3/OPX/MA3...).
  • PSG/波形メモリ音源チップのシミュレータ(SN76489/2A03/SCC...).
  • 撥弦モデル物理音源.
  • PCM音源(mp3を波形データとして用います.MMLTalksでは使えません).

これらの音源を基本に,アナログ音源のようなフィルタエンベロープ/リングモジュレーション,DX7の音をマネる場合に必要な追加接続アルゴリズム/多段フィードバック,偽TSSCP準拠の各機能,ピンクノイズやランプ波形などの追加波形を搭載しています.
また,リバーブ,コーラス,ディレイ,イコライザ,各種フィルタ,スピーカーシミュレータといった様々なエフェクタを持っており,ActionScriptMML上から設定して使用する事が出来ます.
Ys2 / To make the end of battle by keim_at_Si | MMLTalks
FM音源,単波形,物理音源,エフェクタ等を一通り使用したデモです.プレイボタンで演奏を開始します.

MML仕様

SiOPM MML reference (version 0.6.4)
TSSCP/偽TSSCPMMLをベースに拡張を行っています.マクロ文字列の加算や,エンベロープテーブルなどいくつかの点で,ppmckcを意識して仕様を作りました.MMLの互換性はありません.ただし(偽)TSSCPMMLであれば,SiOPM MML Editorの"Tools"→"Translate from TSSCP"から,ある程度の変換は可能です(PCMやエンベロープなど一部の機能が正確に変換できません).MMLの互換性や移植については改めて書く予定です.また,FM音源周りはPMD/FMP/MXDRVなど過去のドライバを参考にしました.
とにかく,機能が多くてコマンドも多いですが,基本的なMMLの共通部分は崩していませんので,昔にMMLを打ち込んだ事のある人であれば,割とすんなり書けると思います.チュートリアル的なものも準備していく予定です.
SiOPM MML EditorMMLを試して鳴らすことが出来ますが,FirefoxだとFlashと日本語キーボードとの相性が悪いらしくうまく記述できないことがあるようです.その場合は,コチラを使用してみてください.


戯言

一通りリリースしましたが...まー,ぶちゃけ,微妙かな?と.
MMLTalksは元々,TSSCPスレッドが物凄い勢いで流れてた2006年頭頃からぼんやりと考えていたものでした.自分の技術力の向上やGoogle App Engineという強力インフラの登場でようやく実現できたと思ったら,はてなMML記法ピコカキコがある状況での三番煎じになってしまいました.コミュニティサービスとして考えると,先行サービスはどちらも超強力なバックボーンがあるのに対して,MMLTalksはあまりに貧弱すぎると感じます.そんな中でも,何とかx68kやpc98の草の根BBSFM音源世代を取り込めないかとMMDSPを模したり,TSSCPユーザーを取り込めるように互換性を持たせたりしてみたものの,自分のセンスでは,現代的なwebサービスとの融合が出来ず,ストイック過ぎるモノが出来てしまいました.残念.
SiONについても,Flash9時代から足掛け2年以上開発していました.当時からFM音源エミュレータをベースにする前提で作ってたため,納得の行くパフォーマンスが得られるまで試行錯誤していたらFlMMLより2年近くも後発になってしまいました.元々Flash9でパフォーマンスが出るようにコーディングしてるので,Flash10の最適では無いのですが,それでも結構がんばってるかなと思います.多少古めのPCで4オペFM音源で32音位なら同時発音できると思います(それでも携帯電話レベルって事ですが).また,3月末にwonderflを離れて以来,4ヶ月掛けてActionScript3からの扱うためのインタフェイスを実装しました.まだ扱いやすいとは言い難い代物ですが,こちらも少しずつ改良していければと考えています.これについてもチュートリアル的なものを準備する予定です.
色々言い訳がましくなりましたが,MMLTalksSiONをよろしくおねがいいたします.