- ベストアンサー
midiファイルの歌詞情報等に関する独自拡張の方法とは?
- midiファイルの表現には制約が多いため、独自のファイル形式を作成しています。
- DAWのソフトとの互換性を持たせるために、midiファイルとしてのInput Outputを可能にしています。
- 歌詞情報にUnicode文字を使用する方法は独自拡張が必要であり、通常はマルチバイトを使用することが一般的です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず「検索したらなんか出てきた」レベルなのでなんともいいにくいのですが, 純粋に「規格」として読むならその解釈で全部あってるはずです. あ, SMF ではなく XMF (eXtensible Music Format) なら UNICODE が使えそうですね. 4.9 Synchronised lyrics/text によれば, 「言語」と「エンコーディング」の両方が指定できそうです.
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
Lyric Meta Event に UNICODE を使うことはできそうだけどねぇ....
お礼
これはこれは、どうもありがとうございます♪ >If an undefined <code_set> appears, lyrics should be ignored until a defined <code_set> appears. >In addition, if a byte order mark which specifies UNICODE such as 'FF FE' or 'FE FF' exists, the character code SET should be treated as UNICODE. 未定義のコードセットが出たら定義されたコードセットが出るまで歌詞を無視すべき、そんでもって、もしUNICODE特有の文字が出たらそれはUNICODEとみなされるべき ただし >Other <code_sets> for different languages are not defined yet. >AMEI/MMA will be responsible for defining those <code_sets>. これやっぱり、この"yet"と"will"がポイントでしょうか…w え~っと、このコードセットの指定のそもそもの使い方なのですが (読む限り途中でコードセット変えてもいいようだけど)例えば、デフォルトのLATINとかを明示的に示すとすると あらゆる歌詞が始まる前にLyric Meta Eventにて {@LATIN} を突っ込む、というだけで「仕様通りのはず」ということでしょうか? つまりこの場合バイナリ的には 16進表記で (デルタタイム) FF 05 08 7B 40 4C 41 54 49 4E 7D となるはず、で これは標準ではまだ決まってないけど自分で{@UNICODE}とかに対応するようにやったとしても、SMFの「仕様通りではある」ということでしょうか? どちらも {@LATIN} {@JP} に正確に対応してると考えられるシーケンサーがなんなのか、あるいはあるのかないのか分からないのですが とりあえず、いずれにしても現状ではまだUNICODE対応というのは「標準的」ではない、という感じになりそうですかね?
お礼
お~!ありがとうございます。 XMFなんてものがありましたか! 確かにそう読めますね。 目的を読むと、現在作っている独自の形式と方向性は似ている箇所もあるようで しかし、やはり詳細は実物をじっくりいじり倒してみないと見えません。 んで、かなり興味がわいたのですが 調べてもSMFのそれと比べて対応ソフトとか解説とかが恐ろしいほど見つかり辛く感じます。 手持ちのソフトで対応してるのが結構あれば良いのですが、そうでないとなるとファイル作成の実験そのものが困難を極めそうなことと 現状ではSMFにおいてUNICODEの問題は、結局は「流通レベルの問題」に等しい→XMFだと結果的に同じ問題にぶち当たる となれば、時間の問題からいっても、ファイルサイズは多少大きくなっても、ひたすらに表現力を求めまくった自分のソフト専用(少なくとも公開直後は)の形式を煮詰める時間と、十分に普及しているSMFサイドへの対応を専決することにして 当初の作戦でいくのが、まずはベストと判断しました。 しかし、存在を知ったのは、今後役に立つ可能性も否定できません。