管理人の趣味メインのメモto日記
AIONブログ RSS [情報サイト表示]
[注意] LinkやRSSについて

シエルサーバ RSS [情報サイト非表示]

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ -------- (--) --:-- ]  
   Category:スポンサー広告

・ω・)ノ
 
不具合と言えば、不具合? (・ω・
 
 
<本日のトピックス>
[ツール] Midi2AionMML について
 
 
[ツール] Midi2AionMML について
Midi2AionMMLで、変換できないという不具合報告があったのでちょっとり変換できない
midiファイルを拝借して解析してみました。
 
結果としましては、ツールの不具合と言えば不具合なのですがいただいたファイルの
形式には対応していなかったというのが原因でした。
過去に記事にしたような記憶がありますが・・・・MIDIファイルの形式として、四分音符の
長さを基準に全体の長さを記述します。昔のデフォルト(最近はしりませんが)は、
 
 四分音符 = 480
 
となっていました。
基本的にMMLの様な詳細な設定をしない場合(できない場合)、この値は特に変更せずに
利用するのですが、コンティニアスデータ(ベンドやパンやエクスプレッションなど)を
設定する場合、この数値を細かくした方がより柔らかい(細かい)調整が可能になります。
分解能と言われる設定値です。
 
で、今回いただいたファイルは1024と言う数値に設定されていました。
つまり、このファイルは
 
 四分音符 = 1024
 
で、表現されています。もともとの数値から考えると、同じ四分音符でも
データ上は倍ちょっとの情報が詰め込め、また、同じテンポの場合
四分音符 = 480の場合は、四分音符1個ならした場合のタイムラインは480進めるのに対し、
四分音符 = 1024の場合は、1024進める必要が出てきます。
 
ここまでは、MIDIファイルの仕様のお話。
 
 
 
で、「Midi2AionMML」はこれに対応するために、暫定的な対応(どこぞのサイトで読んだ
対応だと思います)をしていたのですが・・・・、どこでどう計算を間違えているのか
「四分音符 = 480」の時と「四分音符 = ****」の時の倍率計算結果が0になる不具合があり
それが原因ですべての音の長さが0になってたという・・・・。
その結果、ずっと音を出す必要がないと判断され、出力されてなかったようです。
 
 
 
■ 対応について

1) MIDIファイルで対応する場合
 MIDIファイル側で対応する場合は、分解能の設定を480に変更することで
 出力されるようになると思います。分解能と言う言葉ですがソフトによって表現が微妙に
 異なると思うのです。分解能?Tick値?
 
 いただいたファイルの場合、1024と設定されているところを480に直せばよいのかな?
 
 
2) ツールが対応する
 現状、対応しようと思っていますが・・・・、変換時にイロイロと問題があったりなかったり。
 暫定対応して、もらったファイルで変換かけたのですが、一部エラー(変換できない長さ)が
 発生します。エラーが発生することがツールのバグなのか、分解能480でないために
 発生する問題なのか調査中です・・・・。
 
 
 
 
とりあえず、サクッと変換したい場合は分解能を480にすればOKです(タブン
 
 

スポンサーサイト
[ 2012-12-12 (Wed) 12:00 ]   Comment(0)
   Category:雑記:あいぉん日記
管理者にだけ表示を許可する

TrackBackURL
→ http://extremes.blog40.fc2.com/tb.php/608-93622856
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。