アップデート情報
- 複数の楽器(SoundFont)を追加で用意しました。同時に再生させることも可能です。
- 楽器の音色一覧を表示する機能を追加しました。対象の音色を再生するサンプルMMLも用意しました。
サーバーレンダリング用にinstrumentを複数用意しました。
複数のSoundFontを利用しており、アプリから音色一覧等を確認できます。
MMLではトラック毎にinstrumentを指定できるので複数のinstrumentを同時に利用できます。
![sfinfo](https://thinkridge.com/uploads/wp-content/uploads/2024/08/sfinfo.png)
webアプリ版の rlib-MML WebApp は上記機能を手元のSoundFontファイルに対しても利用可能です。
さらに、標準MIDIファイル(SMF)からMMLへの変換機能もさりげなく見直しをしました。読みやすいMMLに変換できるよう試行錯誤しています。
これらのMMLエンジンは github で公開しています。
https://github.com/tr-takatsuka/rlib-MML/releases/tag/v1.2.1
問題の報告、改善案や御助言など何かありましたら御一報頂けますと幸いです。よろしくお願いします。
rlib-MML アプリ はテキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。
iOS、macOS、Android に対応しています。
rlib-MML WebApp に SoundFont(サウンドフォント)レンダリング機能を実装しました。
![rlibmml202406](https://thinkridge.com/uploads/wp-content/uploads/2024/06/rlibmml2024061.png)
お手元のサウンドフォントファイル(.sf2)を使って曲を再生させることが可能です。
標準MIDIファイルのインポートも可能なので、サウンドフォント対応MIDIプレイヤーとしても機能します。
- サウンドフォントファイルはご自身で用意してください。検索するといろいろ見つけられると思います。
- サウンドフォントの処理はブラウザの中で完結しています。サーバーにアップロードなどはされません。
- WebAssembly を使って実装していますがメモリを大量に消費してしまっており、大きいファイルを扱うとブラウザが不安定になることがあります。今後の課題です。
問題の報告、改善案や御助言など何かありましたら御一報頂けますと幸いです。よろしくお願いします。
なお、残念ながら rlib-MML アプリ(スマホアプリ版)には上記の機能は未収録です。
rlib-MML WebApp はテキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。
https://rlib-mml.thinkridge.jp
rlib-MML アプリ自体の更新ではなく、MMLエンジンのみの更新です。
サブシーケンス機能を追加しました。楽曲を部品として楽曲の中で利用することが可能です。
https://github.com/tr-takatsuka/rlib-MML/releases/tag/v1.2.0
webアプリ版でも使えます。
https://rlib-mml.thinkridge.jp/
rlib-MML アプリ はテキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。
iOS、macOS、Android に対応しています。
![Download on the App Store](https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83&releaseDate=1630022400&h=0675b3d322a3c84e6f2ef707f06fd9e9)
![Google Play で手に入れよう](https://play.google.com/intl/ja/badges/static/images/badges/ja_badge_web_generic.png)
標準MIDIファイルをインポートする機能を追加しました
- プロジェクト新規作成で、ローカルにある標準MIDIファイル(*.mid)を指定することで、MMLに変換したプロジェクトが作成されます。
- 既存の標準MIDIファイルをMMLに変換すること、および再生することが可能です。お試しください。
その他
- Flutter 3.16 を採用しました。
- 気が付いた箇所の不具合修正しました
rlib-MML アプリ はテキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。
![](https://is1-ssl.mzstatic.com/image/thumb/PurpleSource115/v4/cd/56/c4/cd56c46c-8fc3-aef3-ac01-82d50e71414c/db54d085-4d66-4d60-a14d-2fbc376e756f_iPadPro12.9_2.png/2048x2732bb.png)
![](https://is5-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/04/a9/3a/04a93a7e-866c-c9fa-0fc7-2f01d74ab2d8/5f1cbcab-c5f2-44ef-802a-94ba46b0322c_iPhone11ProMax_1.png/1242x2688bb.png)
iOS、macOS、Android に対応しています。
![Download on the App Store](https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83&releaseDate=1630022400&h=0675b3d322a3c84e6f2ef707f06fd9e9)
![Google Play で手に入れよう](https://play.google.com/intl/ja/badges/static/images/badges/ja_badge_web_generic.png)
rlib-MML アプリ自体の更新ではなく、MMLエンジンのみの更新です。
和音を表現する記述方法を追加しました。
https://github.com/tr-takatsuka/rlib-MML/releases/tag/v1.1.0
さらにweb版には、標準MIDIファイルをインポートする機能を追加しました。
https://rlib-mml.thinkridge.jp/
rlib-MML アプリ はテキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。
GM音源相当でレンダリング再生する機能を、標準のMIDI再生と切り替えられるモードとして用意しました
- レンダリング再生モードであればiOSでもandroidでも環境に依存せず同じ音で再生できます。
- サーバー側でAAC(MP4)を生成しアプリ側でそれを再生します。前回版のレンダリング再生機能(WAV)よりは小さいサイズになっていますが、それでもギガ消費にはご注意ください。
MP4及び標準MIDIファイル(SMF)でのファイル出力機能を追加しました
- 作った楽曲を他のアプリ等へ持っていくことも可能です。
その他
- Flutter 3.3 を採用しました。
- 気が付いた箇所の不具合修正しました
rlib-MML アプリ はテキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。
![](https://is1-ssl.mzstatic.com/image/thumb/PurpleSource115/v4/cd/56/c4/cd56c46c-8fc3-aef3-ac01-82d50e71414c/db54d085-4d66-4d60-a14d-2fbc376e756f_iPadPro12.9_2.png/2048x2732bb.png)
![](https://is5-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/04/a9/3a/04a93a7e-866c-c9fa-0fc7-2f01d74ab2d8/5f1cbcab-c5f2-44ef-802a-94ba46b0322c_iPhone11ProMax_1.png/1242x2688bb.png)
iOS、macOS、Android に対応しています。
![Download on the App Store](https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83&releaseDate=1630022400&h=0675b3d322a3c84e6f2ef707f06fd9e9)
![Google Play で手に入れよう](https://play.google.com/intl/ja/badges/static/images/badges/ja_badge_web_generic.png)
OS標準のMIDI再生機能を使う従来の再生方式に加え、レンダリングした音声データを生成し再生する機能を追加しました。
MMLから音声データ(WAV)を生成し再生します。
SoundFontを使った音源でMMLを再生、出力データ生成の処理をサーバー側に実装しています。
特にiOSはMIDI再生機能がかなり貧弱な音なので、レンダリング再生での違いを大きく感じられると思います。
ただし、前述の仕組みの通りサーバーとの通信が発生するのでギガ消費(って表現でいいのでしょうか)にはご注意ください。
rlib-MML アプリ はテキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。
![](https://is1-ssl.mzstatic.com/image/thumb/PurpleSource115/v4/cd/56/c4/cd56c46c-8fc3-aef3-ac01-82d50e71414c/db54d085-4d66-4d60-a14d-2fbc376e756f_iPadPro12.9_2.png/2048x2732bb.png)
![](https://is5-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/04/a9/3a/04a93a7e-866c-c9fa-0fc7-2f01d74ab2d8/5f1cbcab-c5f2-44ef-802a-94ba46b0322c_iPhone11ProMax_1.png/1242x2688bb.png)
iOS、macOS、Android に対応しています。
![Download on the App Store](https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83&releaseDate=1630022400&h=0675b3d322a3c84e6f2ef707f06fd9e9)
![Google Play で手に入れよう](https://play.google.com/intl/ja/badges/static/images/badges/ja_badge_web_generic.png)
MMLコンパイラ(クラスライブラリ&コマンドラインアプリ)をスマホアプリから使えるようにしました。
テキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。
rlib-MML アプリ
![](https://is1-ssl.mzstatic.com/image/thumb/PurpleSource115/v4/cd/56/c4/cd56c46c-8fc3-aef3-ac01-82d50e71414c/db54d085-4d66-4d60-a14d-2fbc376e756f_iPadPro12.9_2.png/2048x2732bb.png)
![](https://is5-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/04/a9/3a/04a93a7e-866c-c9fa-0fc7-2f01d74ab2d8/5f1cbcab-c5f2-44ef-802a-94ba46b0322c_iPhone11ProMax_1.png/1242x2688bb.png)
iOS、macOS、Android に対応しています。
![Download on the App Store](https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83&releaseDate=1630022400&h=0675b3d322a3c84e6f2ef707f06fd9e9)
![Google Play で手に入れよう](https://play.google.com/intl/ja/badges/static/images/badges/ja_badge_web_generic.png)
MMLコンパイラ(クラスライブラリ&コマンドラインアプリ)を GitHub で公開してみました。C++17 での実装です。
rlib-MML
MML とは、演奏データをテキストで書くというもので、80年代頃からゲームソフトの音楽や効果音制作で使われてた言語(って言っていいのかな)です。
が、特に決められた規格があるわけでもなく、各々(ゲーム会社さんやプログラマさん)がよかれと思った文法を取り入れていた気がします。
そんな中でも、”cdefgab”はドレミファソラシ、”r”は休符。など、どんな音源ドライバであっても通用する暗黙の標準仕様のような文法があり、今回のMMLコンパイラもそのあたりに沿っているつもりです。
/*
“音源ドライバ”というのは、曲や効果音を再生するアプリの当時の総称です。
*/
というわけで MML 自体は目新しいものではありませんが、自分への課題ということで C++17 でコードを焼き直しました。
さらに、作ったMMLコンパイラをお手軽に試すという目的も兼ねた自分への課題として、ウェブサイトも構築してみました。
https://rlib-mml.thinkridge.jp/
MML の記述から再生、標準MIDIファイル出力まで、ブラウザ上で一通りのことが出来ます。
ご興味あればぜひ触ってみて頂きたいです。
最後に。
色々な OSS やツ-ル開発者様、ネットに情報を載せてくれてる方々などに大変感謝です。ありがとうございます。