Whisperで文字起こしする方法:使い方と、その先の選び方(2026年版)

2026-06-03
KKevin Wong

WhisperはOpenAIが公開している無料の音声認識(speech-to-text)モデルで、pip install -U openai-whisper で導入し、whisper 音声ファイル --language Japanese のように実行すれば、音声をテキストに起こせます。クリーンな録音であれば書き起こしの水準はかなり高く、99以上の言語に対応しています。一方で、なまり・雑音・複数話者が重なる音声では精度が揺れますし、「誰が話したか」を分ける話者分離(diarization)も、読みやすく整えた句読点も、標準では付いてきません。つまりWhisperは「強力な書き起こしエンジン」であって、「そのまま読める仕上がり」までは面倒を見てくれません。

この記事では、まずWhisperを実際にどう動かすかを手順で示します(公式リポジトリで確認した内容です)。そのうえで、Whisperを自分で動かす道に残る正直な手間を整理し、最後に「セットアップ抜きで結果だけ欲しい」人に向けた選択肢として、私が運営するSubanana文字起こしモードを紹介します。広告ではなく、まずは本物の使い方の記事です。

Whisperで文字起こしする方法

そもそもWhisperとは何で、どのくらい正確なの?

Whisperは、OpenAIが2022年にオープンソースとして公開した音声認識モデルです。商用APIと違って無料でダウンロードでき、自分のパソコンやサーバー上で動かせます。だからこそ「無料で文字起こししたい」という検索で名前がよく挙がります。

精度について、正直なところを書いておきます。静かな環境で、はっきり話している音声なら、Whisperの書き起こしはかなり高い水準です。ただしこれは条件付きで、次のような場合は崩れやすくなります。

  • なまりや方言が強い発話
  • 雑音の多い環境(屋外、カフェ、機械音など)
  • 複数の話者の声が重なる場面
  • 専門用語・固有名詞・社名などの特殊な語

数字の「○○%」という形では語りません(条件しだいで大きく変わる指標なので、かえって誤解を招きます)。実感に近いのは「クリーンな音声では強く、難しい音声ほど人の確認が要る」という捉え方です。

Whisperで文字起こしする手順は?(4つのルート)

Whisperを動かす道はいくつかあります。技術にあまり詳しくない人でも入りやすい順に、四つ紹介します。いずれも、ある程度の環境構築が前提になる点は先にお伝えしておきます。

ルート1:pipで導入してコマンドで実行する

最も基本的なのが、Pythonのパッケージとして入れて、コマンドラインから走らせる方法です。手順はこうです。

  1. ffmpegを入れる。 Whisperは音声の読み込みに ffmpeg を使います。Macなら brew install ffmpeg、Windowsなら choco install ffmpeg などで先に導入しておきます。
  2. Whisper本体を入れる。 ターミナルで pip install -U openai-whisper を実行します。Pythonと、内部で使うPyTorchが必要です。
  3. 音声ファイルを起こす。 whisper 録音.mp3 --model medium --language Japanese のように実行すると、文字起こしが始まり、テキストや字幕ファイルが書き出されます。
  4. モデルを選ぶ。 tiny から large、さらに large-v3 を最適化した turbo まで、大きいモデルほど精度が上がる代わりに、必要なメモリと処理時間が増えます。

最大のモデル(large)はおよそ10GBのVRAMを前提にしており、性能表もGPU(A100)での計測です。手元のパソコンだけで長い音声を高精度に回すのは、それなりに重い処理だと考えておくとよいでしょう。

ルート2:Pythonコードから呼び出す

自分のプログラムに組み込みたいなら、数行のコードで呼び出せます。

import whisper

model = whisper.load_model("turbo")
result = model.transcribe("録音.mp3")
print(result["text"])

transcribe() は音声を30秒ずつの窓で順に処理して、テキストを返します。なお turbo は翻訳用には学習されていないため、別言語へ訳したい場合は mediumlarge を使う、と公式は説明しています。

ルート3:OpenAIの音声認識APIを使う

