保存した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録音で比較した品質指標

同じ録音を等重みにした平均。各行・各指標の3方式内で順位を付けた。すべて120件、欠測0。
操作指標と範囲候補ApronLayer0候補−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を混ぜていない。

120録音の対応した編集差の平均。無編集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・正値の組合せ。各行の分母は123,307時点。
元→先双方00→正値正値→0双方正値
元Apron Layer1→候補Layer133,10016,22010,33763,650
保存pYIN→候補Layer143,4370079,870

0は保存上の値で、生理的な無声の正解を意味しない。pYINと候補Layer1で0・正値の区切りが同じだったことも、両者のF0値や推定精度が同じという意味ではない。

双方正値の時点だけの「先−元」。フレーム平均と、録音別平均を120録音で等重みにした値を分けた。
元→先単位対象時点全フレーム平均録音等重み平均全フレーム中央値最小~最大
元Apron Layer1→候補Layer1Hz63,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→候補Layer1Hz79,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秒なので、図と長さが違う。

librispeech_1089-134686-0008の全長6秒。Apron、保存pYIN、候補Layer1の正値F0点と二対比の0・正値状態帯。
librispeech_1089-134686-0008。固定した公開例の保存値。全120録音の代表例として選んだものではない。
librispeech_1188-133604-0003の全長6秒。Apron、保存pYIN、候補Layer1の正値F0点と二対比の0・正値状態帯。
librispeech_1188-133604-0003。差の大小を見て選び直していない。図の元台帳SHAと描画条件は図の来歴に記録した。

公開した音声の範囲

候補の全長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状態やフレームごとの台帳は含めない。