Overtone Captions: レスポンシブ動画のためのマルチフォーマット字幕システム
概要
Overtoneは、画面のアスペクト比に応じて適応するレスポンシブな字幕を生成することで、固定的な「ワンサイズ」の字幕が抱える問題を解決するために設計された字幕システムです。単語レベルのタイミングと話者データを1つの .overtone.json ファイルに保存することで、1つのソースから16:9のデスクトッププレイヤーや9:16のモバイルソーシャルメディア形式など、さまざまなプレイヤー形状に合わせて個別の字幕カットを生成できます。
レスポンシブな字幕とフォーマット
WebVTTやTTMLのような従来の字幕フォーマットは完成したキューを保存するため、画面幅に合わせてテキストを効果的に折り返すプレイヤーの能力が制限されます。Overtoneは、各単語を関連するタイムスタンプおよび話者IDとともに保存することで、この問題に対処しています。
このアプローチにより、システムはディスプレイプロファイルごとに特定の改行ルールを適用できます。これらのルールは、弱い単語(「the」や「of」など)での改行を避け、名前や数字をまとめ、発話の休止がテキストの区切りとして反映されるようにすることで、言語的な読みやすさを優先します。このシステムには、Webベースのビデオプレイヤーにこれらのレスポンシブ字幕をシームレスに統合できる video.js プラグインが含まれています。
文字起こしと処理パイプライン
Overtoneは、文字起こしの精度とフォーマットを向上させるためにマルチエンジンパイプラインを利用しています。
- 文字起こし: システムは複数のエンジンを使用して音声を処理します。テキストベースのエンジン (
gpt-transcribe) が単語の識別を行い、タイミングエンジン (Azure AI Speech) が単語レベルのタイムスタンプと話者ラベルを提供します。 - 修正: LLMベースのエディターがトランスクリプトをレビューし、聞き間違いの修正、話者の特定、キーワードのラベル付けを行います。提供されたコンテキストと用語集を使用して精度を向上させ、不確実な編集には手動レビュー用のフラグを立てます。
- 再カット: 既存の字幕 (SRTまたはWebVTT) は
overtone recutコマンドを使用してシステムにインポートでき、完全な再文字起こしを必要とせずにキューをOvertoneフォーマットに再処理できます。
パフォーマンスとベンチマーク
Overtoneは、「サイレントエラー」を最小限に抑え、標準的な自動字幕生成手法と比較して改行の品質を向上させることに重点を置いています。ベンチマークによると、Overtoneは標準的な文字数制限ベースのアルゴリズムと比較して、接続詞や前置詞で終わるような不自然な改行の頻度を大幅に削減しています。このシステムは拡張可能に設計されており、文字起こしのためのさまざまなプロバイダーをサポートし、言語固有のルールセットのためのモジュール式アーキテクチャを提供します。
コミュニティからのフィードバック
このプロジェクトをめぐる議論では、現代のメディアにおける自動字幕の品質低下に対する不満が高まっていることが浮き彫りになっています。ユーザーは、現在の業界標準が精度の低さと人間による監視の欠如に苦しんでいることが多いと指摘しています。将来の機能の可能性について、コメント投稿者は画面上のテキスト翻訳のより良い処理を強く望んでいます。
「画面上の外国語テキストを翻訳するシステムを何らかの形で確保することを切に願います。理想的には、少し異なるフォントで表示されるのが望ましいです。誰かが他の言語の看板の横を歩いていて、それについてのコメントは翻訳されているのに、看板自体は翻訳されていないということがよくあります!」 — @handle
技術的実装
Overtoneは、処理用のCLI、再生用の video.js プラグイン、フォーマット仕様パッケージを含むNode.jsパッケージのセットとして構築されています。whisper.cpp や Ollama を介したオフライン処理、または OpenAI や Azure などのプロバイダーを通じたクラウドベースの処理をサポートしています。このプロジェクトはMITライセンスの下でライセンスされており、GitHubで公開されています。