「自分の環境にインストールしたくない」のであれば、OpenAIの音声認識APIを呼ぶ手もあります。元のWhisperモデルに加えて、より新しい文字起こしモデルや、話者を分けてくれる(diarization対応の)モデルも選べるようになっています。ただしこれはAPIキーが要る有料サービスで、1ファイルあたりのアップロードは25MBまでといった制約があります。コードを書く前提である点はルート2と変わりません。

ルート4:Whisperを内蔵したGUIアプリを使う

コマンドが苦手な人向けに、Whisperを裏側に使った画面付きのアプリ(GUI)も第三者から出ています。導入の敷居は下がりますが、品質や対応範囲はアプリしだいで、話者分離や整文を別途備えているかどうかもまちまちです。Whisper自体には標準のGUIがない、という点は押さえておきましょう。

Whisperを自分で動かすと、何が足りないの?

Whisperは書き起こしエンジンとしては優秀ですが、「読める成果物」までの最後のひと工程は自分で埋めることになります。具体的には次の三つです。

  • 話者分離がない。 Whisperが返すのは、誰の発言かを区別しない一続きのテキストです。「話者1」「話者2」のように分けたい場合は、pyannote.audio のような別のツールを組み合わせる必要があります(OpenAIのAPIに新しく加わった diarize 対応モデルは別物で、こちらは有料です)。
  • 読みやすさの整えがない。 句読点や段落、フィラー語(「えーと」「あの」)の除去など、人が通読するための整形は標準では行われません。素のテキストから自分で整えることになります。
  • 環境構築と運用の手間。 ffmpeg・Python・(大きなモデルなら)GPUの用意、長い音声での処理時間、出てきたテキストの校正 — このあたりがまとめて自分の作業として残ります。

下の表に、Whisperを自分で動かす場合と、マネージド型のAI文字起こしを使う場合の違いをまとめます。

観点Whisper(自前で運用)マネージド型AI文字起こし
環境構築必要(ffmpeg・Python・GPU等)不要(ブラウザだけ)
話者分離標準ではなし(別ツール併用)自動で分けてくれる
整文・読みやすさ自分で整える句読点・段落を自動付与
多言語・アジア圏の音声強いが条件で揺れる言語ごとに最適化して処理
速さ・運用処理時間とメンテが要る読み込んで待つだけ
費用モデルは無料(計算資源は自前)プランの範囲内

どちらが良い・悪いではありません。コードと環境を自分で扱える人、あるいは学習・実験が目的の人には、無料で動かせるWhisperはとても良い選択肢です。一方で、結果のテキストをすぐ使いたい人には、最後のひと工程まで面倒を見てくれるマネージド型が向いています。

Whisperは無音や音楽を「幻覚」で埋めることがある — 見過ごせない精度リスク

足りないものの中に、書き起こしの「まわり」の手間とは別の、書き起こしそのものに関わる問題がもう一つあります。Whisperは、実際には話されていない言葉を書き出してしまうことがあるのです。これは「幻覚(hallucination/ハルシネーション)」と呼ばれ、録音の中でも発話ではない部分で最も起きやすいことが分かっています。

非発話音声がWhisperの幻覚を引き起こす仕組みを調べたarXivの学術研究は、こうした幻覚を意図的に引き起こす実験を行い、モデルが非発話音声に出会ったとき「頻繁に現れる一群の幻覚が存在する」と報告しています。言い換えると、無音や環境音といった話していない区間こそが、引き金になりやすいということです。

しかも、でっち上げられる内容は無害な埋め草とは限りません。同じ研究を取り上げたTechCrunchの記事によれば、Whisperは「差別的な発言から、実在しない医療処置まで」あらゆるものを書き起こしに紛れ込ませたとされています。これは音質の悪い音声だけの問題でもありません。同記事は、公開会議の録音を調べたある研究者が、きちんと録れている音声でも10件中およそ8件に捏造されたテキストを見つけたと報じています。(こうした数字は、ある一つのデータセットでの一つの結果であって、固定の発生率ではない、という前提で受け止めてください。とはいえ「無音・雑音で起きやすい」という傾向は、複数の報告で一致しています。)

