投稿

SCOREQによるAI音声評価について

  SCOREQとは SCOREQ(スコア・キュー) は、人が聞いたときの音声品質を推定するAI手法です。正式な論文名は SCOREQ(Speech Quality Assessment with Contrastive Regression) 2024年の NeurIPS で発表されました。 公開実装では、録音1本から 推定MOS を出す方法と、基準音声との 距離 を出す方法が用意されています。 どこが新しいのか 従来のMOS推定モデルは、音声を入力して「正解のMOSにできるだけ近い数字を出す」よう学習することが多いです。SCOREQはそれに加え、 品質の異なる音声同士の関係 を学ぶことを重視します。 例えば、聴取評価でAとBの品質が近く、AとCは大きく違うなら、AIが内部で表す音声間の距離もその関係に沿うよう訓練します。この学習方法を論文では**対照回帰(contrastive regression)**と呼んでいます。狙いは、学習時とは異なる種類の音声劣化に対しても、品質の差を捉えやすくすることです。 二つの使い方 モード 入力 出力 FreeDVでの例 NR (参照音声なし) 評価したい録音1本 推定MOS RADEやSSBの受信録音を個別に採点 REF (参照音声あり) 評価したい録音+基準音声 音声表現間の距離 同じ発話の原音とRADE受信録音を比較 注意点は、REFモードの出力はMOSではなく「距離」だということです。 小さいほど基準に近い方向の指標ですが、NRモードの「3.8点」などと数値を直接比較できません。同じ発話のきれいな原音がある場合、開発者は自然音声のREFモードでそれを基準にする使い方を推奨しています。 また、公開モデルには natural (人が録音した声に由来する音声)と synthetic (音声合成など)の区別があります。FreeDVで人の発話を送受信した録音には、開発者の分類ではまず natural が対応します。RADEの受信音がFARGANで合成されるからといって、自動的に synthetic モデルを選ぶわけではありません。これは公開実装の用途説明に基づく判断です。

JTAlertv2のWS-Digital Mode Suite(旧WSJT-X improved)への対応

イメージ
 WS-Digital Mode Suite v3.2.0(旧WSJT-X improved)がリリースされました。 https://sourceforge.net/projects/wsjt-x-improved/files/ ロゴは変わっていますが、なぜかURLはwsjt-x-improvedのままです。 デフォルトでインストールされるディレクトリはC:¥WSです。 設定データはC:¥Users¥(User名)¥AppData¥Local¥WS にあります。 WSJT-X improvedの設定データはWSをインストールすると自動的にコピーされるようです。WSのwsjt_log.adiはこのディレクトリがデフォルトとなっています。 JTAlertv2(2.8.13)を前のWSJT-X版(赤色)を使っていて動かず、WSのファイル→設定→レポートの「WSJT-X互換モード」にチェックを入れてもダメでした。 なんのことはない、JTAlertv2(2.8.13以降)には緑色のWS用のJTAlert(起動引数は /wsdms)が用意されていました。 WSJT-X互換モードのチェックを外して一件落着でした。hi

NISQAによるAI音声評価方法について

 AIによる疑似MOS音声評価方法には、UTMOSの他に NISQA などがあります。 ここではNISQAv2を取り上げます。NISQAv2は、UTMOSと同じく人が聞いて感じる音声品質をAIで推定する手法です。評価したい音声だけを入力でき、送信前の原音は必要ありません。総合的な品質に加え、雑音、音色の変化、途切れ、音量に関する評価値も出力します。電話やインターネット通話など、通信を通した音声を主な対象として開発されました。 参考:  https://deepwiki.com/gabrielmittag/NISQA 参考論文  https://www.isca-archive.org/interspeech_2021/mittag21_interspeech.pdf FreeDVの受信音声を比較する際にも役立つ可能性があります。出力値は人間によるMOSの実測値ではなく、AIによる予測値です。また、発話内容が正しく伝わったかは、この値だけでは判断できません。 NISQAは Non-Intrusive Speech Quality Assessment の略です。ここでいう「Non-Intrusive」は、品質が劣化した後の音声だけで評価できることを意味します。受信側の録音があれば、原音との波形比較なしで推定できます。 NISQAv2は音声を スペクトログラム に変換し、音の特徴とその時間的な変化を捉えて、音声全体の品質を推定します。モデルの学習には、人間が音声を聞いて付けた品質評価が使われています。 通信音声用モデル nisqa.tar は、次の値を出力します。 総合的な音声品質(推定MOS値)はmos_predです。 いずれも高いほど、その項目の品質が良い方向を示します。たとえば noi_pred が高いことは「雑音が多い」という意味ではありません。 出力名 評価する内容 mos_pred 総合的な音声品質(推定MOS値) noi_pred 雑音に関する品質 col_pred 音色の変化に関する品質 dis_pred 途切れに関する品質 loud_pred 音量に関する品質

