MMLを再生するために何が必要か考えてみた。
MMLから直接再生できるのが良いけれど、大変そうなので既存の何かがあれば使っていきたい。
midiファイルを再生するアプリはTiMidityというのがよさそう。
timidityとSoundFontをインストール
$ sudo apt install timidity freepats fluid-soundfont-gm fluid-soundfont-gs
参考
適当なmidiファイルを流し込む
$ cat sample.mid | timidity -
鳴った。
あとはもう一段何かをかませてあげれば目的が達成できる
$ cat sample.mml | nanika | timidity -
こんなイメージ
何かの参考になりそうなのは、このあたりかな・・
- tr-takatsuka/rlib-MML: Music Macro Language Compiler
- mohayonao/mml-emitter: MML(Music Macro Language) event emitter for Web Audio API.
- atsushieno/mugene-ng: Music Macro Language to MIDI 1.0 / 2.0 compiler
- brnomade/MML_Interpreter: a Music Macro Language (MML) interpreter written in Python
- billletson/webaudio_mml: Implementation of Music Macro Language, played with the webaudio api
- mariomac/mmlmml: Toy Music Macro Language inspired in old 8-bit computers
- myokoym/mml2wav: MML (Music Macro Language) to WAV audio converter by pure Ruby.
- alexras/mml-tracker: An aborted attempt at a general-purpose tracker for Music Macro Language
- ea909/mml.cpp: An MML (Music Macro Language) player that produces anti-aliased (bandlimited) output as wav files. Supports direct playback on Windows too.
- zhidao/zmmlc: MML compiler
- runvnc/music1: A simple way to play with MML (Music Macro Language). Enter MML in text area and press play button.
というか、とりあえずMMLで遊びたいという欲求を満たすだけなら、上のリストの一番下をcloneしてきてnpx http-server
してlocalhost:8080開けばブラウザでできるし。