近い親戚として**繰り返し(リピート)**もあります。モデルが同じ語句のループから抜け出せなくなる現象です。これはよく知られた失敗で、Whisper自身のデコーダーには対策のつまみが用意されています — 圧縮率が異常に高い(=同じ文字列の繰り返しを示すサイン)区間は、ランダム性を上げて生成し直してループを断ち切り、さらに別の「無音判定」のしきい値で、ある区間が単なる無音かどうかを見て読み飛ばす、という仕組みです。こうしたガードがそもそも存在するのは、放っておくと素のモデルが無音をナレーションしてしまうことがあるからです。

なぜこれが大事かというと、現実の音声は引き金になる条件であふれているからです — 誰かが答える前の間(ま)、イントロの下に流れる音楽、話者と話者の間の空気音、静かな部屋に置きっぱなしのスマホ。スタジオ収録のクリーンなファイルなら一度も見ないかもしれませんが、実際の会議・講義・インタビューでは出くわすことがあり、しかもでっち上げられた一文は、本物の文とまったく同じ自信ありげな顔で並びます。Whisperを自分で動かすなら、それを見抜くのは自分の仕事です — 前述のしきい値を調整するか、音声と突き合わせて校正するしかありません。

ここはマネージド型の文字起こしサービスが地味に効いてくる場面でもあります。単一のモデルが無音に対して吐き出したものをそのまま渡すのではなく、出力に品質チェックをかけ、ある区間が幻覚らしいと見たら別のモデルに回してきれいな結果を採用する — そうすれば、読むテキストが「素の、検証されていない一発出し」ではなくなります。(Subananaが最初から一つのエンジンに固定していないのも、まさにこれが理由です。当初は単一のオープンソースモデルで始め、どの一つのモデルも、あらゆる種類の音声で行儀よく振る舞うとは信じきれないからこそ、複数モデルへのルーティングに移りました。)

セットアップ抜きで文字起こしするには?(Subananaの手順)

私はSubananaを運営しているので、これを例にマネージド型の流れを説明します。Subananaは文字起こしモードで、ブラウザだけで音声・動画を読める「逐字稿」に変えます。ここで効いてくるのは、多言語での正確さ話者分離(diarization)フィラー語の自動除去、そして句読点と段落分けの自動付与です。手順は四つです。

  1. 音声・動画を読み込む。 ファイル(.mp3 / .mp4 / .mov / .wav など)をアップロードするか、公開されているYouTube / Instagram / Facebookのリンクを貼り付けて直接読み込みます。ローカルにダウンロードする必要はありません。非公開・アクセス制限付きの場合は、ファイルアップロードを使ってください。
  2. 文字起こしモードを選び、ソース言語を設定する。 字幕モードではなく文字起こしモードを選びます。これが句読点を付け、意味のまとまりで段落に分けるモードです。音声の言語を選び(Subananaは80以上の言語に対応しています)、話者数を自動検出にするか人数を手入力するかを選び、自動の句読点・段落分けをオンにします。
  3. 校正して話者にラベルを付ける。 文字起こしが終わるとエディターに移ります。システムが異なる声を「話者1」「話者2」のように分け、フィラー語を除去して文章を整えます。ここから次のことができます。
    • 話者の名前を変える: 「話者1」を「司会」、「話者2」を「ゲスト」のように変えると、テキスト全体が連動して更新されます。
    • 聞き間違いを直す: どの語もクリックして直接編集できます。間違えやすい人名・社名・専門用語は、先に**用語集(Glossary)**に登録しておくと、その表記が優先されます。
    • テキストと対話する: エディター内でAIに直接質問できます。「後半の要点を3つ挙げて」「Xについて話しているのはどこ?」のように、長い音声では大きな時間の節約になります。
  4. 書き出す。 必要な形式を選びます。読み物としてはDOCX(Wordですぐ編集)やTXT(Notion・Obsidian等に貼り付け)が定番。引用・整理には、タイムコード・話者・本文を表で並べるXLSXが便利です。SRT・VTT・Markdownにも対応しています。

