保存したpYIN系列をApronに渡した固定120録音の比較
固定120録音の結果。候補は現行Apronに代わる作業ベースとして採用しない。固定した英語120録音・40話者では、9群すべてで、候補よりApronの平均が指標の望ましい方向だった。これは今回の結果に基づく開発上の判断であり、計測前に定めた合否線ではない。
同じ録音の先頭5秒を聴き比べる
元の英語音声と、Apron・LLSM2 Layer0・今回の候補による出力です。候補だけがこのレポートで追加した音声です。原音は16 kHz、再合成音は24 kHzです。再生用にPCM16へ丸め、音量や長さの位置合わせはしていません。出典と変換の詳細。
librispeech_1089-134686-0008
原音
Apron・無編集
LLSM2 Layer0・無編集
保存pYIN系列を使った候補・無編集
Apron・−3半音
LLSM2 Layer0・−3半音
保存pYIN系列を使った候補・−3半音
Apron・+3半音
LLSM2 Layer0・+3半音
保存pYIN系列を使った候補・+3半音
librispeech_1188-133604-0003
原音
Apron・無編集
LLSM2 Layer0・無編集
保存pYIN系列を使った候補・無編集
Apron・−3半音
LLSM2 Layer0・−3半音
保存pYIN系列を使った候補・−3半音
Apron・+3半音
LLSM2 Layer0・+3半音
保存pYIN系列を使った候補・+3半音
固定120録音で比較した品質指標
| 操作 | 指標と範囲 | 候補 | Apron | Layer0 | 候補−Apron | 候補−Layer0 |
|---|---|---|---|---|---|---|
| 無編集 | UTMOSv2・24 kHz全長 | 2.9355 3位 | 3.0938 1位 | 3.0838 2位 | −0.158342 | −0.148280 |
| 無編集 | ECAPA・16 kHz固定先頭 | 0.95166 3位 | 0.95736 1位 | 0.95691 2位 | −0.005703 | −0.005248 |
| 無編集 | SCOREQ距離・16 kHz固定先頭 | 0.33686 3位 | 0.24348 2位 | 0.24101 1位 | +0.093381 | +0.095849 |
| 無編集 | eSTOI・16 kHz固定先頭 | 0.91921 3位 | 0.93054 2位 | 0.93245 1位 | −0.011325 | −0.013238 |
| 無編集 | ECAPA・16 kHz全長 | 0.95161 3位 | 0.95741 1位 | 0.95692 2位 | −0.005800 | −0.005317 |
| −3半音 | UTMOSv2・24 kHz全長 | 2.9093 2位 | 3.1200 1位 | 2.8221 3位 | −0.210775 | +0.087195 |
| −3半音 | ECAPA・16 kHz全長 | 0.83627 2位 | 0.83928 1位 | 0.48721 3位 | −0.003010 | +0.349058 |
| +3半音 | UTMOSv2・24 kHz全長 | 2.6652 2位 | 2.7907 1位 | 2.6383 3位 | −0.125461 | +0.026864 |
| +3半音 | ECAPA・16 kHz全長 | 0.85472 2位 | 0.86129 1位 | 0.42262 3位 | −0.006567 | +0.432103 |
UTMOSv2は予測音質、ECAPAは話者表現の類似度、SCOREQは知覚品質に関する距離、eSTOIは明瞭性の推定指標である。これらの値は、人が聴いて付けた主観音質や話者一致率そのものではない。UTMOSv2、ECAPA、eSTOIは大きいほど上位。SCOREQは距離なので小さいほど上位。表は読みやすい桁数で表示した。順位と対応差は丸める前の保存値で計算した。無編集ECAPAの固定先頭と全長は別の範囲である。
編集差は同じ全長の値だけで比べた
編集差は各方式の「編集−無編集」。右2列はその差を候補から旧方式の差として引いた値である。−3半音と+3半音、UTMOSv2とECAPAを混ぜていない。
| 操作 | 指標と範囲 | 候補の変化 | Apronの変化 | Layer0の変化 | 候補−Apronの変化差 | 候補−Layer0の変化差 |
|---|---|---|---|---|---|---|
| −3半音 | UTMOSv2・24 kHz全長 | −0.026222 | +0.026211 | −0.261697 | −0.052433 | +0.235475 |
| −3半音 | ECAPA・16 kHz全長 | −0.115340 | −0.118130 | −0.469715 | +0.002790 | +0.354375 |
| +3半音 | UTMOSv2・24 kHz全長 | −0.270287 | −0.303168 | −0.445431 | +0.032881 | +0.175144 |
| +3半音 | ECAPA・16 kHz全長 | −0.096889 | −0.096121 | −0.534309 | −0.000767 | +0.437421 |
保存済みの一本のF0系列を入口だけ替えた
候補は保存済みlibrosa.pyinのViterbi F0を使い、同じ入力音声をApronのLayer1まで再解析した。候補、Apron、Layer0を同じ録音・操作・指標・採点区間で対応させた。無編集ではUTMOSv2、ECAPAの固定先頭と全長、SCOREQ、eSTOIを測り、編集ではUTMOSv2とECAPA全長のみ測った。候補の360音声と1080品質値、旧対照2160値はすべて保存され、対応から外れた録音はない。
集計は計測前に保存した規則に従い、録音ごとに差を計算してから等重みで平均した。別担当のコードが同じ環境で保存値の9群と4編集群を再集計し、不一致0を確認した。これは独立した算術確認であり、別環境で音声生成や品質採点を再現した結果ではない。
保存F0を比べても、品質差の原因は特定できない
品質採点とは別に、保存済みF0を二通りで対応させた。元ApronのLayer1から候補Layer1へ、また保存pYINから候補Layer1へ、同じフレーム番号の値を比べた。全120録音の開始条件と時計が一致し、各対比123,307時点を評価できた。評価不能な値は0件だった。
| 元→先 | 双方0 | 0→正値 | 正値→0 | 双方正値 |
|---|---|---|---|---|
| 元Apron Layer1→候補Layer1 | 33,100 | 16,220 | 10,337 | 63,650 |
| 保存pYIN→候補Layer1 | 43,437 | 0 | 0 | 79,870 |
0は保存上の値で、生理的な無声の正解を意味しない。pYINと候補Layer1で0・正値の区切りが同じだったことも、両者のF0値や推定精度が同じという意味ではない。
| 元→先 | 単位 | 対象時点 | 全フレーム平均 | 録音等重み平均 | 全フレーム中央値 | 最小~最大 |
|---|---|---|---|---|---|---|
| 元Apron Layer1→候補Layer1 | Hz | 63,650 | +3.015568 | +3.636091 | +0.000977 | −329.726868~+957.104630 |
| 元Apron Layer1→候補Layer1 | セント | 63,650 | +29.517349 | +30.398174 | +0.011159 | −1792.811024~+4619.338882 |
| 保存pYIN→候補Layer1 | Hz | 79,870 | −0.967567 | −0.945427 | −0.525173 | −90.813815~+97.702176 |
| 保存pYIN→候補Layer1 | セント | 79,870 | −11.147381 | −11.145246 | −6.534419 | −182.283256~+164.843561 |
この診断は保存Layer1のF0を読み、音声や品質値を作り直していない。使用した入力とソース1,367件は、集計後も固定した容量・SHA-256と一致した。全時点の値、元と先の状態、差はローカルの台帳に残し、ここには録音別の要約を載せた。
候補のC呼出し前後にあるfloat32系列は全値保存されておらず、保存Layer1のF0と呼出し後ポインタの値が完全に同じかも未確認である。保存pYIN→候補Layer1の差をC内部だけの調整量とは呼べない。二対比からF0の正解率や、品質差を生んだ一つの内部処理は分からない。
固定した2録音の全長を、保存フレームのまま示す
図は両録音とも6秒全体を表示した。正値は5 ms刻みの点で、0は線でつながない。下の色帯は保存上の状態であり、音声の聴取結果や真の有声区間ではない。既存レポートの音声プレビューは先頭5秒なので、図と長さが違う。
公開した音声の範囲
候補の全長360音声はローカルに保持し、ここには載せていない。掲載した候補音声は、あらかじめ固定した2録音×3条件の先頭5秒だけである。元の原音・Apron・Layer0の短例は既存の固定120評価に掲載済みで、今回はそのファイルを変更していない。
判断の範囲と保存上の留保
固定120は開発中にも使った英語の録音で、未知の録音集合ではない。今回の値はF0の正解率や有声・無声の生理的正解、知覚品質の普遍的な優劣を示さない。pYIN全般の劣位とも言えない。F0の入口を替えたうえで後段全体を再解析しており、品質差を一つの内部処理に帰属することはできない。48 kHzや他言語での品質は測っていない。
native解析3回と品質採点15回は実終了・回収を確認し、品質1080値は有限で欠測0。警告の見出し行を計1,116行記録したが、独立した原因が1,116件あったことは意味しない。OOM増加は0だった。LinuxのRUSAGE_CHILDRENの最大高水位1,981,268 KiBは累積記録で、1回の処理だけの最大RSSとは言えない。
UTMOSv2の品質採点3回では、PyTorch由来の一時生成物が終了後に見つからず、元のseal(保存ファイルの容量・ハッシュ一覧)を完全には照合できなかった。それぞれ欠けた正確な1ファイル(2355 B、同じSHA)を記録した。別の終了後監査で残存する科学成果物、126・117・117値、モデル資産と全ログを照合した。終了時に消えたという説明は保存状況と実装からの推定で、削除操作そのものは観測していない。元sealを書き換えたり、欠けたファイルを作り直したりしていない。
この候補の実装はGit管理外のまま保持し、Apronを現在の作業ベースとする。保存F0の二対比は補助的な記述として残す。
9群と編集差の保存集計、120録音の対応値、保存F0の全体要約、録音別の保存F0要約、測定来歴、方法と再現資料を公開した。完全なLayer1状態やフレームごとの台帳は含めない。