音声AIは、エラーを出さずに会議の言葉を捨てる — 設定2つで7文中2文が消えた話

文字起こしAIで一番怖いのは「間違える」ことではなく「黙って消える」ことでした。会議録音ツールを自作しながら実測した、設定2つで起きる無言の欠落と、逆に無音から文字が生えてくる現象の話。専門用語は全部かみ砕いて説明します。

音声AIは、エラーを出さずに会議の言葉を捨てる

ドット絵のイエティくん

📌 先に3行でまとめ

  • 🕳️ 設定を2つ変えただけで、7つの文のうち2つが丸ごと消えました。 しかもエラーは一切出ません
  • 👻 逆に、誰も喋っていない静かな時間に「ご視聴ありがとうございました」という文字が生まれます(78分の会議で54件)
  • 🧭 どちらも画面上は自然に見えます。だから気づけません

以下、実際に測った数字で説明します。難しい言葉には全部かっこで説明をつけました 🙌


🎙️ 会議を録音して文字にするツールを、自分で作っています

ここ数ヶ月、Cypher Yeti という Mac 用のツールを作っています。会議を録音して、喋った内容を自動で文字にするものです。

普通この手のサービスは、録音した音をインターネットの向こうのサーバーに送って処理します。私が作っているのはその逆で、その Mac の中だけで全部やります。 音も文字も外に出ません。

文字にする部分には whisper.cpp を使っています。

🤖 Whisper(ウィスパー) とは、ChatGPT を作った OpenAI が公開している、音声を文字に変える AI のことです。無料で誰でも使えて、自分のパソコンの中だけで動かせます。 その「自分のパソコンで動かす版」が whisper.cpp です。

作りながら、何度も同じ壁にぶつかりました。それは「精度が悪い」という話ではありません。

⚠️ 文字起こしAIで一番怖いのは「間違える」ことではなく、「黙って消える」ことでした。

今日はその話を、実際に測った数字と一緒に書きます。


🕳️ 設定を2つ変えただけで、7つの文のうち2つが消えた

最初に踏んだ落とし穴がこれです。

私はこのツールの音声を録る部分を、anarlog という無料で公開されているプログラム(=誰でも中身を見て使える形で公開されているソフト。オープンソースと呼びます)から持ってきました。その時に、AI に渡す設定値もそのまま引き継ぎました。

⚙️ 設定値(パラメータ) とは、AI に「こういう条件で処理してね」と指示する数字やスイッチのことです。「速度優先」「精度優先」みたいなつまみが何十個もあると思ってください。

42.7秒・7つの文が入った日本語の音声で、つまみを変えながら試した結果です。

設定 結果
🔴 no_timestamps と single_segment を両方オン(引き継いだ設定) 2つの文が丸ごと消える
🟡 no_timestamps だけオフ 1つの文が消える
🟢 両方オフ 7つの文すべてが正しく出た ✅

7つ渡して、5つしか返ってこない。

渡した7つの文のうち、返ってきたのはいくつか 返ってきた文 消えた文 引き継いだ設定 5 / 7 片方だけオフ 6 / 7 両方オフ(今の設定) 7 / 7 42.7秒・7文の日本語音声で実測。エラーは一度も出ませんでした。 ※ 図の並びは数を表したもので、実際にどの文が消えるかは音声によって変わります。

図は横にスクロールできます →

さらに厄介なのは、返ってきた5つは、それぞれ完璧に正確だったことです。

日本語として自然につながっていて、誤字もない。画面を見ても、どこも壊れて見えません。足りないことに気づく手がかりが、1つもないんです。


🧭 なぜ消えるのか — AIは「時計」を見ながら進んでいる

理由を追いかけると、この AI の作りそのものにたどり着きました。

Whisper は、長い音声を30秒ずつに区切って順番に処理します。

[0〜30秒] → 処理 → 次へ
           [30〜60秒] → 処理 → 次へ
                      [60〜90秒] → 処理 → …

ここが肝心なところです。「次にどこから読み始めるか」を、AI自身が出力した時刻から決めています。

つまり AI は、文字を出しながら「この文は12秒から15秒でした」という時刻の情報も一緒に吐いていて、その時刻を見て次に進む位置を決めているわけです。

時刻を出さないと、次に読み始める位置がずれる 時刻を出す (正しい) 0〜30秒 30〜60秒 60〜90秒 … 時刻を 出さない 読んだ 読んだ 読んだ 飛ばした 飛ばした 飛ばした部分に入っていた言葉は、どこにも出てきません。警告も出ません。

図は横にスクロールできます →

その前提で、さっきの2つのつまみを見てみます。

🕐 つまみ その1 — 時刻を出さなくする設定

no_timestamps は、「時刻を出力しなくていいよ」という設定です。時刻が要らない用途なら、出さない方が速くなります。合理的に見えます。

ところが上に書いた通り、次に進む位置を時刻から決めているので、時刻を出させないと進む位置がずれます。 結果、区切りの途中の音声を読み飛ばします。

