KAR ファイル形式とは?
.kar ファイルは、カラオケMIDIファイルとも呼ばれ、様々なMIDIアプリケーションやプレーヤーで使用される従来の .mid ファイルと似ています。一部の説明とは異なり、.kar ファイルは外部オーディオトラックへの参照場所を保持しているわけではありません。これは「スタンダードMIDIファイル」そのものであり、シンセサイザーが音に変換するタイミング調整されたノートイベントのシーケンスを含んでいます。このファイルの特徴は、再生中に一語ずつ表示するためにメロディと時間同期された、テキスト形式の歌詞を埋め込んだ追加トラックがあることです。
.kar ファイルに保存されるメタデータには、通常、曲のタイトル、アーティスト名、アルバム名、その他の関連詳細が含まれます。これらは慣習的に、最初の MTrk トラックチャンクの冒頭にある @T、@A、@I ヘッダー行に配置されます。歌詞自体は、FF 01 テキストメタイベント(@KMIDI KARAOKE FILE 識別子を持つ Soft Karaoke の @ タグ形式)または FF 05 歌詞メタイベントとして保持されます。
.kar はサンプリングされたオーディオではなく楽譜データを保存するため、使用するシンセサイザーやサウンドバンクによって同じファイルでも音が異なります。ファイルサイズは非常にコンパクトで、歌詞付きの完全なカラオケ曲でも通常 5 KB から 150 KB 程度です。.kar は他のMIDIファイルと共通の MThd マジックバイトを共有しているため、.kar を .mid にリネームすれば、通常どのMIDIプレーヤーでも開くことができます。音楽は正しく再生されますが、同期された歌詞は表示されません。
セキュリティと安全性
リスク: LOW.kar は埋め込みコードやマクロを持たないパッシブなMIDIイベントデータであるため、フォーマット自体のリスクは低いです。歴史的な注意点として、2012年の Windows MIDI 解析の脆弱性 (CVE-2012-0003) により、Windows Media Player で細工された MIDI を介してコード実行が可能でしたが、現在は修正されています。OSとプレーヤーを最新の状態に保ってください。実用上の主な「リスク」は期待外れに終わることです。再生はデバイスのサウンドフォントに依存するため音が薄く聞こえる場合があり、非カラオケプレーヤーでは歌詞が全く表示されません。
形式の詳細
概要- Winamp AVS / その他のアプリのプリセット - 少数の無関係なプログラムが独自のデータに .kar を使用したことがありますが、カラオケMIDIとしての意味が圧倒的に支配的です。
KAR ファイルを開くプログラム
技術的詳細
詳細仕様| ファイル構造 | スタンダードMIDIファイル (SMF) - 1つの `MThd` ヘッダーチャンクと、それに続く1つ以上の `MTrk` トラックチャンク |
| マジックバイト | オフセット0に `4D 54 68 64` (ASCII `MThd`)。`.mid` ファイルと同一であり、`.kar` 固有のファイルシグネチャは存在しません |
| 歌詞の埋め込み | メロディトラックに時間調整された `FF 01` テキストメタイベント(Soft Karaoke の `@` タグ形式、`@KMIDI KARAOKE FILE` 識別子付き)または `FF 05` 歌詞メタイベントとして保存 |
| MIDIフォーマットバリアント | SMF フォーマット 0(シングルドラック)またはフォーマット 1(マルチトラック)。フォーマット 1 の場合、歌詞/ヘッダートラックは通常最初の `MTrk` チャンクです |
| バイト順序 | ビッグエンディアン - すべてのマルチバイト整数は MIDI 仕様のビッグエンディアン慣習に従います |
| データエンコーディング | バイナリ。デルタタイムのタイムスタンプは可変長数値 (VLQ) エンコーディングを使用し、イベントタイムスタンプごとに 1〜4 バイトを消費します |
| 圧縮 | なし - 可変長デルタタイムにより、個別の圧縮レイヤーなしでイベントデータをコンパクトに保持します |
| 一般的なファイルサイズ | 5 KB - 150 KB。同期歌詞付きの完全なカラオケ曲でも、通常は 100 KB を大幅に下回ります |
| MIMEタイプ | `audio/midi`。また、`audio/x-midi` や `application/x-midi` としても使用されます |
| タイミング解像度 | `MThd` ヘッダーの `division` フィールド(四分音符あたりのティック数)で定義。テンポは `FF 51` メタイベントにより µs/四分音符で動的に設定されます |
| 楽譜 vs 録音 | サンプリングされたオーディオではなく、ノートおよびコントロールイベントを保存します。シンセサイザーやサウンドバンクが再生をレンダリングするため、ハードウェアやソフトウェアによって音が異なります |
| ヘッダーメタデータの慣習 | 最初のトラックは慣習的に `@KMIDI KARAOKE FILE` で始まり、その後に `@V` (バージョン)、`@I` (情報)、`@L` (言語)、`@T` (タイトル)、`@A` (作者) のテキストイベントが続きます |
| プラットフォームのサポート | Windows, macOS, Linux, Android, iOS、およびハードウェアアレンジャーキーボードやカラオケ機器 |
| 相互運用性 | `.kar` を `.mid` にリネームすると、標準のMIDIプレーヤーでファイルを開くことができます。音楽は正しく再生されますが、同期歌詞は表示されません |
| レガシー状況 | 家庭用としては CD+G ディスク、MP4 ビデオカラオケ、ストリーミングサービスに大きく取って代わられました。`.kar` ファイルはレガシーコレクションやアレンジャーキーボードで存続しています |
| リリース日 | Mid-1990s (the .kar lyric convention popularised by Tune 1000 / the MIDIOKE scene) |
| 最新バージョン | No separate spec - based on Standard MIDI File 1.0 (1988); lyrics carried in text/lyric meta-events |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | midi.org |