メニュー
ブログ更新履歴
コンテンツ更新履歴
リンク
  • rlib-MML WebApp
  • MML (Music Macro Language) をコンパイルし、再生やファイル出力(MP4、標準MIDIファイル)をブラウザ上で行えます。
  • Magome
  • クラウドベースのMIDIシーケンサ
    音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています。
twitter
  カテゴリー ‘JavaScript’ のアーカイブ
Thinkridge スタッフ 雑感を綴る

rlib-MML を npm packageで公開しました

rlib-MML アプリの MML のパース処理は C++ で書かれており OSS としてGitHub で 公開していますが、このたび JavaScript からも簡単に利用できるよう npm package を公開しました。
C++ の段階で Wasm へのコンパイルが可能な形でしたが、さらに扱いやすい形にしました。
@thinkridge/rlib-mml

npm package 化のコードも GitHub で公開しております。
サウンドフォントのデコード処理と同じレポジトリにて、サンプルコードも含めたモノレポ構成になっています。
https://github.com/thinkridge/rlib-Sounds

これにサウンドフォントデコーダーである @thinkridge/rlib-soundfont も合わせれば、ブラウザだけで MML → MIDI → SoundFont 再生まで完結します。

簡素ですが React を使ったサンプルアプリも前述のレポに含まれています。

react-demo
rlib-Sounds_demo

@thinkridger/lib-mml、@thinkridge/rlib-soundfont どちらもビルドに Emscripten / Boost を使用していますが、利用者は npm パッケージとしてそのまま使用でき、特別な知識は不要です。

サウンドフォント、MML、MIDI などにご興味ある方はぜひお試しください。
問題の報告や改善案、御助言などありましたらご一報いただけますと幸いです。

なお rlib-MML アプリ 及び WebApp 版は、FM音源サポートやサーバーによるC++ネイティブ処理といった特徴が付加されています。
こちらもぜひお試しください。
https://rlib-mml.thinkridge.jp

サウンドフォントデコーダーをGitHub及びnpm packageで公開しました

rlib-MML アプリではサウンドフォントを利用した音声出力を行っています。
このたび、その部分のソースコード一式を GitHub にて公開しました。
https://github.com/thinkridge/rlib-Sounds

サウンドフォントのデコード処理は C++ で記述していますが、Emscripten を用いて WebAssembly としてビルドすることも可能です。
そこで、このデコーダーを JavaScript から簡単に利用できるよう、npm package としても公開しました。ブラウザおよびnode.jsのどちらでも利用できます。
@thinkridge/rlib-soundfont

npm package では、標準MIDIファイルからWAVファイルへ変換するというシンプルなインターフェースのみを提供していますが、C++ レイヤでは波形データを直接扱える形にしています。
ただし、現時点では親切なドキュメントを用意できていない点はご容赦いただければと思います。

サウンドフォントにご興味ある方はぜひお試しください。
問題の報告や改善案、御助言などありましたらご一報いただけますと幸いです。

なお、rlib-MML アプリではFM音源のレンダリングも実装していますが今回の公開には含まれていません。(ymfm に手を加えて利用しているためどう扱うべきか検討中です)


アーカイブ