2011年4月19日火曜日

midif0n バージョン1.4 審査待ち

近日中と言っていましたが、バグ修正のために遅くなってしまいました。
midif0n 1.4をアップしました。以下、変更点、修正点になります。
  • プロフェッショナルモードの追加(実装済みのMIDI CC等編集可能に)
  • ファンクションメニュー切り替えを画面ごとに固定化
  • プリセット(音色)選択画面を修正
  • 再生中にドラッグでオクターブ移動可能に
  • 音源のLFOの周波数のディフォルト値を修正
  • ピッチの計算精度を修正
  • 保存時に連続した同じ値のMIDIイベントを書き出さないように改善(現状、読み込み時は未対応)
  • 表示バグ修正

まずはプロフェッショナルモードですが、このモードではイベントグラフにより、いくつかのCC, ピッチベンド、テンポ、マスターボリュームを編集できるようにしました。編集できるパラメータは、すでにmidif0nに実装済み(再生時に対応している)のパラメータのほとんどになります。プロフェッショナルモードの位置付けですが、実装コンセプトに従い、ノート、ベロシティ以外はこちらのモードで編集することになります。ピッチベンドは、キーボードやギターのインターフェース等にはまだ適用していませんが、これから実装する予定です。実のところ、インターフェースをどうするかまだ迷っています。

プリセット画面のデザインは劣化しているような気もしますが、GM音色をより選びやすいようにしました。基本的に"機能>デザイン"で。

音源に関してはLFOのディフォルト値を修正したのですが、実はこれはサウンドフォントの仕様書通りではありません。これは厄介な問題を含んでいるため、機会を改めて説明したいと思います。この件に関しては、僕は単純に仕様書の間違いと捉えておらず、むしろ完全な仕様書として必要な情報が欠落しているものと推測しています。何にせよ、この修正により、周波数変化が緩やかで変化が大きいプリセットは印象が大きく変わるかもしれません。
※例えば、推奨音源の一つであるDigital Sound Factoryの8mb General MIDI.sf2の090 Poly Synth, 095 Sweep Padのようなプリセットで変化が顕著になります。

ピッチの計算誤差はテーブル化した時に大きくなっていたので、これを修正しました。場所によっては数十セントの誤差があったので、耳が良い人は気付いていたと思います。

MIDIイベントの連続した同じ値のデータに関してですが、これは再生上まったく不必要なものです。当初はイベントグラフ描画時に省くつもりでしたが、結局保存時に落ち着きました。これはProgram Change等にも当てはまります。個人的に読み込み時の対応の必要性も感じています。何故なら既存のMIDIファイルによっては、同じ値のVolumeは言うに及ばず、場合によっては同じ値のProgram ChangeやPitch Bend Sensibilityが含まれていることさえあります。これらの値は、midif0nにおいて1イベントしか編集できないケースに該当するため、編集可能なデータをみすみすロックすることになります。しかし読み込み時のチェックを厳重にしすぎると、読み込みが低速になる可能性もありますので、バランスを考慮しながら最適化するつもりです。

バージョン1.5では、トラック全体の見通しをよくし、小節単位の編集を強化する予定です。

0 件のコメント:

コメントを投稿