AI音声認識(Whisper)をVPSに導入して、会議の録音データを自動で文字起こし
【結論から書きます】GPU不要・8GBプランで十分動く
はっきり書いておきます。
WhisperをVPSで動かすのに、GPUは要りません。
「GPU付きVPSにしたほうが速い」みたいな記事を見かけることがあるんですが、faster-whisperのint8量子化を使えばCPU VPSで普通に実用速度が出ます。月数万円のGPUサーバーを勧めてくる記事は、アフィリエイト単価が高いプランに誘導したいだけの可能性があるので、一度冷静に疑ってみてください。
自分が試した感覚だと、8コアCPU・8GBメモリ・smallモデルの組み合わせで、1時間の会議音声が15〜20分で文字起こし完了します。バッチで夜間に回すなら、この速度で全然問題ない。
もし「毎日大量に処理したい」「リアルタイムに近い速度が必要」なら16GBプランでmediumモデルにする、という順番で考えればOKです。最初からオーバースペックを買う必要はない。
議事録作成を自動化したい?Whisper+VPSが最適解
会議のたびに議事録を手作業で書いていませんか?OpenAI の Whisper は高精度な音声認識モデルで、日本語にも対応しています。VPS 上に常駐させれば、録音ファイルをアップロードするだけで自動で文字起こしできます。
「ローカルPCにWhisper入れればいいじゃないか」という意見もわかるんですが、自分はローカル運用を途中でやめました。理由は単純で、PC立ち上げっぱなしが精神的に気になるんですよね。処理中に何か起きたらリモートデスクトップで入らないといけないし、それだと結局「手放し」にならない。VPSに置いてしまえば、スマホからでもアクセスできるし、PCの電源を気にしなくていい。この安心感は地味にでかいです。
VPS なら:
- 24 時間バックグラウンドで処理できる
- 複数ファイルをバッチ処理できる
- 社内メンバーがブラウザから利用できる REST API を公開できる
必要なVPSスペック
自分の感覚では、最初は8GBプランで十分です。
| 用途 | CPU | メモリ | ストレージ |
|---|---|---|---|
| 個人利用・小規模 | 4コア | 8GB | 50GB |
| チーム共有・バッチ処理 | 6コア | 16GB | 100GB |
| API サーバー常駐 | 8コア | 16GB+ | 200GB |
Whisperはモデルサイズによってメモリ消費がかなり変わります。large-v3を使いたいなら16GBプランが必要ですが、smallモデルなら8GBで余裕を持って動きます。
自分の判断としては「まずsmallで精度を確認して、物足りなければmediumに上げる」という順番でいいと思っています。いきなりlargeを選ぶ必要はない。月額が跳ね上がるので。
おすすめVPS比較
🥇 XServer VPS
高性能 CPU で文字起こし処理が速い。コスパが良く個人〜中規模チームに最適。
正直、毎月の金額を計算したくない人にはXServerの固定料金はラクです。2,200円ならコーヒー代感覚で割り切れる。「月に何時間使うかわからない」という人は固定料金のほうが精神的に楽なので、XServerは普通にありな選択肢。
| 項目 | 内容 |
|---|---|
| 8GBプラン月額 | 2,200円〜 |
| CPU | 高クロック・多コア |
| SSD | NVMe 高速 |
🥈 さくらのVPS
老舗の安定感。長期運用での実績が豊富で、法人利用にも安心。
価格はXServerとほぼ同水準です。「信頼できる国内業者を使いたい」「法人として契約したい」という場合は、さくらの実績は普通に強みになります。
| 項目 | 内容 |
|---|---|
| 8GBプラン月額 | 2,189円〜 |
| データセンター | 国内複数拠点 |
| サポート | 日本語対応 |
環境構築手順
ステップ1:Python 環境のセットアップ
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-pip ffmpeg git
pip3 install faster-whisper
faster-whisper は OpenAI 公式の Whisper より最大 4 倍高速で、CPU のみでも実用速度が出ます。まずこれを使ってください。公式Whisperをそのまま使う記事もありますが、CPU運用ならfaster-whisper一択です。
ステップ2:faster-whisper で文字起こし
from faster_whisper import WhisperModel
# モデルサイズ: tiny / base / small / medium / large-v3
model = WhisperModel("small", device="cpu", compute_type="int8")
segments, info = model.transcribe("meeting.mp3", language="ja")
with open("transcript.txt", "w") as f:
for segment in segments:
f.write(f"[{segment.start:.1f}s] {segment.text}\n")
compute_type="int8" がポイントです。これを指定するだけでCPU処理がかなり速くなります。忘れずに。
ステップ3:バッチ処理スクリプト
録音フォルダを監視して自動処理するスクリプトです。
#!/bin/bash
WATCH_DIR="/var/recordings"
OUTPUT_DIR="/var/transcripts"
for file in "$WATCH_DIR"/*.mp3 "$WATCH_DIR"/*.m4a "$WATCH_DIR"/*.wav; do
[ -f "$file" ] || continue
base=$(basename "$file" | sed 's/\.[^.]*$//')
python3 /opt/whisper/transcribe.py "$file" > "$OUTPUT_DIR/${base}.txt"
echo "Done: $base"
done
cron に登録すれば毎時間自動実行できます。
# 毎時0分に処理
0 * * * * /opt/whisper/batch.sh >> /var/log/whisper.log 2>&1
自分の使い方だと「深夜0時に前日分をまとめて処理」にしています。朝起きたら文字起こし完了してる、という運用が一番ラクです。
ステップ4:REST API サーバー化(FastAPI)
チームで共有する場合は API サーバーとして公開します。
pip3 install fastapi uvicorn python-multipart
from fastapi import FastAPI, UploadFile
from faster_whisper import WhisperModel
import shutil, tempfile
app = FastAPI()
model = WhisperModel("small", device="cpu", compute_type="int8")
@app.post("/transcribe")
async def transcribe(file: UploadFile):
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as tmp:
shutil.copyfileobj(file.file, tmp)
tmp_path = tmp.name
segments, _ = model.transcribe(tmp_path, language="ja")
text = "\n".join([s.text for s in segments])
return {"transcript": text}
uvicorn main:app --host 0.0.0.0 --port 8000
チームで使うなら、このAPIをSlackのワークフローやNotionと繋げると一気に便利になります。議事録を「書く」作業から「確認・修正する」作業に変わるだけで、体感の負荷はかなり違います。
モデル別の処理速度・精度比較
| モデル | 精度 | 速度 | メモリ使用量 |
|---|---|---|---|
| tiny | △ | 最速 | 〜1GB |
| base | ○ | 速い | 〜1.5GB |
| small | ○ | 普通 | 〜2GB |
| medium | ◎ | やや遅い | 〜5GB |
| large-v3 | ◎◎ | 遅い | 〜10GB |
自分のおすすめはsmallスタートです。
日本語の会議録音であれば、smallでも標準的な発話なら90%前後の精度が出ます。「うちの会議は専門用語が多くてsmallじゃ厳しかった」となってからmediumに上げればいい。最初からlarge-v3を選んでメモリを食いつぶすのはもったいないです。
よくある質問(FAQ)
まとめ:あなたの使い方で選ぶ
| 使い方 | 推奨プラン | モデル | 月額目安 |
|---|---|---|---|
| 個人で週数回バッチ処理 | 8GB・4コア | small | 2,200円前後 |
| チームで毎日バッチ処理 | 8GB・8コア | small〜medium | 2,200円前後 |
| API常駐・複数人が同時利用 | 16GB・8コア | medium | 4,000円前後 |
| 高精度にこだわりたい | 16GB・8コア | large-v3 | 4,000円前後 |
| GPU VPSで爆速処理したい | GPU付きプラン | large-v3 | 数万円〜 ※ほぼ不要 |
自分の結論としては、議事録の文字起こし目的なら8GBプランのsmallモデルで9割のケースは解決します。
月2,200円 = 1日あたり約73円。社員が1時間かけて手書きしていた議事録がこの金額で自動化できるなら、費用対効果としては普通に優秀です。
GPU VPSを勧める記事も見かけますが、Whisperはローカルモデルを動かす用途なのでAPI課金は発生しません。CPU+faster-whisperで十分な速度が出る以上、月数万円のGPUサーバーを使う理由はほぼないです。「高性能なものを使いたい」という気持ちはわかりますが、お金は別のところに使ったほうがいい。
これが最終回答じゃないんだから、まずは8GBプランで動かしてみてください。 遅ければプランを上げればいいし、精度が足りなければモデルを変えればいい。VPSはあとから変更できるので、最初から悩みすぎるより一歩踏み出したほうが早いです。