Skip to content
たんらる edited this page Dec 21, 2023 · 98 revisions

開発環境

  • Java 17 (v1.1.x, v1.2.x-)
  • ant: 環境変数 "JAVA_HOME" を設定して実行してください.

入力可能なファイル

  • MabiIcco形式
  • まきまびしーく形式
  • 3MLE形式(ファイル>コンパクト書き出しのみ)
  • MIDI形式 (format0, format1)

出力可能なファイル

  • MabiIcco形式
  • MIDI形式
  • WAVE形式

メモ

  • 入れ替えにマージのオプションがあってもいいかな
  • 未登録楽器を表示するオプション(新楽器対応時に毎回Updateするのもなんなので)
  • トラックの色設定

考えること

  • Sequencerもわけたほうがいい?(より近い再現をするなら)(微妙かな?)
  • シーケンサーを使わずに、直接シンセサイザーで再生する?
  • アーキエイジ対応→一応搭載済み、細部までは不明

MIDIチャネル (v1.0.x)

  • 0~15: 再生(メロディ、和音1、和音2)
  • 13, 14: 再生(コーラス) ※トラック数が13以下のときのみ
  • 15: キーボード単音

MIDIチャネル (v1.1.x, v1.2.x)

  • 0~23: 再生(メロディ、和音1、和音2)
  • 24〜47: 再生(コーラス)
  • 48: 単音用

MIDIチャネル (v1.3.x)

0~95を下記割当で使用

  • 4t: メロディ
  • 4t+1: 和音1
  • 4t+2: 和音2
  • 4t+3: 歌/コーラス用
  • t: 0-23 (track)

入れたい機能さんたち

  • (募集中)

MML最適化

縦軸は文字数。少ないほうが最適化性能は良いということになります。 alpha21のあとに最適化部分を作り直しました(LxOx, BpCm, Nx)。 各ツールでMML最適化したときの比較です。 mabiicco生成は補正ありなので、ものによっては文字数は増えます。 また一部Lx系省いているところがあるので弱いですが、Nxがあるので総合的は良い感じだと思ってます! MML生成時に再パースしてデータ的に問題がないかチェックしてます。

mml_optimize_total mml_optimize_part

MML最適化改善ネタ → v1.1.62 で完了

  • BpCmNx統合版: c1<a+b+a+>c1 -> c1n22cn22c1
  • Lxのときに複数パターン生成版
  • LxOx で最小判定時にもBpCmNxを実行する。

mml_optimize_gen2_1 mml_optimize_gen2_1

トラックの開始位置

  • スコア全体での基本開始位置、ピアノロール上も変更 : 0以上
  • トラックごとの個別開始位置(楽器部、歌部)、ピアノロール上も変更 : 0以上
  • トラックごとのアタック補正(楽器部、歌部)、指定分出力するMML先頭を短くする、ピアノロール上は変更しないで再生のみ反映 : 0以上