各モードの設計を詳しく知りたい場合は、AI文字起こしツールAI会議文字起こしをご覧ください。

なまりや複数話者、外国語が混じる音声はどうする?

Whisperを含む汎用の音声ツールが最も弱いのが、まさにここ — なまりのある発話、複数話者、そしていつもの言語から外れた音声です。ツールを選ぶときに確認しておくとよい点が二つあります。

  • 言語ごとの正確さ: Subananaは利用可能な音声認識モデルを継続的に評価し、単一の提供元に固定するのではなく、ソース言語ごとに最も成績のよいモデルを選びます。さらに、ある区間の文字起こしがうまくいかなかった場合は、別のモデルで自動的に処理し直します。この再実行で追加の分数が消費されることはありません。
  • 文字起こしの翻訳: 音声がある言語で、別の言語のテキストが必要なこともあります。文字起こしモードは翻訳先を一つ指定できるので、ソース言語で起こしつつ、同じ流れの中でもう一つの言語へ翻訳できます。複数の言語に同時展開したい場合は字幕モードのほうが適しており、その全体像は音声・動画を多言語に翻訳する方法で解説しています。

一点、線引きを挙げておきます。話者が一つの文の中で二つの言語を行き来し、その切り替えをツールがリアルタイムに自動検出する — これはSubananaのライブ字幕機能の強みであって、ファイルやURLからの文字起こしモードのものではありません。実際のイベントでリアルタイムの字幕が必要な場合は、AIリアルタイム文字起こしをご覧ください。

Whisperでの文字起こしに関するよくある質問

Whisperは本当に無料で使えますか? オープンソースのモデル自体は無料で、ダウンロードして自分の環境で動かせます。費用がかかるのは「動かす側」です — 大きなモデルを快適に回すにはGPUなどの計算資源が要りますし、OpenAIの音声認識APIを使う場合はそちらが有料になります。

Whisperは話者を分けてくれますか? 標準では分けてくれません。Whisperが返すのは、誰の発言かを区別しない一続きのテキストです。「話者1」「話者2」のように分けたい場合は、pyannote.audio のような別のツールを組み合わせるか、話者対応のサービスを使う必要があります。

Whisperは日本語の文字起こしに対応していますか? はい。Whisperは99以上の言語に対応する多言語モデルで、日本語もその一つです。--language Japanese のように言語を指定して実行できます。クリーンな音声ほど結果は安定し、なまりや雑音、複数話者では揺れやすくなります。

コードを書かずにWhisperの精度で文字起こしできますか? Whisperを内蔵したGUIアプリを使えば、コマンドを打たずに動かせます。ただし整文や話者分離まで含めて仕上げたい場合は、それらを備えたマネージド型の文字起こしツールのほうが、結果に早くたどり着けます。

自前のWhisperとマネージド型、どちらを選ぶべきですか? コードと環境を扱えて、無料・自前運用を重視するならWhisperを自分で動かす道が向いています。環境構築を避けたい、話者分離や整文まで含めて「読めるテキスト」をすぐ欲しい、という場合はマネージド型が向いています。

Whisperは無音の音声で内容をでっち上げますか? あり得ます。Whisperには幻覚(ハルシネーション) — 話されていない言葉を書き起こしてしまう癖があり、研究や報道によれば、これはクリアな発話よりも、無音・間(ま)・背景に流れる音楽の部分で最も起きやすいとされています。同じ語句のループに陥ることもあります。クリーンな録音では一度も見ないかもしれませんが、静かな空白や環境音のある実際の音声では本物のリスクなので、素の出力は音声と突き合わせて校正する価値があります。マネージド型の文字起こしツールなら、品質チェックをかけて、でっち上げに見える区間を別のモデルに回し直せるため、捏造されたテキストを読まされる可能性を減らせます。

音声をテキストにする目的が「読む・引用する・要約する」で、しかもセットアップに時間をかけたくないなら、文字起こしモードが最短です。Subananaのアプリで音声をひとつ読み込んで、実際の仕上がりを確かめてみてください。

Subananaで効率を向上させましょう

支払い方法不要
無料トライアル
いつでもキャンセル可能