Cohere Transcribe 03の使い方:2026実践ガイド(オールインワン代替としてのBibiGPTも)
Cohere Transcribe 03の使い方:2026実践ガイド(オールインワン代替としてのBibiGPTも)
TL;DR: Cohere Transcribe 03を使うには4つ——pip install transformers torchaudio → Hugging Face CohereLabs/cohere-transcribe-03-2026 からモデル取得 → 同梱 processor で音声をテンソル化 → model.generate() で単語レベル文字起こし。 本ガイドではコマンド、よくある落とし穴、パフォーマンス調整、SRT結合まで通します。最後の判断表で、自前ホスティングが合うときと、BibiGPTのオールインワンSaaSの方が速いときを分けます。




目次
- Cohere Transcribe 03とは
- Step 1: 環境構築
- Step 2: モデル取得と初期化
- Step 3: 音声前処理
- Step 4: 推論実行
- Step 5: SRT字幕の結合
- Step 6: スループット向けONNXデプロイ
- いつBibiGPTの方が速いか
Cohere Transcribe 03とは
Cohereが2026年4月にオープンソース化した、2Bパラメータのエンドツーエンド音声→テキストモデル。14言語対応(英語、中国語、スペイン語、日本語、韓国語、フランス語、ドイツ語、ポルトガル語、アラビア語、ヒンディー語、ロシア語、トルコ語、ベトナム語、タイ語)。ONNXとHugging Face Transformersの両方のランタイムが最初から同梱。商用無料、重みダウンロード可、売りは単語レベルのタイムスタンプ。
向いている場合:
- GPU+エンジニアリングチームがあり、プライベートASRをデプロイしたい
- ネットワーク外に出せない機密データ
- 自前ホスティングがSaaSより経済的になる十分なボリューム
- ファインチューンや拡張をしたい
向かない場合:
- たまにASRを使う個人クリエイター
- DevOps余力がない
- 要約 / マインドマップ / バイリンガル字幕が欲しい(Transcribe 03は字幕まで——下流処理なし)
Step 1: 環境構築
# Python 3.10+, CUDA 12.1+ 推奨
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install transformers torch torchaudio onnxruntime-gpu soundfile
落とし穴1: torchはCUDAと一致させる。 CUDA 12.1ビルドは pip install torch --index-url https://download.pytorch.org/whl/cu121 で強制。
落とし穴2: macOSではtorchaudioがCUDA非対応。 AppleシリコンはMetal(device="mps")——CPUより4〜5倍速いがNVIDIA GPUより約3倍遅い。
Step 2: モデル取得と初期化
from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq
import torch
MODEL_ID = "CohereLabs/cohere-transcribe-03-2026"
device = "cuda" if torch.cuda.is_available() else "mps" if torch.backends.mps.is_available() else "cpu"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForSpeechSeq2Seq.from_pretrained(
MODEL_ID,
torch_dtype=torch.float16 if device == "cuda" else torch.float32,
).to(device)
model.eval()
落とし穴3: 初回ダウンロードは約4GB。 HF_HUB_ENABLE_HF_TRANSFER=1 とカスタム HF_HOME でシステムディスクを埋めないように。
Step 3: 音声前処理
Transcribe 03は16 kHzモノラルWAV入力が必要:
import torchaudio
def load_audio(path: str) -> torch.Tensor:
waveform, sr = torchaudio.load(path)
if waveform.shape[0] > 1:
waveform = waveform.mean(dim=0, keepdim=True)
if sr != 16000:
waveform = torchaudio.functional.resample(waveform, sr, 16000)
return waveform.squeeze(0)
audio = load_audio("interview.mp3") # mp3 / wav / m4a / flac いずれもOK
落とし穴4: 長い音声はスライス。 30秒超は30秒間隔でチャンクしないとアテンションメモリが爆発。本番ではVAD(silero-vad)で無音分割の方が賢い。
Step 4: 推論実行
def transcribe(audio_tensor: torch.Tensor, language: str = "en") -> dict:
inputs = processor(
audio_tensor,
sampling_rate=16000,
return_tensors="pt",
language=language,
return_timestamps="word", # 単語レベルタイムスタンプ
).to(device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=448,
num_beams=5,
)
return processor.batch_decode(outputs, skip_special_tokens=False, output_offsets=True)[0]
result = transcribe(audio, language="en")
print(result["text"])
for word in result["offsets"]:
print(f"[{word['timestamp'][0]:.2f}-{word['timestamp'][1]:.2f}] {word['text']}")
落とし穴5: num_beams=5 は num_beams=1 より精度約3%向上だが4倍遅い。 SLAに合わせて調整。
Step 5: SRT字幕の結合
単語レベルタイムスタンプは、文単位のSRT行に自分で結合する必要があります:
def words_to_srt(offsets, max_chars_per_line: int = 42) -> str:
lines = []
current = {"start": None, "end": None, "text": ""}
idx = 1
for w in offsets:
if current["start"] is None:
current["start"] = w["timestamp"][0]
current["end"] = w["timestamp"][1]
current["text"] += w["text"]
if len(current["text"]) >= max_chars_per_line or w["text"].endswith((".", "?", "!", "。", "!", "?")):
start = format_time(current["start"])
end = format_time(current["end"])
lines.append(f"{idx}\n{start} --> {end}\n{current['text'].strip()}\n")
idx += 1
current = {"start": None, "end": None, "text": ""}
return "\n".join(lines)
def format_time(seconds: float) -> str:
h = int(seconds // 3600)
m = int((seconds % 3600) // 60)
s = seconds % 60
return f"{h:02d}:{m:02d}:{s:06.3f}".replace(".", ",")
srt = words_to_srt(result["offsets"])
open("interview.srt", "w").write(srt)
Step 6: スループット向けONNXデプロイ
本番はONNXを——素のPyTorchより2〜3倍のスループット:
# ONNXへエクスポート
optimum-cli export onnx \
--model CohereLabs/cohere-transcribe-03-2026 \
--task automatic-speech-recognition-with-past \
./cohere-onnx
# ONNX Runtimeで実行
pip install optimum[onnxruntime-gpu]
from optimum.onnxruntime import ORTModelForSpeechSeq2Seq
model = ORTModelForSpeechSeq2Seq.from_pretrained("./cohere-onnx", provider="CUDAExecutionProvider")
落とし穴6: ONNXエクスポートでモデルが4GBから6〜7GBに膨らむ(動的軸の分)。ディスクを確保。
いつBibiGPTの方が速いか
Cohere Transcribe 03がカバーするのは「音声 → 字幕」まで。下流すべてを自作すると、オールインワンSaaSを使うより高くつくことが多いです:
| ニーズ | 自前ホスト Cohere Transcribe 03 | BibiGPT |
|---|---|---|
| 音声/動画→字幕 | ✅ ただしパイプライン全体を書く | ✅ 内蔵 |
| 動画要約(字幕だけではない) | ❌ LLM後処理を重ねる必要 | ✅ 内蔵 |
| マインドマップ | ❌ | ✅ 内蔵 |
| バイリンガル字幕(例:EN↔ZH) | ❌ 翻訳レイヤが必要 | ✅ 内蔵 |
| ソース追跡付きAIダイアログ | ❌ ベクトルDB + RAGが必要 | ✅ 内蔵 |
| ニュースレター画像、ショート動画台本 | ❌ 画像+テキスト生成モデルが必要 | ✅ 内蔵 |
| Notion / Obsidian同期 | ❌ カスタムコネクタが必要 | ✅ 内蔵 |
| クロスプラットフォーム(YouTube / Bilibili / ポッドキャスト) | ❌ URL抽出が必要 | ✅ 30以上のプラットフォーム |
判断基準:
- 字幕のみ、専用チーム、月10万分超 → Cohere Transcribe 03を自前ホスト
- 下流成果物が必要、個人または少人数チーム、DevOps予算なし → そのままBibiGPT。無料動画要約 ですぐ使える
- 多言語/バイリンガル → AI YouTube summary がi18nパイプライン全体を省く
BibiGPTを無料で試す — デプロイなし、運用なし、SRT結合なし。リンクを貼れば30秒で字幕+要約+マインドマップ+バイリンガル出力。
FAQ
Q: Cohere Transcribe 03の中国語精度は? A: 2026年4月ローンチ時の公式ベンチでは、標準中国語のWERがWhisper Large v3より1.2ポイント良好——標準普通話は強いが、方言・アクセントはファインチューンが必要。
Q: 10分音声にどのくらいかかる?
A: A100単卡・num_beams=5・float16で約18〜22秒;MPSで約70秒;CPUは非推奨。
Q: Cohere Transcribe 03はYouTube URLを直接処理できる?
A: いいえ——音声ファイル入力のみ。先に yt-dlp で音声取得が必要。BibiGPTはURLをネイティブ対応し、この層を省きます。
Q: プライベートデプロイの総コストは? A: A100単卡(クラウドレンタル約$900/月)+エンジニアの立ち上がり+継続メンテ。月約10万分未満ならBibiGPTの方が安いことが多い。