検査ルール(SPEC.md 6.1)を実装したときの答え合わせ用の基準値。
SPEC.md 5.1 の画面モックアップにも件数が書かれているが、あれは画面イメージの例示であり実データではない。実装時にどちらと突き合わせるべきかを迷わないよう、実測値をここに固定する。
| 項目 | 内容 |
|---|---|
| 対象 | 策定者のローカルライブラリ(クラシック音楽 1,041 ファイル) |
| 測定日 | 2026-08-03 |
| 手段 | Music Tag Auditor の LibraryScanner + TagReader(段階 1 時点) |
| 除外 | backup_* フォルダ |
| 辞書 | 未使用(正規化辞書を要するルールは後述のとおり除外または近似) |
読み取り 1,041 件 / 失敗 0 件。内訳は M4A 516・FLAC 510・ID3 15(AIFF 11 + MP3 4)で、TAGGING_POLICY.md 冒頭の記載と一致する。
「確度」列の意味:
- 確定 — 判定条件が一意に決まり、実装が変わっても件数は変わらない
- 要定義 — 判定条件の細部で件数が動く。下の「判定条件と留意点」を必ず読むこと
- 未測定 — 正規化辞書が要るため段階 5 以降でしか測れない
| ID | 内容 | 件数 | 確度 |
|---|---|---|---|
| R-101 | genre が Classic 以外 |
0 | 確定 |
| R-102 | genre 未設定 |
0 | 確定 |
| R-103 | discnumber 未設定 |
191 | 確定 |
| R-104 | date が4桁でない |
7 | 確定 |
| R-105 | date 未設定 |
233 | 確定 |
| R-201 | composer が辞書の正規形と不一致 |
0 | 確定(下記参照) |
| R-202 | artist / conductor / albumartist が正規形と不一致 |
— | 未測定 |
| R-203 | artist に作曲家名 |
162 | 要定義 |
| R-204 | albumartist に作曲家名 |
137 | 要定義 |
| R-205 | 値に ; を含む |
10 | 確定 |
| R-206 | 同一値の重複連結 | 0 | 確定 |
| R-207 | 人名に生没年・「姓, 名」順・全大文字 | 7 | 要定義 |
| R-208 | 日本語表記の人名・団体名 | 30 | 確定(下記参照) |
| R-301 | 楽語・人名の typo | 0 | 確定(下記参照) |
| R-302 | title に拡張子 |
0 | 確定 |
| R-303 | title がプレースホルダ |
155 | 要定義 |
| R-304 | 曲名中のウムラウト欠落 | — | 未測定(既定で無効) |
| R-401 | composer 未設定 |
26 | 確定 |
| R-402 | 指揮者を特定できない | 150 | 要定義(下記に内訳) |
| R-403 | 文字化け | 0 | 要定義(下記参照) |
| R-501〜503 | アルバム名・楽章番号 | — | 未測定 |
| (参考) | 複数値として格納済み(AIMP 分割済み) | 0 | 確定 |
| (参考) | cond atom を持つ(AIMP から見えない指揮者) |
0 | 確定 |
genre は全 1,041 件が Classic。SPEC.md 5.1 のモックアップは「R-102 genre 未設定 510件」を例示しているが、実データでは 0 件である。
ISO 形式が 2 種類のみ。
| 値 | 件数 | フォルダ |
|---|---|---|
1993-01-22T08:00:00Z |
5 | ブラームス\ブラームス 2 - マズア |
2010-05-31T07:00:00Z |
2 | 魔弾の射手 |
composer の異なり値は 35 で、すべて TAGGING_POLICY.md 5.1 の正規形と一致する。したがって R-201 は 0 件。5.1 の「表記揺れの実例」(Dmitry Shostakovich 等)は過去の手作業で解消済み。
TAGGING_POLICY.md 5.1 は「確定36名」と書いているが、列挙されているのは 35 名で、実データの異なり値も 35 である。 見出しの数が 1 多い。
作曲家の姓との単純一致で数えると R-203 = 172、R-204 = 147 になるが、そのうち 10 件は Smetana Quartet(スメタナ四重奏団)の誤検出である。団体名に作曲家の姓が入るケースを除外する必要がある。 上表の 162 / 137 は除外後の値。
同種の誤検出は Münchener Bach-Chor など他にも起こりうるため、実装では辞書の団体名リストと突き合わせて除外すること。
TAGGING_POLICY.md 6.4 は「albumartist に作曲家名が残っているもの(約99件)」としているが、本測定では 137 件。定義が違う可能性が高い(6.4 は楽団名が不明で据え置いたものだけを数えている等)。要確認。
生没年・「姓, 名」順・全大文字を素朴に検出すると 6 種 58 件が引っかかるが、真に修正対象なのは Mozart, Wolfgang Amadeus(7 件)だけである。残りはすべて誤検出。
| 拾われた値 | 判定 |
|---|---|
Mozart, Wolfgang Amadeus |
該当(「姓, 名」順) |
USSR State Symphony Orchestra |
誤検出。USSR は正当な頭字語 |
Kirov Orchestra, Mariinsky Theatre |
誤検出。団体名であり「姓, 名」ではない |
William Bennett, Neville Marriner; Academy of St. Martin in the Fields |
誤検出。2.3 の保護対象 |
カラヤン/ベルリン・フィル,… |
誤検出。2.3 の保護対象 |
ドレスデン国立歌劇場管弦楽団, … |
誤検出。2.3 の保護対象 |
実装上の要件が 3 つ導かれる。
- 全大文字の判定は頭字語(
USSR、NHK等)を除外する - 「姓, 名」順の判定は人名フィールドに限り、団体名には適用しない
- 2.3 の保護対象は全ルールの検査前に除外する
生没年つきの値(Johann Sebastian Bach(1685-1750) 等、TAGGING_POLICY.md 5.1 の実例)は現データには存在しない。解消済み。
人名・団体名フィールドの日本語表記は 30 件あるが、その全部が 2.3 の保護対象である。
| 値 | 件数 |
|---|---|
カラヤン/ベルリン・フィル,…(パルジファル) |
29 |
ドレスデン国立歌劇場管弦楽団, …(魔弾の射手) |
1 |
つまり R-208 に自動修正すべき対象は現時点で存在しない。 保護対象を除外すれば 0 件になる。
TAGGING_POLICY.md 5.4 の 33 種を正規表現で照合したが title に該当なし。過去の手作業で修正済みである(6.7 の「タグ側で修正した typo がファイル名に残存」がこれを裏づける)。
SPEC.md 5.1 のモックアップは「R-301 typo: Sympohony 9件」を例示しているが、実データでは 0 件。 辞書としては引き続き必要(再発防止とファイル名整理の段階で使う)。
判定条件は「Track04 形式」「数字のみ」「<語> - <数字> 形式」。拾われた値はすべて実際のプレースホルダで、誤検出は見られない。
| 例 | フォルダ |
|---|---|
1-1 〜 1-4、3-1 〜 3-5 |
シューマン 1 / 3 - バーンスタイン |
ショス15 - 01 〜 04 |
ショスタコーヴィチ\ショス15 |
ショス10 - 01、ショス7 - 01、チャイ6 - 01、ブル4 - 01、ブル5 - 01 … |
各フォルダ |
SPEC.md 6.1 が例示する Track04・ショス15 - 01 と同じ形。155 件は R-303 が最大件数のルールになることを意味する。
TAGGING_POLICY.md 6.6 が挙げる文字列(アルバム情報なし 等)で照合したが 0 件。タグが読めていない可能性がある(該当 4 件は MP3 で、Shift-JIS が誤解釈された状態で格納されている)。検出方式が決まっていないため、この 0 は「該当なし」の根拠にはならない。段階 7 で方式を決めてから測り直すこと。
150 ファイル / 29 フォルダ。
TAGGING_POLICY.md 2.2 のとおり、室内楽・独奏・指揮者を置かない合奏団では conductor は空が正しい。これらは R-402 の対象ではない。
| フォルダ | 件数 | artist |
理由 |
|---|---|---|---|
| ビバルディ | 12 | I Musici |
指揮者を置かない合奏団 |
| ベートーヴェン\ベト 弦楽四重奏曲 14 | 6 | Smetana Quartet |
弦楽四重奏 |
| ベートーヴェン\ベト 弦楽四重奏曲12 | 4 | Smetana Quartet |
弦楽四重奏 |
バッハ(This Is Bach の一部) |
4 | Peter Hurford |
オルガン独奏 |
| フォルダ | 件数 | artist |
albumartist |
|---|---|---|---|
| ワーグナー\Wagner Opera Choruses | 16 | Richard Wagner |
(なし) |
| ワーグナー\タンホイザー\第二幕 | 11 | Richard Wagner |
(なし) |
| ワーグナー\タンホイザー\第一幕 | 9 | Richard Wagner |
(なし) |
| ワーグナー\ニーベルングの指環 | 6 | Richard Wagner |
New York Philharmonic |
| 序曲集 | 6 | Richard Wagner |
Royal Philharmonic Orchestra |
| ベートーヴェン\ベト 弦楽四重奏曲 14 以外の各フォルダ | 1〜5 | — | — |
| シェエラザード | 5 | Rimsky-Korsakov |
Various Artists |
| シベリウス\シベリウス 1 / 2 / 6 / 7 | 各 4〜5 | Sibelius / Siberius |
(なし) |
| ベルリオーズ 幻想交響曲\幻想交響曲 | 5 | Berlioz |
(なし) |
| シューベルト\シュベ 9 | 4 | Franz Schubert |
(なし) |
| ショスタコーヴィチ\ショス15 | 4 | Dmitri Shostakovich |
Dmitri Shostakovich |
| ベートーヴェン\ベト7 / ベト8 | 各 4 | Ludwig van Beethoven |
Ludwig van Beethoven |
| モーツァルト\モツァ25 / 29 / 31 / 40 / 41 | 各 3〜4 | Mozart 系 |
Mozart 系 |
| リスト 交響詩 | 4 | Franz Liszt |
(なし) |
| ワーグナー\Wagner's Greatest Hits | 3 | Richard Wagner |
(なし) |
| チャイコフスキー\チャイコフスキー ピアノ協奏曲 | 3 | Tchaikovsky |
Berliner Symphoniker |
| ドヴォルザーク\ドボルザーク チェロ協奏曲 | 3 | Dvorak |
(なし) |
| ベートーヴェン\レオノーレ | 1 | Beethoven |
New York Philharmonic |
多くが artist に作曲家名が入ったままであり、R-203 と重なる。TAGGING_POLICY.md 6.2 の指揮者特定手順(フォルダ名 → albumartist → 同一アルバムの他ファイル)を適用しても、これらのフォルダ名には指揮者名が含まれていないため特定できない。CD 実物の確認が要る。
TAGGING_POLICY.md 6.4 は「21フォルダ 108ファイル」としているが、本測定では 25 フォルダ 124 ファイル。要確認。 数え方の違い(albumartist に楽団名がある分を除いている等)と思われる。
本測定から導かれる、ルール実装の前提。
- 2.3 の保護対象(33 ファイル)は全ルールの検査前に除外する。 除外しないと R-207 と R-208 が誤検出だらけになる
- 団体名に含まれる作曲家の姓を除外する。
Smetana Quartetを R-203 / R-204 で拾わない - 頭字語を全大文字判定から除外する。
USSR State Symphony Orchestraを R-207 で拾わない - 「姓, 名」順の判定は人名フィールドに限る。 団体名の
,は列挙であって語順ではない - R-303 が最大件数(155)。 差分プレビューの性能はこの規模で確認する
本表の測定後、同日中に 22 ファイル(5 アルバム)が追加された。
- チャイコフスキー 5 - チェリビダッケ
- ベートーヴェン 7 - フルトヴェングラー
- ベートーヴェン 9 - ベーム 1970
- モーツァルト 40 / 41 - ベーム
本表の件数は 1,041 ファイル時点のものである。 追加分は genre 未設定(R-102 が 0 → 14)、composer が Pyotr Il'yich Tchaikovsky(R-201 が 0 → 5)などを含む。
追加分には 5.4 の typo(Allgretto、Allgro、Andatente)も含まれており、R-301 は 0 件ではなくなった。段階 7 で実装する際は測り直すこと。
6.6 の文字化け 4 件は、アーティスト情報なし という文字列で照合しても引っかからない。実際に格納されているのは A[eBXgîñȵ である(Shift-JIS のバイト列を別のコードページとして解釈した結果)。
したがって検出は次の方法で行える。
- 値を Latin-1 相当のバイト列に戻す
- そのバイト列を Shift-JIS (CP932) として解釈する
- 解釈結果が妥当な日本語になれば文字化けと判定する
既知の文字列との照合より一般的で、アルバム情報なし 等を個別に列挙しなくて済む。修正はしない(実質的にタグ未設定であり、内容の再入力が要る)。
段階 5 の「検査結果から辞書に追加する導線」の対象になるのは R-201 / R-202 のうち修正案を出せなかったものである。1,063 ファイル時点で実測した内訳は次のとおり。
| 値 | 件数 | フィールド | 実体 |
|---|---|---|---|
Various Artists |
16 | albumartist |
演奏団体ではない。プレースホルダ |
A[eBXgîñȵ |
4 + 4 | artist / conductor |
文字化け 4 ファイル(TAGGING_POLICY.md 6.6 / R-403) |
このうち辞書登録で解消できるものは 0 件である。
Various Artistsを辞書に登録するとTAGGING_POLICY.md2.1(albumartistは演奏団体名)に反する。正しい楽団名は CD 実物の確認が要る。現状維持とし、一覧に残す(2026-08-04 に判断)- 文字化けの 8 件は R-403 の領分で、修正はしない(内容の再入力が要る)
導線が効くのは、CD 確認で楽団名が判明したときと、新しいアルバムを追加したときである。
R-202 全体は 78 件で、うち 54 件は修正案を持つ(Royal Concertgebouw Orchestra→Concertgebouworkest 15、Stanislaw Skrowaczewski→Stanisław Skrowaczewski 16、Solt→Georg Solti 14 ほか)。
段階 5 で追加した辞書の検証を default-dictionary.json に掛けたところ、エラー 0 件・警告 23 件だった。警告はすべて「同一エントリ内で別名が重複している」である。
正規化キーはダイアクリティカルマークと記号を落とすため、次のような別名は正規形と同じキーになり、索引に載らない。
| エントリ | 冗長な別名 |
|---|---|
Antonín Dvořák |
Antonin Dvorak / Dvořák |
Karl Böhm |
Bohm |
Rafael Kubelík |
Rafael Kubelik / Kubelik |
Kyung-Wha Chung |
Kyung Wha Chung |
ru-spb-phil |
St Petersburg Philharmonic Orchestra(St. Petersburg… と同じキー) |
照合の挙動は変わらない(登録しなくても引ける)ので害はないが、辞書を読む人には「これが無いと引けない」と誤解させる。整理は別途行う。
2026-08-14 に整理した。 23 件のうち 22 件を削除し、残る 1 件(
uk-philharmoniaのPhilharmonia Orchestraが 2 つの区分に現れるもの)は検証側の誤検出だったのでDictionaryValidatorを直した。既定辞書の検証はエラー 0 件・警告 0 件になり、DictionaryValidatorTests.DefaultDictionaryHasNoIssueがその状態を固定している。 なおこの削除は既存の利用者辞書には届かない。 「既定辞書から取り込む」は追加しか作らない (DictionaryMerger。docs/USER_MANUAL.mdの同名の節)。初回コピー以降の辞書は手で直す。
docs/SPEC.md 6.1 の 24 ルールがすべて実装され、初めて全件を実測できた。以下が現時点の基準値(1,063 ファイル)。
| ID | 内容 | 検出 | 修正可 | 本表の旧値(1,041 件時点) |
|---|---|---|---|---|
| R-101 | genre が Classic 以外 |
0 | 0 | 0 |
| R-102 | genre 未設定 |
14 | 14 | 0 |
| R-103 | discnumber 未設定 |
191 | 191 | 191 |
| R-104 | date が4桁でない |
7 | 7 | 7 |
| R-105 | date 未設定 |
233 | 0 | 233 |
| R-201 | composer が正規形と不一致 |
5 | 5 | 0 |
| R-202 | 演奏者が正規形と不一致 | 78 | 54 | 未測定 |
| R-203 | artist に作曲家名 |
162 | 34 | 162 |
| R-204 | albumartist に作曲家名 |
137 | 0 | 137 |
| R-205 | 値に ; を含む |
7 | 0 | 10 |
| R-206 | 同一値の重複連結 | 0 | 0 | 0 |
| R-207 | 人名の書式 | 0 | 0 | 7 |
| R-208 | 日本語表記の人名・団体名 | 0 | 0 | 30 |
| R-209 | 収録時点の団体名と不一致 | 142 | 126 | — |
| R-301 | 楽語・人名の typo | 3 | 3 | 0 |
| R-302 | title に拡張子 |
0 | 0 | 0 |
| R-303 | title がプレースホルダ |
155 | 137 | 155 |
| R-304 | 発音区別符号の欠落 | 11(既定で無効) | 0 | 未測定 |
| R-401 | composer 未設定 |
26 | 26 | 26 |
| R-402 | conductor 未設定 |
146 | 22 | 150 |
| R-403 | 文字化け | 16 | 16 | 0(検出方式が未定だった) |
| R-501 | 同一アルバム名に複数の作曲家 | 344(19 種) | 0 | 未測定 |
| R-502 | アルバム名が日本語 | 260(38 種) | 0 | 未測定 |
| R-503 | 楽章番号の書式が不統一 | 114(20 フォルダ) | 0 | 未測定 |
合計 2,040 件を検出し、うち 482 件が既定でチェックされる。保留は 16 件(HOLD_ERA_UNKNOWN)。
ファイル名に本来の曲名が入っている。
title |
ファイル名 |
|---|---|
マーラー1 - 01 |
01 1. Langsam, Schleppend |
モツァ25 - 01 |
01 Symphony No.25 IN G Minor, K.183 1st Mov._Allegro Con Brio |
チャイ6 - 01 |
2-08 Adagio - Allegro non troppo |
補完では先頭のトラック番号だけを落とす。 ファイル名には Windows で使えない文字の代替が混じっており(Op.141_ I. Allegretto の _ は本来 : と思われる)、元が何だったかは決められない。
残り 18 件はファイル名もプレースホルダ(title が 1-1、ファイル名が 01 1-1)。シューマン 1 / 3 - バーンスタインの 2 フォルダ。
conductor が空欄なのは 172 件だが、26 件は指揮者が居ないのが正しい(TAGGING_POLICY.md 2.2)。
artist |
件数 | 判定 |
|---|---|---|
I Musici |
12 | 指揮者を置かない合奏団。辞書の noConductor で除外 |
Smetana Quartet |
10 | 弦楽四重奏団。同上 |
Peter Hurford |
4 | オルガン独奏。指揮者の役割を持たない人物として除外 |
残る 146 件のうち 22 件は artist が指揮者本人(Karl Böhm 13 / Sergiu Celibidache 5 / Wilhelm Furtwängler 4)で、2.2 の「指揮者がいる録音では conductor に必ず入れる」により自動修正できる。
不明は 124 件 / 25 フォルダで、本表の記載と一致する。
| 経路 | 件数 |
|---|---|
artist / albumartist に残った作曲家名 |
17 |
同一フォルダの他ファイルの composer |
5 |
| パス(フォルダ名) | 4 |
6.5 の「いずれもフォルダから一意に決まる」という記述と整合する。
本表の追記で確定した検出方式(Latin-1 → CP932)で全件を拾えた。
| 復元後の値 | 件数 | フィールド |
|---|---|---|
アーティスト情報なし |
8 | artist / conductor |
アルバム情報なし (2026/03/22 18:27:54) |
4 | album |
トラック 1〜4 |
4 | title |
いずれも実質的にタグ未設定。修正案は「値を消す」とし、既定ではチェックしない。
- R-501:
Symphony No.5に 5 人の作曲家(表記揺れを正規化した後)、Symphony No.9に 4 人。19 種のアルバム名に 344 ファイルが該当 - R-502: 260 件 / 38 種。うち 137 件は日本語略称(
ベト7、マーラー2)で、辞書のaliasesJaから作曲家を特定できる。残りは歌劇 「ローエングリン」 (ケンペ)のような正式な日本語名 - R-503: 20 フォルダ 114 件。
1./5-1./1 Allegro/ 番号なし の混在
いずれも SPEC.md 13章 D2(TAGGING_POLICY.md 6.1〜6.3 が未確定)に依存するため、修正案は出さない。
2026-08-11 追記: このうちアルバム名の形式は確定した(TAGGING_POLICY.md 3.5)。R-501 の件数の読み替えは下記「R-501 の 344 件はアルバム単位では 50 ファイル」を参照。
TAGGING_POLICY.md 3.5 を決めるにあたって全 1,078 ファイルを測り直した際の記録。測定は tools/AlbumProbe で再現できる。
同じものを数えていない。 併記しないと、どちらの数字と突き合わせるべきか判断できなくなる。
| 数え方 | 件数 | 意味 |
|---|---|---|
album タグの値で束ねる(本表の 344 件 / 19 種) |
344 ファイル | 汎用的なアルバム名を共有する別々の録音まで 1 つに数える |
フォルダ + discnumber で束ねる(3.5 のアルバム単位) |
50 ファイル / 8 単位 | 1 枚の中に複数の作曲家が実在するもの |
8 単位の内訳は TAGGING_POLICY.md 3.5 補足2 にある。本物のコンピレーション 4 単位と、主作品 + カップリング 4 単位に割れる。
測定の副産物として見つかったもの。いずれも未対応。 アルバム名の適用作業では踏まないが、ライブラリの整理としては残っている。
| # | 種別 | 内容 |
|---|---|---|
| 1 | 重複 | モーツァルト 38 39 - ベーム の 04〜07 と モーツァルト 39 - ベーム の 4 ファイルが、ファイル名・バイトサイズとも完全一致(交響曲第39番) |
| 2 | discnumber |
魔弾の射手 が d11 / d12。album が Carlos Kleiber - Complete Recordings on Deutsche Grammophon で、ボックスセットの通し番号がそのまま残っている |
| 3 | discnumber |
ベートーヴェン 5- カラヤン と ベートーヴェン 6 - カラヤン が両方 d4。別フォルダだが同じディスク番号を持つ |
| 4 | 誤タグ | シューベルト 9 - バーンスタイン の album が Schubert Symphony No.8。8 番のフォルダと同じ値になっている |
| 5 | フォルダ構成 | The Tchaikovsky Album(トラック 2-01〜2-07 / 白鳥の湖)と チャイコフスキー 6 - ショルティ(2-08〜2-11 / 交響曲第6番)は1 枚のディスクが作品ごとに 2 フォルダへ分かれているもの。重複ではない |
1 は削除候補。2・3 はディスク番号の規則(TAGGING_POLICY.md 2.4「単一ディスクでも 1/1」)の対象だが、ボックスセットの通し番号を 1 に潰してよいかは未決。
5 は TAGGING_POLICY.md 3.5 規則3 の B 種別(1 アルバムが複数フォルダに分かれている)であり、アルバム名は同じにするのが正しい。同種のものにワルキューレ、ベートーヴェン ピアノ協奏曲 4番・5番、シベリウス 1番・6番がある。フォルダ構成からは自動判定できないので、複数フォルダをまとめて一括入力する導線が要る。
解消済み: 同一録音の重複所蔵が 1 組あった(Shostakovich - Song of the forests - Mravinsky と ショスタコーヴィチ 森の歌 - ムラヴィンスキー が 7 ファイルとも同名・同サイズ)。2026-08-11 に前者を削除し、1,085 → 1,078 ファイルになった。
TAGGING_POLICY.md 6.9 に詳細。既存のどのルールでも検出できないため、R-210 を新設した(SPEC.md 6.1)。
現時点の検出は 3 件で誤検出 0 だが、これは辞書にハイドンが無いためであり、辞書が育つほど誤検出は増える。この数字を「ライブラリに他の誤りが無い」根拠にしてはならない。
2026-08-11 追記: R-210 を本体の検査ルールとして実装した(Inspection/ComposerMismatch.cs)。判定は tools/AlbumProbe と共有しており、本表の数字と本体の検出件数は一致するはずである。composer が未設定のファイルは対象外にした(R-401 の担当。両方から出すと同じファイルが二重に明細へ出る)。
手掛かりにフォルダ名を加えて 3 件 → 7 件になった。 増えた 4 件は チャイコフスキー\チャイコフスキー 6 - ムラヴィンスキー 1982 で、フォルダ全体の composer が Dmitri Shostakovich になっている。ファイル名にも title にも作曲家名が出てこないため、フォルダ名を見るまで検出できなかった。誤検出は増えていない(カップリング盤はフォルダ内の composer が複数あるため除外される)。再測定は下記のどちらでもよい。
dotnet test --filter "FullyQualifiedName~RealLibraryInspectionTests"作品エントリ 84 件・個別例外 18 件を利用者辞書に入れたうえで R-504 を回した結果。
| 項目 | 件数 |
|---|---|
| 検出 | 939 |
| 修正可(既定でチェック) | 792 |
| 保留 | 147 |
対象外にした 18 フォルダ(3.5 補足3)の 139 ファイルは検出に含まれない。保留 147 件はほぼすべて date 未設定によるもので、R-105 の 173 件と母集団が重なる。date を埋めれば保留はそのまま修正可へ変わる。
シェエラザード は NFD(分解形)で保存されている。 濁点付きの仮名は「ザ」1 文字(NFC)と「サ + 濁点」2 文字(NFD)のどちらでも保存でき、見た目が同じでも文字列としては一致しない。個別例外のフォルダ比較を NFC にそろえるまで、このフォルダだけ対象外にならなかった(初測定では 944 / 152 だった)。他に NFD のフォルダがあるかは未確認。
この測定には利用者辞書が要る。 作品エントリは所蔵に依存するため同梱の既定辞書には入っておらず(SPEC.md 13章 D5)、既定辞書で回すと R-504 は 1,078 件すべて HOLD_WORK_UNKNOWN になる。RealLibraryInspectionTests は %APPDATA%\MusicTagAuditor\dictionary.json を読むようにしてある。
段階 3 で検査ルールを実装したら、同じライブラリに対して検査を回し本表と突き合わせる。乖離があれば、ルール実装かデータ理解のどちらかがずれている。
dotnet test --filter "FullyQualifiedName~RealLibraryScanTests"本表の値は辞書を使わずに算出したものであり、辞書導入後は R-202 / R-501〜503 が加わる。
アルバム単位の集計(2026-08-11 の追記)は別のツールで測る。読み取りのみでライブラリには書き込まない。
dotnet run --project tools/AlbumProbe/AlbumProbe.csproj -- "D:\Music\Classic"comment をアプリで扱えるようにするか、扱うならどの形式までかを決めるために測った。読み取りのみ。
| 形式 | ファイル数 | comment を持つファイル |
|---|---|---|
| M4A | 505 | 0 |
| FLAC | 573 | 0 |
| ID3(AIFF 11 / MP3 4) | 15 | 0(下記のとおり利用者の注記としては 0) |
comment はライブラリ全体で 1 件も使われていない。 版・稿の注記(TAGGING_POLICY.md 2.4)はこれから入れ始めるフィールドである。
AIFF 11 件(グリーグ フォルダ)は全件が COMM フレームを 3 個ずつ持ち、すべて description 付きだった。MP3 4 件は COMM を持たない。
| description | language | 値 |
|---|---|---|
iTunPGAP |
eng | 0 |
iTunes_CDDB_IDs |
eng | 11++ |
iTunNORM |
eng | 000001A5 00000174 00003186 00002A4A 0003EDE1 000A3552 ... |
description が空のフレーム(=利用者のコメント)は 1 件も無い。
この実測にもとづき、ID3 では comment を扱わないことにした(TAGGING_POLICY.md 4.4)。空 description だけを読み書きする特別扱いで事故は避けられるが、得られるのは 15 ファイルで注記を編集できることだけで、その 15 ファイルに注記は無い。一方 iTunNORM の消失は不可逆である(スナップショットの RawTags は記録用で復元に使わない)。
なお、ファイル数が測定日 2026-08-03 の 1,041 件(M4A 516・FLAC 510)から動いているのは、その後の所蔵の増減による。形式の比率と ID3 が 15 件である点は変わっていない。