CLAUDE LABEN
SONNET — Claude Sonnet 5がClaude Codeの既定モデルになりました。ネイティブ100万トークンのコンテキストに対応し、8月31日まで導入価格が適用されますCHROME — Claude in Chromeが一般提供となり、ブラウザ上の作業をそのままClaudeに委ねられるようになりましたCOWORK — Cowork(コワーク)がモバイルとWebに広がり、セッションとファイルが端末をまたいで引き継がれます。まずMaxユーザー向けにbeta提供ですDATAVIZ — チャートやダッシュボードの設計を助ける/datavizスキルがClaude Codeに追加されましたAGENTS — バックグラウンド通知・下書きPRの引き継ぎ・フェイルオーバー改善など、エージェントの運用まわりが強化されていますENTERPRISE — Enterprise管理者向けに詳細な管理分析・モデル単位のエンタイトルメント・支出アラートが加わりましたSONNET — Claude Sonnet 5がClaude Codeの既定モデルになりました。ネイティブ100万トークンのコンテキストに対応し、8月31日まで導入価格が適用されますCHROME — Claude in Chromeが一般提供となり、ブラウザ上の作業をそのままClaudeに委ねられるようになりましたCOWORK — Cowork(コワーク)がモバイルとWebに広がり、セッションとファイルが端末をまたいで引き継がれます。まずMaxユーザー向けにbeta提供ですDATAVIZ — チャートやダッシュボードの設計を助ける/datavizスキルがClaude Codeに追加されましたAGENTS — バックグラウンド通知・下書きPRの引き継ぎ・フェイルオーバー改善など、エージェントの運用まわりが強化されていますENTERPRISE — Enterprise管理者向けに詳細な管理分析・モデル単位のエンタイトルメント・支出アラートが加わりました
記事一覧/API & SDK
API & SDK/2026-07-11上級

Whisper が無音区間に『ご視聴ありがとうございました』を書き足していたとき — 日本語文字起こしの幻聴を計測して潰す運用メモ

Whisper の日本語文字起こしは無音や雑音の区間で存在しない定型句を挿入します。no_speech_prob と avg_logprob で幻聴を計測し、VAD で無音を落とし、Claude に検証させて残った混入を潰すまでの実装と運用手順をまとめました。

Claude API111Whisper文字起こし日本語音声AI2品質計測

プレミアム記事

会議の議事録を自動生成するパイプラインを回していたある日、出力に見覚えのない一文が混ざっていました。「ご視聴ありがとうございました」。社内の定例会議です。誰もそんなことは言っていません。

該当箇所の音声を聞き直すと、そこは登壇者が資料を切り替えている数秒の無音区間でした。Whisper は、何も話されていない時間に、存在しない言葉を書き足していたのです。

これは Whisper の日本語文字起こしでよく知られた挙動です。無音や雑音、BGM だけの区間で、学習データに頻出する定型句——「ご視聴ありがとうございました」「チャンネル登録お願いします」——を幻のように出力する。英語圏では "hallucination" と呼ばれる現象です。

ここで整理するのは、Rork や Cowork で作った音声処理パイプラインに Whisper を組み込んだとき、この幻聴を計測して、閾値と前処理と Claude の検証で潰していく手順です。感覚で「消えた気がする」で終わらせず、混入率を数字で追いながら立て直した記録として書きます。

なぜ Whisper は無音で言葉を書き足すのか

Whisper は音声を30秒のチャンクに区切り、それぞれを「何かしらのテキスト」に変換しようとします。問題は、入力が無音でも「出力なし」を選びにくいモデルの性質です。

学習データには YouTube 由来の音声が大量に含まれ、動画の末尾や無音部分に定型句が繰り返し登場します。その結果、モデルは「音声情報が乏しい区間 = 定型句」という偏った対応関係を覚えてしまっています。

区間の状態Whisper の典型的な挙動混入しやすい定型句
完全な無音直前の文の繰り返し、または定型句ご視聴ありがとうございました
BGM・雑音のみ意味の通らない断片や定型句チャンネル登録お願いします
小さな相槌のみ過剰に長い文へ膨張(直前発話の反復)

つまりこれは「聞き取り間違い」ではなく、「情報が足りないときの穴埋め」です。だから対策も、音を正確に聞かせることではなく、穴埋めが起きた区間を検出して落とす方向で考えるのが筋になります。

まず幻聴を計測する — セグメントの確信度を出す

対処の前に計測です。Whisper の verbose_json レスポンスには、セグメントごとに確信度の手がかりが含まれています。これをログに出さないと、どこで幻聴が起きているか分かりません。

見るべき指標は2つです。

指標意味幻聴のサイン
no_speech_probその区間が「無音」である確率高い(0.6超)のにテキストが出ている
avg_logprob出力トークンの平均対数確率(確信度)低い(-1.0未満)= あてずっぽうに近い

no_speech_prob が高いのにテキストがある、しかも avg_logprob が低い——この2つが重なるセグメントが、幻聴のもっとも典型的な形です。

from openai import OpenAI
 
client = OpenAI(api_key="YOUR_API_KEY")
 
def transcribe_with_confidence(audio_path):
    with open(audio_path, "rb") as f:
        result = client.audio.transcriptions.create(
            model="whisper-1",
            file=f,
            language="ja",
            response_format="verbose_json",
            # セグメント単位の確信度を取得する
            timestamp_granularities=["segment"],
        )
 
    flagged = []
    for seg in result.segments:
        # 幻聴の疑いが濃いセグメントを記録する
        suspicious = seg.no_speech_prob > 0.6 and seg.avg_logprob < -1.0
        if suspicious:
            flagged.append({
                "start": round(seg.start, 1),
                "text": seg.text.strip(),
                "no_speech_prob": round(seg.no_speech_prob, 3),
                "avg_logprob": round(seg.avg_logprob, 3),
            })
 
    return result, flagged

まずはこの flagged を数えるところから始めます。私の議事録パイプラインでは、1時間の会議音声あたり平均で約12箇所が引っかかりました。そのうち大半が例の定型句か、直前の文の繰り返しでした。数を先に知ると、後の対策が効いているかどうかを比較できます。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
Whisper が無音・雑音で定型句を挿入する仕組みと、no_speech_prob・avg_logprob でセグメント単位に幻聴を計測する方法
VAD による前処理と閾値フィルタ、そして Claude に文字起こしを検証させる二段構えの実装コード
1時間音声あたり約12箇所の混入を2箇所まで下げた実測と、過剰除去を避けるための週次チェック手順
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API & SDK2026-03-28
Claude API 音声エージェント本番アーキテクチャ構築ガイド
Whisper/DeepgramとClaude APIを束ねた音声エージェントを、Cloudflare WorkersとGoogle Cloud Runの両方で運用してきた個人開発者の実体験から、レイテンシ予算・コスト逆算・障害切り替え・本番監視の判断材料を整理しました。
API & SDK2026-07-10
画像分類の信頼度を鵜呑みにしない — クラス別しきい値の較正と棄却ルーティング
全体精度は高いのにカテゴリごとに崩れる。Claude Vision の自己申告 confidence をクラス別に較正し、棄却を人手キューへ回す設計と実測を記録します。
API & SDK2026-07-10
夜間バッチが勝手に上位モデルで走っていた — タスクごとにモデル上限を宣言して機械で守る
モデル名をコードに散らすと、いつのまにか安いはずのバッチが上位モデルで走ります。タスクごとの上限を宣言するマニフェストと、既定拒否の解決レイヤ、そして逸脱を検出する差分監査の設計をコード付きでまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →