XF インポート

歌楽などで使用されている XFファイル(*.mid)、XKMファイル(*.xkm)を歌詞データとして利用することが出来ます。

 

XFインポート概要

XFインポートの際、新たにグラフィックストラックを生成し、以下に記述する内容に従って、ブロック及びイベントを生成します。

コンテンツのタイトル

コンテンツ先頭にはタイトルブロックを生成し、曲名とアーティスト名を表示するためのテキストイベントを生成します。
曲名及びアーティスト名は、XFIHチャンクの XF インフォメーションヘッダに定義されている曲名及びアーティスト名を参照します。

 

ブロック/イベントの生成
歌詞データ中に改ページが定義されているとそれ以降を別ブロックとしてテキストイベントを生成します。
また、XFKMチャンクのVocal Part Cue の区分を1つのブロックとして、テキストイベントを生成します。Vocal Part Cueの区分中であっても、歌詞データ中に改ページが定義されているとそれ以降の歌詞データを別ブロックに生成します。
同じブロック中に生成されたテキストイベントは同一表示時刻に設定されます。

テキストイベントは、歌詞データ中の改行コードまでを1つのイベントとして生成します。
ブロック中のテキストイベントはインポート時に自動レイアウトされます。X座標は画面上方から順に、[左詰め]、[右詰め]で設定されます。このとき、行数が奇数の場合には最後の行をセンタリングします。Y座標は[下詰め]に設定します。
歌詞データの一行が表示領域幅よりも幅が広い場合は、XFデータのイベントを区切りとして改行を行います。このとき、改行コード以降の行(テキストイベント)を右詰にします。

また、この時、XF歌詞イベントの色替えタイミングをもとに、テキストイベントの色替え情報が自動的に設定されます。
(この説明文中、色替えタイミングとは、XF歌詞イベントのタイミング情報、XF歌詞ヘッダの歌詞表示オフセット値、及び、キューデータ"START"で定義される開始時間起算地点などから算出される、XF再生時の歌詞表示のワイプ処理タイミングを指します。)

上記以外のXFデータの定義は、以下のように扱います。

  • よみがな、ルビは無視します。
  • 空白指定'^'は半角スペースに変換されます。
  • 副改行'%'は、文章の意味的な区切りをあらわすものですが、改行と同じ扱いをします。
  • タブ指定'^'は指定後の一行分のテキストイベントを右詰で配置します。

  イベントパラメタ 色替え効果
歌詞以外、曲名、演奏者 40h 設定されない
独唱 41h 設定される
男声 42h
女声 43h
混声 44h
コーラス 45h
セリフ 46h 設定されない

 

色属性・座標系の設定
XF インポート時、各テキストイベントに対してイベントパラメタを自動的に設定することができます。
SCAS は、XFKM チャンクの Vocal Part Cue の定義に従って、上表のようにイベントパラメタを設定します。
XFインポート前にあらかじめ、グラフィックストラック情報ダイアログで、イベントパラメタ毎の色属性(色替え前後の文字色・背景色・透明処理指定および透明色)や座標系を設定しておくことで、インポート後のイベント設定を省略することが出来ます。
なお、テキストイベントの表示プレーンはすべてプレーン2に設定されます。

 

コンテンツ情報のインポート
XFインポートの際、[コンテンツ情報もインポートする]をチェックすると、XFIHチャンクの XF インフォーメーションヘッダを参照し、コンテンツ情報としてSCAS上に読み込みます。
インポートされる項目は、曲名・アーティスト名・作詞・作曲・編曲です。
また、カテゴリはコンテンツ情報インポートを指定すると初期化されます。

 

歌詞表示オフセット値の指定
XFインポートの際、[歌詞表示オフセット値を指定する。]をチェックすると、歌詞表示のオフセット値を任意の地点に指定することができます。オフセット値は、msec、tick の2種類の指定方法があります。

 

インポート時クリア情報の指定
XFインポートの際、[インポート時にクリアする情報]で、チェックを外す事によって、グラフィックストラックの情報を残すことができます。初期設定では、全てをクリアします。

 

制限事項
SCASは、以下のような形式の場合、XFファイルのインポート処理を中断します。

  • SMF format が 0 以外である。(XF以外のファイルフォーマットである)
  • SMF トラックチャンクにテンポ情報が定義されていない。
  • XFIHチャンクの XF インフォーメーションヘッダに曲名が定義されていない。
  • XFKMチャンクが存在しない。もしくは、XFKMチャンク読み込み時にエラーが発生する。
  • XFKMチャンク内に歌詞データが定義されていない。
  • XFKMチャンク XF歌詞ヘッダーの言語情報が"JP"以外である。