ARRLのQST誌にFT8のデコーダーの記事が、、

イメージ
 ARRLのQST誌10月号にFT8のデコーダーに対する興味深い記事が載っていました。 タイトルは 「ノイズおよび狭帯域干渉下における3種類のFT8デコーダーの比較」 です。 サブタイトルは「 狭帯域干渉波の周波数に対するFT8デコーダーの応答測定」Bob Fontana(AK3Y) 著作権法上の制約がありますので、少しだけ紹介します。 内容のごく一部の要約は以下です。 信号の収録方法と試験方法 デコーダーの設定と基準性能 JTDXは通常条件で最も多いデコード数を示し、最も高感度な設定ではWSJT-Xを約11%上回わる。MSHVはかなり少ないデコード数。 制御された信号劣化 ノイズ増加時および帯域内CWキャリア存在時の性能 JTDXは、ノイズを+20 dB増加させた条件でも、ある程度の感度上の優位性を維持した。 CW干渉結果の解釈 3種類のデコーダーは、強い狭帯域干渉に対して明確に異なる応答を示した。 感度と干渉耐性 通常条件およびノイズ条件では、JTDXが最も高い微弱信号感度を示す。一方、MSHVは狭帯域干渉に対して最も高い耐性を示す。WSJT-Xは両者の中間に位置し、全体として良好な耐性を示すが、周波数によって局所的な弱点。 運用者にとっての実用的な意味 JTDXは、微弱信号環境ではデコード数を最大化できる可能性。一方、強い狭帯域干渉が存在する場合には、MSHVの方が優れた安定性を示す可能性。WSJT-Xはバランスの取れた性能を示すが、特定の周波数帯で干渉に対する感度が高くなる可能性。 ------------------------------------------- ところで、CE3TSK局によるJTDX_CONTEST といってもコンテスト用ではなくかなり進歩したJTDXのフォークのようです。 上記のQSTの記事で(旧)JTDXよりどのくらい良くなっているのか楽しみです。 最新版 JTDX-Contest v3.0.0 RC7は以下からダウンロードできます。 https://ce3tsk.com/download/index.html?lang=ja

音声認識ソフトUTMOSv2をPCに入れて簡易評価

 ***最新更新 2026年9月25日*** FreeDVの評価で使用されたWhisperの次にUTMOSv2をPCに入れてみることにします。 UTMOS(UTokyo-SaruLab MOS prediction system)については以下のブログを参照ください。 https://jk1gpc.blogspot.com/2026/09/freedv_0435876116.html Windowsに入れるかLinuxに入れるかですが、先にWindowsを試してみます。 --------   Windows よりも Linuxの方が良さそうです GPUはなくともOK------- 以下Pythonがインストールされていることを前提に進めます。 参考:  https://jk1gpc.blogspot.com/2026/09/wisper-large-v3.html 1.専用フォルダーと仮想環境を作る。 Windowsターミナル MSマークを右クリック ターミナルを起動します。 以下の太字の部分をコピペ (コピーしてターミナルプロンプトにカーソルを置き右クリックします) cd C:\ mkdir UTMOSv2             *Windowsエクスプローラで作成しても可能 mkdir UTMOSv2\result   *同上 C:/UTMOSv2 python -m venv venv venv\Scripts\activate (venv) PS C:\UTMOSv2>  がでればOKです。 2. UTMOSv2をインストールする。 *pipでは手順が複雑なので、今回はgithubよりダウンロードします。 以下Pythonの仮想環境(venv)でも良いしなくても構いません。 cd C:\UTMOSv2 Invoke-WebRequest -Uri "https://github.com/sarulab-speech/UTMOSv2/archive/refs/heads/main.zip" -OutFile "UTMOSv2-main.zip" Expand-Archive -Path "UTMOSv2-main.zip" -Destinatio...

