2026/08/06翻訳はこのぐらいでいいっぱ?
14:39
( ´θ`)=3 ぱぁ⋯
こんにちぱ かっぱだっぱ・・・
いい加減これ以上は都合の良い音声認識モデルがどうせ半年か一年すればでるだろうからその時までこんままでいいやと思う今日このごろっぱ(ぉぃ
あ、英語民がロシア語や中国語を字幕にしてすぐ読みたいからくれ!( ゚д゚ )クワッ!!ナンダト!?
といってきたので
あとで英語版作ってあげておくっぱ
ひとまず6.3バージョン上げておくっぱ♪
それと英語版で予定されてる事柄として、日本語を読み取ったりする時にありがちなハルシネーション対策なんて海外民には不要なのでそれらを最低限だけ残したものになると思うっぱ
今日か明日位にそれも乗せるつもりっぱ・・
追伸 面倒なのでバージョン文字列少し誤字ってるけどファイル上げておくっぱ(゜θ。)ヾ(・Θ・` )ォィォィ
(´Θ`υ)アツィーでやる気がないっぱ⋯ 修正:ファイルタグと画像タグを間違えたっぱ( ・Θ・).;’.、ブッ obs-subtitle-v6-3.rar
OBS + Cloudflare Workers AI 字幕翻訳スクリプト v6.3 (0805版)
OBS配信でリアルタイム字幕翻訳を行うPythonスクリプト。Cloudflare Workers AIの無料枠で動作します。
概要
マイク音声または配信音声をリアルタイムで文字起こしし、翻訳してOBSのテキストソースに表示します。
- マイクモード: 自分の声を拾って翻訳(日本語->英語 / 英語->日本語 / 自動検出)
- 配信モード: ゲーム・配信音声を拾って翻訳
必要なもの
- Python 3.10+
- Cloudflareアカウント(無料プランでOK)
- pip install sounddevice requests numpy scipy
初期セットアップ
1. Cloudflare API トークンの作成
- Cloudflare Dashboard にログイン
- My Profile -> API Tokens -> Create Token
- 権限: Account -> Workers AI -> Read, Account -> AI Gateway -> Read/Edit
- トークンをコピー
2. Account IDの確認
- Cloudflare Dashboardの右サイドバーに表示されている Account ID をコピー
- スクリプト内の ACCOUNT_ID に貼り付け
3. AI Gatewayの設定(推奨)
- Cloudflare Dashboard -> AI -> AI Gateway
- Gatewayを作成(または default を使用)
- Settings -> Cache Responses を ON に設定
- TTL を 300秒 に設定
4. トークンの設定
環境変数: set CF_API_TOKEN=あなたのトークン (Windows) / export CF_API_TOKEN=あなたのトークン (Mac/Linux) またはスクリプト内の CLOUDFLARE_API_TOKEN に直接入力。
使い方
python obs_subtitle_translator_0805_v6_2.py
起動時に選択: モード / 言語 / デバイス / ジャンル / レイテンシー / Whisperモデル
OBS側の設定
- テキストソース(GDI+)を追加
- ファイルから読み込む にチェック
- output_mic.txt または output_game.txt を指定
- エンコーディングを UTF-8 に設定
マイクモード使用時の注意
- 起動直後の約30秒は黙って待つ(ノイズフロア学習中)
- [ノイズゲート確定] のログが出たら話し始めてOK
- 配信中と同じ環境(BGMあり)で学習するのが推奨
- 終了は Ctrl+C
Whisperモデルの選択
| モデル | Neurons/分 | 精度 | 無料枠で使える時間(目安) |
|---|---|---|---|
| 標準 (@cf/openai/whisper) | 41.14 | 中 | 約8時間 |
| 高精度 (whisper-large-v3-turbo) | 46.63 | 高 | 約7時間 |
無料枠は10,000 Neurons/日。配信(会話に間がある場合)は6-11時間使えます。 高精度モデルは temperature・prompt パラメータ非対応・base64 JSON形式で音声を送信します。
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| 話声を拾わない | VAD_PRECHECK_THRESHOLD を 3.0->2.0 に下げる |
| ノイズを拾いすぎる | VAD_PRECHECK_THRESHOLD を 3.0->5.0 に上げる |
| ゲーム音声を拾わない | VAD_THRESHOLD_GAME を 400->300 に下げる |
| APIエラー 401 | APIトークンの権限を確認 |
| APIタイムアウト | API_TIMEOUT を 30->60 に上げる |
| 字幕が文字化け | OBSのテキストソースでUTF-8を指定 |
機能一覧
- Whisper音声認識(標準 / 高精度 / 英語専用の自動選択)
- LLM翻訳(llama-3.1-8b-instruct-fast)
- 動的ノイズゲート(マイクモード)
- 周波数VAD(FFT事前チェック付き)
- ハルシネーション検出(ハングル/キリル/ギリシャ/タイ/中国語等)
- NGワードフィルタ(単語境界対応)
- 重複スキップ / 翻訳ループ検出 / 翻訳安全拒否検出
- 15秒自動消去
- AI Gatewayキャッシュ(TTL 300秒)
- Prompt Caching(x-session-affinity)
- トークン使用量表示(Neuron消費監視)
- Whisper API / 翻訳API リトライ機能(最大2回)
- 自動検出モード(双方向翻訳)
ライセンス
使用するAIモデルのライセンス(2026/08/05現在)
| モデル | 提供元 | ライセンス | 商用利用 |
|---|---|---|---|
| @cf/openai/whisper | OpenAI | MIT License | 可能 |
| @cf/openai/whisper-tiny-en | OpenAI | MIT License | 可能 |
| @cf/openai/whisper-large-v3-turbo | OpenAI | MIT License | 可能 |
| @cf/meta/llama-3.1-8b-instruct-fast | Meta | Llama Community License | 可能(月間7億ユーザー未満) |
注意: 今後別のモデル(パートナーモデル等)に置き換える場合は、それぞれの利用規約・ライセンスを確認してください。本スクリプトは2026/08/05時点で上記モデルを使用しており、すべてオープンソースライセンスで商用利用可能です。
本スクリプトのライセンス
MIT Licenseの下で公開します。自由に使用・改変・再配布してください。
免責事項
- 本スクリプトは現状のまま(AS IS)提供され、いかなる保証もありません
- Cloudflare Workers AIの無料枠(10,000 Neurons/日)で動作しますが、利用量によっては上限に達する場合があります
- 超過しても自動課金はされません(エラーで停止するだけです)
- 課金には意図的にWorkers Paid($5/月)へのアップグレードが必要です
- AIによる文字起こし・翻訳の精度は完全ではなく、誤認識が発生する場合があります
- 配信での使用に伴ういかなる損害についても、作者は責任を負いません
- Cloudflareのサービス仕様・料金・利用規約は変更される可能性があります
- 使用するAIモデルのライセンス条件は変更される可能性があります。別のモデルを使用する場合は、必ず該当モデルのライセンスを確認してください
バージョン履歴
v6.3 (0805)
- 翻訳API Prompt Caching(x-session-affinity)追加
- VAD_PRECHECK_THRESHOLD 50.0->3.0 に調整(ハルシネーション削減)
- VAD_THRESHOLD_MIC 50->100 に調整(微弱ノイズ排除)
- かっぱ配信プロンプト強化(っぱ変換フレーズ追加)
- Whisperモデル選択機能追加(標準/高精度)
- whisper-large-v3-turbo対応(base64 JSON形式・temperature/prompt非対応)
- 翻訳APIトークン使用量表示追加
v6.1 (0802)
- FFT前エネルギー事前チェック(CPU負荷削減)
- 英語専用Whisperモデル自動選択
- 翻訳API AI Gatewayキャッシュ
- 周波数マスク事前計算
- VAD判定FFTウィンドウ短縮
v6.0
- InputStream + リングバッファ(連続録音)
- 非ブロッキングパイプライン
- NGワード正規表現の事前コンパイル
- 翻訳APIリトライ / Atomic write / 環境変数化
- HTTPセッション再用 / レイテンシモード選択
- ガードレールエラー対応
- ノイズゲート学習フレーム数の動的調整
コメント