このプロジェクトについて

FunClipは、動画の自動文字起こし、字幕生成、クリップ作成を行うアプリケーションです。ローカルのGradio Webインターフェースで実行でき、コマンドラインから操作することもできます。手順は、動画をアップロードして音声認識を実行し、文字起こしと話者ラベルを確認し、1つ以上のテキスト区間を選択し、必要に応じて字幕を付けて対応する動画クリップを書き出すことです。 主な機能 - FunASRベースのParaformerモデルを使用した動画の音声認識。テキストベースのクリッピングに対応するタイムスタンプ予測。 - SeACo-Paraformerによるホットワード対応。特定の名称、固有名詞、その他の用語の認識精度を向上させます。 - CAM++による話者認識。自動割り当てられた話者IDに基づいてクリップを選択できます。 - 認識済みの文字起こしから複数の区間をまとめてクリップできます。 - 動画全体のSRT字幕と、選択した対象区間の字幕を生成できます。 - Pillowと同梱フォントによる組み込み字幕レンダリングに対応。ImageMagickは、従来のMoviePy TextClipワークフローでのみ必要です。 利用可能なモデルパス - 中国語の動画クリッピング向けのデフォルトParaformer設定。 - 英語言語オプションを使用した英語Paraformer認識。 - 高精度なチェックポイントとして利用できるFun-ASR-Nano。 - 感情と音声イベントのタグ付けに対応する多言語ASRのSenseVoice。 - ローカルのvLLMサービス経由で利用可能なMOSS-Transcribe-Diarize。長尺の文字起こし、区間単位のタイムスタンプ、匿名話者ラベルに対応します。MOSSは区間分割と話者認識をエンドツーエンドで実行しますが、正確な任意テキストのクリッピングにはParaformerのトークンタイムスタンプが必要です。これはドキュメントでも明記されています。 AI支援・内容に基づく選択 FunClipは、文字起こしを分析してクリップ区間を提案するLLMを利用できます。提案された区間は既存のAI Clipワークフローに渡されます。OrcaRouterは、APIキーと環境変数を設定して、オプションのOpenAI互換ゲートウェイとして構成できます。文字起こしテキストだけでなく視覚情報と音声に基づく選択には、TwelveLabs Pegasusをオプションで有効化できます。ただし、twelvelabsパッケージとAPIキーが必要です。 利用方法 ローカルのGradioサービスはPythonで起動し、通常はlocalhost:7860でアクセスします。ポート指定と公開アクセスでの起動も対応しています。ModelScopeまたはHugging Face Spacesのプロジェクトを通じて試すこともできます。コマンドラインでは、まず動画を認識して文字起こしとSRT出力を作成し、次に目的のテキスト、オフセット、出力ファイルを使ってクリッピング処理を実行する2段階のプロセスが用意されています。 導入とライセンス 文書化されたセットアップでは、Python 3.12の仮想環境、プラットフォームに対応したPyTorch/torchaudioの導入、そしてプロジェクトの要件を使用します。FunClipでは現在、モデルと字幕の互換性に対応するパスとしてfunasr>=1.4.9が必要です。モデルの重みは初めて使用する際に別個にダウンロードされ、各モデルのライセンスに従います。FunClipのソースコードはMIT Licenseの下で公開されています。