301 Moved Permanently

Moved to https://vow.g.hatena.ne.jp/vow/

いろは

仕様逆算

(続き)

  • 普通にMIDIマッパーに出ている。今のところ。さあ物理実装音源の出番だ。
  • なんだか最初と最後でテンポがおかしい。がトラック終端の休符は無視されるので逃げられない。
  • = の出番は元々無いのだけど、実際の = はそもそも無動作であった。うそつき!
  • <Q:x> (テンポ指定) はトラック毎にバラバラに解釈される。・・・正気か。
  • <L:x> (基準音価指定) は厳密に範囲内の 1/2n しか受け付けない。それ以外は無視される。
  • 音価にはほぼ任意の有理数を受け付ける。ゼロ (あるいはゼロ除算) でもエラー中断にはならないが、実際の音価は基準音価にかかわらず 1/96 になる。1/64 は通って 1/128 は通らないのでたぶんタイムベース48相当で1以下のステップ禁止 1/80 も通るのでタイムベース240相当で10未満のステップ禁止。11/960 が通るので今度こそ間違いないはず。
  • [nnn ] とすると中身のゲートタイムを一切無視して和音全体のステップタイムが完全に0になる。ミソは最後の「 」。ただし nnn の部分は5音以下でなければならない。これは6音読み取った時点で残りは解釈しようともせずに読み捨ててしまうため。
  • 先行する和音から継続している音は和音数にカウントされていない。まあある意味予想通りなのだけど、そういうわけなので [ABCDE ][abcde ] と書けば無制限に音を重ねられる

・・・まじか。本当にこれでいいのか。

いやゲートタイムとステップタイムを分離する方策が実在すること自体は喜ばしい限りなのだけど (というよりそれができなければ他のいかなる努力も意味をなさない)、和音の終端判定が余剰スペースであっさり狂ったあげくに存在しない音価を出力してしまうってのはどうみてもただのバグじゃん

120405追記

どうもステップタイム分離が同音重複でいけると勘違いした人がいるようですが、常識的なMIDI実装ではノートONが重複した回数をカウントするようにはなっておらず、単純にノートON中に最初に着到したノートOFFで発音停止するので、実際には重複したノートのうち「一番短いもの」の長さで発音されるだけです。つまり分離できてないからソレ。

130113追記

この記事の記述は当時の「もえいろはα」の仕様であって、現行の楽器演奏仕様とは一部異なりますのでご注意ください。