FM音源による再生をサポートしたもののプリセットの音色がほぼない状態でした。
自作の音色を定義することは可能とはいえ、手軽に鳴らせるように 書籍「PC-9800シリーズ FM音源スーパーサウンド」に掲載されていたデータをプリセット音色化しました。著者の方に感謝です。

bank98 に配置しています。以下のようにbankを切り変えて再生です。
CreatePort(name:tr1, channel:1, instrument:fm)
CC(0,0) CC(32,98) // bank select
@13 // PIANO アコースティック・ピアノ oct2~8
cde // ドレミ
音色一覧は レンダリングデバイス の 音色情報 からご確認ください。

@13~@81 はPC98のデフォルトの音色だそうです。
ただしLFOの実装がされていない等で実機とは差異があるものとご理解ください。
問題の報告、改善案や御助言など何かありましたら御一報頂けますと幸いです。よろしくお願いします。
rlib-MML アプリ、rlib-MML WebApp はテキスト入力だけで曲が作れます。ぜひお気軽にお試しください。
rlib-MML WebApp はブラウザでご利用いただけます。
https://rlib-mml.thinkridge.jp
rlib-MML アプリ はiOS、macOS、Android に対応しています。
MML で FineTune,CoarseTune をサポートしました。
FineTune はチャンネルのチューニングを行います。
半音を100としたセントという単位で指定します。
たとえば、標準のA(ラ)=440Hzではなく442Hzで再生させたい場合は
FineTune(7.85) // 1200 * log2(442.0 / 440.0) = 7.8514・・・
とすればそれっぽく再生されます。
他にも、ピッチを少しズラしてディレイっていう昔ながらのテクにも使えると思います。
CoarseTune はチャンネルの半音単位のチューニング(キーの上げ下げ)です。
CoarseTune(-2) // 例:全音下げ
さらに、FM音源で未実装だったピッチベンドの対応を行いました。前述のFineTune、CoarseTuneも機能します。
rlib-MML アプリ、rlib-MML WebApp はテキスト入力だけで曲が作れます。ぜひお気軽にお試しください。
rlib-MML WebApp はブラウザでご利用いただけます。
https://rlib-mml.thinkridge.jp
rlib-MML アプリ はiOS、macOS、Android に対応しています。
アップデート情報
- 複数の楽器(SoundFont)を追加で用意しました。同時に再生させることも可能です。
- 楽器の音色一覧を表示する機能を追加しました。対象の音色を再生するサンプルMMLも用意しました。
サーバーレンダリング用にinstrumentを複数用意しました。
複数のSoundFontを利用しており、アプリから音色一覧等を確認できます。
MMLではトラック毎にinstrumentを指定できるので複数のinstrumentを同時に利用できます。

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(サウンドフォント)レンダリング機能を実装しました。

お手元のサウンドフォントファイル(.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 に対応しています。


標準MIDIファイルをインポートする機能を追加しました
- プロジェクト新規作成で、ローカルにある標準MIDIファイル(*.mid)を指定することで、MMLに変換したプロジェクトが作成されます。
- 既存の標準MIDIファイルをMMLに変換すること、および再生することが可能です。お試しください。
その他
- Flutter 3.16 を採用しました。
- 気が付いた箇所の不具合修正しました
rlib-MML アプリ はテキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。


iOS、macOS、Android に対応しています。


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 アプリ はテキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。


iOS、macOS、Android に対応しています。


OS標準のMIDI再生機能を使う従来の再生方式に加え、レンダリングした音声データを生成し再生する機能を追加しました。
MMLから音声データ(WAV)を生成し再生します。
SoundFontを使った音源でMMLを再生、出力データ生成の処理をサーバー側に実装しています。
特にiOSはMIDI再生機能がかなり貧弱な音なので、レンダリング再生での違いを大きく感じられると思います。
ただし、前述の仕組みの通りサーバーとの通信が発生するのでギガ消費(って表現でいいのでしょうか)にはご注意ください。
rlib-MML アプリ はテキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。


iOS、macOS、Android に対応しています。


MMLコンパイラ(クラスライブラリ&コマンドラインアプリ)をスマホアプリから使えるようにしました。
テキスト入力だけで曲が作れます。
登録などは不要で無料でお使いいただけます。ぜひお気軽にお試しください。
rlib-MML アプリ


iOS、macOS、Android に対応しています。