📦 つまみ その2 — まとめて1つにする設定

single_segment は、「30秒ぶんの結果を1つにまとめてね」という設定です。

こちらは、30秒の区切りをまたいで喋った言葉が落ちます。 29秒から32秒まで喋った文は、前半と後半に分断されたあと、まとめる過程で消えます。

どちらも「軽くするための設定」の顔をしています。実際に速くなります。

代償が会議の中身だとは、設定の名前のどこにも書いていません。 🫠

🤔 「短い音声なら大丈夫」も間違いでした

私は途中まで、こう考えていました。

このツールは音声を30秒ずつ区切って渡している。1回の入力が最初から30秒以内なら、まとめる設定でも問題ないはずだ

これも違いました。30秒ぶんを1つにまとめてしまうと、「誰がいつ喋ったか」が分からなくなります。

会議の記録には「14分20秒に相手がこう言った」という時刻が要ります。 まとめた時点でそれが取れません。

結論はシンプルでした。場合分けは不要。常に両方オフ。 今は自分のメモに「二度とオンに戻さない」と警告として書いてあります。半年後の自分が、また速くしようとして同じ穴に落ちるからです 😇


😱 本当に怖いのは「エラーが出ない」こと

この件で一番の学びは、失敗の種類でした。

  • 🚫 エラーメッセージは出ません
  • 🚫 記録(ログ)にも警告は残りません
  • 🚫 プログラムは「正常に終わりました」と報告します
  • 🚫 動作チェック(テスト)も合格します。返ってきた5つの文は、本当に正しいので

壊れているのに、壊れた形跡がどこにもない。

これが AI を仕事に組み込む時の、一番厄介なところだと思っています。

昔ながらのソフトウェアの失敗は、たいてい派手に転びます。画面が固まる、赤い文字が出る、動かなくなる。だから気づけます。

ところが AI は、「7割だけ処理して、それをもっともらしく返す」ということが平気でできます。 出てきたものが自然である限り、欠けている部分は誰にも見えません。

私がこれに気づけたのは、たまたま答えを知っている音声(=何と喋っているか元の原稿がある音声)で試していたからです。本番の会議で使い始めてから気づいていたら、どの会議の何が消えたのかは、永久に分からないままでした。


👻 逆に、静かなところから文字が生えてくる

「消える」の反対もあります。誰も喋っていない時間に、言ってもいない言葉が作られます。

🌀 これを ハルシネーション(=幻覚) と呼びます。AI が、事実でないことを自信満々に作り出してしまう現象です。文章生成AIが嘘の情報を書くのと、同じ仕組みで起きます。

実際の会議78分ぶんを、全部数えました。「音声を細かく調べて、人の声が一切入っていない時間帯」に出力された文字だけを抜き出した結果です。

音源 声が無い時間に出た行 中身
🔊 相手の声(スピーカー側) 48件 「はい」22 /「ご視聴ありがとうございました」15 /「うん」7 / 他4
🎤 自分の声(マイク側) 6件 「ご視聴ありがとうございました」2 / 他4

この54件を全部、自分の目で確認しました。本物の発言は1件も混ざっていませんでした。

📺 なぜ「ご視聴ありがとうございました」なのか

Whisper を触ったことがある人は、この文字列を必ず見たことがあるはずです。

理由は学習元にあります。この AI は YouTube の動画を大量に読んで賢くなっています。 だから「そろそろ終わりそうな静けさ」を感じ取ると、動画の締めの挨拶を書いてしまうわけです 📺

面白かったのは、これが録音の最後だけの現象ではなかったことです。私も最初はそう思っていました。

数えてみると、54件のうち録音の最後に出たものは0件。全部が会議の途中の沈黙でした。

11秒間ずっと「はい」と言い続けている行もありました。誰も喋っていない11秒に、です 😳


📉 「静かなところを消せばいい」は、失敗します

では、この幻覚をどう消すか。

最初に思いつくのは音量です。静かな時間に出た文字は捨てる。 シンプルで良さそうに見えます。

測ってみたら、逆になっていました。

その時間帯の音の大きさ
🗑️ 捨てたい側(人の声が無い時間)の最大値 0.00384
💎 残したい側(人の声がある時間)の最小値 0.00089

捨てたい側の方が、大きい。

音の大きさで線を引くと、どこで引いても間違える 本物の発話 幻覚(誰も喋っていない) この範囲では 本物と幻覚が混ざっている 本物のいちばん小さい音 0.00089 幻覚のいちばん大きい音 0.00384 ← ここより左で切ると 幻覚が残る ここより右で切ると 本物が消える → 実際の会議78分から測定。数値は音の大きさ(RMS=その区間の音量を1つの数字にしたもの)。

図は横にスクロールできます →

つまり音量のどこに線を引いても、本物の発言を巻き込んで消すか、幻覚を通してしまうかの、どちらかにしかなりません。

理由は考えてみれば当然でした。幻覚が出るのは「完全な無音」ではなく、「エアコンの音」「紙をめくる音」「椅子がきしむ音」だけがある時間だからです 🌬️ そういう時間は、遠くで小さく喋っている本物の声より、音としては大きいんです。

