ローカル音声認識・音声合成

ローカルAI音声認識ガイド:自分のPCで文字起こし

講義やインタビューを聞き直しながら文字にするのは時間がかかります。ローカル音声認識は録音を自分のパソコンで処理する方法です。必要な言語、実行ソフト、手元の処理時間を先に確認しましょう。公開速度も測定条件と合わせて読めば、自分の用途に合うか判断しやすくなります。

実行条件と要点
  • Qwen3-ASRを「52言語」とだけ紹介しないでください。公式の52は30言語と中国語の方言を合計した数です。
  • 公開されたfaster-whisperの速度はRTX 3070 TiでLarge-v2を使い13分音声を処理した合計時間です。Turboの結果ではありません。
  • オフライン利用でも初回導入やモデル取得にネットが必要な場合があります。取得後に接続を切って確かめましょう。

どんな音声を文字にしたい?

実際に使う録音をひとつ選びます。短いメモ、雑音のあるインタビュー、英韓混在の講義では難しさが異なります。実際の言語や環境に近い素材と正解文を用意しましょう。短い音声だけで長い会議の精度は保証できません。

正解文に固有名詞や数字をいくつか入れると誤りを見つけやすくなります。間違いだけでなく、雑音、訛り、発話の重なりのどれが原因か記録しましょう。モデルを変えても同じ録音を使えば、実行環境の違いと入力の違いを分けられます。

録音機、小型コンピューター、開いたノートを置いた木の机
実際の作業に近い音声で短く試します。

モデル名より言語の対応範囲を確認

Whisper Large-v3-Turboは韓国語・英語・日本語を含む99言語に対応すると記載されています。Qwen3-ASR1はアラビア語、ヒンディー語、インドネシア語、ベトナム語、ペルシャ語なども挙げます。対応一覧は出発点であり、あらゆる訛りや専門用語で同じ品質を保証しません。

MacやGPUへの対応は実行ソフトで変わる

whisper.cppはApple SiliconのMetal・Core ML、CPU2、NVIDIA CUDA3を文書化しています。faster-whisperはCPUとNVIDIA CUDAに対応し、公式Metal経路は確認できません。Qwen3-ASRは高速サーバー向けにvLLM GPU4を推奨しています。Macで実行できることと公式Mac高速化対応は別です。

初回導入ではモデル重みやPythonパッケージを取得します。アプリがローカルファイルを明示的に使うか確認しましょう。クラウド文字起こし、アカウント同期、エラー報告が含まれる場合もあります。機密音声ではマイク入力から保存済み文書まで、通信と保存場所を確認してから使います。

畳んだ毛布の上の録音機とヘッドホン、窓辺のノート
同じモデルでも実行ソフトによって高速化経路は異なります。

短いファイルで導入を確認

faster-whisperをPython仮想環境5に導入し、短いWAVから試せます。CPUのみの場合は`compute_type="int8"`を選びます。例のファイル名を手元のWAVパスに置き換えてください。初回実行ではモデル重みを取得するためネット接続が必要です。NVIDIA GPUにはCUDA 12用cuBLASとcuDNN 9が必要で、Whisper本体にはFFmpegも必要です。

CPU int8環境を導入
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install faster-whisper
macOS/Linuxのシェル例です。Windowsでは仮想環境のScripts\Activate.ps1を実行します。
短いWAVを文字起こし
from faster_whisper import WhisperModel

model = WhisperModel("small", device="cpu", compute_type="int8")
segments, info = model.transcribe("sample.wav", language="ko", beam_size=5)
for segment in segments:
    print(f"{segment.start:.2f}–{segment.end:.2f}  {segment.text}")
sample.wavを用意します。language="ko"は韓国語を指定します。英語や日本語では"en"または"ja"に変更してください。初回のモデル取得時間は文字起こし時間と分けて考えます。

公開速度の条件を読む

SYSTRANはCUDA 12.4の8GB RTX 3070 Tiで13分音声を処理した測定を公開しています。Large-v2 FP166はbatch 1で63秒・VRAM7 4,525MB、batch 8で17秒・6,090MBでした。batch 8は音声をまとめて処理する設定で、ライブ利用者8人ではありません。入力、量子化8、モデル版で結果は変わります。

棚の上の小型コンピューターとデスクトップ、その間のヘッドホン
測定時間と一緒にモデル、入力、batch条件を記録します。

自分の言語と録音で精度を確認

英語は単語誤り率(WER)、韓国語や日本語は文字誤り率(CER)で比べることが一般的です。分かち書き、数字、句読点の正規化も記録します。公開ベンチマークは特定のデータセットの結果です。人名、製品名、言語切り替えなど重要な項目を試験音声に入れて誤りを確認しましょう。

「Turbo」は大型モデルと異なる実行特性を示しますが、小さいモデルが常に正確または高速という意味ではありません。文字起こしと音声翻訳も別の作業です。Whisper Turboは原語のテキスト化に使い、英語への翻訳ではOpenAIの案内に従ってLargeまたはMediumを確認しましょう。

用語の注釈

  1. 自動音声認識音声中の発話を認識してテキストに変換する技術です。認識結果は発話内容を示すもので、音響そのものを復元するものではありません。

    本文に戻る
  2. CPUコンピューターで汎用のプログラム命令を実行する中央処理装置です。AI処理ではGPUなど他のプロセッサーと役割を分けることがあります。

    本文に戻る
  3. CUDANVIDIA GPUで汎用計算を行うソフトウェア基盤です。CUDA向けのプログラムが他のGPUでそのまま動くとは限りません。

    本文に戻る
  4. GPU多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。

    本文に戻る
  5. Python仮想環境プロジェクトごとにPythonパッケージを分けて導入する環境です。版の衝突を減らすもので、仮想マシンとは異なります。

    本文に戻る
  6. FP1616ビット浮動小数点形式です。BF16とビット幅は同じですが、指数部と仮数部の配分が異なります。

    本文に戻る
  7. VRAMグラフィックカードのGPUが使うメモリです。モデルの重みや計算途中の値を置き、システムRAMとは区別されます。

    本文に戻る
  8. 量子化モデルの数値を少ないビット数で表す方法です。メモリ使用量のほか、精度や実行速度も変わることがあり、影響は形式と実装によります。

    本文に戻る