Whisperを簡易評価してみる

イメージ
 *UTMOSの評価結果は  https://jk1gpc.blogspot.com/2026/09/utmosv2pc.html 前のブログ「Whisper をWindows(Python)で使ってみる 」で書いたFreeDVの評価に使われたWhisperをまず簡単に評価してみたいと思います。 【簡易テスト】 英語音声音源  https://freedv.org/david-dec-2024-testing-rade-with-automatic-speech-recognition/  にある3つの音源をダウンロードします。最後に関連部分を英訳します。 このサイト(音源)もJS1MAV/JA5AEA 堤さんより教えてもらいました。 1(SSB):   3729-6852-0033_ssb_6dB.wav  2(RADE):   3729-6852-0033_rade_6dB.wav  3(オリジナル) :  3729-6852-0033_clean.wav 前のブログでインストール したWhisper(-large3)を使います。 Windowsマーク→右クリック→ターミナルでWindows PowerShellを立ち上げます。 以下のコマンドはコピーしてPowerShellのコマンドプロンプトに右クリックするだけでペースト(コピペ)出来ます。 cd C:\Whisper .\whisper-env\Scripts\Activate.ps1 (whisper-env) PS C:\Whisper>    となっているのを確認して下さい。 C:\Whisper\audio\の下に以下のファイルを置きます。 1(SSB):   3729-6852-0033_ssb_6dB.wav 2(RADE):   3729-6852-0033_rade_6dB.wav 3(オリジナル) :  3729-6852-0033_clean.wav 以下のコマンドを入れます。 whisper "C:\Whisper\audio\3729-6852-0033_ssb_6dB.wav" --model large-v3 --language en --tas...

Whisper をWindows(Python)で使ってみる

イメージ
*更新中: 最終更新 2026年9月15日  10:00* ----------------------------------- 評価結果は別のブログに入れることにします* 簡易評価結果(更新中)→ https://jk1gpc.blogspot.com/2026/09/wisper.html ----------------------------------- FreeDVの評価に使われたWhisper ASR(音声認識)をWindows PCにインストールしてみました。 https://github.com/openai/whisper https://huggingface.co/openai/whisper-large-v3 のModel detailsにありますが、多言語対応はlarge, large-v2, large-v3 の3種類です。 ここではlarge-v3を入れてみます。PCによってはlarge,large-v2の方が良いかも知れません。 以下をインストールすればオプションでlarge,large-v2,large-v3が選べます。 ここではまずオプションでlaergr-v3を選びます。 以下の手順であればgithubなどからのインストールは必要ありません。 Windows11 PC(Mini-PC: 13th Gen Core i9, メモリ32GB )に入れてみました。 メモリーは16GB以上が推奨のようです。 なおLinux(Ubuntu)にもインストール可能なようですが、NVIDIA GPUがないと遅くなるようです。 1.Python(パイソン)をインストールする。 まずPythonを  https://www.python.org/downloads/windows/  からインストールします。バージョンは少し古い3.11.7をインストールしました。 インストール画面で"Add python.exe to PATH"にチェックしてからインストールします。 つぎにWindowsターミナル(Power Shell)を起動します。 (Windowsマーク 右クリックしてターミナル管理者を起動します) *コマンド(太字)はコピペすると便利です。ターミナルでカーソルをおき右クリックするだけでペーストできます。 以下のコ...