# 48 kHzの入力でApronとWORLDを比べる条件

同じVCTK 0.92の120録音を、現在の作業ベースApron（24 kHz）、48 kHzで処理するApronの候補、既存方式WORLD（Harvest、48 kHz）へ渡す。元のLibriSpeech比較とは別の録音集合なので、過去の平均値と差し引かない。方式ごとの優劣は今回の同じ録音同士で比べる。

固定版はリポジトリ 3f7b509b8313b5803dce2e1ededc8db9920367f1、LLSM2 d18cdf02b31819670e3bc23ead933ad9467da06d、ciglet 895ba9b1c0eabee83d3544208bbc82420efa3206、WORLD c794856b537758a3d300757db2e5e31685a822c2。品質モデルは実行前にファイルのサイズとSHA256を固定した。

## 入力を変えず、出力の標本化周波数を分ける

VCTKの48 kHz・16 bit配布音声から、40話者各3録音を実行前に固定した。各録音は先頭最大6秒、マイク1を使う。配布時の48 kHzを保ち、16 bit整数を32768で割ったfloat64のNPYを入力原本とする。親が全120ファイルのhash、型、標本数を確認した。

Apron24はこの入力をSciPyのresample_poly(1,2)で24 kHzへ落として解析する。Apron48とWORLD48は元の48 kHzを使う。無編集・−3半音・＋3半音は同じ保存特徴から独立に復元し、前の編集状態を次へ渡さない。

Apron48は既存のLLSM2 Layer1を48 kHzへ適用した候補で、声道包絡1025点、雑音PSD128点、FFT2048点などは元の設定を維持する。標本化周波数を上げるとHz単位の分解能も変わるため、Apron24との差は「12 kHz超の成分を加えた効果」だけには分けられない。

## 確認処理の誤りを直し、失敗した方式だけを再計測した

最初の実行v3では、Apron48の解析後確認で全120録音が失敗した。親が作成した確認処理が、上流設定の番号1をNyquist周波数として読んでいたためである。実際の番号1はフレーム間隔、周波数は番号6だった。同じ誤りが復元時の確認にもあった。

この2か所を直したv4を別に保存し、Apron48だけを新しい実行先で解析からやり直した。旧実行では保存前に止まっており、復号だけの再開はできない。上流C、入力、解析・合成設定、乱数seed、モデル、品質値の計算は変えない。v4の追加CLI引数は対象方式をApron48へ絞るためのものである。

原音とApron24・WORLD48の品質値は成功済みのv3を使う。旧Apron48の失敗記録を削除したり成功へ書き換えたりせず、結果JSONには旧実行と修正実行を区別して収録する。この失敗は方式の音質が悪かった証拠ではない。

## 自動指標が見る帯域と区間を揃える

全長の自動MOS（UTMOSv2）は24 kHzへ投影し、原音と3方式の各編集を測る。話者の類似度を推定するECAPAは16 kHz投影の全長と、無編集の共通先頭区間を別々に測る。参照付き品質距離SCOREQと明瞭性の推定eSTOIは、無編集の共通先頭区間だけを使う。eSTOIは内部でさらに10 kHzへ変換する。

品質専用環境はNumPy 2.3.5、SciPy 1.17.0、torch/torchaudio 2.8.0+cpu、speechbrain 1.0.3、onnxruntime 1.22.0などをlockで固定した。nativeの解析・合成とは別環境で、同じ固定モデル資産を各担当が照合してから使う。元の環境に不足していたspeechbrainとonnxruntimeを揃えたものであり、旧比較の全依存と同一とは主張しない。

SCOREQはNISQA TRAIN SIM由来の参照付きモデル（fixed_nmr_telephone）を使う。公開元は自然音声の符号化・通信劣化などを対象としており、今回のボコーダー再合成に対する人の評定との対応は別途確認していない。[モデルの説明](https://zenodo.org/records/15739280)

UTMOS・ECAPA・eSTOIは大きい方、SCOREQは小さい方が指標上は良い。音高を変えたときのECAPAは元音声との類似度なので、意図した編集と劣化を完全には区別しない。自動MOSも人が今回聴いて評定した値ではない。

## 12 kHz超は物理量を調べ、知覚品質と分ける

無編集の共通先頭区間を48 kHzで比較する。周波数帯は0–4、4–8、8–12、12–16、16–24 kHz。原音の帯域パワーが max(10⁻¹², 原音全体のパワー×10⁻⁶) を超える場合にだけ、出力と原音の比をdBで示す。原音の成分がほとんどない帯域は欠測とし、0 dBへ置き換えない。

帯域差は正なら過大、負なら過小であり、単に大きい方が良い値ではない。帯域パワーは切り出した区間のDFTから求めるため、境界でのスペクトル漏れも含む。高域に値があることだけで、聴覚上有用な成分が保たれたとは判断しない。符号付き平均は過大と過小が相殺し得るため、録音ごとの値と有効件数も残す。5・20・80 msの時間窓によるスペクトル差も測るが、時間整列・音量正規化は行わず、タイミングや音量の差を含む。

Apron24を比較用に48 kHzへ補間しても、12 kHz超の原音内容が復元されるわけではない。また、自動MOSは24 kHz、他の指標は16 kHzへ投影するため、これらの品質値から12 kHz超の知覚的な自然さは判断できない。

## 揃った録音同士で差を出す

予定した3360品質キーを全て追跡する。失敗、採点不能、未実行、保持した記録がない状態を区別する。重複や整合しない個票を有効値として数えず、欠測はゼロ補完しない。

指標・編集・区間が同じ群で3方式が各120録音揃った場合だけ順位を示す。原音は参照で、候補の順位に入れない。対応差は同じ録音同士だけを使い、録音平均と話者内平均をさらに40話者で等重み平均した値を分ける。各話者の3録音が揃ったかも明記する。総合順位、統計的有意差、信頼区間、独立した正解F0の精度は今回の対象にしない。

## 全個票と、先に決めた3録音の波形を保持する

各担当は全品質個票、高帯域診断、nativeの記録、実行ログ、環境版、ファイル識別台帳を保存する。全入力は別途完全に保持済み。出力波形は事前に選んだp225_029、p226_061、p227_065の原入力と利用できる全方式・全編集を親が保持・照合する。

その他の全長波形と保存状態は担当の作業領域に残すが、永続的な外部保持までは保証しない。親の確認は全個票・記録・保持した例波形が対象で、全出力波形の独立再計算ではない。