🪤 データが少ないと、嘘の分かれ目が見えます

さらに、これは他でも効く教訓でした。

62秒のテスト音声1本で測った時は、本物の声の最小値が 0.0155 で、桁が3つ離れて見えました。 「これは綺麗に分けられる」と思いました。

78分で測り直したら、逆転しました。

📊 少ないデータで測ると、分かれているように見えます。

AI の調整をする時、これは本当に危ないと思います。手元の数本で「効いた」と判断したものが、実際のデータで全部ひっくり返ります。


🧮 結局、何で見分けたか

候補を1つずつ潰していきました。

見分ける材料 結果
🤖 AI 自身が出す「ここは無音である確率」 全部 0.0000 だった。 この AI では、そもそも値が入ってこない ❌
🔊 音の大きさで線を引く 使えない。上に書いた通り逆転している ❌
⏱️ その時間に、人の声が入った瞬間が1回でもあるか 使えた。ゼロなら幻覚(78分で間違いゼロ) ✅

一番良さそうに見えたのは1つ目でした。AI 自身が「ここは無音っぽいです」と教えてくれるなら、それを信じればいい。

実際に測ったら、全部ゼロでした。 説明書に載っている値でも、使っている AI の種類によっては、中身が入ってきません。

最終的に採ったのは「音がどれくらい大きいか」ではなく「人の声が1瞬でもあるか」でした。

音量は、その時間全体を平均してしまいます。だから20秒の沈黙の中で「うん」と1回だけ言った時間と、完全な無音の20秒が、ほぼ同じ数字になります。

測るべきは大きさではなく、有る/無しだったわけです。 📏

🙅 「怪しい文字列を消す」はやりませんでした

「ご視聴ありがとうございました」という文字列そのものを、リストに載せて消す方法もあります。実際そうしているツールもあります。

これは採用しませんでした。理由は1つです。

🚨 本当に「ありがとうございました」と言った会議で、その行が消える方が、幻覚が残るより悪いから。

会議の記録は、「残っているものは信用できる」という状態を守らないと、使い物になりません。

余計なものが混ざっているのは、読む人が目で飛ばせます。でも消えたものは、二度と取り戻せません。 🕳️


💡 持ち帰ってほしい5つのこと

音声AIに限らず、AI を仕事に使う人全員に効く話だと思っています。

  • 🔍 「間違い」より先に「欠落」を疑う。 間違いは目立ちますが、欠落は自然な顔をして紛れ込みます
  • 📏 答えを知っている材料で必ず試す。 元の原稿がある音声、中身を暗記している書類。それが無いと、「7割しか処理していない」に永久に気づけません
  • 📊 数本で出た傾向を信じない。 桁が3つ離れて見えた指標が、データを増やしたら逆転しました
  • ⚙️ 「速くなる設定」は、何を削って速くしているのかを確かめる。 設定の名前は、代償を教えてくれません
  • 🗑️ 消す判断を入れる時は、間違って消した時の損害を先に見積もる。 残す害と、消す害は釣り合いません

要約でも、書類の読み取りでも、AI に何かを渡して受け取る仕組みを業務に入れる時は、「返ってこなかったものが何か」を数える仕組みを一緒に作るべきだと、今回強く思いました 🧾


🏔️ 作っているツールについて

Cypher Yeti のイエティくん

この記事の数字は全部、Cypher Yeti という自作の会議録音ツールを作る過程で測ったものです。

  • 🔒 音も文字も、その Mac から出ません(インターネットに送りません)
  • 🗣️ 自分の声と相手の声を、別々に録って別々に文字にします
  • 🇯🇵 日本語の会議に合わせて調整しています(この記事の判断基準は全部、日本語の実際の会議から決めました)
  • 📝 議事録の要約も、その Mac の中の AI でできます

クラウドの議事録サービスに出せない会議 🤐(=秘密保持契約のあるプロジェクト、人事、医療、法務など)を抱えている方には、たぶん刺さります。

👉 買う前に、動く条件と画面を確認する(画面写真11枚)| Cypher Yeti の詳細を見る(¥12,800 買い切り・アカウント不要)

値段や「無制限」の但し書きを他社と並べた記事も書きました 👉 文字起こしツール4種の料金比較


📮 AI導入のご相談

この記事に書いたような「AI を仕事に入れると、どこで壊れるか」の見極めは、実際に手を動かして測らないと分かりません 🔬

  • 🤖 生成AIの業務活用(何が任せられて、何が危ないか)
  • 🎛️ 手元で動かすAIの構築(データを外に出せない業務向け)
  • 🧰 Claude Code / ChatGPT を使った開発の効率化

中小企業・個人事業の方向けに、エンジニアが直接サポートしています。

👉 無料で相談する | サービスを見る

この記事の内容を、業務に組み込んでみませんか?

議事録の自動化、業務スクリプト、システム開発まで。30分で「何から始めるべきか」を一緒に整理します。